From 6585d222be8194a811872f9aaba0b813c00189f8 Mon Sep 17 00:00:00 2001 From: scsc <scscgit@users.noreply.github.com> Date: Sun, 18 Jul 2021 19:38:12 +0200 Subject: [PATCH 1/2] feat: lintfix and prettier scripts, fix lint-staged coverage --- .../cna-template/template/_.prettierignore | 96 ++++++++++++++++++ .../template/nuxt/.husky/.gitignore | 2 +- .../cna-template/template/nuxt/package.js | 37 +++++-- .../cna-template/template/nuxt/package.json | 10 +- packages/create-nuxt-app/lib/saofile.js | 21 +--- .../test/snapshots/index.test.js.md | 27 +++-- .../test/snapshots/index.test.js.snap | Bin 8451 -> 8819 bytes 7 files changed, 158 insertions(+), 35 deletions(-) create mode 100644 packages/cna-template/template/_.prettierignore diff --git a/packages/cna-template/template/_.prettierignore b/packages/cna-template/template/_.prettierignore new file mode 100644 index 000000000..1ec6ab604 --- /dev/null +++ b/packages/cna-template/template/_.prettierignore @@ -0,0 +1,96 @@ +### +# Place your Prettier ignore content here + +### +# .gitignore content is duplicated here due to https://github.com/prettier/prettier/issues/8506 + +# Created by .ignore support plugin (hsz.mobi) +### Node template +# Logs +/logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# Nuxt generate +dist + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless + +# IDE / Editor +.idea + +# Service worker +sw.* + +# macOS +.DS_Store + +# Vim swap files +*.swp diff --git a/packages/cna-template/template/nuxt/.husky/.gitignore b/packages/cna-template/template/nuxt/.husky/.gitignore index c9cdc63b0..31354ec13 100644 --- a/packages/cna-template/template/nuxt/.husky/.gitignore +++ b/packages/cna-template/template/nuxt/.husky/.gitignore @@ -1 +1 @@ -_ \ No newline at end of file +_ diff --git a/packages/cna-template/template/nuxt/package.js b/packages/cna-template/template/nuxt/package.js index cee6fe0fc..7d4856d32 100644 --- a/packages/cna-template/template/nuxt/package.js +++ b/packages/cna-template/template/nuxt/package.js @@ -12,17 +12,25 @@ module.exports = { // Linter const eslint = linter.includes('eslint') - const lintStaged = eslint && linter.includes('lintStaged') + const lintStaged = linter.includes('lintStaged') const stylelint = linter.includes('stylelint') const prettier = linter.includes('prettier') const commitlint = linter.includes('commitlint') const lintScripts = { eslint: '<%= pmRun %> lint:js', - stylelint: '<%= pmRun %> lint:style' + stylelint: '<%= pmRun %> lint:style', + prettier: '<%= pmRun %> lint:prettier' + } + const lintfixScripts = { + eslint: "<%= pmRun %> lint:js <%= pm === 'npm' ? '-- ' : '' %>--fix", + stylelint: "<%= pmRun %> lint:style <%= pm === 'npm' ? '-- ' : '' %>--fix", + prettier: 'prettier --write --list-different .' } if (!eslint) { + lintStaged && delete pkg['lint-staged']["*.{js,<%= typescript ? 'ts,' : '' %>vue}"] delete lintScripts.eslint + delete lintfixScripts.eslint delete pkg.scripts['lint:js'] delete pkg.devDependencies['@nuxtjs/eslint-config'] delete pkg.devDependencies['@nuxtjs/eslint-module'] @@ -36,8 +44,9 @@ module.exports = { delete pkg.devDependencies['lint-staged'] } if (!stylelint) { - lintStaged && delete pkg['lint-staged']['*.{css,vue}'] + lintStaged && delete pkg['lint-staged']['*.{css,scss,sass,html,vue}'] delete lintScripts.stylelint + delete lintfixScripts.stylelint delete pkg.scripts['lint:style'] delete pkg.devDependencies['@nuxtjs/stylelint-module'] delete pkg.devDependencies.stylelint @@ -45,6 +54,10 @@ module.exports = { delete pkg.devDependencies['stylelint-config-prettier'] } if (!prettier) { + lintStaged && delete pkg['lint-staged']['*.**'] + delete pkg.scripts['lint:prettier'] + delete lintScripts.prettier + delete lintfixScripts.prettier delete pkg.devDependencies['eslint-config-prettier'] delete pkg.devDependencies['stylelint-config-prettier'] delete pkg.devDependencies.prettier @@ -53,15 +66,25 @@ module.exports = { delete pkg.devDependencies['@commitlint/config-conventional'] delete pkg.devDependencies['@commitlint/cli'] } - if (!lintStaged && !commitlint) { - delete pkg.devDependencies.husky - delete pkg.scripts.prepare - } const lintScript = Object.values(lintScripts).join(' && ') if (lintScript) { pkg.scripts.lint = lintScript } + const lintfixScript = Object.values(lintfixScripts).join(' && ') + if (lintfixScript) { + pkg.scripts.lintfix = lintfixScript + } + + if (!lintStaged && !commitlint) { + delete pkg.devDependencies.husky + delete pkg.scripts.prepare + } else { + // Move prepare to make it the last script + const prepare = pkg.scripts.prepare + delete pkg.scripts.prepare + pkg.scripts.prepare = prepare + } // Modules if (!features.includes('axios')) { diff --git a/packages/cna-template/template/nuxt/package.json b/packages/cna-template/template/nuxt/package.json index fcbc43252..953efb1e8 100644 --- a/packages/cna-template/template/nuxt/package.json +++ b/packages/cna-template/template/nuxt/package.json @@ -4,13 +4,15 @@ "build": "nuxt build", "start": "nuxt start", "generate": "nuxt generate", - "lint:js": "eslint --ext \".js,.vue\" --ignore-path .gitignore .", - "lint:style": "stylelint \"**/*.{vue,css}\" --ignore-path .gitignore", + "lint:js": "eslint --ext \".js<%= typescript ? ',.ts' : '' %>,.vue\" --ignore-path .gitignore .", + "lint:style": "stylelint \"**/*.{css,scss,sass,html,vue}\" --ignore-path .gitignore", + "lint:prettier": "prettier --check .", "prepare": "husky install" }, "lint-staged": { - "*.{js,vue}": "eslint", - "*.{css,vue}": "stylelint" + "*.{js,<%= typescript ? 'ts,' : '' %>vue}": "eslint --cache", + "*.{css,scss,sass,html,vue}": "stylelint", + "*.**": "prettier --check --ignore-unknown" }, "dependencies": { "@nuxt/content": "^1.14.0", diff --git a/packages/create-nuxt-app/lib/saofile.js b/packages/create-nuxt-app/lib/saofile.js index 2e43799d7..62945b5d7 100644 --- a/packages/create-nuxt-app/lib/saofile.js +++ b/packages/create-nuxt-app/lib/saofile.js @@ -103,6 +103,7 @@ module.exports = { files: '*', filters: { '_.eslintrc.js': 'linter.includes("eslint")', + '_.prettierignore': 'linter.includes("prettier")', '_.prettierrc': 'linter.includes("prettier")', '_jsconfig.json': 'devTools.includes("jsconfig.json")', 'tsconfig.json': 'language.includes("ts")', @@ -119,6 +120,7 @@ module.exports = { patterns: { gitignore: '.gitignore', '_package.json': 'package.json', + '_.prettierignore': '.prettierignore', '_.prettierrc': '.prettierrc', '_.eslintrc.js': '.eslintrc.js', '_jsconfig.json': 'jsconfig.json', @@ -167,23 +169,8 @@ module.exports = { await this.npmInstall({ npmClient: this.answers.pm }) - if (this.answers.linter.includes('eslint')) { - const options = ['run', 'lint:js', '--', '--fix'] - if (this.answers.pm === 'yarn') { - options.splice(2, 1) - } - spawn.sync(this.answers.pm, options, { - cwd: this.outDir, - stdio: 'inherit' - }) - } - - if (this.answers.linter.includes('stylelint')) { - const options = ['run', 'lint:style', '--', '--fix'] - if (this.answers.pm === 'yarn') { - options.splice(2, 1) - } - spawn.sync(this.answers.pm, options, { + if (['eslint', 'stylelint', 'prettier'].some(linter => this.answers.linter.includes(linter))) { + spawn.sync(this.answers.pm, ['run', 'lintfix'], { cwd: this.outDir, stdio: 'inherit' }) diff --git a/packages/create-nuxt-app/test/snapshots/index.test.js.md b/packages/create-nuxt-app/test/snapshots/index.test.js.md index 2ee2a5bd4..0c1f686af 100644 --- a/packages/create-nuxt-app/test/snapshots/index.test.js.md +++ b/packages/create-nuxt-app/test/snapshots/index.test.js.md @@ -2069,6 +2069,7 @@ Generated by [AVA](https://avajs.dev). '.husky/commit-msg', '.husky/common.sh', '.husky/pre-commit', + '.prettierignore', '.prettierrc', 'README.md', 'commitlint.config.js', @@ -2108,17 +2109,20 @@ Generated by [AVA](https://avajs.dev). 'stylelint-config-standard': '^22.0.0', }, 'lint-staged': { - '*.{css,vue}': 'stylelint', - '*.{js,vue}': 'eslint', + '*.**': 'prettier --check --ignore-unknown', + '*.{css,scss,sass,html,vue}': 'stylelint', + '*.{js,vue}': 'eslint --cache', }, private: true, scripts: { build: 'nuxt build', dev: 'nuxt', generate: 'nuxt generate', - lint: 'yarn lint:js && yarn lint:style', + lint: 'yarn lint:js && yarn lint:style && yarn lint:prettier', 'lint:js': 'eslint --ext ".js,.vue" --ignore-path .gitignore .', - 'lint:style': 'stylelint "**/*.{vue,css}" --ignore-path .gitignore', + 'lint:prettier': 'prettier --check .', + 'lint:style': 'stylelint "**/*.{css,scss,sass,html,vue}" --ignore-path .gitignore', + lintfix: 'yarn lint:js --fix && yarn lint:style --fix && prettier --write --list-different .', prepare: 'husky install', start: 'nuxt start', }, @@ -2213,6 +2217,7 @@ Generated by [AVA](https://avajs.dev). generate: 'nuxt generate', lint: 'yarn lint:js', 'lint:js': 'eslint --ext ".js,.vue" --ignore-path .gitignore .', + lintfix: 'yarn lint:js --fix', start: 'nuxt start', }, } @@ -2271,6 +2276,7 @@ Generated by [AVA](https://avajs.dev). [ '.editorconfig', '.gitignore', + '.prettierignore', '.prettierrc', 'README.md', 'components/NuxtLogo.vue', @@ -2298,6 +2304,9 @@ Generated by [AVA](https://avajs.dev). build: 'nuxt build', dev: 'nuxt', generate: 'nuxt generate', + lint: 'yarn lint:prettier', + 'lint:prettier': 'prettier --check .', + lintfix: 'prettier --write --list-different .', start: 'nuxt start', }, } @@ -2371,12 +2380,17 @@ Generated by [AVA](https://avajs.dev). 'core-js': '^3.16.2', nuxt: '^2.15.8', }, - devDependencies: {}, + devDependencies: { + husky: '^6.0.0', + 'lint-staged': '^10.5.4', + }, + 'lint-staged': {}, private: true, scripts: { build: 'nuxt build', dev: 'nuxt', generate: 'nuxt generate', + prepare: 'husky install', start: 'nuxt start', }, } @@ -2462,7 +2476,8 @@ Generated by [AVA](https://avajs.dev). dev: 'nuxt', generate: 'nuxt generate', lint: 'yarn lint:style', - 'lint:style': 'stylelint "**/*.{vue,css}" --ignore-path .gitignore', + 'lint:style': 'stylelint "**/*.{css,scss,sass,html,vue}" --ignore-path .gitignore', + lintfix: 'yarn lint:style --fix', start: 'nuxt start', }, } diff --git a/packages/create-nuxt-app/test/snapshots/index.test.js.snap b/packages/create-nuxt-app/test/snapshots/index.test.js.snap index c5e0f9b52f1499195ea7086172dcf9c6c557ce57..01bb301ab6040a9c96243c91eed76ad473910121 100644 GIT binary patch literal 8819 zcmZ{JWl$Z!)+FxEg#-@{!QI_mFTvg2g1fuBy9Jlva0za~{o+n=cb4~dx3<0?J5}>% zs^(19nLej`dPFotzNy(8Il5RnxPEhEMS_ATimbABvvtVb$Kr3479BVsiAI3<?|?qj zL-YYGyyZ{sk-;OT)9BL`&19@k_EAO!=(YsW6dB`;nYt&Ttc+)_2#W)*YN_YH0|BAd z0?O7Bb^@zj1;)SLEW7J9>vn(*_YOAEWbeHW8xyCe6ZTXYHp%>g`Ajk!uN&E1H*pv4 z8y7_Tp@cvB_l2$|Qw=`OGPZwIcU%p10MSqTUG_FL&<91@0o47!tKaLHq+ai`BCfaC zE;hR@L?f0&EpXNNc|vwFe2tzwEgRhX;WlY4zLR{2uM1``iMmKB=lDVl;^@b%S!j=L zw)%UX>CBP5?X<v`r=?$NAKj4C{w9{ZT234poFF(j^=RHv0-p3zjeXg0VyX-Ea|H|@ zKn&*oBs^U2aDLws(-B&BK816-vv{@W!o|lEYcL}mL>zY3l{gm&rrz{i!|OCBV%;qr zbI|c*xSfjx1XHQyFvsr3ZJD2gUH0=2Kc16%<8KV^6)-=8^X3{)qtiTUc@+1qb3U|L z06*s8FCLFUQA5d}yQi9HC3EGSHu&TCp5q$b$$u%eKjeN8zC`Ohbh<*<g%W%44wgLu z`2HTWMZV5(Z3;*~d&%8|K5TZgyOGs}>USjU^hf|cketBt0h?@(c{yAc*6TNx8)3Z~ zSK3D>a8a9_Dqw<xHawCq0xdm`vxRi-y)EZu;qfncb)iE=0O-Gk8A+g<&Ca`0YU|b* z;+w1B{1~Cz@!lKlqZbAMY7Ich;IESqc<7`4piS-E_i1d^&VTu8H?s?ucN+?6TQo|I zX}e7eSyX3pt<mb?Ri>`CR%IiU67lV!6!2moqT<CdJn4G||7R3h%ExsQ-T|J=@A(9} z3-@`E1CR#<80b$qm7`bk>_sNq`*`Wi`2RrlG=C8CV7PrIpb^v-Yp`J$W_UgiWkdc8 zzQ`%{2YV<ujaD1$BQt19v6u)9KJxJ>S_>SmmDU+h^Z!2G-<-&7wxO&GeZOXmntV_J zKS2!BrZXb0w_MF?UH$A8Jc|DLD}TFXdL$SyB`BWwKr`F|Zme@2(3;9qdwus^@_!hp z)#}3aIy3<=35s03Q1jS7mFm>l=Q`~XblPV)zD%Q{e*et-BZ|b63*blhh|?ic$7z?1 zyFhc}QDOP+&-C1Ts=CnUcX^fzvnaeeCvX(c)LDv>?`@Nn$&ar0)<W|1&(uoQsdaV6 z?xeOl#nUqFDP#)1ZbnX%58FHV*<;m(e!ox#-x3c3`2w(|Y(FOZnO^;L)<rs%R-8ZF zKQmVzPt%pJI`Nvbt04e<9}N$si_i7F1XtFKlUrU;xUPQzAorAH+!(}lIvrM}{>tYT zUh!B|;oC^8Rs5`lFCWEU-%$qxF1YO{>DJIXuYv?_{2k?1^7`al%0Dq9kR#PU&I3?7 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 KK3yXu#Qy@+kTn7T literal 8451 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 From 9a5a997c2b105339a2d51a8e35ae4f5fc86f83c3 Mon Sep 17 00:00:00 2001 From: scsc <scscgit@users.noreply.github.com> Date: Mon, 6 Sep 2021 19:25:30 +0200 Subject: [PATCH 2/2] fix: reorder prettier in lintfix to avoid eslint conflicts, fix #827 --- .../cna-template/template/nuxt/package.js | 6 ++++-- .../test/snapshots/index.test.js.md | 2 +- .../test/snapshots/index.test.js.snap | Bin 8819 -> 8822 bytes 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/cna-template/template/nuxt/package.js b/packages/cna-template/template/nuxt/package.js index 7d4856d32..7b1043e7e 100644 --- a/packages/cna-template/template/nuxt/package.js +++ b/packages/cna-template/template/nuxt/package.js @@ -22,9 +22,11 @@ module.exports = { prettier: '<%= pmRun %> lint:prettier' } const lintfixScripts = { + // prettier before eslint to avoid conflicting rules like no-return-assign + // without having to use prettier via eslint (plugin:prettier/recommended) + prettier: 'prettier --write --list-different .', eslint: "<%= pmRun %> lint:js <%= pm === 'npm' ? '-- ' : '' %>--fix", - stylelint: "<%= pmRun %> lint:style <%= pm === 'npm' ? '-- ' : '' %>--fix", - prettier: 'prettier --write --list-different .' + stylelint: "<%= pmRun %> lint:style <%= pm === 'npm' ? '-- ' : '' %>--fix" } if (!eslint) { diff --git a/packages/create-nuxt-app/test/snapshots/index.test.js.md b/packages/create-nuxt-app/test/snapshots/index.test.js.md index 0c1f686af..1ef5737d0 100644 --- a/packages/create-nuxt-app/test/snapshots/index.test.js.md +++ b/packages/create-nuxt-app/test/snapshots/index.test.js.md @@ -2122,7 +2122,7 @@ Generated by [AVA](https://avajs.dev). 'lint:js': 'eslint --ext ".js,.vue" --ignore-path .gitignore .', 'lint:prettier': 'prettier --check .', 'lint:style': 'stylelint "**/*.{css,scss,sass,html,vue}" --ignore-path .gitignore', - lintfix: 'yarn lint:js --fix && yarn lint:style --fix && prettier --write --list-different .', + lintfix: 'prettier --write --list-different . && yarn lint:js --fix && yarn lint:style --fix', prepare: 'husky install', start: 'nuxt start', }, diff --git a/packages/create-nuxt-app/test/snapshots/index.test.js.snap b/packages/create-nuxt-app/test/snapshots/index.test.js.snap index 01bb301ab6040a9c96243c91eed76ad473910121..7704ff20d72a4feb1c74b576b1023eff481a174a 100644 GIT binary patch delta 8785 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 HE3yFqez5~C delta 8780 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 CRT0Jj