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

nestjs-lint-tools

v0.0.6

Published

A schematics to install dependencies and eslint plugins to enforce code quality

Downloads

33

Readme

NestJS Schematics for linting NestJS project

What does it do?

  • Enable strict mode in tsconfig.json
  • Enable esModuleInterop in tsconfig.js
  • Install eslint-plugin-rxjs to lint rxjs codes
  • Install eslint-plugin-sonarjs to assure code quality
  • Install cspell and create cspell.json to check spelling
  • Install lint-staged and create .lintstagedrc.json configuration
  • Install commitlint and create .commitlintrc.json
  • Install husky pre-commit and commit-msg hooks
  • Add engines section in package.json
  • Add .node-version and .nvmrc node configuration version
  • Install unimported and create .unimportedrc.json configuration to check unused files and dependencies

Installation

nest add nestjs-lint-tools

or use npm to install the library directly

npm install --save-dev nestjs-linit-tools

Example output of the schematics:

 nest add nestjs-lint-tools
✔ Package installation in progress... ☕
Starting library setup...
? Do you like to set strict mode in tsconfig.json? Yes
? Do you like to set esModuleInterop to true in tsconfig.json? Yes
? Do you like to add cspell for spell checking? Yes
? Do you like to add unimported to find unused files and dependencies? Yes
? Do you like to add commitlint to adopt the convention of commit message? Yes
? Do you like to add lint-staged? Yes
? Do you like to skip husky hook during CI/CD? Yes
? Do you like to add eslint rules for RxJs? Yes
? Do you like to add SonarJS rules for ESLint? Yes
? Which version does the project use? 16
? Do you like to create node version files (.nvmrc and .node-version)? Yes
    Added esModuleInterop to tsconfig.json
    Added strict mode to tsconfig.json
    Added [email protected]
    Added @commitlint/[email protected]
    Added @commitlint/[email protected]
    Added [email protected]
    Added [email protected]
    Added [email protected]
    Added [email protected]
    Added [email protected]
    Found cspell script, skip this step
    Added husky prepare script "is-ci || husky install" to package.json
    Added .husky/commit-msg
    Added .husky/pre-commit
    Does not support .eslintrc.js
    Append extends and plugins from ./eslintrc.template to .eslintrc.js. Then, delete the template file.
    Added 16 to package.json
    Created .nvmrc
    Created .node-version
CREATE cspell.json (123 bytes)
CREATE .husky/commit-msg (81 bytes)
CREATE .husky/pre-commit (81 bytes)
CREATE .unimportedrc.json (408 bytes)
CREATE .commitlintrc.json (66 bytes)
CREATE .lintstagedrc.json (105 bytes)
CREATE eslintrc.template (88 bytes)
CREATE .nvmrc (2 bytes)
CREATE .node-version (2 bytes)
UPDATE tsconfig.json (734 bytes)
UPDATE package.json (2374 bytes)
✔ Packages installed successfully.
✔ Packages installed successfully.
✔ Packages installed successfully.
    Made .husky/pre-commit executable
    Made .husky/commit-msg executable

eslintrc.template

extends: ['plugin:rxjs/recommended','plugin:sonarjs/recommended'],
plugins: ['sonarjs']

Copy ['plugin:rxjs/recommended','plugin:sonarjs/recommended]' and

['sonarjs'];

to .eslintrc.js

  ....
  plugins: ['@typescript-eslint/eslint-plugin', 'sonarjs'],
  extends: [
    'plugin:@typescript-eslint/recommended',
    'plugin:prettier/recommended',
    'plugin:rxjs/recommended',
    'plugin:sonarjs/recommended'
  ],
  ...