nest-prettier
v0.0.4
Published
A schematic to run prettier as an eslint rule
Downloads
40
Maintainers
Readme
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 [email protected], do not add dependency
Found [email protected], do not add dependency
Found [email protected], 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 }]
},