npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@yaakadev/node-scripts

v0.5.0

Published

Effortless modern practices for NodeJS applications

Downloads

419

Readme

node-scripts

Boîte à outils versatile pour moderniser facilement des application NodeJS.

  • Empêche les erreurs simples et/ou d'inattention d'arriver jusqu'au client (utilisation de variable non définie, variable non utilisée, etc.) (grâce à ESLint & AirBnB)
  • Formatte automatiquement le code avec Prettier

Installation

$ npm install --save @yaakadev/node-scripts

Ouvrez ensuite le fichier package.json de votre projet avec votre éditeur favori et modifiez la section scripts comme ci-dessous:

{
  "main": "./dist/index.js",
  "scripts": {
    "dev": "node-scripts watch",
    "build": "node-scripts build",
    "build-debug": "node-scripts build-debug",
    "test": "node-scripts test"
  }
}

Voilà ! Vous pouvez désormais tirer parti des toutes dernières fonctionnalités & technologies de l'écosystème JavaScript.

Structure de votre projet

node-scripts impose les contraintes suivantes sur votre application:

  • Chacun des fichiers présents dans bin/ (sauf index.js) et ne commencant ni par un point ni par un tiret bas sont exportées vers dist/
  • Le point d'entrée de votre application est src/index.js, ensuite exporté vers dist/index.js
$ tree
├── bin/  # Les différents binaires de votre application
│   ├── create-super-user.js  # Créé un utilisateur disposant des droits admin
│   └── www.js  # Lance le serveur HTTP servant l'API
├── src/
│   └── index.js  # Le point d'entrée de votre application
├── package.json
└── package-lock.json

Intégration avec VS Code

Lors de son installation, node-scripts copie plusieurs fichiers dans le dossier de votre projet:

  • .eslintrc.js: Un fichier de configuration ESLint pointant vers la configuration incluse dans le paquet node-scripts, permet d'utiliser ESLint sans avoir conscience de node-scripts
  • tsconfig.json: Un fichier de configuratoin Typescript pointant vers la configuration incluse dans le paquet node-scripts, permet d'utiliser Typescript sans avoir conscience de node-scritps
  • .vscode/tasks.json: Un fichier de configuration associant automatiquement le raccourci clavier Ctrl + Shift + B à la commande npm run dev
  • .vscode/launch.json: Un fichier de configuration pour pouvoir déboguer votre projet sans avoir à quitter VS Code. Il est probable que vous ayez à modifier ce fichier pour ajuster la configuration : le fichier pointé par la clé program est par défaut dist/index.js, mais il est possible que votre application utilise un autre point d'entrée (ex: dist/www.js). Une fois configuré, il vous suffit de presser la touche F5 pour commencer le débogage et poser vos points d'arrêt !

Utilisation en ligne de commande

node-scripts watch

C'est la commande recommandée lorsque vous travaillez sur votre application. Cette commande compile l'ensemble de votre projet puis continue de tourner et recompile incrémentalement votre projet à chaque changement détecté.

La commande watch se charge aussi de lancer votre application en appelant le script start de votre package.json, et redémarre automatiquement votre application après chaque changement.

Les fichiers de l'application sont automatiquement formatés à l'aide de Prettier, à chaque changement.

Cette étape n'active pas d'optimisations particulières sur votre code (pas de minification, etc.).

Les source-maps sont activées et embarquées dans les sources compilées.

node-scripts build-debug

Cette commande permet de compiler les différents points d'entrées de l'application, sans utiliser d'optimisations particulières et sans échouer si jamais les linters remontent des erreurs.

Les source-maps sont activées et embarquées dans les sources compilées.

node-scripts build

C'est la commande recommandée lorsque vous voulez exporter votre application et l'exposer sur les interwebs mondiaux. Cette commande minifie le code source, supprime le code non utilisé et échoue en cas d'erreur remontées par les linters.

Les source-maps sont activées et embarquées dans les sources compilées.

node-scripts test

TODO: Doc