nest-prettier

0.0.4 • Public • Published

NestJS Schematics for Prettier

Update .prettierrc and generate template for the "prettier/prettier" eslint rule. Then, developer can copy the rule to .eslintrc.js in NestJS application.

Installation

nest add nest-prettier

or use npm to install the library directly

npm install --save-dev nest-prettier

Example output of the schematics:

 nest add nest-prettier
✔ Package installation in progress... ☕
Starting library setup...
? Eslint file format. javascript
? What is the print width per line? 120
? Specify the number of spaces per indentation-level. 2
? Indent lines with tabs instead of spaces. No
? Print semicolons at the ends of statements. Yes
? Use single quotes instead of double quotes. Yes
? Change when properties in objects are quoted. as-needed
? Print trailing commas wherever possible in multi-line comma-separated syntactic structures. es5
? Print spaces between brackets in object literals. Yes
? Include parentheses around a sole arrow function parameter. always
? Prettier can restrict itself to only format files that contain a special comment, called a pragma, at the 
top of the file. This is very useful when gradually transitioning large, unformatted codebases to prettier. 
No
? Prettier can insert a special @format marker at the top of files specifying that the file has been 
formatted with prettier. This works well when used in tandem with the --require-pragma option. No
    Found prettier@2.7.1, do not add dependency
    Found eslint-config-prettier@8.5.0, do not add dependency
    Found eslint-plugin-prettier@4.2.1, do not add dependency
    .prettierrc is overwritten
    Does not support .eslintrc.js
    Append plugin and rule from ./eslintrc-prettier.template to .eslintrc.js. Then, delete the template file.
UPDATE .prettierrc (258 bytes)
UPDATE eslintrc-prettier.template (424 bytes)
✔ Packages installed successfully.

.prettierrc

{
  "singleQuote": true,
  "trailingComma": "es5",
  "tabWidth": 2,
  "semi": true,
  "printWidth": 120,
  "bracketSpacing": true,
  "useTabs": false,
  "arrowParens": "always",
  "quoteProps": "as-needed",
  "requirePragma": false,
  "insertPragma": false
}

eslint-prettier.template

extends: ['plugin:prettier/recommended']
rules: {
    'prettier/prettier': ['error', {
        'singleQuote': true, 
        'trailingComma': 'es5', 
        'tabWidth': 2, 
        'semi': true, 
        'printWidth': 120, 
        'bracketSpacing': true, 
        'useTabs': false,
        'arrowParens': 'always',
        'quoteProps': 'as-needed',
        'requirePragma': false,
        'insertPragma': false, 
    }]
}

Copy plugin:prettier/recommended and

'prettier/prettier': ['error', {
        'singleQuote': true, 
        'trailingComma': 'es5', 
        'tabWidth': 2, 
        'semi': true, 
        'printWidth': 120, 
        'bracketSpacing': true, 
        'useTabs': false,
        'arrowParens': 'always',
        'quoteProps': 'as-needed',
        'requirePragma': false,
        'insertPragma': false, 
  }]

to .eslintrc.js

  ....
  extends: [
    'plugin:@typescript-eslint/recommended',
    'plugin:prettier/recommended',
  ],
  ...
  rules: {
    ...
    'prettier/prettier': ['error', {'singleQuote': false, 'trailingComma': 'es5', 'tabWidth': 2, 'semi': true, 'printWidth': 120, 'bracketSpacing': true, 'useTabs': false }]
  },

Package Sidebar

Install

npm i nest-prettier

Weekly Downloads

0

Version

0.0.4

License

MIT

Unpacked Size

37.6 kB

Total Files

54

Last publish

Collaborators

  • railsstudent