From 2eabc037084140ad49e8ebc6dc669821229a97c3 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 14:52:25 -0700 Subject: [PATCH 01/53] Make test work on other machines --- demo/example.js | 7 ++ demo/test/snapshots/lint-output.js.md | 100 ++++++++++++------------ demo/test/snapshots/lint-output.js.snap | Bin 2146 -> 2118 bytes index.js | 2 +- package.json | 2 +- 5 files changed, 58 insertions(+), 53 deletions(-) diff --git a/demo/example.js b/demo/example.js index fe91495..e13bd1e 100644 --- a/demo/example.js +++ b/demo/example.js @@ -111,3 +111,10 @@ switch (1) { default: break; } + +export const hi = { + /** + * @note - This produces Invalid JSDoc tag name "note".eslintjsdoc/check-tag-names + */ + rawr: 7 +}; diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 8fef681..872896c 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -10,54 +10,55 @@ Generated by [AVA](https://ava.li). `␊ example.js␊ - 8:0 error Inline eslint-disable found bestpractices/no-eslint-disable␊ - 10:1 warning Unexpected 'FIXME' comment: 'fixMe: Actually make this work' no-warning-comments␊ - 11:1 warning Unexpected 'TODO' comment: 'todo: Add documentation' no-warning-comments␊ - 12:1 warning Unexpected 'HACK' comment: 'Hack: Note that these work, regardless...' no-warning-comments␊ - 13:1 warning Unexpected 'HERE BE DRAGONS' comment: 'Here be Dragons' no-warning-comments␊ - 15:10 error 'functionWithoutJSDocWarningsBecauseTheSectionWasCompletelyExcluded' is defined but never used no-unused-vars␊ - 20:1 warning Remove the @description tag to leave a plain block description or add additional description text above the @description line jsdoc/require-description␊ - 20:1 warning JSDoc @returns declaration present but return expression not available in function jsdoc/require-returns-check␊ - 20:1 warning JSDoc type missing brace valid-jsdoc␊ - 22:0 warning Expected @param names to be "params". Got "a, params, b" jsdoc/check-param-names␊ - 22:0 warning Missing JSDoc @param "a" description jsdoc/require-param-description␊ - 23:0 warning Missing JSDoc @param "params" description jsdoc/require-param-description␊ - 23:0 warning Missing JSDoc @param "params" type jsdoc/require-param-type␊ - 24:0 warning Missing JSDoc @param "b" description jsdoc/require-param-description␊ - 24:0 warning Missing JSDoc @param "b" type jsdoc/require-param-type␊ - 25:0 warning Missing JSDoc @returns description jsdoc/require-returns-description␊ - 25:0 warning Missing JSDoc @returns type jsdoc/require-returns-type␊ - 30:19 warning Avoid creating new promises promise/avoid-new␊ - 32:1 warning Expected catch() or return promise/catch-or-return␊ - 33:3 warning Each then() should return a value or throw promise/always-return␊ - 33:7 error Unexpected constant condition no-constant-condition␊ - 34:5 warning Avoid wrapping return values in Promise.resolve promise/no-return-wrap␊ - 36:5 error 'forgotToDefine' is not defined no-undef␊ - 40:7 error 'variable' is assigned a value but never used no-unused-vars␊ - 40:18 warning This conditional operation returns the same value whether the condition is "true" or "false" sonarjs/no-all-duplicated-branches␊ - 40:18 error Unnecessary use of boolean literals in conditional expression no-unneeded-ternary␊ - 40:19 error Unexpected constant condition no-constant-condition␊ - 42:5 warning Correct one of the identical sub-expressions on both sides of operator "&&" sonarjs/no-identical-expressions␊ - 42:16 warning Unexpected use of undefined no-undefined␊ - 42:40 warning Unexpected use of undefined no-undefined␊ - 42:53 error 'params' is not defined no-undef␊ - 43:3 warning This function expects 1 argument, but 2 were provided sonarjs/no-extra-arguments␊ - 44:28 error Module path/to/legacyModule is deprecated. Use module x instead deprecate/import␊ - 46:3 error Function deprecatedFunction is deprecated. Use function x from package y instead deprecate/function␊ - 46:3 error 'deprecatedFunction' is not defined no-undef␊ - 48:3 error Member expression $.each is deprecated. Use native forEach instead deprecate/member-expression␊ - 48:3 error '$' is not defined no-undef␊ - 50:3 error Unexpected 'debugger' statement no-debugger␊ - 50:3 error Unreachable code no-unreachable␊ - 63:10 warning Update this function so that its implementation is not identical to the one on line 55 sonarjs/no-identical-functions␊ - 71:1 warning Remove this conditional structure or edit its code blocks so that they're not all the same sonarjs/no-all-duplicated-branches␊ - 71:5 warning {"message":"This always evaluates to truthy. Consider refactoring this code.","secondaryLocations":[]} sonarjs/no-gratuitous-expressions␊ - 71:5 error Unexpected constant condition no-constant-condition␊ - 78:1 warning Reduce the number of non-empty switch cases from 11 to at most 10 sonarjs/max-switch-cases␊ - 82:5 warning Expected a default case default-case␊ - 82:5 warning Refactor the code to eliminate this nested "switch" sonarjs/no-nested-switch␊ - 87:7 error This case's code block is the same as the block for the case on line 83 sonarjs/no-duplicated-branches␊ - 87:7 error Duplicate case label no-duplicate-case␊ + 8:0 error Found eslint-disable without " -- comment" bestpractices/no-eslint-disable␊ + 10:1 warning Unexpected 'FIXME' comment: 'fixMe: Actually make this work' no-warning-comments␊ + 11:1 warning Unexpected 'TODO' comment: 'todo: Add documentation' no-warning-comments␊ + 12:1 warning Unexpected 'HACK' comment: 'Hack: Note that these work, regardless...' no-warning-comments␊ + 13:1 warning Unexpected 'HERE BE DRAGONS' comment: 'Here be Dragons' no-warning-comments␊ + 15:10 error 'functionWithoutJSDocWarningsBecauseTheSectionWasCompletelyExcluded' is defined but never used no-unused-vars␊ + 20:1 warning Remove the @description tag to leave a plain block description or add additional description text above the @description line jsdoc/require-description␊ + 20:1 warning JSDoc @returns declaration present but return expression not available in function jsdoc/require-returns-check␊ + 20:1 warning JSDoc type missing brace valid-jsdoc␊ + 22:0 warning Expected @param names to be "params". Got "a, params, b" jsdoc/check-param-names␊ + 22:0 warning Missing JSDoc @param "a" description jsdoc/require-param-description␊ + 23:0 warning Missing JSDoc @param "params" description jsdoc/require-param-description␊ + 23:0 warning Missing JSDoc @param "params" type jsdoc/require-param-type␊ + 24:0 warning Missing JSDoc @param "b" description jsdoc/require-param-description␊ + 24:0 warning Missing JSDoc @param "b" type jsdoc/require-param-type␊ + 25:0 warning Missing JSDoc @returns description jsdoc/require-returns-description␊ + 25:0 warning Missing JSDoc @returns type jsdoc/require-returns-type␊ + 30:19 warning Avoid creating new promises promise/avoid-new␊ + 32:1 warning Expected catch() or return promise/catch-or-return␊ + 33:3 warning Each then() should return a value or throw promise/always-return␊ + 33:7 error Unexpected constant condition no-constant-condition␊ + 34:5 warning Avoid wrapping return values in Promise.resolve promise/no-return-wrap␊ + 36:5 error 'forgotToDefine' is not defined no-undef␊ + 40:7 error 'variable' is assigned a value but never used no-unused-vars␊ + 40:18 warning This conditional operation returns the same value whether the condition is "true" or "false" sonarjs/no-all-duplicated-branches␊ + 40:18 error Unnecessary use of boolean literals in conditional expression no-unneeded-ternary␊ + 40:19 error Unexpected constant condition no-constant-condition␊ + 42:5 warning Correct one of the identical sub-expressions on both sides of operator "&&" sonarjs/no-identical-expressions␊ + 42:16 warning Unexpected use of undefined no-undefined␊ + 42:40 warning Unexpected use of undefined no-undefined␊ + 42:53 error 'params' is not defined no-undef␊ + 43:3 warning This function expects 1 argument, but 2 were provided sonarjs/no-extra-arguments␊ + 44:28 error Module path/to/legacyModule is deprecated. Use module x instead deprecate/import␊ + 46:3 error Function deprecatedFunction is deprecated. Use function x from package y instead deprecate/function␊ + 46:3 error 'deprecatedFunction' is not defined no-undef␊ + 48:3 error Member expression $.each is deprecated. Use native forEach instead deprecate/member-expression␊ + 48:3 error '$' is not defined no-undef␊ + 50:3 error Unexpected 'debugger' statement no-debugger␊ + 50:3 error Unreachable code no-unreachable␊ + 63:10 warning Update this function so that its implementation is not identical to the one on line 55 sonarjs/no-identical-functions␊ + 71:1 warning Remove this conditional structure or edit its code blocks so that they're not all the same sonarjs/no-all-duplicated-branches␊ + 71:5 warning {"message":"This always evaluates to truthy. Consider refactoring this code.","secondaryLocations":[]} sonarjs/no-gratuitous-expressions␊ + 71:5 error Unexpected constant condition no-constant-condition␊ + 78:1 warning Reduce the number of non-empty switch cases from 11 to at most 10 sonarjs/max-switch-cases␊ + 82:5 warning Expected a default case default-case␊ + 82:5 warning Refactor the code to eliminate this nested "switch" sonarjs/no-nested-switch␊ + 87:7 error This case's code block is the same as the block for the case on line 83 sonarjs/no-duplicated-branches␊ + 87:7 error Duplicate case label no-duplicate-case␊ + 117:0 warning Invalid JSDoc tag name "note" jsdoc/check-tag-names␊ ␊ example.json␊ 4:6 error Property keys must be doublequoted json/undefined␊ @@ -75,9 +76,6 @@ Generated by [AVA](https://ava.li). test/lint-output.js␊ 12:7 warning Unexpected console statement no-console␊ ␊ - /Users/clif/sandbox/frontier/common/eslint-config-tree/index.js␊ - 52:0 warning Invalid JSDoc tag name "note" jsdoc/check-tag-names␊ - ␊ ✖ 59 problems (25 errors, 34 warnings)␊ 0 errors and 2 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 2bd465e194da1bb6b2871a431184a82a90210431..5913cef6d0b4f1ad7774e80019fb535d67087849 100644 GIT binary patch literal 2118 zcmV-M2)Xw`RzVd)UvURf^wGT;S_p)6#LE>%~SS(O#=17{DGn|qfT~PER zw2%AL*M5<{^=s@0S?uANi#V#}Dz>c65{P5ZjL07k&*e{!SfkN+(75>ZPvSqnJ-`0t z;UN9^qwuE(4cmTxuhDqB@ecj|;LnYB-}>>r1DNwT70`O64;Z$y!7=^>rKGZdek!vh zWS~Wq7(a|O9|~Zz$V_Brn8$pd1u~8yF&?{*HUw=_#RC%sppO#i*GVjK`*_gC|7Khz zQ8H%i>jdU01O`IZ{Pc^zUtTmz!~tuLqWL8Z*pt9yT!;mW`86;zi8Px@b=}+nF)|h? zelaZBwcXxKdG+l4nG0!TD3LJ?Stx_dUgRc{$u8*rh_bVp^7AK8zjP@-=fU-WeI<=G zAUF5}G>{n&nSwD_p#ZI0t=8?iH&J$PpuBi-!9KZQ=P#ao_Ux;dHDFMH4#mzDAIn7V z%$%Dj`-Aqe6G_ccmIQVkzsaNLFE7t!@J;?f{Rsp-({MF`mykci^;2o%(tuc8%ma~y z5H=Y)Y6zn!!Kn^0027#kV)(&u8_F!PPx@1?2(YsfI4>ZUQ@fbJ9*3X<6{VJh89ru4 zG65X#a+V4nC2S~UaLwGuaF!fh7XL-|Z!T(g4a^PW!?gooL<3{5G)gYVZ37Xb6k&mHBY<0R$uj;b=6P1+YlE< zy?^YT6O#|$XIn>X2PM?rHmJil$sM*OzIVHBB(99xzY%qrY4>5;O&NC8yxTGF$GDrA zO9OYYC_HjtpG;*GvOocrE&Mxy8I~@I^#POb9$GQh5w{pVj!uj#`mZVt0XMCFNqq7rM@Q${ZEw zXw?8ksNtwo@RwXO-3wZ+p$aUA^{Zitvp49o-+AXu@ieu67q%ozYAc(b=M!$Bu99N9 z^YAL|iM;vHzC|I>69RQ)wNztiuH-rCVv@*Ks} zbJN%ol@9ru0{(VrHN}sB?K5YQuk6ORasyQCGKE4#SGg0#x<)-#FwZ7{R}@`dx-ItN z8I^%&gUlOop&ELcA z(>H7WcveTdgm{Rx&Z!>nx4`PmHO5P@Y@!T8F+xgo7puIqUrZoQUR+1peE)wH)6`r; z_K)jm?g4EG!)!bT)nr(m4A}VE16n!idOBrSl@0_08Sd*;&Y{be1Qzh5ODD(6ijs!h z6t5|&Ak{KIc8@ScM)sh%dQVV#!Lp7UNrjzid~w{`?{5vbwnmp6lp9am8%~l}cvd9to%g}93*K1av3LM&zIYXaY(D-pV;gueG;t18Ff4Lqtu`Cg8J zRlfLXIugYRn8~7rvMI45$nJ(mJU|6xyC~)xLd!e!G}xJ=I{d2)Xj!y3_{Tqg*amux znktKo%=D@hDwyARm3ex$>JVWTWAIlL0AA;D0(Y94qm*falS)9@!uQZeyz0Yb7gml80FW1*)+~Do`=9fnPIj2E|b<%nf=_6yKU(W z+P$iWztPb{mFYHsVGndh;g=6$H+>gmxx8}t%I<*5|a=Hy10 zz&_~0oVYN{lT{hV{KjtZe!ZK{^0o4n;*qe9@kia5;z4>v%@6GNJRA{pk%TrQk0PAIcpl&eG94ht~0_*22COT`Z*@vBeZZdtyy1lYT{Se1E wE^aW6w(L~5Sc)Ewnu)$`GK%Ka_h%^8ee3&p?OP`4l}78}ziy1h#k?Z`0AhV6l>h($ literal 2146 zcmV-o2%YyqRzVd)Uk|kM=qxK?c?6%pin;>zw1&Req%^XP+bA~F((FcmY zLN9x@xBDV{x394eve*|!0nTMn>x;fPUCb0@J)*I35FIU zXng+kyQ|9vgeplewS8y|{%Raf4vTv4NS=H;p|26Jmi96w|U*+wJX; z*Uv7V`HWUYiV&j+A{AzQQP^0e`+$1`WM@0%mye%(wLteyhV>?!v{maV>6@Ht4&U}WU$P8YO@g?S+gn6PkA}z|rP!cZG}=t3 zY>`k3?E(ZQntU*|&N}&hAm5;ihVQ0|D5fHoE`iZ=lxy-<>%EFvPz2!^!<((Jb}>On zV#1(n14?Fi3rD+6n+h36fkS4vj?3&7++`Uzk0xZn1X7Wp;pL_&Xm&80Ttnx#Y9Ssh6I(2N>0H=FGD7`W36U)3M%AGEX)e#1Mp;@r%gi=omP-I zpJL zI$#v$Jae3$idK50?6taZGT13%R&}K+zT@UpG|fe1rzfim-5^~Zv#xYZf|AmRfl6n5 zOSyhKGGE^lU;Er!;cMRERxUvLTurbL%~j4MX>Le>709zO(iQD4FI|>Ksau_4o#U%M z6w=@>a?sG6`jy+h)2=&+vWbi-$cdNKa7q%;WA=h4McVTlp%-j6P(v6fMOzWxHCV!z z&N=<3^3?u*Y?>m{)+?ad=m8c5+&|JYPXm<;WWt8^2{cq+j~Jc)m(@ zg~@;loL4hGY$EH*4W>(}R!;fUTRY{sk0oAOFL5AVKHLD?`0)P~&8~T7?47KV`RA_@ z4zke*bpxm*S>(t%09iTfMmWt&>Q4MZ6&>o_&4bI91jKjNb?3s%Ix>lbEnYxW;b~NU zq#jdhjQJS2dIeCrz_NB*<%+qh>&0nmueUSb#=2Z`a87*C-f~X7CMOMv!jN>N+jk*d zcJR*P?zGrc4@I<#2K95Nu~IH&=Ueh_*OA1$qJ4g>jwG3Ne%v0g>F$yz5o5+f8K?8L@Fwat;)=r z_$iRzcUAe|eBB$OEX)t})66AP5<;m;1574%0cIA{J|05BCmgQgwA*ZJ@`6Me3mggW z(n`xFVjkpk1#T`PJzvwm)xn0~^eHlF9o9aKwM#4Jba)%+UKGAoY_=$9$Vw>VBu=aB zkfLG!dj6pMI)iu3^U!>j!kSF_V0E9H?<46c8h&(hTB_n$wIeD7U*Ug!H~OWx<2cUlxVH%R#@$tXq!2$9ODc>I_t zUVq@vwN}J`zkOPb@He-2uad{c=0h$V;Hn})GPNB2Hguv7V(;xdgm z%MD|>-Og)kRINGH8rvM(MDj^C54veTITiZYZ7L;NuBI*%FBK=b6!qZ4v3DEbh+$gp zs}w4;lg#Gd{%ChNfHn=w!zg-aPuUf9g03DNwMZsw(+XugY#EV812u0^&L>TQ+N}(k zr1E$bDj-h*6j&APLd?&>XAX?sX7PnwR6A-rhddM)IJMBpM(49BK Y4?#fJegNg(NHmZB2agw{Zfhd|00!eH!~g&Q diff --git a/index.js b/index.js index e663595..9b14809 100644 --- a/index.js +++ b/index.js @@ -49,7 +49,7 @@ module.exports = { parser: 'babel-eslint', /** * @property {object} plugins - Tree additional linter plugins. - * @note - Code Climate does not yet support bestpractices, deprecate, no-only-tests, no-skip-tests, sonarjs, and test-selectors, and breaks if they are present. You will need to add these plugins individually in your .eslintrc.js file. The first time you add a file, Code Climate will complain about not being able to find the definitions for these extra rules once for every new file. Obnoxious, but the best we have, for now. + Code Climate does not yet support bestpractices, deprecate, no-only-tests, no-skip-tests, sonarjs, and test-selectors, and breaks if they are present. You will need to add these plugins individually in your .eslintrc.js file. The first time you add a file, Code Climate will complain about not being able to find the definitions for these extra rules once for every new file. Obnoxious, but the best we have, for now. */ plugins: [ // 'eslint-plugin-bestpractices', diff --git a/package.json b/package.json index 0b79afc..0d2646a 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "preinstall": "git config --global url.https://github.com/.insteadOf git://github.com/", "postinstall": "npm rebuild husky", "test": "npm run lint:snapshot; ava", - "test:format": "sed -i '' 's|^.*eslint-config-tree/demo/||g' demo/test/snapshots/new-lint-results.txt", + "test:format": "sed -i 's|^.*/demo/||g' demo/test/snapshots/new-lint-results.txt", "test:update": "npm run lint:snapshot; ava --update-snapshots" } } From 174327c274a105095bf2dc20f83fed2bd506c95f Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 14:52:53 -0700 Subject: [PATCH 02/53] version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0d2646a..59377be 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-tree", - "version": "5.0.2", + "version": "5.0.3", "description": "Shared Tree configuration that contains overrides and enhancements on top of the base frontier configuration.", "main": "index.js", "repository": { From 8694b7889da8b4247e6fff25871992c6ac8cdf57 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 16:05:13 -0700 Subject: [PATCH 03/53] Compare Final Config for testing --- .gitignore | 3 ++- demo/test/lint-output.js | 16 ++++++++++++---- demo/test/snapshots/lint-output.js.md | 6 ++++++ demo/test/snapshots/lint-output.js.snap | Bin 2118 -> 5848 bytes format-config.js | 12 ++++++++++++ package.json | 4 ++-- 6 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 format-config.js diff --git a/.gitignore b/.gitignore index 5fe04e4..606a2b2 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ /reports/** analysis.json npm-debug.log -/demo/test/snapshots/*results.txt +/demo/test/snapshots/new-lint-results.txt +/demo/test/snapshots/new-lint-final-config.json \ No newline at end of file diff --git a/demo/test/lint-output.js b/demo/test/lint-output.js index 21a81cf..5c62b42 100755 --- a/demo/test/lint-output.js +++ b/demo/test/lint-output.js @@ -1,15 +1,23 @@ import test from 'ava'; const fileManager = require('file-manager-js'); -test('Should have consistent rule output', async t => { +function processFile (t, filename) { // Run previously via npm test, save off results, and read output - return fileManager.readFile('./demo/test/snapshots/new-lint-results.txt') + return fileManager.readFile(`./demo/test/snapshots/${filename}`) .then((content) => { - const eslintOutput = content.toString(); // content is instance of Buffer, so it needs to be parsed - return t.snapshot(eslintOutput); + const output = content.toString(); // content is instance of Buffer, so it needs to be parsed + return t.snapshot(output); }) .catch((err) => { console.log(err); return t.fail(); }); +} + +test('Should have consistent rule output', async t => { + return processFile(t, 'new-lint-results.txt'); +}); + +test('Should have consistent eslint final config', async t => { + return processFile(t, 'new-lint-final-config.json'); }); diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 872896c..002d823 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -4,6 +4,12 @@ The actual snapshot is saved in `lint-output.js.snap`. Generated by [AVA](https://ava.li). +## Should have consistent eslint final config + +> Snapshot 1 + + '{"env":{"browser":true,"mocha":true,"es2021":true,"node":true,"es6":true},"globals":{"__services__":true,"assert":true,"axe":true,"customElements":true,"CustomEvent":true,"d3":true,"Event":true,"expect":true,"fixture":true,"google":true,"FS":true,"FsBehaviors":true,"FSResearchHelpService":true,"FSTreeCommonRoutingService":true,"Headers":true,"HF":true,"HTMLElement":true,"indexedDB":true,"location":true,"Polymer":true,"ResettablePropertiesBehavior":true,"sessionStorage":true,"sinon":true,"WCI18n":true,"WCT":true,"document":"readonly","navigator":"readonly","window":"readonly"},"parser":"/home/vetaz/fs-webdev/eslint-config-tree/node_modules/babel-eslint/lib/index.js","parserOptions":{"ecmaVersion":2021,"ecmaFeatures":{"jsx":true},"sourceType":"module"},"plugins":["node","import","json","jsdoc","html","test-selectors","sonarjs","promise","deprecate","bestpractices"],"rules":{"accessor-pairs":["error",{"setWithoutGet":true,"enforceForClassMembers":true,"getWithoutSet":false}],"array-bracket-spacing":["warn","never"],"array-callback-return":["error",{"allowImplicit":false,"checkForEach":false}],"arrow-spacing":["error",{"before":true,"after":true}],"bestpractices/no-eslint-disable":["warn"],"block-spacing":["error","always"],"brace-style":["error","1tbs",{"allowSingleLine":true}],"camelcase":["error",{"allow":["^UNSAFE_"],"properties":"never","ignoreGlobals":true,"ignoreDestructuring":false,"ignoreImports":false}],"comma-dangle":["error",{"arrays":"never","objects":"never","imports":"never","exports":"never","functions":"never"}],"comma-spacing":["error",{"before":false,"after":true}],"comma-style":["error","last"],"complexity":["warn",{"max":8}],"computed-property-spacing":["error","never",{"enforceForClassMembers":true}],"constructor-super":["error"],"curly":["error","multi-line"],"default-case":["warn"],"default-case-last":["error"],"deprecate/function":["error",{"name":"deprecatedFunction","use":"function x from package y"}],"deprecate/import":["error",{"name":"path/to/legacyModule","use":"module x"}],"deprecate/member-expression":["error",{"name":"$.each","use":"native forEach"}],"dot-location":["error","property"],"dot-notation":["error",{"allowKeywords":true,"allowPattern":""}],"eol-last":["error"],"eqeqeq":["error","always",{"null":"ignore"}],"func-call-spacing":["error","never"],"generator-star-spacing":["error",{"before":true,"after":true}],"guard-for-in":["warn"],"import/export":["error"],"import/first":["error"],"import/no-absolute-path":["warn",{"esmodule":true,"commonjs":true,"amd":false}],"import/no-duplicates":["error"],"import/no-named-default":["error"],"import/no-webpack-loader-syntax":["error"],"indent":["error",2,{"SwitchCase":1,"VariableDeclarator":1,"outerIIFEBody":1,"MemberExpression":1,"FunctionDeclaration":{"parameters":1,"body":1},"FunctionExpression":{"parameters":1,"body":1},"CallExpression":{"arguments":1},"ArrayExpression":1,"ObjectExpression":1,"ImportDeclaration":1,"flatTernaryExpressions":false,"ignoreComments":false,"ignoredNodes":["TemplateLiteral *","JSXElement","JSXElement > *","JSXAttribute","JSXIdentifier","JSXNamespacedName","JSXMemberExpression","JSXSpreadAttribute","JSXExpressionContainer","JSXOpeningElement","JSXClosingElement","JSXFragment","JSXOpeningFragment","JSXClosingFragment","JSXText","JSXEmptyExpression","JSXSpreadChild"],"offsetTernaryExpressions":true}],"jsdoc/check-access":["off"],"jsdoc/check-alignment":["warn"],"jsdoc/check-examples":["warn"],"jsdoc/check-indentation":["off"],"jsdoc/check-param-names":["warn"],"jsdoc/check-syntax":["warn"],"jsdoc/check-tag-names":["warn"],"jsdoc/check-types":["warn"],"jsdoc/implements-on-classes":["warn"],"jsdoc/match-description":["warn"],"jsdoc/newline-after-description":["off"],"jsdoc/no-types":["off"],"jsdoc/no-undefined-types":["off"],"jsdoc/require-description":["warn"],"jsdoc/require-description-complete-sentence":["off"],"jsdoc/require-example":["off"],"jsdoc/require-file-overview":["off"],"jsdoc/require-hyphen-before-param-description":["warn"],"jsdoc/require-jsdoc":["off"],"jsdoc/require-param":["warn"],"jsdoc/require-param-description":["warn"],"jsdoc/require-param-name":["warn"],"jsdoc/require-param-type":["warn"],"jsdoc/require-returns":["warn"],"jsdoc/require-returns-check":["warn"],"jsdoc/require-returns-description":["warn"],"jsdoc/require-returns-type":["warn"],"jsdoc/require-throws":["off"],"jsdoc/valid-types":["warn"],"json/colon-expected":["error"],"json/comma-expected":["error"],"json/comma-or-close-backet-expected":["error"],"json/comma-or-close-brace-expected":["error"],"json/comment-not-permitted":["error"],"json/duplicate-key":["error"],"json/enum-value-mismatch":["error"],"json/invalid-character":["error"],"json/invalid-escape-character":["error"],"json/invalid-unicode":["error"],"json/property-expected":["error"],"json/schema-resolve-error":["error"],"json/trailing-comma":["error"],"json/undefined":["error"],"json/unexpected-end-of-comment":["error"],"json/unexpected-end-of-number":["error"],"json/unexpected-end-of-string":["error"],"json/unknown":["error"],"json/value-expected":["error"],"jsx-quotes":["off"],"key-spacing":["error",{"beforeColon":false,"afterColon":true}],"keyword-spacing":["error",{"before":true,"after":true}],"lines-between-class-members":["warn","always",{"exceptAfterSingleLine":true}],"multiline-ternary":["error","always-multiline"],"new-cap":["error",{"newIsCap":true,"capIsNew":false,"properties":true}],"new-parens":["error"],"no-alert":["error"],"no-array-constructor":["error"],"no-async-promise-executor":["error"],"no-caller":["error"],"no-case-declarations":["off"],"no-catch-shadow":["error"],"no-class-assign":["error"],"no-compare-neg-zero":["error"],"no-cond-assign":["error"],"no-console":["warn"],"no-const-assign":["error"],"no-constant-condition":["error",{"checkLoops":false}],"no-control-regex":["error"],"no-debugger":["error"],"no-delete-var":["error"],"no-div-regex":["error"],"no-dupe-args":["error"],"no-dupe-class-members":["error"],"no-dupe-keys":["error"],"no-duplicate-case":["error"],"no-else-return":["off"],"no-empty":["error",{"allowEmptyCatch":true}],"no-empty-character-class":["error"],"no-empty-pattern":["error"],"no-eq-null":["error"],"no-eval":["error"],"no-ex-assign":["error"],"no-extend-native":["error"],"no-extra-bind":["error"],"no-extra-boolean-cast":["error"],"no-extra-label":["warn"],"no-extra-parens":["error","functions"],"no-extra-semi":["error"],"no-fallthrough":["error"],"no-floating-decimal":["error"],"no-func-assign":["error"],"no-global-assign":["error"],"no-implicit-globals":["warn"],"no-implied-eval":["error"],"no-import-assign":["error"],"no-inner-declarations":["error"],"no-invalid-regexp":["error"],"no-invalid-this":["off"],"no-irregular-whitespace":["error"],"no-iterator":["error"],"no-label-var":["error"],"no-labels":["error",{"allowLoop":false,"allowSwitch":false}],"no-lone-blocks":["error"],"no-loop-func":["error"],"no-loss-of-precision":["error"],"no-magic-numbers":["off"],"no-misleading-character-class":["error"],"no-mixed-operators":["error",{"groups":[["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]],"allowSamePrecedence":true}],"no-mixed-spaces-and-tabs":["error"],"no-multi-spaces":["error"],"no-multi-str":["error"],"no-multiple-empty-lines":["error",{"max":1,"maxEOF":0}],"no-native-reassign":["error"],"no-new":["error"],"no-new-func":["error"],"no-new-object":["error"],"no-new-symbol":["error"],"no-new-wrappers":["error"],"no-obj-calls":["error"],"no-octal":["error"],"no-octal-escape":["error"],"no-param-reassign":["warn"],"no-process-env":["off"],"no-proto":["error"],"no-prototype-builtins":["warn"],"no-redeclare":["error",{"builtinGlobals":false}],"no-regex-spaces":["error"],"no-return-assign":["error","except-parens"],"no-script-url":["error"],"no-self-assign":["error",{"props":true}],"no-self-compare":["error"],"no-sequences":["error"],"no-shadow":["warn"],"no-shadow-restricted-names":["error"],"no-sparse-arrays":["error"],"no-tabs":["error"],"no-template-curly-in-string":["error"],"no-this-before-super":["error"],"no-throw-literal":["error"],"no-trailing-spaces":["error"],"no-undef":["error"],"no-undef-init":["error"],"no-undefined":["warn"],"no-unexpected-multiline":["error"],"no-unmodified-loop-condition":["error"],"no-unneeded-ternary":["error",{"defaultAssignment":false}],"no-unreachable":["error"],"no-unreachable-loop":["error"],"no-unsafe-finally":["error"],"no-unsafe-negation":["error"],"no-unused-expressions":["error",{"allowShortCircuit":true,"allowTernary":true,"allowTaggedTemplates":true,"enforceForJSX":false}],"no-unused-labels":["error"],"no-unused-vars":["error",{"args":"none","caughtErrors":"none","ignoreRestSiblings":true,"vars":"all"}],"no-use-before-define":["error",{"functions":false,"classes":false,"variables":false}],"no-useless-backreference":["error"],"no-useless-call":["error"],"no-useless-catch":["error"],"no-useless-computed-key":["error"],"no-useless-concat":["error"],"no-useless-constructor":["error"],"no-useless-escape":["error"],"no-useless-rename":["error"],"no-useless-return":["error"],"no-var":["warn"],"no-void":["error"],"no-warning-comments":["warn",{"terms":["FIXME","TODO","TO-DO","HACK","HERE BE DRAGONS"],"location":"anywhere"}],"no-whitespace-before-property":["error"],"no-with":["error"],"node/handle-callback-err":["error","^(err|error)$"],"node/no-callback-literal":["error"],"node/no-deprecated-api":["error"],"node/no-exports-assign":["error"],"node/no-new-require":["error"],"node/no-path-concat":["error"],"node/process-exit-as-throw":["error"],"object-curly-newline":["warn",{"multiline":true,"consistent":true}],"object-curly-spacing":["off","always"],"object-property-newline":["error",{"allowMultiplePropertiesPerLine":true,"allowAllPropertiesOnSameLine":false}],"one-var":["error",{"initialized":"never"}],"operator-linebreak":["error","after",{"overrides":{"?":"before",":":"before","|>":"before"}}],"padded-blocks":["error",{"blocks":"never","switches":"never","classes":"never"}],"prefer-const":["warn",{"destructuring":"all","ignoreReadBeforeAssign":false}],"prefer-promise-reject-errors":["error"],"prefer-regex-literals":["error",{"disallowRedundantWrapping":true}],"promise/always-return":["warn"],"promise/avoid-new":["warn"],"promise/catch-or-return":["warn",{"allowFinally":true}],"promise/no-callback-in-promise":["warn"],"promise/no-native":["off"],"promise/no-nesting":["warn"],"promise/no-new-statics":["warn"],"promise/no-promise-in-callback":["warn"],"promise/no-return-in-finally":["warn"],"promise/no-return-wrap":["warn"],"promise/param-names":["warn"],"promise/valid-params":["warn"],"quote-props":["off","as-needed"],"quotes":["off","single",{"avoidEscape":true,"allowTemplateLiterals":false}],"radix":["error"],"rest-spread-spacing":["error","never"],"semi":["error","always"],"semi-spacing":["error",{"before":false,"after":true}],"sonarjs/cognitive-complexity":["warn",25],"sonarjs/max-switch-cases":["warn",10],"sonarjs/no-all-duplicated-branches":["warn"],"sonarjs/no-collapsible-if":["warn"],"sonarjs/no-duplicate-string":["warn"],"sonarjs/no-duplicated-branches":["warn"],"sonarjs/no-element-overwrite":["warn"],"sonarjs/no-empty-collection":["warn"],"sonarjs/no-extra-arguments":["warn"],"sonarjs/no-gratuitous-expressions":["warn"],"sonarjs/no-identical-conditions":["warn"],"sonarjs/no-identical-expressions":["warn"],"sonarjs/no-identical-functions":["warn"],"sonarjs/no-inverted-boolean-check":["off"],"sonarjs/no-nested-switch":["warn"],"sonarjs/no-nested-template-literals":["warn"],"sonarjs/no-one-iteration-loop":["warn"],"sonarjs/no-redundant-boolean":["warn"],"sonarjs/no-redundant-jump":["warn"],"sonarjs/no-same-line-conditional":["warn"],"sonarjs/no-small-switch":["warn"],"sonarjs/no-unused-collection":["warn"],"sonarjs/no-use-of-empty-return-value":["warn"],"sonarjs/no-useless-catch":["warn"],"sonarjs/non-existent-operator":["warn"],"sonarjs/prefer-immediate-return":["warn"],"sonarjs/prefer-object-literal":["warn"],"sonarjs/prefer-single-boolean-return":["warn"],"sonarjs/prefer-while":["warn"],"space-before-blocks":["error","always"],"space-before-function-paren":["error","always"],"space-in-parens":["error","never"],"space-infix-ops":["error"],"space-unary-ops":["error",{"words":true,"nonwords":false}],"spaced-comment":["error","always",{"line":{"markers":["*package","!","/",",","="]},"block":{"balanced":true,"markers":["*package","!",",",":","::","flow-include"],"exceptions":["*"]}}],"strict":["off"],"symbol-description":["error"],"template-curly-spacing":["error","never"],"template-tag-spacing":["error","never"],"test-selectors/anchor":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"test-selectors/button":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"test-selectors/input":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"test-selectors/onChange":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"test-selectors/onClick":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"test-selectors/onKeyDown":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"test-selectors/onKeyUp":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"unicode-bom":["error","never"],"use-isnan":["error",{"enforceForSwitchCase":true,"enforceForIndexOf":true}],"valid-jsdoc":["warn"],"valid-typeof":["error",{"requireStringLiterals":true}],"wrap-iife":["error","any",{"functionPrototypeMethods":true}],"yield-star-spacing":["error","both"],"yoda":["error","never"]},"settings":{},"ignorePatterns":[]}' + ## Should have consistent rule output > Snapshot 1 diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 5913cef6d0b4f1ad7774e80019fb535d67087849..33cd72e8d955f54753474a75aeb5742215c78eb5 100644 GIT binary patch literal 5848 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 diff --git a/format-config.js b/format-config.js new file mode 100644 index 0000000..a7980c9 --- /dev/null +++ b/format-config.js @@ -0,0 +1,12 @@ +// This sorts the eslint final config rules in an alphabetical order to compare easier +const finalConfig = require('./demo/test/snapshots/new-lint-final-config.json'); +const FS = require('fs'); + +const formattedRules = Object.fromEntries(Object.entries(finalConfig?.rules ?? {}).sort(([ruleNameA], [ruleNameB]) => { + if (ruleNameA > ruleNameB) return 1; + if (ruleNameB > ruleNameA) return -1; + return 0; +})); + +// eslint-disable-next-line no-console -- We want to have the console.log here. +FS.writeFile('./demo/test/snapshots/new-lint-final-config.json', JSON.stringify({ ...finalConfig, rules: formattedRules }), (err) => { if (err) console.log('There was an error writing to new-lint-final-config.json file:', err); }); diff --git a/package.json b/package.json index 59377be..4f7c187 100644 --- a/package.json +++ b/package.json @@ -56,11 +56,11 @@ "lint:fix": "eslint --ignore-pattern '.*' '**/*.html' '**/*.js' '**/*.json' --fix", "lint:quiet": "eslint --ignore-pattern '.*' '**/*.html' '**/*.js' '**/*.json' --quiet", "lint:report": "eslint --ignore-pattern '.*' '**/*.html' '**/*.js' '**/*.json' '**/*.html' --format html --output-file ./reports/linter/lintresults.html & eslint --ignore-pattern '.*' '**/*.js' '**/*.json' --format json --output-file ./reports/linter/lintresults.json", - "lint:snapshot": "eslint --ignore-pattern '.*' '**/*.html' '**/*.js' '**/*.json' --no-color --output-file ./demo/test/snapshots/new-lint-results.txt; npm run test:format", + "lint:snapshot": "eslint --ignore-pattern '.*' '**/*.html' '**/*.js' '**/*.json' --no-color --output-file ./demo/test/snapshots/new-lint-results.txt; eslint --print-config file.js > ./demo/test/snapshots/new-lint-final-config.json; npm run test:format", "preinstall": "git config --global url.https://github.com/.insteadOf git://github.com/", "postinstall": "npm rebuild husky", "test": "npm run lint:snapshot; ava", - "test:format": "sed -i 's|^.*/demo/||g' demo/test/snapshots/new-lint-results.txt", + "test:format": "sed -i 's|^.*/demo/||g' demo/test/snapshots/new-lint-results.txt; node format-config.js", "test:update": "npm run lint:snapshot; ava --update-snapshots" } } From 7b390f0b5f827ba53aab4f7ad0546e9c440ce12c Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 22:50:59 -0700 Subject: [PATCH 04/53] Make it easier to see differences in md file This 2 space is temp for this pr --- demo/test/snapshots/lint-output.js.md | 1287 ++++++++++++++++++++++- demo/test/snapshots/lint-output.js.snap | Bin 5848 -> 6201 bytes format-config.js | 22 +- 3 files changed, 1301 insertions(+), 8 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 002d823..a464c41 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -8,7 +8,1292 @@ Generated by [AVA](https://ava.li). > Snapshot 1 - '{"env":{"browser":true,"mocha":true,"es2021":true,"node":true,"es6":true},"globals":{"__services__":true,"assert":true,"axe":true,"customElements":true,"CustomEvent":true,"d3":true,"Event":true,"expect":true,"fixture":true,"google":true,"FS":true,"FsBehaviors":true,"FSResearchHelpService":true,"FSTreeCommonRoutingService":true,"Headers":true,"HF":true,"HTMLElement":true,"indexedDB":true,"location":true,"Polymer":true,"ResettablePropertiesBehavior":true,"sessionStorage":true,"sinon":true,"WCI18n":true,"WCT":true,"document":"readonly","navigator":"readonly","window":"readonly"},"parser":"/home/vetaz/fs-webdev/eslint-config-tree/node_modules/babel-eslint/lib/index.js","parserOptions":{"ecmaVersion":2021,"ecmaFeatures":{"jsx":true},"sourceType":"module"},"plugins":["node","import","json","jsdoc","html","test-selectors","sonarjs","promise","deprecate","bestpractices"],"rules":{"accessor-pairs":["error",{"setWithoutGet":true,"enforceForClassMembers":true,"getWithoutSet":false}],"array-bracket-spacing":["warn","never"],"array-callback-return":["error",{"allowImplicit":false,"checkForEach":false}],"arrow-spacing":["error",{"before":true,"after":true}],"bestpractices/no-eslint-disable":["warn"],"block-spacing":["error","always"],"brace-style":["error","1tbs",{"allowSingleLine":true}],"camelcase":["error",{"allow":["^UNSAFE_"],"properties":"never","ignoreGlobals":true,"ignoreDestructuring":false,"ignoreImports":false}],"comma-dangle":["error",{"arrays":"never","objects":"never","imports":"never","exports":"never","functions":"never"}],"comma-spacing":["error",{"before":false,"after":true}],"comma-style":["error","last"],"complexity":["warn",{"max":8}],"computed-property-spacing":["error","never",{"enforceForClassMembers":true}],"constructor-super":["error"],"curly":["error","multi-line"],"default-case":["warn"],"default-case-last":["error"],"deprecate/function":["error",{"name":"deprecatedFunction","use":"function x from package y"}],"deprecate/import":["error",{"name":"path/to/legacyModule","use":"module x"}],"deprecate/member-expression":["error",{"name":"$.each","use":"native forEach"}],"dot-location":["error","property"],"dot-notation":["error",{"allowKeywords":true,"allowPattern":""}],"eol-last":["error"],"eqeqeq":["error","always",{"null":"ignore"}],"func-call-spacing":["error","never"],"generator-star-spacing":["error",{"before":true,"after":true}],"guard-for-in":["warn"],"import/export":["error"],"import/first":["error"],"import/no-absolute-path":["warn",{"esmodule":true,"commonjs":true,"amd":false}],"import/no-duplicates":["error"],"import/no-named-default":["error"],"import/no-webpack-loader-syntax":["error"],"indent":["error",2,{"SwitchCase":1,"VariableDeclarator":1,"outerIIFEBody":1,"MemberExpression":1,"FunctionDeclaration":{"parameters":1,"body":1},"FunctionExpression":{"parameters":1,"body":1},"CallExpression":{"arguments":1},"ArrayExpression":1,"ObjectExpression":1,"ImportDeclaration":1,"flatTernaryExpressions":false,"ignoreComments":false,"ignoredNodes":["TemplateLiteral *","JSXElement","JSXElement > *","JSXAttribute","JSXIdentifier","JSXNamespacedName","JSXMemberExpression","JSXSpreadAttribute","JSXExpressionContainer","JSXOpeningElement","JSXClosingElement","JSXFragment","JSXOpeningFragment","JSXClosingFragment","JSXText","JSXEmptyExpression","JSXSpreadChild"],"offsetTernaryExpressions":true}],"jsdoc/check-access":["off"],"jsdoc/check-alignment":["warn"],"jsdoc/check-examples":["warn"],"jsdoc/check-indentation":["off"],"jsdoc/check-param-names":["warn"],"jsdoc/check-syntax":["warn"],"jsdoc/check-tag-names":["warn"],"jsdoc/check-types":["warn"],"jsdoc/implements-on-classes":["warn"],"jsdoc/match-description":["warn"],"jsdoc/newline-after-description":["off"],"jsdoc/no-types":["off"],"jsdoc/no-undefined-types":["off"],"jsdoc/require-description":["warn"],"jsdoc/require-description-complete-sentence":["off"],"jsdoc/require-example":["off"],"jsdoc/require-file-overview":["off"],"jsdoc/require-hyphen-before-param-description":["warn"],"jsdoc/require-jsdoc":["off"],"jsdoc/require-param":["warn"],"jsdoc/require-param-description":["warn"],"jsdoc/require-param-name":["warn"],"jsdoc/require-param-type":["warn"],"jsdoc/require-returns":["warn"],"jsdoc/require-returns-check":["warn"],"jsdoc/require-returns-description":["warn"],"jsdoc/require-returns-type":["warn"],"jsdoc/require-throws":["off"],"jsdoc/valid-types":["warn"],"json/colon-expected":["error"],"json/comma-expected":["error"],"json/comma-or-close-backet-expected":["error"],"json/comma-or-close-brace-expected":["error"],"json/comment-not-permitted":["error"],"json/duplicate-key":["error"],"json/enum-value-mismatch":["error"],"json/invalid-character":["error"],"json/invalid-escape-character":["error"],"json/invalid-unicode":["error"],"json/property-expected":["error"],"json/schema-resolve-error":["error"],"json/trailing-comma":["error"],"json/undefined":["error"],"json/unexpected-end-of-comment":["error"],"json/unexpected-end-of-number":["error"],"json/unexpected-end-of-string":["error"],"json/unknown":["error"],"json/value-expected":["error"],"jsx-quotes":["off"],"key-spacing":["error",{"beforeColon":false,"afterColon":true}],"keyword-spacing":["error",{"before":true,"after":true}],"lines-between-class-members":["warn","always",{"exceptAfterSingleLine":true}],"multiline-ternary":["error","always-multiline"],"new-cap":["error",{"newIsCap":true,"capIsNew":false,"properties":true}],"new-parens":["error"],"no-alert":["error"],"no-array-constructor":["error"],"no-async-promise-executor":["error"],"no-caller":["error"],"no-case-declarations":["off"],"no-catch-shadow":["error"],"no-class-assign":["error"],"no-compare-neg-zero":["error"],"no-cond-assign":["error"],"no-console":["warn"],"no-const-assign":["error"],"no-constant-condition":["error",{"checkLoops":false}],"no-control-regex":["error"],"no-debugger":["error"],"no-delete-var":["error"],"no-div-regex":["error"],"no-dupe-args":["error"],"no-dupe-class-members":["error"],"no-dupe-keys":["error"],"no-duplicate-case":["error"],"no-else-return":["off"],"no-empty":["error",{"allowEmptyCatch":true}],"no-empty-character-class":["error"],"no-empty-pattern":["error"],"no-eq-null":["error"],"no-eval":["error"],"no-ex-assign":["error"],"no-extend-native":["error"],"no-extra-bind":["error"],"no-extra-boolean-cast":["error"],"no-extra-label":["warn"],"no-extra-parens":["error","functions"],"no-extra-semi":["error"],"no-fallthrough":["error"],"no-floating-decimal":["error"],"no-func-assign":["error"],"no-global-assign":["error"],"no-implicit-globals":["warn"],"no-implied-eval":["error"],"no-import-assign":["error"],"no-inner-declarations":["error"],"no-invalid-regexp":["error"],"no-invalid-this":["off"],"no-irregular-whitespace":["error"],"no-iterator":["error"],"no-label-var":["error"],"no-labels":["error",{"allowLoop":false,"allowSwitch":false}],"no-lone-blocks":["error"],"no-loop-func":["error"],"no-loss-of-precision":["error"],"no-magic-numbers":["off"],"no-misleading-character-class":["error"],"no-mixed-operators":["error",{"groups":[["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]],"allowSamePrecedence":true}],"no-mixed-spaces-and-tabs":["error"],"no-multi-spaces":["error"],"no-multi-str":["error"],"no-multiple-empty-lines":["error",{"max":1,"maxEOF":0}],"no-native-reassign":["error"],"no-new":["error"],"no-new-func":["error"],"no-new-object":["error"],"no-new-symbol":["error"],"no-new-wrappers":["error"],"no-obj-calls":["error"],"no-octal":["error"],"no-octal-escape":["error"],"no-param-reassign":["warn"],"no-process-env":["off"],"no-proto":["error"],"no-prototype-builtins":["warn"],"no-redeclare":["error",{"builtinGlobals":false}],"no-regex-spaces":["error"],"no-return-assign":["error","except-parens"],"no-script-url":["error"],"no-self-assign":["error",{"props":true}],"no-self-compare":["error"],"no-sequences":["error"],"no-shadow":["warn"],"no-shadow-restricted-names":["error"],"no-sparse-arrays":["error"],"no-tabs":["error"],"no-template-curly-in-string":["error"],"no-this-before-super":["error"],"no-throw-literal":["error"],"no-trailing-spaces":["error"],"no-undef":["error"],"no-undef-init":["error"],"no-undefined":["warn"],"no-unexpected-multiline":["error"],"no-unmodified-loop-condition":["error"],"no-unneeded-ternary":["error",{"defaultAssignment":false}],"no-unreachable":["error"],"no-unreachable-loop":["error"],"no-unsafe-finally":["error"],"no-unsafe-negation":["error"],"no-unused-expressions":["error",{"allowShortCircuit":true,"allowTernary":true,"allowTaggedTemplates":true,"enforceForJSX":false}],"no-unused-labels":["error"],"no-unused-vars":["error",{"args":"none","caughtErrors":"none","ignoreRestSiblings":true,"vars":"all"}],"no-use-before-define":["error",{"functions":false,"classes":false,"variables":false}],"no-useless-backreference":["error"],"no-useless-call":["error"],"no-useless-catch":["error"],"no-useless-computed-key":["error"],"no-useless-concat":["error"],"no-useless-constructor":["error"],"no-useless-escape":["error"],"no-useless-rename":["error"],"no-useless-return":["error"],"no-var":["warn"],"no-void":["error"],"no-warning-comments":["warn",{"terms":["FIXME","TODO","TO-DO","HACK","HERE BE DRAGONS"],"location":"anywhere"}],"no-whitespace-before-property":["error"],"no-with":["error"],"node/handle-callback-err":["error","^(err|error)$"],"node/no-callback-literal":["error"],"node/no-deprecated-api":["error"],"node/no-exports-assign":["error"],"node/no-new-require":["error"],"node/no-path-concat":["error"],"node/process-exit-as-throw":["error"],"object-curly-newline":["warn",{"multiline":true,"consistent":true}],"object-curly-spacing":["off","always"],"object-property-newline":["error",{"allowMultiplePropertiesPerLine":true,"allowAllPropertiesOnSameLine":false}],"one-var":["error",{"initialized":"never"}],"operator-linebreak":["error","after",{"overrides":{"?":"before",":":"before","|>":"before"}}],"padded-blocks":["error",{"blocks":"never","switches":"never","classes":"never"}],"prefer-const":["warn",{"destructuring":"all","ignoreReadBeforeAssign":false}],"prefer-promise-reject-errors":["error"],"prefer-regex-literals":["error",{"disallowRedundantWrapping":true}],"promise/always-return":["warn"],"promise/avoid-new":["warn"],"promise/catch-or-return":["warn",{"allowFinally":true}],"promise/no-callback-in-promise":["warn"],"promise/no-native":["off"],"promise/no-nesting":["warn"],"promise/no-new-statics":["warn"],"promise/no-promise-in-callback":["warn"],"promise/no-return-in-finally":["warn"],"promise/no-return-wrap":["warn"],"promise/param-names":["warn"],"promise/valid-params":["warn"],"quote-props":["off","as-needed"],"quotes":["off","single",{"avoidEscape":true,"allowTemplateLiterals":false}],"radix":["error"],"rest-spread-spacing":["error","never"],"semi":["error","always"],"semi-spacing":["error",{"before":false,"after":true}],"sonarjs/cognitive-complexity":["warn",25],"sonarjs/max-switch-cases":["warn",10],"sonarjs/no-all-duplicated-branches":["warn"],"sonarjs/no-collapsible-if":["warn"],"sonarjs/no-duplicate-string":["warn"],"sonarjs/no-duplicated-branches":["warn"],"sonarjs/no-element-overwrite":["warn"],"sonarjs/no-empty-collection":["warn"],"sonarjs/no-extra-arguments":["warn"],"sonarjs/no-gratuitous-expressions":["warn"],"sonarjs/no-identical-conditions":["warn"],"sonarjs/no-identical-expressions":["warn"],"sonarjs/no-identical-functions":["warn"],"sonarjs/no-inverted-boolean-check":["off"],"sonarjs/no-nested-switch":["warn"],"sonarjs/no-nested-template-literals":["warn"],"sonarjs/no-one-iteration-loop":["warn"],"sonarjs/no-redundant-boolean":["warn"],"sonarjs/no-redundant-jump":["warn"],"sonarjs/no-same-line-conditional":["warn"],"sonarjs/no-small-switch":["warn"],"sonarjs/no-unused-collection":["warn"],"sonarjs/no-use-of-empty-return-value":["warn"],"sonarjs/no-useless-catch":["warn"],"sonarjs/non-existent-operator":["warn"],"sonarjs/prefer-immediate-return":["warn"],"sonarjs/prefer-object-literal":["warn"],"sonarjs/prefer-single-boolean-return":["warn"],"sonarjs/prefer-while":["warn"],"space-before-blocks":["error","always"],"space-before-function-paren":["error","always"],"space-in-parens":["error","never"],"space-infix-ops":["error"],"space-unary-ops":["error",{"words":true,"nonwords":false}],"spaced-comment":["error","always",{"line":{"markers":["*package","!","/",",","="]},"block":{"balanced":true,"markers":["*package","!",",",":","::","flow-include"],"exceptions":["*"]}}],"strict":["off"],"symbol-description":["error"],"template-curly-spacing":["error","never"],"template-tag-spacing":["error","never"],"test-selectors/anchor":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"test-selectors/button":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"test-selectors/input":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"test-selectors/onChange":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"test-selectors/onClick":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"test-selectors/onKeyDown":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"test-selectors/onKeyUp":["warn","always",{"ignoreDisabled":false,"ignoreReadonly":false,"testAttribute":"data-testid"}],"unicode-bom":["error","never"],"use-isnan":["error",{"enforceForSwitchCase":true,"enforceForIndexOf":true}],"valid-jsdoc":["warn"],"valid-typeof":["error",{"requireStringLiterals":true}],"wrap-iife":["error","any",{"functionPrototypeMethods":true}],"yield-star-spacing":["error","both"],"yoda":["error","never"]},"settings":{},"ignorePatterns":[]}' + `{␊ + "env": {␊ + "browser": true,␊ + "mocha": true,␊ + "es2021": true,␊ + "node": true,␊ + "es6": true␊ + },␊ + "globals": {␊ + "__services__": true,␊ + "assert": true,␊ + "axe": true,␊ + "customElements": true,␊ + "CustomEvent": true,␊ + "d3": true,␊ + "Event": true,␊ + "expect": true,␊ + "fixture": true,␊ + "google": true,␊ + "FS": true,␊ + "FsBehaviors": true,␊ + "FSResearchHelpService": true,␊ + "FSTreeCommonRoutingService": true,␊ + "Headers": true,␊ + "HF": true,␊ + "HTMLElement": true,␊ + "indexedDB": true,␊ + "location": true,␊ + "Polymer": true,␊ + "ResettablePropertiesBehavior": true,␊ + "sessionStorage": true,␊ + "sinon": true,␊ + "WCI18n": true,␊ + "WCT": true,␊ + "document": "readonly",␊ + "navigator": "readonly",␊ + "window": "readonly"␊ + },␊ + "parser": "/home/vetaz/fs-webdev/eslint-config-tree/node_modules/babel-eslint/lib/index.js",␊ + "parserOptions": {␊ + "ecmaVersion": 2021,␊ + "ecmaFeatures": {␊ + "jsx": true␊ + },␊ + "sourceType": "module"␊ + },␊ + "plugins": [␊ + "node",␊ + "import",␊ + "json",␊ + "jsdoc",␊ + "html",␊ + "test-selectors",␊ + "sonarjs",␊ + "promise",␊ + "deprecate",␊ + "bestpractices"␊ + ],␊ + "rules": {␊ + "accessor-pairs": [␊ + "error",␊ + {␊ + "setWithoutGet": true,␊ + "enforceForClassMembers": true,␊ + "getWithoutSet": false␊ + }␊ + ],␊ + "array-bracket-spacing": [␊ + "warn",␊ + "never"␊ + ],␊ + "array-callback-return": [␊ + "error",␊ + {␊ + "allowImplicit": false,␊ + "checkForEach": false␊ + }␊ + ],␊ + "arrow-spacing": [␊ + "error",␊ + {␊ + "before": true,␊ + "after": true␊ + }␊ + ],␊ + "bestpractices/no-eslint-disable": [␊ + "warn"␊ + ],␊ + "block-spacing": [␊ + "error",␊ + "always"␊ + ],␊ + "brace-style": [␊ + "error",␊ + "1tbs",␊ + {␊ + "allowSingleLine": true␊ + }␊ + ],␊ + "camelcase": [␊ + "error",␊ + {␊ + "allow": [␊ + "^UNSAFE_"␊ + ],␊ + "properties": "never",␊ + "ignoreGlobals": true,␊ + "ignoreDestructuring": false,␊ + "ignoreImports": false␊ + }␊ + ],␊ + "comma-dangle": [␊ + "error",␊ + {␊ + "arrays": "never",␊ + "objects": "never",␊ + "imports": "never",␊ + "exports": "never",␊ + "functions": "never"␊ + }␊ + ],␊ + "comma-spacing": [␊ + "error",␊ + {␊ + "before": false,␊ + "after": true␊ + }␊ + ],␊ + "comma-style": [␊ + "error",␊ + "last"␊ + ],␊ + "complexity": [␊ + "warn",␊ + {␊ + "max": 8␊ + }␊ + ],␊ + "computed-property-spacing": [␊ + "error",␊ + "never",␊ + {␊ + "enforceForClassMembers": true␊ + }␊ + ],␊ + "constructor-super": [␊ + "error"␊ + ],␊ + "curly": [␊ + "error",␊ + "multi-line"␊ + ],␊ + "default-case": [␊ + "warn"␊ + ],␊ + "default-case-last": [␊ + "error"␊ + ],␊ + "deprecate/function": [␊ + "error",␊ + {␊ + "name": "deprecatedFunction",␊ + "use": "function x from package y"␊ + }␊ + ],␊ + "deprecate/import": [␊ + "error",␊ + {␊ + "name": "path/to/legacyModule",␊ + "use": "module x"␊ + }␊ + ],␊ + "deprecate/member-expression": [␊ + "error",␊ + {␊ + "name": "$.each",␊ + "use": "native forEach"␊ + }␊ + ],␊ + "dot-location": [␊ + "error",␊ + "property"␊ + ],␊ + "dot-notation": [␊ + "error",␊ + {␊ + "allowKeywords": true,␊ + "allowPattern": ""␊ + }␊ + ],␊ + "eol-last": [␊ + "error"␊ + ],␊ + "eqeqeq": [␊ + "error",␊ + "always",␊ + {␊ + "null": "ignore"␊ + }␊ + ],␊ + "func-call-spacing": [␊ + "error",␊ + "never"␊ + ],␊ + "generator-star-spacing": [␊ + "error",␊ + {␊ + "before": true,␊ + "after": true␊ + }␊ + ],␊ + "guard-for-in": [␊ + "warn"␊ + ],␊ + "import/export": [␊ + "error"␊ + ],␊ + "import/first": [␊ + "error"␊ + ],␊ + "import/no-absolute-path": [␊ + "warn",␊ + {␊ + "esmodule": true,␊ + "commonjs": true,␊ + "amd": false␊ + }␊ + ],␊ + "import/no-duplicates": [␊ + "error"␊ + ],␊ + "import/no-named-default": [␊ + "error"␊ + ],␊ + "import/no-webpack-loader-syntax": [␊ + "error"␊ + ],␊ + "indent": [␊ + "error",␊ + 2,␊ + {␊ + "SwitchCase": 1,␊ + "VariableDeclarator": 1,␊ + "outerIIFEBody": 1,␊ + "MemberExpression": 1,␊ + "FunctionDeclaration": {␊ + "parameters": 1,␊ + "body": 1␊ + },␊ + "FunctionExpression": {␊ + "parameters": 1,␊ + "body": 1␊ + },␊ + "CallExpression": {␊ + "arguments": 1␊ + },␊ + "ArrayExpression": 1,␊ + "ObjectExpression": 1,␊ + "ImportDeclaration": 1,␊ + "flatTernaryExpressions": false,␊ + "ignoreComments": false,␊ + "ignoredNodes": [␊ + "TemplateLiteral *",␊ + "JSXElement",␊ + "JSXElement > *",␊ + "JSXAttribute",␊ + "JSXIdentifier",␊ + "JSXNamespacedName",␊ + "JSXMemberExpression",␊ + "JSXSpreadAttribute",␊ + "JSXExpressionContainer",␊ + "JSXOpeningElement",␊ + "JSXClosingElement",␊ + "JSXFragment",␊ + "JSXOpeningFragment",␊ + "JSXClosingFragment",␊ + "JSXText",␊ + "JSXEmptyExpression",␊ + "JSXSpreadChild"␊ + ],␊ + "offsetTernaryExpressions": true␊ + }␊ + ],␊ + "jsdoc/check-access": [␊ + "off"␊ + ],␊ + "jsdoc/check-alignment": [␊ + "warn"␊ + ],␊ + "jsdoc/check-examples": [␊ + "warn"␊ + ],␊ + "jsdoc/check-indentation": [␊ + "off"␊ + ],␊ + "jsdoc/check-param-names": [␊ + "warn"␊ + ],␊ + "jsdoc/check-syntax": [␊ + "warn"␊ + ],␊ + "jsdoc/check-tag-names": [␊ + "warn"␊ + ],␊ + "jsdoc/check-types": [␊ + "warn"␊ + ],␊ + "jsdoc/implements-on-classes": [␊ + "warn"␊ + ],␊ + "jsdoc/match-description": [␊ + "warn"␊ + ],␊ + "jsdoc/newline-after-description": [␊ + "off"␊ + ],␊ + "jsdoc/no-types": [␊ + "off"␊ + ],␊ + "jsdoc/no-undefined-types": [␊ + "off"␊ + ],␊ + "jsdoc/require-description": [␊ + "warn"␊ + ],␊ + "jsdoc/require-description-complete-sentence": [␊ + "off"␊ + ],␊ + "jsdoc/require-example": [␊ + "off"␊ + ],␊ + "jsdoc/require-file-overview": [␊ + "off"␊ + ],␊ + "jsdoc/require-hyphen-before-param-description": [␊ + "warn"␊ + ],␊ + "jsdoc/require-jsdoc": [␊ + "off"␊ + ],␊ + "jsdoc/require-param": [␊ + "warn"␊ + ],␊ + "jsdoc/require-param-description": [␊ + "warn"␊ + ],␊ + "jsdoc/require-param-name": [␊ + "warn"␊ + ],␊ + "jsdoc/require-param-type": [␊ + "warn"␊ + ],␊ + "jsdoc/require-returns": [␊ + "warn"␊ + ],␊ + "jsdoc/require-returns-check": [␊ + "warn"␊ + ],␊ + "jsdoc/require-returns-description": [␊ + "warn"␊ + ],␊ + "jsdoc/require-returns-type": [␊ + "warn"␊ + ],␊ + "jsdoc/require-throws": [␊ + "off"␊ + ],␊ + "jsdoc/valid-types": [␊ + "warn"␊ + ],␊ + "json/colon-expected": [␊ + "error"␊ + ],␊ + "json/comma-expected": [␊ + "error"␊ + ],␊ + "json/comma-or-close-backet-expected": [␊ + "error"␊ + ],␊ + "json/comma-or-close-brace-expected": [␊ + "error"␊ + ],␊ + "json/comment-not-permitted": [␊ + "error"␊ + ],␊ + "json/duplicate-key": [␊ + "error"␊ + ],␊ + "json/enum-value-mismatch": [␊ + "error"␊ + ],␊ + "json/invalid-character": [␊ + "error"␊ + ],␊ + "json/invalid-escape-character": [␊ + "error"␊ + ],␊ + "json/invalid-unicode": [␊ + "error"␊ + ],␊ + "json/property-expected": [␊ + "error"␊ + ],␊ + "json/schema-resolve-error": [␊ + "error"␊ + ],␊ + "json/trailing-comma": [␊ + "error"␊ + ],␊ + "json/undefined": [␊ + "error"␊ + ],␊ + "json/unexpected-end-of-comment": [␊ + "error"␊ + ],␊ + "json/unexpected-end-of-number": [␊ + "error"␊ + ],␊ + "json/unexpected-end-of-string": [␊ + "error"␊ + ],␊ + "json/unknown": [␊ + "error"␊ + ],␊ + "json/value-expected": [␊ + "error"␊ + ],␊ + "jsx-quotes": [␊ + "off"␊ + ],␊ + "key-spacing": [␊ + "error",␊ + {␊ + "beforeColon": false,␊ + "afterColon": true␊ + }␊ + ],␊ + "keyword-spacing": [␊ + "error",␊ + {␊ + "before": true,␊ + "after": true␊ + }␊ + ],␊ + "lines-between-class-members": [␊ + "warn",␊ + "always",␊ + {␊ + "exceptAfterSingleLine": true␊ + }␊ + ],␊ + "multiline-ternary": [␊ + "error",␊ + "always-multiline"␊ + ],␊ + "new-cap": [␊ + "error",␊ + {␊ + "newIsCap": true,␊ + "capIsNew": false,␊ + "properties": true␊ + }␊ + ],␊ + "new-parens": [␊ + "error"␊ + ],␊ + "no-alert": [␊ + "error"␊ + ],␊ + "no-array-constructor": [␊ + "error"␊ + ],␊ + "no-async-promise-executor": [␊ + "error"␊ + ],␊ + "no-caller": [␊ + "error"␊ + ],␊ + "no-case-declarations": [␊ + "off"␊ + ],␊ + "no-catch-shadow": [␊ + "error"␊ + ],␊ + "no-class-assign": [␊ + "error"␊ + ],␊ + "no-compare-neg-zero": [␊ + "error"␊ + ],␊ + "no-cond-assign": [␊ + "error"␊ + ],␊ + "no-console": [␊ + "warn"␊ + ],␊ + "no-const-assign": [␊ + "error"␊ + ],␊ + "no-constant-condition": [␊ + "error",␊ + {␊ + "checkLoops": false␊ + }␊ + ],␊ + "no-control-regex": [␊ + "error"␊ + ],␊ + "no-debugger": [␊ + "error"␊ + ],␊ + "no-delete-var": [␊ + "error"␊ + ],␊ + "no-div-regex": [␊ + "error"␊ + ],␊ + "no-dupe-args": [␊ + "error"␊ + ],␊ + "no-dupe-class-members": [␊ + "error"␊ + ],␊ + "no-dupe-keys": [␊ + "error"␊ + ],␊ + "no-duplicate-case": [␊ + "error"␊ + ],␊ + "no-else-return": [␊ + "off"␊ + ],␊ + "no-empty": [␊ + "error",␊ + {␊ + "allowEmptyCatch": true␊ + }␊ + ],␊ + "no-empty-character-class": [␊ + "error"␊ + ],␊ + "no-empty-pattern": [␊ + "error"␊ + ],␊ + "no-eq-null": [␊ + "error"␊ + ],␊ + "no-eval": [␊ + "error"␊ + ],␊ + "no-ex-assign": [␊ + "error"␊ + ],␊ + "no-extend-native": [␊ + "error"␊ + ],␊ + "no-extra-bind": [␊ + "error"␊ + ],␊ + "no-extra-boolean-cast": [␊ + "error"␊ + ],␊ + "no-extra-label": [␊ + "warn"␊ + ],␊ + "no-extra-parens": [␊ + "error",␊ + "functions"␊ + ],␊ + "no-extra-semi": [␊ + "error"␊ + ],␊ + "no-fallthrough": [␊ + "error"␊ + ],␊ + "no-floating-decimal": [␊ + "error"␊ + ],␊ + "no-func-assign": [␊ + "error"␊ + ],␊ + "no-global-assign": [␊ + "error"␊ + ],␊ + "no-implicit-globals": [␊ + "warn"␊ + ],␊ + "no-implied-eval": [␊ + "error"␊ + ],␊ + "no-import-assign": [␊ + "error"␊ + ],␊ + "no-inner-declarations": [␊ + "error"␊ + ],␊ + "no-invalid-regexp": [␊ + "error"␊ + ],␊ + "no-invalid-this": [␊ + "off"␊ + ],␊ + "no-irregular-whitespace": [␊ + "error"␊ + ],␊ + "no-iterator": [␊ + "error"␊ + ],␊ + "no-label-var": [␊ + "error"␊ + ],␊ + "no-labels": [␊ + "error",␊ + {␊ + "allowLoop": false,␊ + "allowSwitch": false␊ + }␊ + ],␊ + "no-lone-blocks": [␊ + "error"␊ + ],␊ + "no-loop-func": [␊ + "error"␊ + ],␊ + "no-loss-of-precision": [␊ + "error"␊ + ],␊ + "no-magic-numbers": [␊ + "off"␊ + ],␊ + "no-misleading-character-class": [␊ + "error"␊ + ],␊ + "no-mixed-operators": [␊ + "error",␊ + {␊ + "groups": [␊ + [␊ + "==",␊ + "!=",␊ + "===",␊ + "!==",␊ + ">",␊ + ">=",␊ + "<",␊ + "<="␊ + ],␊ + [␊ + "&&",␊ + "||"␊ + ],␊ + [␊ + "in",␊ + "instanceof"␊ + ]␊ + ],␊ + "allowSamePrecedence": true␊ + }␊ + ],␊ + "no-mixed-spaces-and-tabs": [␊ + "error"␊ + ],␊ + "no-multi-spaces": [␊ + "error"␊ + ],␊ + "no-multi-str": [␊ + "error"␊ + ],␊ + "no-multiple-empty-lines": [␊ + "error",␊ + {␊ + "max": 1,␊ + "maxEOF": 0␊ + }␊ + ],␊ + "no-native-reassign": [␊ + "error"␊ + ],␊ + "no-new": [␊ + "error"␊ + ],␊ + "no-new-func": [␊ + "error"␊ + ],␊ + "no-new-object": [␊ + "error"␊ + ],␊ + "no-new-symbol": [␊ + "error"␊ + ],␊ + "no-new-wrappers": [␊ + "error"␊ + ],␊ + "no-obj-calls": [␊ + "error"␊ + ],␊ + "no-octal": [␊ + "error"␊ + ],␊ + "no-octal-escape": [␊ + "error"␊ + ],␊ + "no-param-reassign": [␊ + "warn"␊ + ],␊ + "no-process-env": [␊ + "off"␊ + ],␊ + "no-proto": [␊ + "error"␊ + ],␊ + "no-prototype-builtins": [␊ + "warn"␊ + ],␊ + "no-redeclare": [␊ + "error",␊ + {␊ + "builtinGlobals": false␊ + }␊ + ],␊ + "no-regex-spaces": [␊ + "error"␊ + ],␊ + "no-return-assign": [␊ + "error",␊ + "except-parens"␊ + ],␊ + "no-script-url": [␊ + "error"␊ + ],␊ + "no-self-assign": [␊ + "error",␊ + {␊ + "props": true␊ + }␊ + ],␊ + "no-self-compare": [␊ + "error"␊ + ],␊ + "no-sequences": [␊ + "error"␊ + ],␊ + "no-shadow": [␊ + "warn"␊ + ],␊ + "no-shadow-restricted-names": [␊ + "error"␊ + ],␊ + "no-sparse-arrays": [␊ + "error"␊ + ],␊ + "no-tabs": [␊ + "error"␊ + ],␊ + "no-template-curly-in-string": [␊ + "error"␊ + ],␊ + "no-this-before-super": [␊ + "error"␊ + ],␊ + "no-throw-literal": [␊ + "error"␊ + ],␊ + "no-trailing-spaces": [␊ + "error"␊ + ],␊ + "no-undef": [␊ + "error"␊ + ],␊ + "no-undef-init": [␊ + "error"␊ + ],␊ + "no-undefined": [␊ + "warn"␊ + ],␊ + "no-unexpected-multiline": [␊ + "error"␊ + ],␊ + "no-unmodified-loop-condition": [␊ + "error"␊ + ],␊ + "no-unneeded-ternary": [␊ + "error",␊ + {␊ + "defaultAssignment": false␊ + }␊ + ],␊ + "no-unreachable": [␊ + "error"␊ + ],␊ + "no-unreachable-loop": [␊ + "error"␊ + ],␊ + "no-unsafe-finally": [␊ + "error"␊ + ],␊ + "no-unsafe-negation": [␊ + "error"␊ + ],␊ + "no-unused-expressions": [␊ + "error",␊ + {␊ + "allowShortCircuit": true,␊ + "allowTernary": true,␊ + "allowTaggedTemplates": true,␊ + "enforceForJSX": false␊ + }␊ + ],␊ + "no-unused-labels": [␊ + "error"␊ + ],␊ + "no-unused-vars": [␊ + "error",␊ + {␊ + "args": "none",␊ + "caughtErrors": "none",␊ + "ignoreRestSiblings": true,␊ + "vars": "all"␊ + }␊ + ],␊ + "no-use-before-define": [␊ + "error",␊ + {␊ + "functions": false,␊ + "classes": false,␊ + "variables": false␊ + }␊ + ],␊ + "no-useless-backreference": [␊ + "error"␊ + ],␊ + "no-useless-call": [␊ + "error"␊ + ],␊ + "no-useless-catch": [␊ + "error"␊ + ],␊ + "no-useless-computed-key": [␊ + "error"␊ + ],␊ + "no-useless-concat": [␊ + "error"␊ + ],␊ + "no-useless-constructor": [␊ + "error"␊ + ],␊ + "no-useless-escape": [␊ + "error"␊ + ],␊ + "no-useless-rename": [␊ + "error"␊ + ],␊ + "no-useless-return": [␊ + "error"␊ + ],␊ + "no-var": [␊ + "warn"␊ + ],␊ + "no-void": [␊ + "error"␊ + ],␊ + "no-warning-comments": [␊ + "warn",␊ + {␊ + "terms": [␊ + "FIXME",␊ + "TODO",␊ + "TO-DO",␊ + "HACK",␊ + "HERE BE DRAGONS"␊ + ],␊ + "location": "anywhere"␊ + }␊ + ],␊ + "no-whitespace-before-property": [␊ + "error"␊ + ],␊ + "no-with": [␊ + "error"␊ + ],␊ + "node/handle-callback-err": [␊ + "error",␊ + "^(err|error)$"␊ + ],␊ + "node/no-callback-literal": [␊ + "error"␊ + ],␊ + "node/no-deprecated-api": [␊ + "error"␊ + ],␊ + "node/no-exports-assign": [␊ + "error"␊ + ],␊ + "node/no-new-require": [␊ + "error"␊ + ],␊ + "node/no-path-concat": [␊ + "error"␊ + ],␊ + "node/process-exit-as-throw": [␊ + "error"␊ + ],␊ + "object-curly-newline": [␊ + "warn",␊ + {␊ + "multiline": true,␊ + "consistent": true␊ + }␊ + ],␊ + "object-curly-spacing": [␊ + "off",␊ + "always"␊ + ],␊ + "object-property-newline": [␊ + "error",␊ + {␊ + "allowMultiplePropertiesPerLine": true,␊ + "allowAllPropertiesOnSameLine": false␊ + }␊ + ],␊ + "one-var": [␊ + "error",␊ + {␊ + "initialized": "never"␊ + }␊ + ],␊ + "operator-linebreak": [␊ + "error",␊ + "after",␊ + {␊ + "overrides": {␊ + "?": "before",␊ + ":": "before",␊ + "|>": "before"␊ + }␊ + }␊ + ],␊ + "padded-blocks": [␊ + "error",␊ + {␊ + "blocks": "never",␊ + "switches": "never",␊ + "classes": "never"␊ + }␊ + ],␊ + "prefer-const": [␊ + "warn",␊ + {␊ + "destructuring": "all",␊ + "ignoreReadBeforeAssign": false␊ + }␊ + ],␊ + "prefer-promise-reject-errors": [␊ + "error"␊ + ],␊ + "prefer-regex-literals": [␊ + "error",␊ + {␊ + "disallowRedundantWrapping": true␊ + }␊ + ],␊ + "promise/always-return": [␊ + "warn"␊ + ],␊ + "promise/avoid-new": [␊ + "warn"␊ + ],␊ + "promise/catch-or-return": [␊ + "warn",␊ + {␊ + "allowFinally": true␊ + }␊ + ],␊ + "promise/no-callback-in-promise": [␊ + "warn"␊ + ],␊ + "promise/no-native": [␊ + "off"␊ + ],␊ + "promise/no-nesting": [␊ + "warn"␊ + ],␊ + "promise/no-new-statics": [␊ + "warn"␊ + ],␊ + "promise/no-promise-in-callback": [␊ + "warn"␊ + ],␊ + "promise/no-return-in-finally": [␊ + "warn"␊ + ],␊ + "promise/no-return-wrap": [␊ + "warn"␊ + ],␊ + "promise/param-names": [␊ + "warn"␊ + ],␊ + "promise/valid-params": [␊ + "warn"␊ + ],␊ + "quote-props": [␊ + "off",␊ + "as-needed"␊ + ],␊ + "quotes": [␊ + "off",␊ + "single",␊ + {␊ + "avoidEscape": true,␊ + "allowTemplateLiterals": false␊ + }␊ + ],␊ + "radix": [␊ + "error"␊ + ],␊ + "rest-spread-spacing": [␊ + "error",␊ + "never"␊ + ],␊ + "semi": [␊ + "error",␊ + "always"␊ + ],␊ + "semi-spacing": [␊ + "error",␊ + {␊ + "before": false,␊ + "after": true␊ + }␊ + ],␊ + "sonarjs/cognitive-complexity": [␊ + "warn",␊ + 25␊ + ],␊ + "sonarjs/max-switch-cases": [␊ + "warn",␊ + 10␊ + ],␊ + "sonarjs/no-all-duplicated-branches": [␊ + "warn"␊ + ],␊ + "sonarjs/no-collapsible-if": [␊ + "warn"␊ + ],␊ + "sonarjs/no-duplicate-string": [␊ + "warn"␊ + ],␊ + "sonarjs/no-duplicated-branches": [␊ + "warn"␊ + ],␊ + "sonarjs/no-element-overwrite": [␊ + "warn"␊ + ],␊ + "sonarjs/no-empty-collection": [␊ + "warn"␊ + ],␊ + "sonarjs/no-extra-arguments": [␊ + "warn"␊ + ],␊ + "sonarjs/no-gratuitous-expressions": [␊ + "warn"␊ + ],␊ + "sonarjs/no-identical-conditions": [␊ + "warn"␊ + ],␊ + "sonarjs/no-identical-expressions": [␊ + "warn"␊ + ],␊ + "sonarjs/no-identical-functions": [␊ + "warn"␊ + ],␊ + "sonarjs/no-inverted-boolean-check": [␊ + "off"␊ + ],␊ + "sonarjs/no-nested-switch": [␊ + "warn"␊ + ],␊ + "sonarjs/no-nested-template-literals": [␊ + "warn"␊ + ],␊ + "sonarjs/no-one-iteration-loop": [␊ + "warn"␊ + ],␊ + "sonarjs/no-redundant-boolean": [␊ + "warn"␊ + ],␊ + "sonarjs/no-redundant-jump": [␊ + "warn"␊ + ],␊ + "sonarjs/no-same-line-conditional": [␊ + "warn"␊ + ],␊ + "sonarjs/no-small-switch": [␊ + "warn"␊ + ],␊ + "sonarjs/no-unused-collection": [␊ + "warn"␊ + ],␊ + "sonarjs/no-use-of-empty-return-value": [␊ + "warn"␊ + ],␊ + "sonarjs/no-useless-catch": [␊ + "warn"␊ + ],␊ + "sonarjs/non-existent-operator": [␊ + "warn"␊ + ],␊ + "sonarjs/prefer-immediate-return": [␊ + "warn"␊ + ],␊ + "sonarjs/prefer-object-literal": [␊ + "warn"␊ + ],␊ + "sonarjs/prefer-single-boolean-return": [␊ + "warn"␊ + ],␊ + "sonarjs/prefer-while": [␊ + "warn"␊ + ],␊ + "space-before-blocks": [␊ + "error",␊ + "always"␊ + ],␊ + "space-before-function-paren": [␊ + "error",␊ + "always"␊ + ],␊ + "space-in-parens": [␊ + "error",␊ + "never"␊ + ],␊ + "space-infix-ops": [␊ + "error"␊ + ],␊ + "space-unary-ops": [␊ + "error",␊ + {␊ + "words": true,␊ + "nonwords": false␊ + }␊ + ],␊ + "spaced-comment": [␊ + "error",␊ + "always",␊ + {␊ + "line": {␊ + "markers": [␊ + "*package",␊ + "!",␊ + "/",␊ + ",",␊ + "="␊ + ]␊ + },␊ + "block": {␊ + "balanced": true,␊ + "markers": [␊ + "*package",␊ + "!",␊ + ",",␊ + ":",␊ + "::",␊ + "flow-include"␊ + ],␊ + "exceptions": [␊ + "*"␊ + ]␊ + }␊ + }␊ + ],␊ + "strict": [␊ + "off"␊ + ],␊ + "symbol-description": [␊ + "error"␊ + ],␊ + "template-curly-spacing": [␊ + "error",␊ + "never"␊ + ],␊ + "template-tag-spacing": [␊ + "error",␊ + "never"␊ + ],␊ + "test-selectors/anchor": [␊ + "warn",␊ + "always",␊ + {␊ + "ignoreDisabled": false,␊ + "ignoreReadonly": false,␊ + "testAttribute": "data-testid"␊ + }␊ + ],␊ + "test-selectors/button": [␊ + "warn",␊ + "always",␊ + {␊ + "ignoreDisabled": false,␊ + "ignoreReadonly": false,␊ + "testAttribute": "data-testid"␊ + }␊ + ],␊ + "test-selectors/input": [␊ + "warn",␊ + "always",␊ + {␊ + "ignoreDisabled": false,␊ + "ignoreReadonly": false,␊ + "testAttribute": "data-testid"␊ + }␊ + ],␊ + "test-selectors/onChange": [␊ + "warn",␊ + "always",␊ + {␊ + "ignoreDisabled": false,␊ + "ignoreReadonly": false,␊ + "testAttribute": "data-testid"␊ + }␊ + ],␊ + "test-selectors/onClick": [␊ + "warn",␊ + "always",␊ + {␊ + "ignoreDisabled": false,␊ + "ignoreReadonly": false,␊ + "testAttribute": "data-testid"␊ + }␊ + ],␊ + "test-selectors/onKeyDown": [␊ + "warn",␊ + "always",␊ + {␊ + "ignoreDisabled": false,␊ + "ignoreReadonly": false,␊ + "testAttribute": "data-testid"␊ + }␊ + ],␊ + "test-selectors/onKeyUp": [␊ + "warn",␊ + "always",␊ + {␊ + "ignoreDisabled": false,␊ + "ignoreReadonly": false,␊ + "testAttribute": "data-testid"␊ + }␊ + ],␊ + "unicode-bom": [␊ + "error",␊ + "never"␊ + ],␊ + "use-isnan": [␊ + "error",␊ + {␊ + "enforceForSwitchCase": true,␊ + "enforceForIndexOf": true␊ + }␊ + ],␊ + "valid-jsdoc": [␊ + "warn"␊ + ],␊ + "valid-typeof": [␊ + "error",␊ + {␊ + "requireStringLiterals": true␊ + }␊ + ],␊ + "wrap-iife": [␊ + "error",␊ + "any",␊ + {␊ + "functionPrototypeMethods": true␊ + }␊ + ],␊ + "yield-star-spacing": [␊ + "error",␊ + "both"␊ + ],␊ + "yoda": [␊ + "error",␊ + "never"␊ + ]␊ + },␊ + "settings": {},␊ + "ignorePatterns": []␊ + }` ## Should have consistent rule output diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 33cd72e8d955f54753474a75aeb5742215c78eb5..c6ca46bdbc13298a73fb4aaeb8eb9e6aedda8dd3 100644 GIT binary patch literal 6201 zcmV-97{=#8RzV;y+&h-Ru9_{o8+f zk4pdj$17L<m?ytnZ)<(XQhEKnlg*-j$;CK5!vdwqWw{%eJ?-&yTwg<&6Q9htCeZyNBMrXLr7M^7yC$n5P^R z%Db1cxlFPP6K5aFTl>4$Yb$AMmL~zu<9B-Xe06kB2H$DM>@E*jp7G-aKjNB*Wd{=1 zrQ*^0@GOY(kcV3yC~C-OB7vb!VF4!ml&2mrhAt@c1S$PfmJ-0d*1~zlV|j{`$-U1* zo&~8`A`(xrxu>KTaR#-_TSiPI-ZYZIiB~6sQ8G|j_`krvS=6Xi{7iXlYV814H21uh z8EE@X%3tLo<$kT+hLwcpeV%farwPg=h*(Oi#9OAIhlwKj=z0&-0}3;&O(eiLWg;R& z1_LQ(Wuqx?Vl^oIV8Mfveza=6S+OsFWEY39LjMTd?QzKJCdSm}a11Sp@=vgEHG6VN23JahN z_rIJYbhSw3>a8MW(Tc6JCeDw&nip8}RReHB6$4KNe$hVDTY=X20WYxV)-SsyoHzGx zc^&OsrEIyxzl|(Ok{P;9PxXMe!LO3h>4h(^LY{zEckLq-0{RgFt+~}QolA8r?~z|j zE;2fKg`51Af5@$dz7X2Y>&>~|0#93@pGlw?*rqumDim@<2mXA}8Xi9Y+`V0!%M!|V<=1rx9(+M6V6yT3YLF>b+`TrLq)r506 zj``3Vj9^`${N!h_&TsBD*ZF}=Q-JBogd~acDnd9u!9+w}mQVdkb{PSpMX4D$$JFtylGawp<*7OYJnMQK2X$(U_>-+&s#y5Hk3W7uW;J0f1nR1w6F zNS;;fwh(0nrYy2REG2*D&0zb5p#>*w&b{?HF;@_amTe%ny5KHTHyiqRy9w3H6BJrd?c++)#!h>@3Af(5tLO)Jo^eX3kvOl4nNT20Aj-D@YQ%DpB zpcdeD5RW2?T#(K?l@nd#qk#jF?=io38=w{Khk z)E*1a27Ip|(-0yy<-Y);oT-UJM#)0z7Xf9jVt z(7Cy)spSyR`oFmk=e0tvPg6W4!YV)EU`^v3*7KBmq0C{odzDMnR1f)f>c^Iw`@1*G z7QUs>Luu)HfI$lsqwottXy#TONHx83`V!B)0La=*H48vNt?cfVtsKaxJe&-I36QW3 z=A$~8DzYl$m<=`q_04AXs%z!rl!*uxW2_lv2?Ie84(ra`aj<~|jpSF$4O9s^k3TWWQn>BD1!R%0mh|JY8S30X@ zcMli3tyyeF!k}xusM*w@^y=0B{KG$cw?4tMCMav1c^~ZE(jv>Qc{gqrEoL7=AJ{|-S;Vuw>wCM+vIJ~!o9ZJ|0Dr&6!pS_6Qx;`ak1t+8f2Wv! z^WsI5n`Ka=T4iUgE&^EZGCtJqY1XVe&~>MnJ=CZOZ#4h5kmwm~mVqeIxoj5BrJP5t zvinD^zq7l1!A=ECUz_k5&p1ni#g{x<9%(_eNsd#_4`5ZvO|7+?Yn~qySF=K$E_JPiA+#BfwN91lW09D^b#=4F^XubT*1iYs!>zw>XM~;ElhS6 zGUhv{T(KW^W|_a@(~zI;m|QVf%`-9g6-?6(u7MXi7L)Bvaf3G*WneU>J0xW=8IxM` zPnO1cFBSw3V)iY}q!v3avujnwea=t?D{?4*nVnUu%wR`R$~+DD@p_3Oo@h+9u|@e@ zP`AIWt=>W#DCAT8g@(EM9VA`+fkwIb9Sx(O@ra}Im`zFyCR&oTf}6g0B& z5bJZonxZr-0kHtX^D_09Or+HaP(o-SO=DguAW}JHvZB7=P0iPQ3HXKqzc15+2&|5d z%Vb@;dD+YnHA6QMrusGg`*~rf(v+>y84ON1$Ysd_ShsbkXunIO6S}6ESXzLia5RNR z%q^AEV1Y%h9>nNlh!SOO6y#mq*MX$5LCBR2d~erN4ua%e!LgYt?S-|gkvzuAub_H>_U{R88k&lLgWESb8v(LiKUp9Z zw@+gTIu{Kafzh`kmhPLEBRwFb@@wvFpUM=9Kj|4Qo2aV5E!XPy~Xy)*29&VVm%>J*2An{frF z3_V%=<{lPYeW7m*p)(g8k%vAR`jWg5XMTcr{*B zYtvs@_S({Pqwfo8`2d!1f2(CKLNEUvbkKT5@`QY}-fHbKHsw{XpG8a^>ujg0jnc#H zc%TR79ZWAl_!y3}bseX=V-AiIDE~v9$L0Nc(h%QQN8cC0k)CqzGYiihrBX4?74OtM zpzF+;XtM;hkVTAxv+}+yM9R+L?94#?k(cg8&dLUuxfeX~d@MOs`hS)degGgor z)%R02w^o>Dd+SZRz4gcZ%rXIZkvA%jgN2Af`|(K5W*N8ZSnobkzm3pQhq`fs7AO7W z5h!BZGH2cWr_N#m-kCdxHkci+WDr>G35kAHB+`x`Fx0cIRcMdqo1h8vzf2sq@Z_)w< zJU49stO6c@eK;G(LOC)v?zvqUc#_AyzGRO@M)ul;P3W8jP)CL#m^ssyqXyei1{T;bE?4Q^T8&#g(msx zL3TjI?Pv{KKFA)Ed()o1#!XG{fDi`k=sXz<)leEL9}Qn2nZ8r3qU;VV;Q9x?xwwTj z!Gqk14+Dmyi<;;%^hC?J!0;*}2K3^y1q&M&WPQz(9_puY4%FZUgT(!W&;1{GDqT3h z4!Ji^X+OiBMUnHmQLD`iStrdU-|eB4%i()G-GNGF1l!P@kA?7Rsqik8bmTZ?F0|s* z89)yEIZNjb>xM{sZPfq|<{CPY*3vD<={d}T<)+`Z3@EYL{VIaOCkMu%>Nh#2-O3x% z!f`-OY|HXSV~qTjZ>}E32w^XFpgMD2E&NQO>!5FpoXAt=Pen5322`~Attig8gGJUn zlnFd)7Bp?&mQZeP)y=lOfsDsu92i)H2#-zqe9Q$$;z-g*2GEd;*k#7(Qpt7Bbk3kN zxiG0OewAxDELdVdpVCR$^c{ygnk1pXk$s2jmo6^T!N_NTJmn!1$|$ zP&x+f(1YT|9m)tL>9U(mCsMZrE;3@cTiKjpO2W}^5k|H$aG2o)OizIv;6Zn!s4k?i zgTQeF@41EjUc1c_v$+V&*=Kap!1)5B64H@wQ_~!aGtlkgCAFKl=dkdX?dy~J??ChE zr;Q*yl>Akvd@}1=Ze-Oc&)HcDK>SPV#;&TY|hlmVTBUuGU8@`r!$_D0_h~9 z`VAkH96rHxh{l-Gm^a&Te zzq(}_nr5q1$iXdx_F(6=Wj-d;r@^I@ro$VBGuLiK2gm(9b(r0ZN3+rXYNN;C!*JZe zv}q2*E(l)bXxkjb(>=CZ=Tnnm+*753!hM~~#Gdvkr`|7fNk_=ttgA9v13sl2g0tlo zbwp0^$BNr3mwZNI!JKRJp&1AABGT)spcLqJB!i&}2U}>39b4zM7Qd}xZw~FpGQ=#3 zP`hLUagHu)^GiBTE5xKa-JvyQ!rFr-qV~Mr1yV^&!*Sur*bFaC6MW?5OrP+1PrhQ8 zfxhCz8%Yt4KKaoC4nqeb4RT?5SV1JmrR=S>Y(D2kW!(@c0q zGT9oA9GFk-x=?|mJg1xqjNNHJYlKlB294Wi62V+_y6)R_a=4RBWU6|9YgMyG$Cle$ zJYAL3Z+q2d8Yq(vEZ~Q?^+)F5U%lmh%F~C|ArbwZD5^-GBpCEC)csor#^S7TLJKJL zL9bl* zS@GHme#t`gR{J89w!>^e+I`}tzns$Z9I)E=hlIJL{ao*FE}9><-Vc&9WATGnc$egH zr?3(IT4Ep+H_$03&E|!xHMD*Wt3JUO-|lof0*H*%8ow))ge+0tnGe+tty=3hdWW~x z&PS5n$Xnklc9|I(&i(QTF*=C)rU573;^npzyfT(I7!j&dgWA~MNB7gO@HLSV!ANYV z##1PeNXmgZ^O~p*uv!jbE}R(tbK`MN&n_7B&5!wh{vZcsDfvbGr)M+Ce0^fJu=aCh zl%Zo)J5=n$!qc^%4jXSWhEE$Q3&mIlKuTXCpyvSRd$DG}ARXLqk>!#e2^XK83gjI3 z#8d7&JpbLhWo@JVy|P~Z-RoBVr1t}O!XBpZ z*FL-H&K=V$;?3l1LUiX?I~XjJGqd*0Mog)_o3vmLIt_8*ivWGZD=*#MSdF_X;+Tg5 zRmsJJY%!aIpXHc8%BnZSn(26_(!n`v>^>%O|s;=tk{7B|7X#Rxfp>C7s0r*4!=~QMjNMZ0d!AF*{#~+0eJx zShBYDRk)>3i&VBpTrFfc*xg$2D0KWr(ggo2NlkgIWoUWmX`Sn<#Wz6lgRLeP;YVGf Xbji^?y3w!_o7(GfH literal 5848 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 { - if (ruleNameA > ruleNameB) return 1; - if (ruleNameB > ruleNameA) return -1; - return 0; -})); +const formattedRules = Object.fromEntries( + Object.entries(finalConfig?.rules ?? {}).sort(([ruleNameA], [ruleNameB]) => { + if (ruleNameA > ruleNameB) return 1; + if (ruleNameB > ruleNameA) return -1; + return 0; + }) +); -// eslint-disable-next-line no-console -- We want to have the console.log here. -FS.writeFile('./demo/test/snapshots/new-lint-final-config.json', JSON.stringify({ ...finalConfig, rules: formattedRules }), (err) => { if (err) console.log('There was an error writing to new-lint-final-config.json file:', err); }); +FS.writeFile( + './demo/test/snapshots/new-lint-final-config.json', + JSON.stringify({ ...finalConfig, rules: formattedRules }, null, 2), + (err) => { + // eslint-disable-next-line no-console -- We want to have the console.log here. + if (err) console.log('There was an error writing to new-lint-final-config.json file:', err); + } +); From 1f040a0e963cc4c59b9e413c13220c25d3fb4411 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 17:08:34 -0700 Subject: [PATCH 05/53] Update packages @babel/eslint-parser is the successor of babel-eslint for parsing. I just copied what is in @fs/eslint-config-frontier-react/es6 for the parserOptions for now. added es2021 env like frontier does. removed all globals. We won't need these in react apps. Add all plugins in deps. node is not actually used but I just added it in for now. Added default-case and valid-jsdoc back in removed jsdoc/check-examples; eslint-8 does not support it. removed array-bracket-spacing, no-extra-semi, object-curly-newline, and semi as they will conflict with prettier as seen with npx eslint-config-prettier file.js after extending it. (I un-extended it for this commit to not have too many differences; I will add @fs/eslint-config-frontier-react/prettier in a later commit) move demo rule overrides to demo directory; only extend index.js for the normal .eslintrc.js file Put return-early-return in a function so that we have that logged and still have eslint work correctly for the file. make repo use npm 8 via node 16 and save updated package versions when npm update --- .eslintrc.js | 30 +-- .npmrc | 1 + .nvmrc | 1 + demo/.eslintrc.js | 11 +- demo/example.js | 91 ++++---- demo/example.test.html | 14 +- demo/test/lint-output.js | 30 +-- demo/test/snapshots/lint-output.js.md | 290 ++++++++---------------- demo/test/snapshots/lint-output.js.snap | Bin 6201 -> 5871 bytes format-config.js | 4 +- index.js | 161 ++++++------- package.json | 30 ++- 12 files changed, 261 insertions(+), 402 deletions(-) create mode 100644 .nvmrc diff --git a/.eslintrc.js b/.eslintrc.js index c40ae71..fc1fd2b 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,29 +1 @@ -// Basic .eslintrc.js file that loads the the frontier shared eslint configuration, and then the extension/override provided by the configuration in index.js just for local demonstration purposes. Also contains example `deprecate` rules. -module.exports = { - extends: [ - 'eslint-config-frontier', - 'eslint-config-standard', - // 'plugin:eslint-plugin-sonarjs/recommended' // Disabled globally, for now, because it is a much higher standard than Tree's existing code currently adheres to. Enable on a case-by-case basis, if you wish. - 'plugin:promise/recommended', - './index.js' - ], - plugins: [ - // Enable plugins that are not natively supported by Code Climate. Otherwise results in build errors. - 'eslint-plugin-bestpractices', - 'eslint-plugin-deprecate', - 'eslint-plugin-promise', - 'eslint-plugin-sonarjs', - 'eslint-plugin-test-selectors' // NOTE: Only runs against JSX - ], - rules: { - 'deprecate/function': ['error', - {'name': 'deprecatedFunction', 'use': 'function x from package y'} - ], - 'deprecate/import': ['error', - {'name': 'path/to/legacyModule', 'use': 'module x'} - ], - 'deprecate/member-expression': ['error', - {'name': '$.each', 'use': 'native forEach'} - ] - } -}; +module.exports = { extends: ['./index.js'] } diff --git a/.npmrc b/.npmrc index 43c97e7..5d7c691 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,2 @@ package-lock=false +save=true \ No newline at end of file diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..19c7bdb --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +16 \ No newline at end of file diff --git a/demo/.eslintrc.js b/demo/.eslintrc.js index 4551c67..c51f737 100644 --- a/demo/.eslintrc.js +++ b/demo/.eslintrc.js @@ -1,8 +1,9 @@ -// Example directory override (still has access to all configuration, extensions, and plugins at the root level, but overrides the settings for this directory and below, if no other .eslintrc.js file exists) -// Common uses are to loosen our normally tight linting ruleset for code that is under development so that TODOs and the like do not crowd out more important warnings (provided that such overrides are removed upon production release) module.exports = { rules: { 'bestpractices/no-eslint-disable': 'error', - 'sonarjs/no-duplicated-branches': 'error' - } -}; + 'sonarjs/no-duplicated-branches': 'error', + 'deprecate/function': ['error', { name: 'deprecatedFunction', use: 'function x from package y' }], + 'deprecate/import': ['error', { name: 'path/to/legacyModule', use: 'module x' }], + 'deprecate/member-expression': ['error', { name: '$.each', use: 'native forEach' }], + }, +} diff --git a/demo/example.js b/demo/example.js index e13bd1e..2ae53e2 100644 --- a/demo/example.js +++ b/demo/example.js @@ -3,8 +3,8 @@ /* eslint no-console: "off" -- node scripts use the console, so disable for the whole file */ /* -* Since developers have the ability to disable linting in-line, we keep track of the times where this is done, because if done irresponsibly, this is a significant code smell. -*/ + * Since developers have the ability to disable linting in-line, we keep track of the times where this is done, because if done irresponsibly, this is a significant code smell. + */ // eslint-disable-next // fixMe: Actually make this work @@ -13,8 +13,8 @@ // Here be Dragons function functionWithoutJSDocWarningsBecauseTheSectionWasCompletelyExcluded () { - console.log('ASHLDKFJHASKFJSDHFKJSDHFKLSDJHFLJKSDHFLKSDJFHKSDLJFHLSDKJF'); - return true; + console.log('ASHLDKFJHASKFJSDHFKJSDHFKLSDJHFLJKSDHFLKSDJFHKSDLJFHLSDKJF') + return true } /** @@ -24,92 +24,93 @@ function functionWithoutJSDocWarningsBecauseTheSectionWasCompletelyExcluded () { * @param b * @returns */ -function ONE_FUNCTION_TO_BRING_THEM_ALL_AND_IN_THE_DARKNESS_BIND_THEM (params) { -} +function ONE_FUNCTION_TO_BRING_THEM_ALL_AND_IN_THE_DARKNESS_BIND_THEM (params) {} -const myPromise = new Promise(); +const myPromise = new Promise() myPromise.then((a) => { if (true === false) { - return Promise.resolve(); + return Promise.resolve() } else { - forgotToDefine(); + forgotToDefine() } -}); +}) -const variable = (true) ? true : true; +const variable = true ? true : true -if (window === undefined && window === undefined && params === true) { - ONE_FUNCTION_TO_BRING_THEM_ALL_AND_IN_THE_DARKNESS_BIND_THEM('a', 'b'); - const deprecatedImport = require('path/to/legacyModule'); - deprecatedImport.execute(); - deprecatedFunction(); - shortFunction(); - $.each(); - return; - debugger;// Make sure we get in here to set the value correctly +export function ReturnEarly () { + if (window === undefined && window === undefined && params === true) { + ONE_FUNCTION_TO_BRING_THEM_ALL_AND_IN_THE_DARKNESS_BIND_THEM('a', 'b') + const deprecatedImport = require('path/to/legacyModule') + deprecatedImport.execute() + deprecatedFunction() + shortFunction() + $.each() + return + debugger // Make sure we get in here to set the value correctly + } } /* We value sonarjs rules enough to test them, here. Sorry for the mess. */ function shortFunction (arg) { if (arg) { - console.log(true); + console.log(true) } - return true; + return true } // sonarjs/no-identical-functions checks function bodies of three lines and above function duplicateFunction (arg) { if (arg) { - console.log(true); + console.log(true) } - return true; + return true } // sonarjs/no-all-duplicated-branches if (true) { - shortFunction(); + shortFunction() } else { - shortFunction(); + shortFunction() } // sonarjs/max-switch-cases, sonarjs/no-duplicated-branches switch (1) { case 1: - break; + break case 2: switch (2) { case 1: - duplicateFunction(); - duplicateFunction(); - break; + duplicateFunction() + duplicateFunction() + break case 1: - duplicateFunction(); - duplicateFunction(); - break; + duplicateFunction() + duplicateFunction() + break } - break; + break case 3: - break; + break case 4: - break; + break case 5: - break; + break case 6: - break; + break case 7: - break; + break case 8: - break; + break case 9: - break; + break case 10: - break; + break case 11: - break; + break default: - break; + break } export const hi = { @@ -117,4 +118,4 @@ export const hi = { * @note - This produces Invalid JSDoc tag name "note".eslintjsdoc/check-tag-names */ rawr: 7 -}; +} diff --git a/demo/example.test.html b/demo/example.test.html index 134cb6a..e5f7bc7 100644 --- a/demo/example.test.html +++ b/demo/example.test.html @@ -1,14 +1,14 @@ diff --git a/demo/test/lint-output.js b/demo/test/lint-output.js index 5c62b42..28f68a1 100755 --- a/demo/test/lint-output.js +++ b/demo/test/lint-output.js @@ -1,23 +1,25 @@ -import test from 'ava'; -const fileManager = require('file-manager-js'); +import test from 'ava' + +const fileManager = require('file-manager-js') function processFile (t, filename) { // Run previously via npm test, save off results, and read output - return fileManager.readFile(`./demo/test/snapshots/${filename}`) + return fileManager + .readFile(`./demo/test/snapshots/${filename}`) .then((content) => { - const output = content.toString(); // content is instance of Buffer, so it needs to be parsed - return t.snapshot(output); + const output = content.toString() // content is instance of Buffer, so it needs to be parsed + return t.snapshot(output) }) .catch((err) => { - console.log(err); - return t.fail(); - }); + console.log(err) + return t.fail() + }) } -test('Should have consistent rule output', async t => { - return processFile(t, 'new-lint-results.txt'); -}); +test('Should have consistent rule output', async (t) => { + return processFile(t, 'new-lint-results.txt') +}) -test('Should have consistent eslint final config', async t => { - return processFile(t, 'new-lint-final-config.json'); -}); +test('Should have consistent eslint final config', async (t) => { + return processFile(t, 'new-lint-final-config.json') +}) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index a464c41..965b0ce 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -10,59 +10,35 @@ Generated by [AVA](https://ava.li). `{␊ "env": {␊ + "es2021": true,␊ "browser": true,␊ "mocha": true,␊ - "es2021": true,␊ - "node": true,␊ - "es6": true␊ + "node": true␊ },␊ "globals": {␊ - "__services__": true,␊ - "assert": true,␊ - "axe": true,␊ - "customElements": true,␊ - "CustomEvent": true,␊ - "d3": true,␊ - "Event": true,␊ - "expect": true,␊ - "fixture": true,␊ - "google": true,␊ - "FS": true,␊ - "FsBehaviors": true,␊ - "FSResearchHelpService": true,␊ - "FSTreeCommonRoutingService": true,␊ - "Headers": true,␊ - "HF": true,␊ - "HTMLElement": true,␊ - "indexedDB": true,␊ - "location": true,␊ - "Polymer": true,␊ - "ResettablePropertiesBehavior": true,␊ - "sessionStorage": true,␊ - "sinon": true,␊ - "WCI18n": true,␊ - "WCT": true,␊ "document": "readonly",␊ "navigator": "readonly",␊ "window": "readonly"␊ },␊ - "parser": "/home/vetaz/fs-webdev/eslint-config-tree/node_modules/babel-eslint/lib/index.js",␊ + "parser": "/home/vetaz/fs-webdev/eslint-config-tree/node_modules/@babel/eslint-parser/lib/index.cjs",␊ "parserOptions": {␊ - "ecmaVersion": 2021,␊ + "ecmaVersion": 12,␊ + "sourceType": "module",␊ + "requireConfigFile": false,␊ "ecmaFeatures": {␊ "jsx": true␊ - },␊ - "sourceType": "module"␊ + }␊ },␊ "plugins": [␊ + "n",␊ + "test-selectors",␊ + "sonarjs",␊ + "promise",␊ "node",␊ - "import",␊ "json",␊ "jsdoc",␊ + "import",␊ "html",␊ - "test-selectors",␊ - "sonarjs",␊ - "promise",␊ "deprecate",␊ "bestpractices"␊ ],␊ @@ -76,7 +52,7 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "array-bracket-spacing": [␊ - "warn",␊ + "error",␊ "never"␊ ],␊ "array-callback-return": [␊ @@ -140,12 +116,6 @@ Generated by [AVA](https://ava.li). "error",␊ "last"␊ ],␊ - "complexity": [␊ - "warn",␊ - {␊ - "max": 8␊ - }␊ - ],␊ "computed-property-spacing": [␊ "error",␊ "never",␊ @@ -166,27 +136,6 @@ Generated by [AVA](https://ava.li). "default-case-last": [␊ "error"␊ ],␊ - "deprecate/function": [␊ - "error",␊ - {␊ - "name": "deprecatedFunction",␊ - "use": "function x from package y"␊ - }␊ - ],␊ - "deprecate/import": [␊ - "error",␊ - {␊ - "name": "path/to/legacyModule",␊ - "use": "module x"␊ - }␊ - ],␊ - "deprecate/member-expression": [␊ - "error",␊ - {␊ - "name": "$.each",␊ - "use": "native forEach"␊ - }␊ - ],␊ "dot-location": [␊ "error",␊ "property"␊ @@ -219,9 +168,6 @@ Generated by [AVA](https://ava.li). "after": true␊ }␊ ],␊ - "guard-for-in": [␊ - "warn"␊ - ],␊ "import/export": [␊ "error"␊ ],␊ @@ -297,9 +243,6 @@ Generated by [AVA](https://ava.li). "jsdoc/check-alignment": [␊ "warn"␊ ],␊ - "jsdoc/check-examples": [␊ - "warn"␊ - ],␊ "jsdoc/check-indentation": [␊ "off"␊ ],␊ @@ -463,6 +406,28 @@ Generated by [AVA](https://ava.li). "error",␊ "always-multiline"␊ ],␊ + "n/handle-callback-err": [␊ + "error",␊ + "^(err|error)$"␊ + ],␊ + "n/no-callback-literal": [␊ + "error"␊ + ],␊ + "n/no-deprecated-api": [␊ + "error"␊ + ],␊ + "n/no-exports-assign": [␊ + "error"␊ + ],␊ + "n/no-new-require": [␊ + "error"␊ + ],␊ + "n/no-path-concat": [␊ + "error"␊ + ],␊ + "n/process-exit-as-throw": [␊ + "error"␊ + ],␊ "new-cap": [␊ "error",␊ {␊ @@ -474,9 +439,6 @@ Generated by [AVA](https://ava.li). "new-parens": [␊ "error"␊ ],␊ - "no-alert": [␊ - "error"␊ - ],␊ "no-array-constructor": [␊ "error"␊ ],␊ @@ -489,9 +451,6 @@ Generated by [AVA](https://ava.li). "no-case-declarations": [␊ "off"␊ ],␊ - "no-catch-shadow": [␊ - "error"␊ - ],␊ "no-class-assign": [␊ "error"␊ ],␊ @@ -522,9 +481,6 @@ Generated by [AVA](https://ava.li). "no-delete-var": [␊ "error"␊ ],␊ - "no-div-regex": [␊ - "error"␊ - ],␊ "no-dupe-args": [␊ "error"␊ ],␊ @@ -552,9 +508,6 @@ Generated by [AVA](https://ava.li). "no-empty-pattern": [␊ "error"␊ ],␊ - "no-eq-null": [␊ - "error"␊ - ],␊ "no-eval": [␊ "error"␊ ],␊ @@ -570,16 +523,10 @@ Generated by [AVA](https://ava.li). "no-extra-boolean-cast": [␊ "error"␊ ],␊ - "no-extra-label": [␊ - "warn"␊ - ],␊ "no-extra-parens": [␊ "error",␊ "functions"␊ ],␊ - "no-extra-semi": [␊ - "error"␊ - ],␊ "no-fallthrough": [␊ "error"␊ ],␊ @@ -592,18 +539,12 @@ Generated by [AVA](https://ava.li). "no-global-assign": [␊ "error"␊ ],␊ - "no-implicit-globals": [␊ - "warn"␊ - ],␊ "no-implied-eval": [␊ "error"␊ ],␊ "no-import-assign": [␊ "error"␊ ],␊ - "no-inner-declarations": [␊ - "error"␊ - ],␊ "no-invalid-regexp": [␊ "error"␊ ],␊ @@ -616,9 +557,6 @@ Generated by [AVA](https://ava.li). "no-iterator": [␊ "error"␊ ],␊ - "no-label-var": [␊ - "error"␊ - ],␊ "no-labels": [␊ "error",␊ {␊ @@ -629,15 +567,9 @@ Generated by [AVA](https://ava.li). "no-lone-blocks": [␊ "error"␊ ],␊ - "no-loop-func": [␊ - "error"␊ - ],␊ "no-loss-of-precision": [␊ "error"␊ ],␊ - "no-magic-numbers": [␊ - "off"␊ - ],␊ "no-misleading-character-class": [␊ "error"␊ ],␊ @@ -683,9 +615,6 @@ Generated by [AVA](https://ava.li). "maxEOF": 0␊ }␊ ],␊ - "no-native-reassign": [␊ - "error"␊ - ],␊ "no-new": [␊ "error"␊ ],␊ @@ -710,12 +639,6 @@ Generated by [AVA](https://ava.li). "no-octal-escape": [␊ "error"␊ ],␊ - "no-param-reassign": [␊ - "warn"␊ - ],␊ - "no-process-env": [␊ - "off"␊ - ],␊ "no-proto": [␊ "error"␊ ],␊ @@ -735,9 +658,6 @@ Generated by [AVA](https://ava.li). "error",␊ "except-parens"␊ ],␊ - "no-script-url": [␊ - "error"␊ - ],␊ "no-self-assign": [␊ "error",␊ {␊ @@ -816,9 +736,6 @@ Generated by [AVA](https://ava.li). "enforceForJSX": false␊ }␊ ],␊ - "no-unused-labels": [␊ - "error"␊ - ],␊ "no-unused-vars": [␊ "error",␊ {␊ @@ -848,9 +765,6 @@ Generated by [AVA](https://ava.li). "no-useless-computed-key": [␊ "error"␊ ],␊ - "no-useless-concat": [␊ - "error"␊ - ],␊ "no-useless-constructor": [␊ "error"␊ ],␊ @@ -888,30 +802,8 @@ Generated by [AVA](https://ava.li). "no-with": [␊ "error"␊ ],␊ - "node/handle-callback-err": [␊ - "error",␊ - "^(err|error)$"␊ - ],␊ - "node/no-callback-literal": [␊ - "error"␊ - ],␊ - "node/no-deprecated-api": [␊ - "error"␊ - ],␊ - "node/no-exports-assign": [␊ - "error"␊ - ],␊ - "node/no-new-require": [␊ - "error"␊ - ],␊ - "node/no-path-concat": [␊ - "error"␊ - ],␊ - "node/process-exit-as-throw": [␊ - "error"␊ - ],␊ "object-curly-newline": [␊ - "warn",␊ + "error",␊ {␊ "multiline": true,␊ "consistent": true␊ @@ -928,6 +820,10 @@ Generated by [AVA](https://ava.li). "allowAllPropertiesOnSameLine": false␊ }␊ ],␊ + "object-shorthand": [␊ + "warn",␊ + "properties"␊ + ],␊ "one-var": [␊ "error",␊ {␊ @@ -1009,27 +905,24 @@ Generated by [AVA](https://ava.li). "warn"␊ ],␊ "quote-props": [␊ - "off",␊ + "error",␊ "as-needed"␊ ],␊ "quotes": [␊ - "off",␊ + "error",␊ "single",␊ {␊ "avoidEscape": true,␊ "allowTemplateLiterals": false␊ }␊ ],␊ - "radix": [␊ - "error"␊ - ],␊ "rest-spread-spacing": [␊ "error",␊ "never"␊ ],␊ "semi": [␊ "error",␊ - "always"␊ + "never"␊ ],␊ "semi-spacing": [␊ "error",␊ @@ -1178,9 +1071,6 @@ Generated by [AVA](https://ava.li). }␊ }␊ ],␊ - "strict": [␊ - "off"␊ - ],␊ "symbol-description": [␊ "error"␊ ],␊ @@ -1310,46 +1200,46 @@ Generated by [AVA](https://ava.li). 20:1 warning Remove the @description tag to leave a plain block description or add additional description text above the @description line jsdoc/require-description␊ 20:1 warning JSDoc @returns declaration present but return expression not available in function jsdoc/require-returns-check␊ 20:1 warning JSDoc type missing brace valid-jsdoc␊ - 22:0 warning Expected @param names to be "params". Got "a, params, b" jsdoc/check-param-names␊ - 22:0 warning Missing JSDoc @param "a" description jsdoc/require-param-description␊ - 23:0 warning Missing JSDoc @param "params" description jsdoc/require-param-description␊ - 23:0 warning Missing JSDoc @param "params" type jsdoc/require-param-type␊ - 24:0 warning Missing JSDoc @param "b" description jsdoc/require-param-description␊ - 24:0 warning Missing JSDoc @param "b" type jsdoc/require-param-type␊ - 25:0 warning Missing JSDoc @returns description jsdoc/require-returns-description␊ - 25:0 warning Missing JSDoc @returns type jsdoc/require-returns-type␊ - 30:19 warning Avoid creating new promises promise/avoid-new␊ - 32:1 warning Expected catch() or return promise/catch-or-return␊ - 33:3 warning Each then() should return a value or throw promise/always-return␊ - 33:7 error Unexpected constant condition no-constant-condition␊ - 34:5 warning Avoid wrapping return values in Promise.resolve promise/no-return-wrap␊ - 36:5 error 'forgotToDefine' is not defined no-undef␊ - 40:7 error 'variable' is assigned a value but never used no-unused-vars␊ - 40:18 warning This conditional operation returns the same value whether the condition is "true" or "false" sonarjs/no-all-duplicated-branches␊ - 40:18 error Unnecessary use of boolean literals in conditional expression no-unneeded-ternary␊ - 40:19 error Unexpected constant condition no-constant-condition␊ - 42:5 warning Correct one of the identical sub-expressions on both sides of operator "&&" sonarjs/no-identical-expressions␊ - 42:16 warning Unexpected use of undefined no-undefined␊ - 42:40 warning Unexpected use of undefined no-undefined␊ - 42:53 error 'params' is not defined no-undef␊ - 43:3 warning This function expects 1 argument, but 2 were provided sonarjs/no-extra-arguments␊ - 44:28 error Module path/to/legacyModule is deprecated. Use module x instead deprecate/import␊ - 46:3 error Function deprecatedFunction is deprecated. Use function x from package y instead deprecate/function␊ - 46:3 error 'deprecatedFunction' is not defined no-undef␊ - 48:3 error Member expression $.each is deprecated. Use native forEach instead deprecate/member-expression␊ - 48:3 error '$' is not defined no-undef␊ - 50:3 error Unexpected 'debugger' statement no-debugger␊ - 50:3 error Unreachable code no-unreachable␊ - 63:10 warning Update this function so that its implementation is not identical to the one on line 55 sonarjs/no-identical-functions␊ - 71:1 warning Remove this conditional structure or edit its code blocks so that they're not all the same sonarjs/no-all-duplicated-branches␊ - 71:5 warning {"message":"This always evaluates to truthy. Consider refactoring this code.","secondaryLocations":[]} sonarjs/no-gratuitous-expressions␊ - 71:5 error Unexpected constant condition no-constant-condition␊ - 78:1 warning Reduce the number of non-empty switch cases from 11 to at most 10 sonarjs/max-switch-cases␊ - 82:5 warning Expected a default case default-case␊ - 82:5 warning Refactor the code to eliminate this nested "switch" sonarjs/no-nested-switch␊ - 87:7 error This case's code block is the same as the block for the case on line 83 sonarjs/no-duplicated-branches␊ - 87:7 error Duplicate case label no-duplicate-case␊ - 117:0 warning Invalid JSDoc tag name "note" jsdoc/check-tag-names␊ + 22:1 warning Expected @param names to be "params". Got "a, params, b" jsdoc/check-param-names␊ + 22:1 warning Missing JSDoc @param "a" description jsdoc/require-param-description␊ + 23:1 warning Missing JSDoc @param "params" description jsdoc/require-param-description␊ + 23:1 warning Missing JSDoc @param "params" type jsdoc/require-param-type␊ + 24:1 warning Missing JSDoc @param "b" description jsdoc/require-param-description␊ + 24:1 warning Missing JSDoc @param "b" type jsdoc/require-param-type␊ + 25:1 warning Missing JSDoc @returns description jsdoc/require-returns-description␊ + 25:1 warning Missing JSDoc @returns type jsdoc/require-returns-type␊ + 29:19 warning Avoid creating new promises promise/avoid-new␊ + 31:1 warning Expected catch() or return promise/catch-or-return␊ + 32:3 warning Each then() should return a value or throw promise/always-return␊ + 32:7 error Unexpected constant condition no-constant-condition␊ + 33:5 warning Avoid wrapping return values in Promise.resolve promise/no-return-wrap␊ + 35:5 error 'forgotToDefine' is not defined no-undef␊ + 39:7 error 'variable' is assigned a value but never used no-unused-vars␊ + 39:18 warning This conditional operation returns the same value whether the condition is "true" or "false" sonarjs/no-all-duplicated-branches␊ + 39:18 error Unexpected constant condition no-constant-condition␊ + 39:18 error Unnecessary use of boolean literals in conditional expression no-unneeded-ternary␊ + 42:7 warning Correct one of the identical sub-expressions on both sides of operator "&&" sonarjs/no-identical-expressions␊ + 42:18 warning Unexpected use of undefined no-undefined␊ + 42:42 warning Unexpected use of undefined no-undefined␊ + 42:55 error 'params' is not defined no-undef␊ + 43:5 warning This function expects 1 argument, but 2 were provided sonarjs/no-extra-arguments␊ + 44:30 error Module path/to/legacyModule is deprecated. Use module x instead deprecate/import␊ + 46:5 error Function deprecatedFunction is deprecated. Use function x from package y instead deprecate/function␊ + 46:5 error 'deprecatedFunction' is not defined no-undef␊ + 48:5 error Member expression $.each is deprecated. Use native forEach instead deprecate/member-expression␊ + 48:5 error '$' is not defined no-undef␊ + 50:5 error Unexpected 'debugger' statement no-debugger␊ + 50:5 error Unreachable code no-unreachable␊ + 64:10 warning Update this function so that its implementation is not identical to the one on line 56 sonarjs/no-identical-functions␊ + 72:1 warning Remove this conditional structure or edit its code blocks so that they're not all the same sonarjs/no-all-duplicated-branches␊ + 72:5 warning This always evaluates to truthy. Consider refactoring this code sonarjs/no-gratuitous-expressions␊ + 72:5 error Unexpected constant condition no-constant-condition␊ + 79:1 warning Reduce the number of non-empty switch cases from 11 to at most 10 sonarjs/max-switch-cases␊ + 83:5 warning Expected a default case default-case␊ + 83:5 warning Refactor the code to eliminate this nested "switch" sonarjs/no-nested-switch␊ + 88:7 error This case's code block is the same as the block for the case on line 84 sonarjs/no-duplicated-branches␊ + 88:7 error Duplicate case label no-duplicate-case␊ + 118:1 warning Invalid JSDoc tag name "note" jsdoc/check-tag-names␊ ␊ example.json␊ 4:6 error Property keys must be doublequoted json/undefined␊ @@ -1365,8 +1255,16 @@ Generated by [AVA](https://ava.li). 3:3 warning Unexpected var, use let or const instead no-var␊ ␊ test/lint-output.js␊ - 12:7 warning Unexpected console statement no-console␊ + 14:7 warning Unexpected console statement no-console␊ + ␊ + /home/vetaz/fs-webdev/eslint-config-tree/format-config.js␊ + 7:40 error Extra semicolon semi␊ + 8:41 error Extra semicolon semi␊ + 9:13 error Extra semicolon semi␊ + 11:2 error Extra semicolon semi␊ + 18:96 error Extra semicolon semi␊ + 20:2 error Extra semicolon semi␊ ␊ - ✖ 59 problems (25 errors, 34 warnings)␊ - 0 errors and 2 warnings potentially fixable with the `--fix` option.␊ + ✖ 65 problems (31 errors, 34 warnings)␊ + 6 errors and 2 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index c6ca46bdbc13298a73fb4aaeb8eb9e6aedda8dd3..496df8e299950f37ab028f069a9b157bb50cfbd0 100644 GIT binary patch literal 5871 zcmV&NScSmkya6o+1+ZOx*J0P)dC7^ zwxsdZH{a}&uRhuTz&GFg7kqU1>Wjl?hcmMZ?*dTW!=XpqScxoDR(+L~m6b0*lbxNN zU+kRy>mP>y`)|)K|M7##@>hTE|Lr?F`13FC?(BU3-#`7$|2+M#Kl%4pfBot|$A9^E z?@()&?d<%)&L2~+cm8PSPk-^x@803pELw(q?`3+&fu9GHd+<-5BqG5-&qWsd4o|}% zmaZS9Y#MTB7089iq%(3{*YQLY@mP+WH}Ny&saz(^lYz(6{aCnlB#3x?Z!(5|tymHV z@!WB~iTU-Cdy@Ok?)jtd9-r;z5GT&=EVzEmC(el{GZuzxCt{b}k&7U8RwB9Fy#d64 zQA2U{w8Yo(xEtm3rw^Z2K}z8Z!07vqFT4yJnG8gH6X=Fe9(1Gp^~vd%Rg}MG-sQx3 zA|x`9N%#j(IkEAslkho9{E(;V-rnB!xVumu_Mklb`po(4%z60r$>&d>T+{&bgo8ji z4-+;Qae8Cy>_T}w8Q-g%q}^E-d$^CkQK#pNi-*GdjUr4x;~vXW{(QkNxa!2xQ-SAF z@^F22?S+}o{aptH)#tMyhNVv70LJ`^Ck_z$HYl?gd%9OFA%F*sgYz|y#1(EPcRuxb z>LtMvkvNjg9VwiUGkD6JWypfqnTEosU1k*IRJ!vKy^jFS!#1fCJj5pw#$=g0}6?6$=C3CCr4bamdf|!}IA9 zco;b`i+GAV4rgUVP3dUQ`5YKGVs{D^awM{HD+ zv^V!t-*ttxDW``vh&5B+JnS1sOfvi?e@uvRQi6J919kc~iGwZTH_q2i#07JYd!d$^ z_BL4CrD2=wwZnWn%gU6(|c>e>u3jG`?!}~Ae z2wg4`v3jFOS-4{Bw2t#br(y+GY*i18P|3hjfnSu(^hTi7e!vRMr*(^I3FqPD*l9`U zDq+hd{;hdQoJ`SddZre<2X>VRuWtN!<@^M^YHAmu5YS@+S~06dG8gi>cu00JnaF75 znYe{8uMzwp(UZ_Qfy(AkxVi^!b3Kiu`uN})?o^BCNIgY2WQ;%vt<~- zQ3t?a9mil1Rzbi0C#Z!p<{o$*ELr0QJ7VTcg#a%K9UcjM4(T9O*rB&6m66By>d>kITAxp|`J5-a4&0%V zz4PE!3N z334eY?{O*UVy8P^hg*;DTLU!S(K!y%jUOI#M3NikWeP^32X-YnV;q_ZJ@K64$!W1F zfVeiW_^!_o}h5O9xO3834zkMiFfj@B+vP#6?I%f)&ROr;nNAM}7{%mb?j$@Cgu zUur6#=U`K1ffQNVG=((gx84^1@S~& zmObr(f!qO~co;-MT%}o8S z9?bGpA-i)u_2B3Rpmu10Cg6v8Hw7VNQy$&~(=30gK=b_{j~~=e(xaHNIeAKn%_&{u zj6hLZ`P{GhQ%%;uB0{Mf3Gpf?gt=@=FeyHOk;TPr2iZ3~sycGl7!o zAl-h|ZGju`s2Jf}3Oy8>t^*j1Krsq8?+C*jSAmqA9yH4Mpcv&; zgoSg`3&z8aRWSFfV9LmTS-NZpZA)a(w{c^p>I#6D`| zSrB&fxv@vZp2ICE_ZBh=VNeRnnmpkvmfR(GIOGy9f4VkGD;Y!|dcXjOuQ$LQ1hY>S zA|jK^OscAu@ev+$)37*zzCM3lZ`CD=yg&`?J(t@u|q#vSqaYBX_vq}rtsPY>=LjNxyLM&4Cz z(?qONp41y70p@nSDTXUbw?M-yY#q%*F=b&|PLLPmK+6bhc3;HddXx{qu7Wv6!%PoX zLF|iF?MX4qk|he@$XebI?C(@eA>IFUiZ@l>O^pVJV7d=;^6NeCWjd?KPd|qhU#tx~+4|yItP@HUvj_UP@ zj&#~9JIbE&8M4N1#VGG)=*o`lSXP0h{S3^H&SynnrF`16j;+o>lX-)OK+iQGi=d+9 zs7VJl7__|@D$Mc3n^;>{Ka%afK(}>N1drx=NWmglY#c+<5Zn(fQeD z!e2L@DLr>q#DN=+^PJhkvI4qda8nmb_;RU~WrY@nRnJ$ny)q14oBKvaK81tXJ!+A5 z?W8}!E4h;;Pw7_fe5{OwI=`yVXCaf%Rl!6#MqyL5Y>rc1^55CPe*)e}RmSPra}IVe z2>(~A6vX-EsK&l8F1|ZcDV?r%=Mw|XiIhn&%?i(@eDa7gH?yE-Y^X<1Fop*w1dzgS zt;a0^Y<9RopzpQx>j`}-F$=M6~KOS|qx7BzK6?0RTq+7U)no?59*wjql73N1;O?1C=h4u->} z)>>6}*CJ+XO=Nfp$7V?eG7LAKC)dqBn^>V>u zSJ`guQvOXAuVPI0Q`2OdOz>Lh%0s$2l~kcXYbsqrx&?`PlWH5nE!k47)!&4U3d(Ix zlzIirN)@$IM+2s+AxmUW0UnMAcOZACDkAtgBT&F<(*Zy$pp)u?{~86-lCYMbvmxMd z7P%@r7zHWmYa6maC0jup8HNA{0|+%DkVLlR+tFrm;Hh-PAW0Eg*@W{c95C2BUA*tA zZWeU)ETRoXarxMF&KKeG*muP&f1!3eVpVFg9c?NTqsMQey^O`m5MgO|t>>o)DXv}0 zkN4{rI00M4Cn$^E6$;EBb{eCXDn@iWaS^nVQn;GsigRt2xls}PGY2txqDTDN<4bvh zv)aYSDe6b2nl7Us3|hGbNqwv0{RNBtkeA65AnzINx9>y4Pt^FqyUn36O`Q*;-zOLl zD55FrR$aCXY$$ZF+Ewqb*ie9J>*^cQraOkCFu4h+2D^i{L*EBL1riXc3wVeM;D9Q& zl2YjVC_Sal&5##cK1!dERoOf=wFF0}93c!aq%CVL4YYP%^r94+BLV-Wr z%dF^7hz6A;^-IyRFQO*>S_uj0q}oZ1AU^?^1F|!Bf8dF*p#V*7KRi`*^xIx}Ipap7 z){7slgp91)uY_3kXR6c$G7%x1ra2!9Syrl?ZF-VZcExP^W?;s!WNsn1)U{JZ_t0Q% zm{r$GdE9V+4y-jKs7=yJg{byf5{dzxYCE#~$m?-SBTzBN0y&W_i)71C_p4#;kDAAyX>$NLWg*@b*?h?G$IhXk zcd}941(6MBDcxktTUAtK-5tYH0UD-Od#utP_JeDOgA|P6itOr-b;d(SDo9||4DJhe zwEzQ!Ld+I3NS>!i26|F`u3eoComtelCX<&+B~+>OfI0@V82ns%Q^5kB04)ff1ln6c zYP=hoBye@Zq43GU+Eimi!8Hg;{z9f5Tjp>emd(^e^>^s=@yE3QH?;g&tL0-;r&iM^ zt%g>YU$q)O9#tA%-0jBs-g`~jpMJ8X4dNzkKo`5m#jG|)@%xLG0I`TagPrES4s!Ng z3Tm(DK!Ak=dRDTj%@$Mrfg-c+EiFzGbzOpEqOKkCxU2*yqS$>kdj>6MPtT$8Uf1Gd zK4`Ej7Xp>4T~AeqW7jubM^j;;NU<+{{=mwJ0R&`8+jRA$jUuORI*2sf8|;2*VKY-V zj6%B8EPy>9iq6vK7nIR&S1hH6EvvbD^(oyt)&i|R1krW16;^=q@N;XSIZDdI+29zJ z6`^z2@7L)uwFfi2juc#DR1y|TP8ZCt`?tnDQr$3|CzF7pSgjmc$M{qd>=q?%1KsV^ zl+>whm+Gm&WUvdSAthK9c@oB^V2enw6x1>R0^RcfrmfIX{L-=;EH$vuLdKA&abGK8 z$ugv5F@7X`O!fOTXJO-YXJVP?$b5#oSH7KZyV2TIO09=E>WsW-WVxmbY z2z7|8P*-beTSezZp1=7d|9a2hHJ0J)31IAFEH>dYo;35^9b%-(&~DhI_i*y6+C4A9 z9nO^1s5Xc^=0vu(O5PvX)W|~*^*6t1(Cps`Y8f>ve%)$#q~>Q`Tf-V;4K!!es`jGq z5Z4QZ@T0%Y7Pr}i-`s7q)W2_AdM8znq*5|GV)1&l;9YgHxX8jeFX|uia^hhI1#(Ch zm2IwV0bTTB=UY^6yjJ;XoCc{>S52p3R-4(7s=}B>VKkav!O#N~8P-kEldgWO{i&GFLlajHBC_;A?^qS8-jMHj`=z{o`k1+-YelJL8ztm7UYDUe)o>j%|1;vpN$wAI%bA9d zCzujWV#o6vzfT2dQswRC-#)W5ErXN}27W&x_E{`{qd!R4ckYefV(h;WS|7u->)!Y- zrOnRJa?T6WbZ`;XG%t8k`HPNL@Tg+G8NhEvYOB3LY#K_ke{_teV40{l5J#xcIY)zLUdWPh@w5E zO18pU)qh06p0NJCKWjSkmzu1}%g<>QF`8|NUvKKFb8JZ)!_Lsw=1JUUxo+!{>H2Pv z^_-fjh%K7Th~5Fv%2l~VEK6@jl6py#-1^8DyanaUEV7>vzl}t8vs?Lknmu(y?>%nD zUmXbA;_P5ZM$Git)AuYDI&Lz8IkeG7h4sIc8npJZ(%+nWvh&4#YUYPfs z^2c2-nizz#kq+C+R4&HA_usZ0q52t}eKg4o3e!Sh_4hc`=TC}vy^XO2`pQwe141d^ z7M*~X&m?oPH7H(~eANdY=%nF-`gwp4;$_wy!+E>0i}-ZG;(7b>`Psk+r=%Tj__?6} zlCK{&-Zc5S;s2&>1iz)|^($Cls70G;TC|6QG-h_?C1tj@_W6j;obDt1q}$V3U+ALp zpL^@K63dqog`vd309L=$aY3;y+&h-Ru9_{o8+f zk4pdj$17L<m?ytnZ)<(XQhEKnlg*-j$;CK5!vdwqWw{%eJ?-&yTwg<&6Q9htCeZyNBMrXLr7M^7yC$n5P^R z%Db1cxlFPP6K5aFTl>4$Yb$AMmL~zu<9B-Xe06kB2H$DM>@E*jp7G-aKjNB*Wd{=1 zrQ*^0@GOY(kcV3yC~C-OB7vb!VF4!ml&2mrhAt@c1S$PfmJ-0d*1~zlV|j{`$-U1* zo&~8`A`(xrxu>KTaR#-_TSiPI-ZYZIiB~6sQ8G|j_`krvS=6Xi{7iXlYV814H21uh z8EE@X%3tLo<$kT+hLwcpeV%farwPg=h*(Oi#9OAIhlwKj=z0&-0}3;&O(eiLWg;R& z1_LQ(Wuqx?Vl^oIV8Mfveza=6S+OsFWEY39LjMTd?QzKJCdSm}a11Sp@=vgEHG6VN23JahN z_rIJYbhSw3>a8MW(Tc6JCeDw&nip8}RReHB6$4KNe$hVDTY=X20WYxV)-SsyoHzGx zc^&OsrEIyxzl|(Ok{P;9PxXMe!LO3h>4h(^LY{zEckLq-0{RgFt+~}QolA8r?~z|j zE;2fKg`51Af5@$dz7X2Y>&>~|0#93@pGlw?*rqumDim@<2mXA}8Xi9Y+`V0!%M!|V<=1rx9(+M6V6yT3YLF>b+`TrLq)r506 zj``3Vj9^`${N!h_&TsBD*ZF}=Q-JBogd~acDnd9u!9+w}mQVdkb{PSpMX4D$$JFtylGawp<*7OYJnMQK2X$(U_>-+&s#y5Hk3W7uW;J0f1nR1w6F zNS;;fwh(0nrYy2REG2*D&0zb5p#>*w&b{?HF;@_amTe%ny5KHTHyiqRy9w3H6BJrd?c++)#!h>@3Af(5tLO)Jo^eX3kvOl4nNT20Aj-D@YQ%DpB zpcdeD5RW2?T#(K?l@nd#qk#jF?=io38=w{Khk z)E*1a27Ip|(-0yy<-Y);oT-UJM#)0z7Xf9jVt z(7Cy)spSyR`oFmk=e0tvPg6W4!YV)EU`^v3*7KBmq0C{odzDMnR1f)f>c^Iw`@1*G z7QUs>Luu)HfI$lsqwottXy#TONHx83`V!B)0La=*H48vNt?cfVtsKaxJe&-I36QW3 z=A$~8DzYl$m<=`q_04AXs%z!rl!*uxW2_lv2?Ie84(ra`aj<~|jpSF$4O9s^k3TWWQn>BD1!R%0mh|JY8S30X@ zcMli3tyyeF!k}xusM*w@^y=0B{KG$cw?4tMCMav1c^~ZE(jv>Qc{gqrEoL7=AJ{|-S;Vuw>wCM+vIJ~!o9ZJ|0Dr&6!pS_6Qx;`ak1t+8f2Wv! z^WsI5n`Ka=T4iUgE&^EZGCtJqY1XVe&~>MnJ=CZOZ#4h5kmwm~mVqeIxoj5BrJP5t zvinD^zq7l1!A=ECUz_k5&p1ni#g{x<9%(_eNsd#_4`5ZvO|7+?Yn~qySF=K$E_JPiA+#BfwN91lW09D^b#=4F^XubT*1iYs!>zw>XM~;ElhS6 zGUhv{T(KW^W|_a@(~zI;m|QVf%`-9g6-?6(u7MXi7L)Bvaf3G*WneU>J0xW=8IxM` zPnO1cFBSw3V)iY}q!v3avujnwea=t?D{?4*nVnUu%wR`R$~+DD@p_3Oo@h+9u|@e@ zP`AIWt=>W#DCAT8g@(EM9VA`+fkwIb9Sx(O@ra}Im`zFyCR&oTf}6g0B& z5bJZonxZr-0kHtX^D_09Or+HaP(o-SO=DguAW}JHvZB7=P0iPQ3HXKqzc15+2&|5d z%Vb@;dD+YnHA6QMrusGg`*~rf(v+>y84ON1$Ysd_ShsbkXunIO6S}6ESXzLia5RNR z%q^AEV1Y%h9>nNlh!SOO6y#mq*MX$5LCBR2d~erN4ua%e!LgYt?S-|gkvzuAub_H>_U{R88k&lLgWESb8v(LiKUp9Z zw@+gTIu{Kafzh`kmhPLEBRwFb@@wvFpUM=9Kj|4Qo2aV5E!XPy~Xy)*29&VVm%>J*2An{frF z3_V%=<{lPYeW7m*p)(g8k%vAR`jWg5XMTcr{*B zYtvs@_S({Pqwfo8`2d!1f2(CKLNEUvbkKT5@`QY}-fHbKHsw{XpG8a^>ujg0jnc#H zc%TR79ZWAl_!y3}bseX=V-AiIDE~v9$L0Nc(h%QQN8cC0k)CqzGYiihrBX4?74OtM zpzF+;XtM;hkVTAxv+}+yM9R+L?94#?k(cg8&dLUuxfeX~d@MOs`hS)degGgor z)%R02w^o>Dd+SZRz4gcZ%rXIZkvA%jgN2Af`|(K5W*N8ZSnobkzm3pQhq`fs7AO7W z5h!BZGH2cWr_N#m-kCdxHkci+WDr>G35kAHB+`x`Fx0cIRcMdqo1h8vzf2sq@Z_)w< zJU49stO6c@eK;G(LOC)v?zvqUc#_AyzGRO@M)ul;P3W8jP)CL#m^ssyqXyei1{T;bE?4Q^T8&#g(msx zL3TjI?Pv{KKFA)Ed()o1#!XG{fDi`k=sXz<)leEL9}Qn2nZ8r3qU;VV;Q9x?xwwTj z!Gqk14+Dmyi<;;%^hC?J!0;*}2K3^y1q&M&WPQz(9_puY4%FZUgT(!W&;1{GDqT3h z4!Ji^X+OiBMUnHmQLD`iStrdU-|eB4%i()G-GNGF1l!P@kA?7Rsqik8bmTZ?F0|s* z89)yEIZNjb>xM{sZPfq|<{CPY*3vD<={d}T<)+`Z3@EYL{VIaOCkMu%>Nh#2-O3x% z!f`-OY|HXSV~qTjZ>}E32w^XFpgMD2E&NQO>!5FpoXAt=Pen5322`~Attig8gGJUn zlnFd)7Bp?&mQZeP)y=lOfsDsu92i)H2#-zqe9Q$$;z-g*2GEd;*k#7(Qpt7Bbk3kN zxiG0OewAxDELdVdpVCR$^c{ygnk1pXk$s2jmo6^T!N_NTJmn!1$|$ zP&x+f(1YT|9m)tL>9U(mCsMZrE;3@cTiKjpO2W}^5k|H$aG2o)OizIv;6Zn!s4k?i zgTQeF@41EjUc1c_v$+V&*=Kap!1)5B64H@wQ_~!aGtlkgCAFKl=dkdX?dy~J??ChE zr;Q*yl>Akvd@}1=Ze-Oc&)HcDK>SPV#;&TY|hlmVTBUuGU8@`r!$_D0_h~9 z`VAkH96rHxh{l-Gm^a&Te zzq(}_nr5q1$iXdx_F(6=Wj-d;r@^I@ro$VBGuLiK2gm(9b(r0ZN3+rXYNN;C!*JZe zv}q2*E(l)bXxkjb(>=CZ=Tnnm+*753!hM~~#Gdvkr`|7fNk_=ttgA9v13sl2g0tlo zbwp0^$BNr3mwZNI!JKRJp&1AABGT)spcLqJB!i&}2U}>39b4zM7Qd}xZw~FpGQ=#3 zP`hLUagHu)^GiBTE5xKa-JvyQ!rFr-qV~Mr1yV^&!*Sur*bFaC6MW?5OrP+1PrhQ8 zfxhCz8%Yt4KKaoC4nqeb4RT?5SV1JmrR=S>Y(D2kW!(@c0q zGT9oA9GFk-x=?|mJg1xqjNNHJYlKlB294Wi62V+_y6)R_a=4RBWU6|9YgMyG$Cle$ zJYAL3Z+q2d8Yq(vEZ~Q?^+)F5U%lmh%F~C|ArbwZD5^-GBpCEC)csor#^S7TLJKJL zL9bl* zS@GHme#t`gR{J89w!>^e+I`}tzns$Z9I)E=hlIJL{ao*FE}9><-Vc&9WATGnc$egH zr?3(IT4Ep+H_$03&E|!xHMD*Wt3JUO-|lof0*H*%8ow))ge+0tnGe+tty=3hdWW~x z&PS5n$Xnklc9|I(&i(QTF*=C)rU573;^npzyfT(I7!j&dgWA~MNB7gO@HLSV!ANYV z##1PeNXmgZ^O~p*uv!jbE}R(tbK`MN&n_7B&5!wh{vZcsDfvbGr)M+Ce0^fJu=aCh zl%Zo)J5=n$!qc^%4jXSWhEE$Q3&mIlKuTXCpyvSRd$DG}ARXLqk>!#e2^XK83gjI3 z#8d7&JpbLhWo@JVy|P~Z-RoBVr1t}O!XBpZ z*FL-H&K=V$;?3l1LUiX?I~XjJGqd*0Mog)_o3vmLIt_8*ivWGZD=*#MSdF_X;+Tg5 zRmsJJY%!aIpXHc8%BnZSn(26_(!n`v>^>%O|s;=tk{7B|7X#Rxfp>C7s0r*4!=~QMjNMZ0d!AF*{#~+0eJx zShBYDRk)>3i&VBpTrFfc*xg$2D0KWr(ggo2NlkgIWoUWmX`Sn<#Wz6lgRLeP;YVGf Xbji^?y3w!_o7(GfH diff --git a/format-config.js b/format-config.js index a13bc1a..d336231 100644 --- a/format-config.js +++ b/format-config.js @@ -1,6 +1,6 @@ // This sorts the eslint final config rules in an alphabetical order to compare easier -const finalConfig = require('./demo/test/snapshots/new-lint-final-config.json'); -const FS = require('fs'); +const finalConfig = require('./demo/test/snapshots/new-lint-final-config.json') +const FS = require('fs') const formattedRules = Object.fromEntries( Object.entries(finalConfig?.rules ?? {}).sort(([ruleNameA], [ruleNameB]) => { diff --git a/index.js b/index.js index 9b14809..d60fab1 100644 --- a/index.js +++ b/index.js @@ -1,76 +1,36 @@ // We use `data-testid` instead of `data-test-id`, in order to match React Native and Testing Library https://testing-library.com/docs/dom-testing-library/api-queries#bytestid -const dataTestId = 'data-testid'; +const dataTestId = 'data-testid' module.exports = { - - // NOTE: See .eslintrc.js for example `extends` and `plugins` sections, which have to be done individually by each repository because of Code Climate not supporting everything we use. - - extends: [ - 'eslint-config-standard' - ], - - /** - * @property {object} env - Base environments to enable associated globals. - */ - env: { - 'browser': true, - 'mocha': true + env: { es2021: true, browser: true, mocha: true }, + extends: ['standard'], + parser: '@babel/eslint-parser', + parserOptions: { + ecmaVersion: 12, + sourceType: 'module', + requireConfigFile: false }, - /** - * @property {object} globals - Tree set of typical global variables, to avoid numerous `no-undef` errors. - */ - globals: { - '__services__': true, - 'assert': true, - 'axe': true, - 'customElements': true, - 'CustomEvent': true, - 'd3': true, - 'Event': true, - 'expect': true, - 'fixture': true, - 'google': true, // Used for google.maps API - 'FS': true, - 'FsBehaviors': true, - 'FSResearchHelpService': true, - 'FSTreeCommonRoutingService': true, - 'Headers': true, - 'HF': true, - 'HTMLElement': true, - 'indexedDB': true, - 'location': true, - 'Polymer': true, - 'ResettablePropertiesBehavior': true, - 'sessionStorage': true, - 'sinon': true, - 'WCI18n': true, - 'WCT': true - }, - parser: 'babel-eslint', - /** - * @property {object} plugins - Tree additional linter plugins. - Code Climate does not yet support bestpractices, deprecate, no-only-tests, no-skip-tests, sonarjs, and test-selectors, and breaks if they are present. You will need to add these plugins individually in your .eslintrc.js file. The first time you add a file, Code Climate will complain about not being able to find the definitions for these extra rules once for every new file. Obnoxious, but the best we have, for now. - */ plugins: [ - // 'eslint-plugin-bestpractices', - // 'eslint-plugin-deprecate', - 'eslint-plugin-html', - 'eslint-plugin-jsdoc', - 'eslint-plugin-json' - // 'eslint-plugin-no-only-tests', - // 'eslint-plugin-no-skip-tests', - // 'eslint-plugin-promise', - // 'eslint-plugin-sonarjs', - // 'eslint-plugin-test-selectors' // NOTE: Only runs against JSX + 'bestpractices', + 'deprecate', + 'html', + 'import', + 'jsdoc', + 'json', + 'node', + 'promise', + 'sonarjs', + 'test-selectors' ], /** * @property {object} rules - Tree custom rule and additional linter configuration. */ rules: { + 'default-case': ['warn'], + 'valid-jsdoc': ['warn'], 'no-console': 'warn', 'jsdoc/check-access': 'off', 'jsdoc/check-alignment': 'warn', - 'jsdoc/check-examples': 'warn', 'jsdoc/check-indentation': 'off', 'jsdoc/check-param-names': 'warn', // 'jsdoc/check-property-names': 'warn', @@ -129,34 +89,27 @@ module.exports = { 'jsx-quotes': 'off', // These rules went much more strict after updating on 2020-01-23, and are decreased in urgency due to the impact there would be on the existing codebase - 'array-bracket-spacing': 'warn', 'import/no-absolute-path': 'warn', 'lines-between-class-members': 'warn', 'no-case-declarations': 'off', 'no-else-return': 'off', - 'no-extra-semi': 'error', 'no-invalid-this': 'off', 'no-prototype-builtins': 'warn', 'no-shadow': 'warn', 'no-undefined': 'warn', - 'no-warning-comments': ['warn', { 'terms': ['FIXME', 'TODO', 'TO-DO', 'HACK', 'HERE BE DRAGONS'], 'location': 'anywhere' }], - 'object-curly-newline': 'warn', + 'no-warning-comments': [ + 'warn', + { terms: ['FIXME', 'TODO', 'TO-DO', 'HACK', 'HERE BE DRAGONS'], location: 'anywhere' } + ], 'object-curly-spacing': 'off', 'prefer-const': 'warn', - 'quote-props': 'off', - 'quotes': 'off', - 'semi': ['error', 'always'], 'bestpractices/no-eslint-disable': 'warn', - // Duplicated by recent additions: jest/no-disabled-tests & jest/no-focused-tests - // 'no-only-tests/no-only-tests': 'error', - // 'no-skip-tests/no-skip-tests': 'warn', - 'promise/always-return': 'warn', 'promise/no-return-wrap': 'warn', 'promise/param-names': 'warn', - 'promise/catch-or-return': ['warn', {allowFinally: true}], + 'promise/catch-or-return': ['warn', { allowFinally: true }], 'promise/no-native': 'off', 'promise/no-nesting': 'warn', 'promise/no-promise-in-callback': 'warn', @@ -166,8 +119,8 @@ module.exports = { 'promise/no-return-in-finally': 'warn', 'promise/valid-params': 'warn', - 'sonarjs/cognitive-complexity': ["warn", 25], - 'sonarjs/max-switch-cases': ["warn", 10], + 'sonarjs/cognitive-complexity': ['warn', 25], + 'sonarjs/max-switch-cases': ['warn', 10], 'sonarjs/no-all-duplicated-branches': 'warn', 'sonarjs/no-collapsible-if': 'warn', 'sonarjs/no-duplicate-string': 'warn', @@ -196,20 +149,54 @@ module.exports = { 'sonarjs/prefer-single-boolean-return': 'warn', 'sonarjs/prefer-while': 'warn', - 'test-selectors/anchor': ['warn', 'always', { 'ignoreDisabled': false, 'ignoreReadonly': false, "testAttribute": dataTestId }], - 'test-selectors/button': ['warn', 'always', { 'ignoreDisabled': false, 'ignoreReadonly': false, "testAttribute": dataTestId }], - 'test-selectors/input': ['warn', 'always', { 'ignoreDisabled': false, 'ignoreReadonly': false, "testAttribute": dataTestId }], - 'test-selectors/onChange': ['warn', 'always', { 'ignoreDisabled': false, 'ignoreReadonly': false, "testAttribute": dataTestId }], - 'test-selectors/onClick': ['warn', 'always', { 'ignoreDisabled': false, 'ignoreReadonly': false, "testAttribute": dataTestId }], - 'test-selectors/onKeyDown': ['warn', 'always', { 'ignoreDisabled': false, 'ignoreReadonly': false, "testAttribute": dataTestId }], - 'test-selectors/onKeyUp': ['warn', 'always', { 'ignoreDisabled': false, 'ignoreReadonly': false, "testAttribute": dataTestId }] + 'test-selectors/anchor': [ + 'warn', + 'always', + { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId } + ], + 'test-selectors/button': [ + 'warn', + 'always', + { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId } + ], + 'test-selectors/input': [ + 'warn', + 'always', + { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId } + ], + 'test-selectors/onChange': [ + 'warn', + 'always', + { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId } + ], + 'test-selectors/onClick': [ + 'warn', + 'always', + { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId } + ], + 'test-selectors/onKeyDown': [ + 'warn', + 'always', + { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId } + ], + 'test-selectors/onKeyUp': [ + 'warn', + 'always', + { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId } + ] - // See eslint-config-tree/.eslintrc.js for example deprecation rules. + // Example deprecation rules: + // 'deprecate/function': ['error', + // {'name': 'deprecatedFunction', 'use': 'function x from package y'} + // ], + // 'deprecate/import': ['error', + // {'name': 'path/to/legacyModule', 'use': 'module x'} + // ], + // 'deprecate/member-expression': ['error', + // {'name': '$.each', 'use': 'native forEach'} + // ] } - /** - * @property {object} overrides - Linting overrides for matched files. - * Sadly, we cannot provide a base `overrides` entry for things like demos, tests, & mocks. Add this with any needed modifications to your own .eslintrc.js files for each project. - */ + // overrides: [ // { // files: ['*.stories.js', '*.test.js', '**/*mock*/**', '*mock*'], @@ -224,4 +211,4 @@ module.exports = { // }, // }, // ], -}; +} diff --git a/package.json b/package.json index 4f7c187..0680ac2 100644 --- a/package.json +++ b/package.json @@ -22,24 +22,23 @@ ] }, "dependencies": { - "babel-eslint": "^8", - "eslint": "^7", - "eslint-config-standard": "^16", - "eslint-config-standard-react": "^11", + "@babel/eslint-parser": "^7.19.1", + "eslint": "^8.34.0", + "eslint-config-standard": "^17.0.0", + "eslint-config-standard-react": "^13.0.0", "eslint-plugin-bestpractices": "git+https://github.com/skye2k2/eslint-plugin-bestpractices.git", - "eslint-plugin-deprecate": "^0.7", - "eslint-plugin-html": "^6", - "eslint-plugin-import": "^2", - "eslint-plugin-jsdoc": "^36", - "eslint-plugin-json": "^3", - "eslint-plugin-node": "^11", - "eslint-plugin-promise": "^5", - "eslint-plugin-sonarjs": "^0.10", - "eslint-plugin-test-selectors": "^1" + "eslint-plugin-deprecate": "^0.7.0", + "eslint-plugin-html": "^7.1.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-jsdoc": "^40.0.0", + "eslint-plugin-json": "^3.1.0", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-sonarjs": "^0.18.0", + "eslint-plugin-test-selectors": "^2.0.4" }, "devDependencies": { "ava": "^2.4.0", - "eslint-config-frontier": "github:fs-webdev/eslint-config-frontier", "file-manager-js": "^3.1.6", "husky": "^3.1.0" }, @@ -48,9 +47,6 @@ "pre-push": "npm test" } }, - "resolutions": { - "eslint": "^7" - }, "scripts": { "lint": "eslint --ignore-pattern '.*' '**/*.html' '**/*.js' '**/*.json'", "lint:fix": "eslint --ignore-pattern '.*' '**/*.html' '**/*.js' '**/*.json' --fix", From f21d4ce3ae0a438b4ccaa369cacdf51b0750bd54 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 18:27:28 -0700 Subject: [PATCH 06/53] remove standard config --- demo/test/snapshots/lint-output.js.md | 798 +----------------------- demo/test/snapshots/lint-output.js.snap | Bin 5871 -> 3049 bytes index.js | 90 ++- package.json | 1 + 4 files changed, 86 insertions(+), 803 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 965b0ce..5f7b62a 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -12,25 +12,16 @@ Generated by [AVA](https://ava.li). "env": {␊ "es2021": true,␊ "browser": true,␊ - "mocha": true,␊ - "node": true␊ - },␊ - "globals": {␊ - "document": "readonly",␊ - "navigator": "readonly",␊ - "window": "readonly"␊ + "mocha": true␊ },␊ + "globals": {},␊ "parser": "/home/vetaz/fs-webdev/eslint-config-tree/node_modules/@babel/eslint-parser/lib/index.cjs",␊ "parserOptions": {␊ "ecmaVersion": 12,␊ "sourceType": "module",␊ - "requireConfigFile": false,␊ - "ecmaFeatures": {␊ - "jsx": true␊ - }␊ + "requireConfigFile": false␊ },␊ "plugins": [␊ - "n",␊ "test-selectors",␊ "sonarjs",␊ "promise",␊ @@ -43,199 +34,14 @@ Generated by [AVA](https://ava.li). "bestpractices"␊ ],␊ "rules": {␊ - "accessor-pairs": [␊ - "error",␊ - {␊ - "setWithoutGet": true,␊ - "enforceForClassMembers": true,␊ - "getWithoutSet": false␊ - }␊ - ],␊ - "array-bracket-spacing": [␊ - "error",␊ - "never"␊ - ],␊ - "array-callback-return": [␊ - "error",␊ - {␊ - "allowImplicit": false,␊ - "checkForEach": false␊ - }␊ - ],␊ - "arrow-spacing": [␊ - "error",␊ - {␊ - "before": true,␊ - "after": true␊ - }␊ - ],␊ "bestpractices/no-eslint-disable": [␊ "warn"␊ ],␊ - "block-spacing": [␊ - "error",␊ - "always"␊ - ],␊ - "brace-style": [␊ - "error",␊ - "1tbs",␊ - {␊ - "allowSingleLine": true␊ - }␊ - ],␊ - "camelcase": [␊ - "error",␊ - {␊ - "allow": [␊ - "^UNSAFE_"␊ - ],␊ - "properties": "never",␊ - "ignoreGlobals": true,␊ - "ignoreDestructuring": false,␊ - "ignoreImports": false␊ - }␊ - ],␊ - "comma-dangle": [␊ - "error",␊ - {␊ - "arrays": "never",␊ - "objects": "never",␊ - "imports": "never",␊ - "exports": "never",␊ - "functions": "never"␊ - }␊ - ],␊ - "comma-spacing": [␊ - "error",␊ - {␊ - "before": false,␊ - "after": true␊ - }␊ - ],␊ - "comma-style": [␊ - "error",␊ - "last"␊ - ],␊ - "computed-property-spacing": [␊ - "error",␊ - "never",␊ - {␊ - "enforceForClassMembers": true␊ - }␊ - ],␊ - "constructor-super": [␊ - "error"␊ - ],␊ - "curly": [␊ - "error",␊ - "multi-line"␊ - ],␊ "default-case": [␊ "warn"␊ ],␊ - "default-case-last": [␊ - "error"␊ - ],␊ - "dot-location": [␊ - "error",␊ - "property"␊ - ],␊ - "dot-notation": [␊ - "error",␊ - {␊ - "allowKeywords": true,␊ - "allowPattern": ""␊ - }␊ - ],␊ - "eol-last": [␊ - "error"␊ - ],␊ - "eqeqeq": [␊ - "error",␊ - "always",␊ - {␊ - "null": "ignore"␊ - }␊ - ],␊ - "func-call-spacing": [␊ - "error",␊ - "never"␊ - ],␊ - "generator-star-spacing": [␊ - "error",␊ - {␊ - "before": true,␊ - "after": true␊ - }␊ - ],␊ - "import/export": [␊ - "error"␊ - ],␊ - "import/first": [␊ - "error"␊ - ],␊ "import/no-absolute-path": [␊ - "warn",␊ - {␊ - "esmodule": true,␊ - "commonjs": true,␊ - "amd": false␊ - }␊ - ],␊ - "import/no-duplicates": [␊ - "error"␊ - ],␊ - "import/no-named-default": [␊ - "error"␊ - ],␊ - "import/no-webpack-loader-syntax": [␊ - "error"␊ - ],␊ - "indent": [␊ - "error",␊ - 2,␊ - {␊ - "SwitchCase": 1,␊ - "VariableDeclarator": 1,␊ - "outerIIFEBody": 1,␊ - "MemberExpression": 1,␊ - "FunctionDeclaration": {␊ - "parameters": 1,␊ - "body": 1␊ - },␊ - "FunctionExpression": {␊ - "parameters": 1,␊ - "body": 1␊ - },␊ - "CallExpression": {␊ - "arguments": 1␊ - },␊ - "ArrayExpression": 1,␊ - "ObjectExpression": 1,␊ - "ImportDeclaration": 1,␊ - "flatTernaryExpressions": false,␊ - "ignoreComments": false,␊ - "ignoredNodes": [␊ - "TemplateLiteral *",␊ - "JSXElement",␊ - "JSXElement > *",␊ - "JSXAttribute",␊ - "JSXIdentifier",␊ - "JSXNamespacedName",␊ - "JSXMemberExpression",␊ - "JSXSpreadAttribute",␊ - "JSXExpressionContainer",␊ - "JSXOpeningElement",␊ - "JSXClosingElement",␊ - "JSXFragment",␊ - "JSXOpeningFragment",␊ - "JSXClosingFragment",␊ - "JSXText",␊ - "JSXEmptyExpression",␊ - "JSXSpreadChild"␊ - ],␊ - "offsetTernaryExpressions": true␊ - }␊ + "warn"␊ ],␊ "jsdoc/check-access": [␊ "off"␊ @@ -381,408 +187,30 @@ Generated by [AVA](https://ava.li). "jsx-quotes": [␊ "off"␊ ],␊ - "key-spacing": [␊ - "error",␊ - {␊ - "beforeColon": false,␊ - "afterColon": true␊ - }␊ - ],␊ - "keyword-spacing": [␊ - "error",␊ - {␊ - "before": true,␊ - "after": true␊ - }␊ - ],␊ "lines-between-class-members": [␊ - "warn",␊ - "always",␊ - {␊ - "exceptAfterSingleLine": true␊ - }␊ - ],␊ - "multiline-ternary": [␊ - "error",␊ - "always-multiline"␊ - ],␊ - "n/handle-callback-err": [␊ - "error",␊ - "^(err|error)$"␊ - ],␊ - "n/no-callback-literal": [␊ - "error"␊ - ],␊ - "n/no-deprecated-api": [␊ - "error"␊ - ],␊ - "n/no-exports-assign": [␊ - "error"␊ - ],␊ - "n/no-new-require": [␊ - "error"␊ - ],␊ - "n/no-path-concat": [␊ - "error"␊ - ],␊ - "n/process-exit-as-throw": [␊ - "error"␊ - ],␊ - "new-cap": [␊ - "error",␊ - {␊ - "newIsCap": true,␊ - "capIsNew": false,␊ - "properties": true␊ - }␊ - ],␊ - "new-parens": [␊ - "error"␊ - ],␊ - "no-array-constructor": [␊ - "error"␊ - ],␊ - "no-async-promise-executor": [␊ - "error"␊ - ],␊ - "no-caller": [␊ - "error"␊ + "warn"␊ ],␊ "no-case-declarations": [␊ "off"␊ ],␊ - "no-class-assign": [␊ - "error"␊ - ],␊ - "no-compare-neg-zero": [␊ - "error"␊ - ],␊ - "no-cond-assign": [␊ - "error"␊ - ],␊ "no-console": [␊ "warn"␊ ],␊ - "no-const-assign": [␊ - "error"␊ - ],␊ - "no-constant-condition": [␊ - "error",␊ - {␊ - "checkLoops": false␊ - }␊ - ],␊ - "no-control-regex": [␊ - "error"␊ - ],␊ - "no-debugger": [␊ - "error"␊ - ],␊ - "no-delete-var": [␊ - "error"␊ - ],␊ - "no-dupe-args": [␊ - "error"␊ - ],␊ - "no-dupe-class-members": [␊ - "error"␊ - ],␊ - "no-dupe-keys": [␊ - "error"␊ - ],␊ - "no-duplicate-case": [␊ - "error"␊ - ],␊ "no-else-return": [␊ "off"␊ ],␊ - "no-empty": [␊ - "error",␊ - {␊ - "allowEmptyCatch": true␊ - }␊ - ],␊ - "no-empty-character-class": [␊ - "error"␊ - ],␊ - "no-empty-pattern": [␊ - "error"␊ - ],␊ - "no-eval": [␊ - "error"␊ - ],␊ - "no-ex-assign": [␊ - "error"␊ - ],␊ - "no-extend-native": [␊ - "error"␊ - ],␊ - "no-extra-bind": [␊ - "error"␊ - ],␊ - "no-extra-boolean-cast": [␊ - "error"␊ - ],␊ - "no-extra-parens": [␊ - "error",␊ - "functions"␊ - ],␊ - "no-fallthrough": [␊ - "error"␊ - ],␊ - "no-floating-decimal": [␊ - "error"␊ - ],␊ - "no-func-assign": [␊ - "error"␊ - ],␊ - "no-global-assign": [␊ - "error"␊ - ],␊ - "no-implied-eval": [␊ - "error"␊ - ],␊ - "no-import-assign": [␊ - "error"␊ - ],␊ - "no-invalid-regexp": [␊ - "error"␊ - ],␊ "no-invalid-this": [␊ "off"␊ ],␊ - "no-irregular-whitespace": [␊ - "error"␊ - ],␊ - "no-iterator": [␊ - "error"␊ - ],␊ - "no-labels": [␊ - "error",␊ - {␊ - "allowLoop": false,␊ - "allowSwitch": false␊ - }␊ - ],␊ - "no-lone-blocks": [␊ - "error"␊ - ],␊ - "no-loss-of-precision": [␊ - "error"␊ - ],␊ - "no-misleading-character-class": [␊ - "error"␊ - ],␊ - "no-mixed-operators": [␊ - "error",␊ - {␊ - "groups": [␊ - [␊ - "==",␊ - "!=",␊ - "===",␊ - "!==",␊ - ">",␊ - ">=",␊ - "<",␊ - "<="␊ - ],␊ - [␊ - "&&",␊ - "||"␊ - ],␊ - [␊ - "in",␊ - "instanceof"␊ - ]␊ - ],␊ - "allowSamePrecedence": true␊ - }␊ - ],␊ - "no-mixed-spaces-and-tabs": [␊ - "error"␊ - ],␊ - "no-multi-spaces": [␊ - "error"␊ - ],␊ - "no-multi-str": [␊ - "error"␊ - ],␊ - "no-multiple-empty-lines": [␊ - "error",␊ - {␊ - "max": 1,␊ - "maxEOF": 0␊ - }␊ - ],␊ - "no-new": [␊ - "error"␊ - ],␊ - "no-new-func": [␊ - "error"␊ - ],␊ - "no-new-object": [␊ - "error"␊ - ],␊ - "no-new-symbol": [␊ - "error"␊ - ],␊ - "no-new-wrappers": [␊ - "error"␊ - ],␊ - "no-obj-calls": [␊ - "error"␊ - ],␊ - "no-octal": [␊ - "error"␊ - ],␊ - "no-octal-escape": [␊ - "error"␊ - ],␊ - "no-proto": [␊ - "error"␊ - ],␊ "no-prototype-builtins": [␊ "warn"␊ ],␊ - "no-redeclare": [␊ - "error",␊ - {␊ - "builtinGlobals": false␊ - }␊ - ],␊ - "no-regex-spaces": [␊ - "error"␊ - ],␊ - "no-return-assign": [␊ - "error",␊ - "except-parens"␊ - ],␊ - "no-self-assign": [␊ - "error",␊ - {␊ - "props": true␊ - }␊ - ],␊ - "no-self-compare": [␊ - "error"␊ - ],␊ - "no-sequences": [␊ - "error"␊ - ],␊ "no-shadow": [␊ "warn"␊ ],␊ - "no-shadow-restricted-names": [␊ - "error"␊ - ],␊ - "no-sparse-arrays": [␊ - "error"␊ - ],␊ - "no-tabs": [␊ - "error"␊ - ],␊ - "no-template-curly-in-string": [␊ - "error"␊ - ],␊ - "no-this-before-super": [␊ - "error"␊ - ],␊ - "no-throw-literal": [␊ - "error"␊ - ],␊ - "no-trailing-spaces": [␊ - "error"␊ - ],␊ - "no-undef": [␊ - "error"␊ - ],␊ - "no-undef-init": [␊ - "error"␊ - ],␊ "no-undefined": [␊ "warn"␊ ],␊ - "no-unexpected-multiline": [␊ - "error"␊ - ],␊ - "no-unmodified-loop-condition": [␊ - "error"␊ - ],␊ - "no-unneeded-ternary": [␊ - "error",␊ - {␊ - "defaultAssignment": false␊ - }␊ - ],␊ - "no-unreachable": [␊ - "error"␊ - ],␊ - "no-unreachable-loop": [␊ - "error"␊ - ],␊ - "no-unsafe-finally": [␊ - "error"␊ - ],␊ - "no-unsafe-negation": [␊ - "error"␊ - ],␊ - "no-unused-expressions": [␊ - "error",␊ - {␊ - "allowShortCircuit": true,␊ - "allowTernary": true,␊ - "allowTaggedTemplates": true,␊ - "enforceForJSX": false␊ - }␊ - ],␊ - "no-unused-vars": [␊ - "error",␊ - {␊ - "args": "none",␊ - "caughtErrors": "none",␊ - "ignoreRestSiblings": true,␊ - "vars": "all"␊ - }␊ - ],␊ - "no-use-before-define": [␊ - "error",␊ - {␊ - "functions": false,␊ - "classes": false,␊ - "variables": false␊ - }␊ - ],␊ - "no-useless-backreference": [␊ - "error"␊ - ],␊ - "no-useless-call": [␊ - "error"␊ - ],␊ - "no-useless-catch": [␊ - "error"␊ - ],␊ - "no-useless-computed-key": [␊ - "error"␊ - ],␊ - "no-useless-constructor": [␊ - "error"␊ - ],␊ - "no-useless-escape": [␊ - "error"␊ - ],␊ - "no-useless-rename": [␊ - "error"␊ - ],␊ - "no-useless-return": [␊ - "error"␊ - ],␊ - "no-var": [␊ - "warn"␊ - ],␊ - "no-void": [␊ - "error"␊ - ],␊ "no-warning-comments": [␊ "warn",␊ {␊ @@ -796,74 +224,11 @@ Generated by [AVA](https://ava.li). "location": "anywhere"␊ }␊ ],␊ - "no-whitespace-before-property": [␊ - "error"␊ - ],␊ - "no-with": [␊ - "error"␊ - ],␊ - "object-curly-newline": [␊ - "error",␊ - {␊ - "multiline": true,␊ - "consistent": true␊ - }␊ - ],␊ "object-curly-spacing": [␊ - "off",␊ - "always"␊ - ],␊ - "object-property-newline": [␊ - "error",␊ - {␊ - "allowMultiplePropertiesPerLine": true,␊ - "allowAllPropertiesOnSameLine": false␊ - }␊ - ],␊ - "object-shorthand": [␊ - "warn",␊ - "properties"␊ - ],␊ - "one-var": [␊ - "error",␊ - {␊ - "initialized": "never"␊ - }␊ - ],␊ - "operator-linebreak": [␊ - "error",␊ - "after",␊ - {␊ - "overrides": {␊ - "?": "before",␊ - ":": "before",␊ - "|>": "before"␊ - }␊ - }␊ - ],␊ - "padded-blocks": [␊ - "error",␊ - {␊ - "blocks": "never",␊ - "switches": "never",␊ - "classes": "never"␊ - }␊ + "off"␊ ],␊ "prefer-const": [␊ - "warn",␊ - {␊ - "destructuring": "all",␊ - "ignoreReadBeforeAssign": false␊ - }␊ - ],␊ - "prefer-promise-reject-errors": [␊ - "error"␊ - ],␊ - "prefer-regex-literals": [␊ - "error",␊ - {␊ - "disallowRedundantWrapping": true␊ - }␊ + "warn"␊ ],␊ "promise/always-return": [␊ "warn"␊ @@ -904,33 +269,6 @@ Generated by [AVA](https://ava.li). "promise/valid-params": [␊ "warn"␊ ],␊ - "quote-props": [␊ - "error",␊ - "as-needed"␊ - ],␊ - "quotes": [␊ - "error",␊ - "single",␊ - {␊ - "avoidEscape": true,␊ - "allowTemplateLiterals": false␊ - }␊ - ],␊ - "rest-spread-spacing": [␊ - "error",␊ - "never"␊ - ],␊ - "semi": [␊ - "error",␊ - "never"␊ - ],␊ - "semi-spacing": [␊ - "error",␊ - {␊ - "before": false,␊ - "after": true␊ - }␊ - ],␊ "sonarjs/cognitive-complexity": [␊ "warn",␊ 25␊ @@ -1020,68 +358,6 @@ Generated by [AVA](https://ava.li). "sonarjs/prefer-while": [␊ "warn"␊ ],␊ - "space-before-blocks": [␊ - "error",␊ - "always"␊ - ],␊ - "space-before-function-paren": [␊ - "error",␊ - "always"␊ - ],␊ - "space-in-parens": [␊ - "error",␊ - "never"␊ - ],␊ - "space-infix-ops": [␊ - "error"␊ - ],␊ - "space-unary-ops": [␊ - "error",␊ - {␊ - "words": true,␊ - "nonwords": false␊ - }␊ - ],␊ - "spaced-comment": [␊ - "error",␊ - "always",␊ - {␊ - "line": {␊ - "markers": [␊ - "*package",␊ - "!",␊ - "/",␊ - ",",␊ - "="␊ - ]␊ - },␊ - "block": {␊ - "balanced": true,␊ - "markers": [␊ - "*package",␊ - "!",␊ - ",",␊ - ":",␊ - "::",␊ - "flow-include"␊ - ],␊ - "exceptions": [␊ - "*"␊ - ]␊ - }␊ - }␊ - ],␊ - "symbol-description": [␊ - "error"␊ - ],␊ - "template-curly-spacing": [␊ - "error",␊ - "never"␊ - ],␊ - "template-tag-spacing": [␊ - "error",␊ - "never"␊ - ],␊ "test-selectors/anchor": [␊ "warn",␊ "always",␊ @@ -1145,40 +421,8 @@ Generated by [AVA](https://ava.li). "testAttribute": "data-testid"␊ }␊ ],␊ - "unicode-bom": [␊ - "error",␊ - "never"␊ - ],␊ - "use-isnan": [␊ - "error",␊ - {␊ - "enforceForSwitchCase": true,␊ - "enforceForIndexOf": true␊ - }␊ - ],␊ "valid-jsdoc": [␊ "warn"␊ - ],␊ - "valid-typeof": [␊ - "error",␊ - {␊ - "requireStringLiterals": true␊ - }␊ - ],␊ - "wrap-iife": [␊ - "error",␊ - "any",␊ - {␊ - "functionPrototypeMethods": true␊ - }␊ - ],␊ - "yield-star-spacing": [␊ - "error",␊ - "both"␊ - ],␊ - "yoda": [␊ - "error",␊ - "never"␊ ]␊ },␊ "settings": {},␊ @@ -1196,7 +440,6 @@ Generated by [AVA](https://ava.li). 11:1 warning Unexpected 'TODO' comment: 'todo: Add documentation' no-warning-comments␊ 12:1 warning Unexpected 'HACK' comment: 'Hack: Note that these work, regardless...' no-warning-comments␊ 13:1 warning Unexpected 'HERE BE DRAGONS' comment: 'Here be Dragons' no-warning-comments␊ - 15:10 error 'functionWithoutJSDocWarningsBecauseTheSectionWasCompletelyExcluded' is defined but never used no-unused-vars␊ 20:1 warning Remove the @description tag to leave a plain block description or add additional description text above the @description line jsdoc/require-description␊ 20:1 warning JSDoc @returns declaration present but return expression not available in function jsdoc/require-returns-check␊ 20:1 warning JSDoc type missing brace valid-jsdoc␊ @@ -1211,34 +454,22 @@ Generated by [AVA](https://ava.li). 29:19 warning Avoid creating new promises promise/avoid-new␊ 31:1 warning Expected catch() or return promise/catch-or-return␊ 32:3 warning Each then() should return a value or throw promise/always-return␊ - 32:7 error Unexpected constant condition no-constant-condition␊ 33:5 warning Avoid wrapping return values in Promise.resolve promise/no-return-wrap␊ - 35:5 error 'forgotToDefine' is not defined no-undef␊ - 39:7 error 'variable' is assigned a value but never used no-unused-vars␊ 39:18 warning This conditional operation returns the same value whether the condition is "true" or "false" sonarjs/no-all-duplicated-branches␊ - 39:18 error Unexpected constant condition no-constant-condition␊ - 39:18 error Unnecessary use of boolean literals in conditional expression no-unneeded-ternary␊ 42:7 warning Correct one of the identical sub-expressions on both sides of operator "&&" sonarjs/no-identical-expressions␊ 42:18 warning Unexpected use of undefined no-undefined␊ 42:42 warning Unexpected use of undefined no-undefined␊ - 42:55 error 'params' is not defined no-undef␊ 43:5 warning This function expects 1 argument, but 2 were provided sonarjs/no-extra-arguments␊ 44:30 error Module path/to/legacyModule is deprecated. Use module x instead deprecate/import␊ 46:5 error Function deprecatedFunction is deprecated. Use function x from package y instead deprecate/function␊ - 46:5 error 'deprecatedFunction' is not defined no-undef␊ 48:5 error Member expression $.each is deprecated. Use native forEach instead deprecate/member-expression␊ - 48:5 error '$' is not defined no-undef␊ - 50:5 error Unexpected 'debugger' statement no-debugger␊ - 50:5 error Unreachable code no-unreachable␊ 64:10 warning Update this function so that its implementation is not identical to the one on line 56 sonarjs/no-identical-functions␊ 72:1 warning Remove this conditional structure or edit its code blocks so that they're not all the same sonarjs/no-all-duplicated-branches␊ 72:5 warning This always evaluates to truthy. Consider refactoring this code sonarjs/no-gratuitous-expressions␊ - 72:5 error Unexpected constant condition no-constant-condition␊ 79:1 warning Reduce the number of non-empty switch cases from 11 to at most 10 sonarjs/max-switch-cases␊ 83:5 warning Expected a default case default-case␊ 83:5 warning Refactor the code to eliminate this nested "switch" sonarjs/no-nested-switch␊ 88:7 error This case's code block is the same as the block for the case on line 84 sonarjs/no-duplicated-branches␊ - 88:7 error Duplicate case label no-duplicate-case␊ 118:1 warning Invalid JSDoc tag name "note" jsdoc/check-tag-names␊ ␊ example.json␊ @@ -1250,21 +481,8 @@ Generated by [AVA](https://ava.li). 6:20 error Trailing comma json/trailing-comma␊ 8:3 error End of file expected json/undefined␊ ␊ - example.test.html␊ - 2:3 warning Unexpected var, use let or const instead no-var␊ - 3:3 warning Unexpected var, use let or const instead no-var␊ - ␊ test/lint-output.js␊ 14:7 warning Unexpected console statement no-console␊ ␊ - /home/vetaz/fs-webdev/eslint-config-tree/format-config.js␊ - 7:40 error Extra semicolon semi␊ - 8:41 error Extra semicolon semi␊ - 9:13 error Extra semicolon semi␊ - 11:2 error Extra semicolon semi␊ - 18:96 error Extra semicolon semi␊ - 20:2 error Extra semicolon semi␊ - ␊ - ✖ 65 problems (31 errors, 34 warnings)␊ - 6 errors and 2 warnings potentially fixable with the `--fix` option.␊ + ✖ 44 problems (12 errors, 32 warnings)␊ ` diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 496df8e299950f37ab028f069a9b157bb50cfbd0..44b6c3a91c6a9366648a23622e20b85351a02235 100644 GIT binary patch literal 3049 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 Date: Wed, 22 Feb 2023 18:28:22 -0700 Subject: [PATCH 07/53] Turn off conflicting/unnecessary rules for prettier --- demo/test/snapshots/lint-output.js.md | 183 ++++++++++++++++++++++++ demo/test/snapshots/lint-output.js.snap | Bin 3049 -> 3501 bytes index.js | 122 ++++++++-------- 3 files changed, 244 insertions(+), 61 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 5f7b62a..c650bf1 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -34,15 +34,72 @@ Generated by [AVA](https://ava.li). "bestpractices"␊ ],␊ "rules": {␊ + "array-bracket-spacing": [␊ + "off"␊ + ],␊ + "arrow-body-style": [␊ + "off"␊ + ],␊ + "arrow-parens": [␊ + "off"␊ + ],␊ + "arrow-spacing": [␊ + "off"␊ + ],␊ "bestpractices/no-eslint-disable": [␊ "warn"␊ ],␊ + "block-spacing": [␊ + "off"␊ + ],␊ + "brace-style": [␊ + "off"␊ + ],␊ + "comma-dangle": [␊ + "off"␊ + ],␊ + "comma-spacing": [␊ + "off"␊ + ],␊ + "comma-style": [␊ + "off"␊ + ],␊ + "computed-property-spacing": [␊ + "off"␊ + ],␊ + "curly": [␊ + "off"␊ + ],␊ "default-case": [␊ "warn"␊ ],␊ + "dot-location": [␊ + "off"␊ + ],␊ + "eol-last": [␊ + "off"␊ + ],␊ + "func-call-spacing": [␊ + "off"␊ + ],␊ + "function-call-argument-newline": [␊ + "off"␊ + ],␊ + "function-paren-newline": [␊ + "off"␊ + ],␊ + "generator-star-spacing": [␊ + "off"␊ + ],␊ + "implicit-arrow-linebreak": [␊ + "off"␊ + ],␊ "import/no-absolute-path": [␊ "warn"␊ ],␊ + "indent": [␊ + "off"␊ + ],␊ "jsdoc/check-access": [␊ "off"␊ ],␊ @@ -187,30 +244,81 @@ Generated by [AVA](https://ava.li). "jsx-quotes": [␊ "off"␊ ],␊ + "key-spacing": [␊ + "off"␊ + ],␊ + "keyword-spacing": [␊ + "off"␊ + ],␊ + "linebreak-style": [␊ + "off"␊ + ],␊ "lines-between-class-members": [␊ "warn"␊ ],␊ + "max-len": [␊ + "off"␊ + ],␊ + "new-parens": [␊ + "off"␊ + ],␊ + "newline-per-chained-call": [␊ + "off"␊ + ],␊ "no-case-declarations": [␊ "off"␊ ],␊ + "no-confusing-arrow": [␊ + "off"␊ + ],␊ "no-console": [␊ "warn"␊ ],␊ "no-else-return": [␊ "off"␊ ],␊ + "no-extra-semi": [␊ + "off"␊ + ],␊ + "no-floating-decimal": [␊ + "off"␊ + ],␊ "no-invalid-this": [␊ "off"␊ ],␊ + "no-mixed-operators": [␊ + "off"␊ + ],␊ + "no-mixed-spaces-and-tabs": [␊ + "off"␊ + ],␊ + "no-multi-spaces": [␊ + "off"␊ + ],␊ + "no-multiple-empty-lines": [␊ + "off"␊ + ],␊ "no-prototype-builtins": [␊ "warn"␊ ],␊ "no-shadow": [␊ "warn"␊ ],␊ + "no-spaced-func": [␊ + "off"␊ + ],␊ + "no-tabs": [␊ + "off"␊ + ],␊ + "no-trailing-spaces": [␊ + "off"␊ + ],␊ "no-undefined": [␊ "warn"␊ ],␊ + "no-unexpected-multiline": [␊ + "off"␊ + ],␊ "no-warning-comments": [␊ "warn",␊ {␊ @@ -224,9 +332,33 @@ Generated by [AVA](https://ava.li). "location": "anywhere"␊ }␊ ],␊ + "no-whitespace-before-property": [␊ + "off"␊ + ],␊ + "nonblock-statement-body-position": [␊ + "off"␊ + ],␊ + "object-curly-newline": [␊ + "off"␊ + ],␊ "object-curly-spacing": [␊ "off"␊ ],␊ + "object-property-newline": [␊ + "off"␊ + ],␊ + "one-var-declaration-per-line": [␊ + "off"␊ + ],␊ + "operator-linebreak": [␊ + "off"␊ + ],␊ + "padded-blocks": [␊ + "off"␊ + ],␊ + "prefer-arrow-callback": [␊ + "off"␊ + ],␊ "prefer-const": [␊ "warn"␊ ],␊ @@ -269,6 +401,24 @@ Generated by [AVA](https://ava.li). "promise/valid-params": [␊ "warn"␊ ],␊ + "quote-props": [␊ + "off"␊ + ],␊ + "quotes": [␊ + "off"␊ + ],␊ + "rest-spread-spacing": [␊ + "off"␊ + ],␊ + "semi": [␊ + "off"␊ + ],␊ + "semi-spacing": [␊ + "off"␊ + ],␊ + "semi-style": [␊ + "off"␊ + ],␊ "sonarjs/cognitive-complexity": [␊ "warn",␊ 25␊ @@ -358,6 +508,30 @@ Generated by [AVA](https://ava.li). "sonarjs/prefer-while": [␊ "warn"␊ ],␊ + "space-before-blocks": [␊ + "off"␊ + ],␊ + "space-before-function-paren": [␊ + "off"␊ + ],␊ + "space-in-parens": [␊ + "off"␊ + ],␊ + "space-infix-ops": [␊ + "off"␊ + ],␊ + "space-unary-ops": [␊ + "off"␊ + ],␊ + "switch-colon-spacing": [␊ + "off"␊ + ],␊ + "template-curly-spacing": [␊ + "off"␊ + ],␊ + "template-tag-spacing": [␊ + "off"␊ + ],␊ "test-selectors/anchor": [␊ "warn",␊ "always",␊ @@ -421,8 +595,17 @@ Generated by [AVA](https://ava.li). "testAttribute": "data-testid"␊ }␊ ],␊ + "unicode-bom": [␊ + "off"␊ + ],␊ "valid-jsdoc": [␊ "warn"␊ + ],␊ + "wrap-iife": [␊ + "off"␊ + ],␊ + "yield-star-spacing": [␊ + "off"␊ ]␊ },␊ "settings": {},␊ diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 44b6c3a91c6a9366648a23622e20b85351a02235..5bd1cffd75706bc37d5412c9311a6d886233e411 100644 GIT binary patch literal 3501 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 Date: Wed, 22 Feb 2023 18:30:51 -0700 Subject: [PATCH 08/53] extend prettier config --- demo/example.js | 12 +- demo/test/lint-output.js | 2 +- demo/test/snapshots/lint-output.js.md | 357 +++++++++++++++++++++++- demo/test/snapshots/lint-output.js.snap | Bin 3501 -> 4374 bytes index.js | 2 +- 5 files changed, 364 insertions(+), 9 deletions(-) diff --git a/demo/example.js b/demo/example.js index 2ae53e2..7d939dc 100644 --- a/demo/example.js +++ b/demo/example.js @@ -12,7 +12,7 @@ // Hack: Note that these work, regardless of case // Here be Dragons -function functionWithoutJSDocWarningsBecauseTheSectionWasCompletelyExcluded () { +function functionWithoutJSDocWarningsBecauseTheSectionWasCompletelyExcluded() { console.log('ASHLDKFJHASKFJSDHFKJSDHFKLSDJHFLJKSDHFLKSDJFHKSDLJFHLSDKJF') return true } @@ -24,7 +24,7 @@ function functionWithoutJSDocWarningsBecauseTheSectionWasCompletelyExcluded () { * @param b * @returns */ -function ONE_FUNCTION_TO_BRING_THEM_ALL_AND_IN_THE_DARKNESS_BIND_THEM (params) {} +function ONE_FUNCTION_TO_BRING_THEM_ALL_AND_IN_THE_DARKNESS_BIND_THEM(params) {} const myPromise = new Promise() @@ -38,7 +38,7 @@ myPromise.then((a) => { const variable = true ? true : true -export function ReturnEarly () { +export function ReturnEarly() { if (window === undefined && window === undefined && params === true) { ONE_FUNCTION_TO_BRING_THEM_ALL_AND_IN_THE_DARKNESS_BIND_THEM('a', 'b') const deprecatedImport = require('path/to/legacyModule') @@ -53,7 +53,7 @@ export function ReturnEarly () { /* We value sonarjs rules enough to test them, here. Sorry for the mess. */ -function shortFunction (arg) { +function shortFunction(arg) { if (arg) { console.log(true) } @@ -61,7 +61,7 @@ function shortFunction (arg) { } // sonarjs/no-identical-functions checks function bodies of three lines and above -function duplicateFunction (arg) { +function duplicateFunction(arg) { if (arg) { console.log(true) } @@ -117,5 +117,5 @@ export const hi = { /** * @note - This produces Invalid JSDoc tag name "note".eslintjsdoc/check-tag-names */ - rawr: 7 + rawr: 7, } diff --git a/demo/test/lint-output.js b/demo/test/lint-output.js index 28f68a1..5e4b3f3 100755 --- a/demo/test/lint-output.js +++ b/demo/test/lint-output.js @@ -2,7 +2,7 @@ import test from 'ava' const fileManager = require('file-manager-js') -function processFile (t, filename) { +function processFile(t, filename) { // Run previously via npm test, save off results, and read output return fileManager .readFile(`./demo/test/snapshots/${filename}`) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index c650bf1..b37a884 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -22,6 +22,7 @@ Generated by [AVA](https://ava.li). "requireConfigFile": false␊ },␊ "plugins": [␊ + "prettier",␊ "test-selectors",␊ "sonarjs",␊ "promise",␊ @@ -34,9 +35,69 @@ Generated by [AVA](https://ava.li). "bestpractices"␊ ],␊ "rules": {␊ + "@babel/object-curly-spacing": [␊ + "off"␊ + ],␊ + "@babel/semi": [␊ + "off"␊ + ],␊ + "@typescript-eslint/brace-style": [␊ + "off"␊ + ],␊ + "@typescript-eslint/comma-dangle": [␊ + "off"␊ + ],␊ + "@typescript-eslint/comma-spacing": [␊ + "off"␊ + ],␊ + "@typescript-eslint/func-call-spacing": [␊ + "off"␊ + ],␊ + "@typescript-eslint/indent": [␊ + "off"␊ + ],␊ + "@typescript-eslint/keyword-spacing": [␊ + "off"␊ + ],␊ + "@typescript-eslint/member-delimiter-style": [␊ + "off"␊ + ],␊ + "@typescript-eslint/no-extra-parens": [␊ + "off"␊ + ],␊ + "@typescript-eslint/no-extra-semi": [␊ + "off"␊ + ],␊ + "@typescript-eslint/object-curly-spacing": [␊ + "off"␊ + ],␊ + "@typescript-eslint/quotes": [␊ + 0␊ + ],␊ + "@typescript-eslint/semi": [␊ + "off"␊ + ],␊ + "@typescript-eslint/space-before-blocks": [␊ + "off"␊ + ],␊ + "@typescript-eslint/space-before-function-paren": [␊ + "off"␊ + ],␊ + "@typescript-eslint/space-infix-ops": [␊ + "off"␊ + ],␊ + "@typescript-eslint/type-annotation-spacing": [␊ + "off"␊ + ],␊ + "array-bracket-newline": [␊ + "off"␊ + ],␊ "array-bracket-spacing": [␊ "off"␊ ],␊ + "array-element-newline": [␊ + "off"␊ + ],␊ "arrow-body-style": [␊ "off"␊ ],␊ @@ -46,6 +107,15 @@ Generated by [AVA](https://ava.li). "arrow-spacing": [␊ "off"␊ ],␊ + "babel/object-curly-spacing": [␊ + "off"␊ + ],␊ + "babel/quotes": [␊ + 0␊ + ],␊ + "babel/semi": [␊ + "off"␊ + ],␊ "bestpractices/no-eslint-disable": [␊ "warn"␊ ],␊ @@ -79,6 +149,39 @@ Generated by [AVA](https://ava.li). "eol-last": [␊ "off"␊ ],␊ + "flowtype/boolean-style": [␊ + "off"␊ + ],␊ + "flowtype/delimiter-dangle": [␊ + "off"␊ + ],␊ + "flowtype/generic-spacing": [␊ + "off"␊ + ],␊ + "flowtype/object-type-curly-spacing": [␊ + "off"␊ + ],␊ + "flowtype/object-type-delimiter": [␊ + "off"␊ + ],␊ + "flowtype/quotes": [␊ + "off"␊ + ],␊ + "flowtype/semi": [␊ + "off"␊ + ],␊ + "flowtype/space-after-type-colon": [␊ + "off"␊ + ],␊ + "flowtype/space-before-generic-bracket": [␊ + "off"␊ + ],␊ + "flowtype/space-before-type-colon": [␊ + "off"␊ + ],␊ + "flowtype/union-intersection-spacing": [␊ + "off"␊ + ],␊ "func-call-spacing": [␊ "off"␊ ],␊ @@ -88,6 +191,9 @@ Generated by [AVA](https://ava.li). "function-paren-newline": [␊ "off"␊ ],␊ + "generator-star": [␊ + "off"␊ + ],␊ "generator-star-spacing": [␊ "off"␊ ],␊ @@ -100,6 +206,9 @@ Generated by [AVA](https://ava.li). "indent": [␊ "off"␊ ],␊ + "indent-legacy": [␊ + "off"␊ + ],␊ "jsdoc/check-access": [␊ "off"␊ ],␊ @@ -253,21 +362,33 @@ Generated by [AVA](https://ava.li). "linebreak-style": [␊ "off"␊ ],␊ + "lines-around-comment": [␊ + 0␊ + ],␊ "lines-between-class-members": [␊ "warn"␊ ],␊ "max-len": [␊ "off"␊ ],␊ + "multiline-ternary": [␊ + "off"␊ + ],␊ "new-parens": [␊ "off"␊ ],␊ "newline-per-chained-call": [␊ "off"␊ ],␊ + "no-arrow-condition": [␊ + "off"␊ + ],␊ "no-case-declarations": [␊ "off"␊ ],␊ + "no-comma-dangle": [␊ + "off"␊ + ],␊ "no-confusing-arrow": [␊ "off"␊ ],␊ @@ -277,6 +398,9 @@ Generated by [AVA](https://ava.li). "no-else-return": [␊ "off"␊ ],␊ + "no-extra-parens": [␊ + "off"␊ + ],␊ "no-extra-semi": [␊ "off"␊ ],␊ @@ -301,9 +425,15 @@ Generated by [AVA](https://ava.li). "no-prototype-builtins": [␊ "warn"␊ ],␊ + "no-reserved-keys": [␊ + "off"␊ + ],␊ "no-shadow": [␊ "warn"␊ ],␊ + "no-space-before-semi": [␊ + "off"␊ + ],␊ "no-spaced-func": [␊ "off"␊ ],␊ @@ -335,6 +465,9 @@ Generated by [AVA](https://ava.li). "no-whitespace-before-property": [␊ "off"␊ ],␊ + "no-wrap-func": [␊ + "off"␊ + ],␊ "nonblock-statement-body-position": [␊ "off"␊ ],␊ @@ -362,6 +495,15 @@ Generated by [AVA](https://ava.li). "prefer-const": [␊ "warn"␊ ],␊ + "prettier/prettier": [␊ + "warn",␊ + {␊ + "arrowParens": "always",␊ + "printWidth": 120,␊ + "semi": false,␊ + "singleQuote": true␊ + }␊ + ],␊ "promise/always-return": [␊ "warn"␊ ],␊ @@ -407,6 +549,54 @@ Generated by [AVA](https://ava.li). "quotes": [␊ "off"␊ ],␊ + "react/jsx-child-element-spacing": [␊ + "off"␊ + ],␊ + "react/jsx-closing-bracket-location": [␊ + "off"␊ + ],␊ + "react/jsx-closing-tag-location": [␊ + "off"␊ + ],␊ + "react/jsx-curly-newline": [␊ + "off"␊ + ],␊ + "react/jsx-curly-spacing": [␊ + "off"␊ + ],␊ + "react/jsx-equals-spacing": [␊ + "off"␊ + ],␊ + "react/jsx-first-prop-new-line": [␊ + "off"␊ + ],␊ + "react/jsx-indent": [␊ + "off"␊ + ],␊ + "react/jsx-indent-props": [␊ + "off"␊ + ],␊ + "react/jsx-max-props-per-line": [␊ + "off"␊ + ],␊ + "react/jsx-newline": [␊ + "off"␊ + ],␊ + "react/jsx-one-expression-per-line": [␊ + "off"␊ + ],␊ + "react/jsx-props-no-multi-spaces": [␊ + "off"␊ + ],␊ + "react/jsx-space-before-closing": [␊ + "off"␊ + ],␊ + "react/jsx-tag-spacing": [␊ + "off"␊ + ],␊ + "react/jsx-wrap-multilines": [␊ + "off"␊ + ],␊ "rest-spread-spacing": [␊ "off"␊ ],␊ @@ -508,21 +698,51 @@ Generated by [AVA](https://ava.li). "sonarjs/prefer-while": [␊ "warn"␊ ],␊ + "space-after-function-name": [␊ + "off"␊ + ],␊ + "space-after-keywords": [␊ + "off"␊ + ],␊ "space-before-blocks": [␊ "off"␊ ],␊ "space-before-function-paren": [␊ "off"␊ ],␊ + "space-before-function-parentheses": [␊ + "off"␊ + ],␊ + "space-before-keywords": [␊ + "off"␊ + ],␊ + "space-in-brackets": [␊ + "off"␊ + ],␊ "space-in-parens": [␊ "off"␊ ],␊ "space-infix-ops": [␊ "off"␊ ],␊ + "space-return-throw-case": [␊ + "off"␊ + ],␊ "space-unary-ops": [␊ "off"␊ ],␊ + "space-unary-word-ops": [␊ + "off"␊ + ],␊ + "standard/array-bracket-even-spacing": [␊ + "off"␊ + ],␊ + "standard/computed-property-even-spacing": [␊ + "off"␊ + ],␊ + "standard/object-curly-even-spacing": [␊ + "off"␊ + ],␊ "switch-colon-spacing": [␊ "off"␊ ],␊ @@ -598,12 +818,138 @@ Generated by [AVA](https://ava.li). "unicode-bom": [␊ "off"␊ ],␊ + "unicorn/empty-brace-spaces": [␊ + "off"␊ + ],␊ + "unicorn/no-nested-ternary": [␊ + "off"␊ + ],␊ + "unicorn/number-literal-case": [␊ + "off"␊ + ],␊ "valid-jsdoc": [␊ "warn"␊ ],␊ + "vue/array-bracket-newline": [␊ + "off"␊ + ],␊ + "vue/array-bracket-spacing": [␊ + "off"␊ + ],␊ + "vue/arrow-spacing": [␊ + "off"␊ + ],␊ + "vue/block-spacing": [␊ + "off"␊ + ],␊ + "vue/block-tag-newline": [␊ + "off"␊ + ],␊ + "vue/brace-style": [␊ + "off"␊ + ],␊ + "vue/comma-dangle": [␊ + "off"␊ + ],␊ + "vue/comma-spacing": [␊ + "off"␊ + ],␊ + "vue/comma-style": [␊ + "off"␊ + ],␊ + "vue/dot-location": [␊ + "off"␊ + ],␊ + "vue/func-call-spacing": [␊ + "off"␊ + ],␊ + "vue/html-closing-bracket-newline": [␊ + "off"␊ + ],␊ + "vue/html-closing-bracket-spacing": [␊ + "off"␊ + ],␊ + "vue/html-end-tags": [␊ + "off"␊ + ],␊ + "vue/html-indent": [␊ + "off"␊ + ],␊ + "vue/html-quotes": [␊ + "off"␊ + ],␊ + "vue/html-self-closing": [␊ + 0␊ + ],␊ + "vue/key-spacing": [␊ + "off"␊ + ],␊ + "vue/keyword-spacing": [␊ + "off"␊ + ],␊ + "vue/max-attributes-per-line": [␊ + "off"␊ + ],␊ + "vue/max-len": [␊ + 0␊ + ],␊ + "vue/multiline-html-element-content-newline": [␊ + "off"␊ + ],␊ + "vue/multiline-ternary": [␊ + "off"␊ + ],␊ + "vue/mustache-interpolation-spacing": [␊ + "off"␊ + ],␊ + "vue/no-extra-parens": [␊ + "off"␊ + ],␊ + "vue/no-multi-spaces": [␊ + "off"␊ + ],␊ + "vue/no-spaces-around-equal-signs-in-attribute": [␊ + "off"␊ + ],␊ + "vue/object-curly-newline": [␊ + "off"␊ + ],␊ + "vue/object-curly-spacing": [␊ + "off"␊ + ],␊ + "vue/object-property-newline": [␊ + "off"␊ + ],␊ + "vue/operator-linebreak": [␊ + "off"␊ + ],␊ + "vue/quote-props": [␊ + "off"␊ + ],␊ + "vue/script-indent": [␊ + "off"␊ + ],␊ + "vue/singleline-html-element-content-newline": [␊ + "off"␊ + ],␊ + "vue/space-in-parens": [␊ + "off"␊ + ],␊ + "vue/space-infix-ops": [␊ + "off"␊ + ],␊ + "vue/space-unary-ops": [␊ + "off"␊ + ],␊ + "vue/template-curly-spacing": [␊ + "off"␊ + ],␊ "wrap-iife": [␊ "off"␊ ],␊ + "wrap-regex": [␊ + "off"␊ + ],␊ "yield-star-spacing": [␊ "off"␊ ]␊ @@ -667,5 +1013,14 @@ Generated by [AVA](https://ava.li). test/lint-output.js␊ 14:7 warning Unexpected console statement no-console␊ ␊ - ✖ 44 problems (12 errors, 32 warnings)␊ + /home/vetaz/fs-webdev/eslint-config-tree/format-config.js␊ + 7:40 warning Delete `;` prettier/prettier␊ + 8:41 warning Delete `;` prettier/prettier␊ + 9:13 warning Delete `;` prettier/prettier␊ + 11:2 warning Delete `;` prettier/prettier␊ + 18:96 warning Delete `;` prettier/prettier␊ + 20:2 warning Delete `;` prettier/prettier␊ + ␊ + ✖ 50 problems (12 errors, 38 warnings)␊ + 0 errors and 6 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 5bd1cffd75706bc37d5412c9311a6d886233e411..53654361fbea87001805f590b5ca41cd21c7499e 100644 GIT binary patch literal 4374 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 QCTFMr4---}*_T}a050EznE(I) literal 3501 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 Date: Wed, 22 Feb 2023 18:36:04 -0700 Subject: [PATCH 09/53] extend react and es6 configs --- demo/test/snapshots/lint-output.js.md | 2734 +++++++++++++++++++++-- demo/test/snapshots/lint-output.js.snap | Bin 4374 -> 13188 bytes index.js | 6 +- 3 files changed, 2538 insertions(+), 202 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index b37a884..77878c1 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -12,16 +12,32 @@ Generated by [AVA](https://ava.li). "env": {␊ "es2021": true,␊ "browser": true,␊ - "mocha": true␊ + "mocha": true,␊ + "es6": true,␊ + "node": true␊ },␊ "globals": {},␊ "parser": "/home/vetaz/fs-webdev/eslint-config-tree/node_modules/@babel/eslint-parser/lib/index.cjs",␊ "parserOptions": {␊ "ecmaVersion": 12,␊ "sourceType": "module",␊ - "requireConfigFile": false␊ + "requireConfigFile": false,␊ + "ecmaFeatures": {␊ + "generators": false,␊ + "objectLiteralDuplicateProperties": false,␊ + "jsx": true␊ + },␊ + "babelOptions": {␊ + "presets": [␊ + "@babel/preset-react"␊ + ]␊ + }␊ },␊ "plugins": [␊ + "react",␊ + "jsx-a11y",␊ + "react-hooks",␊ + "@babel",␊ "prettier",␊ "test-selectors",␊ "sonarjs",␊ @@ -35,6 +51,15 @@ Generated by [AVA](https://ava.li). "bestpractices"␊ ],␊ "rules": {␊ + "@babel/no-unused-expressions": [␊ + "warn",␊ + {␊ + "allowShortCircuit": true,␊ + "allowTernary": false,␊ + "allowTaggedTemplates": false,␊ + "enforceForJSX": false␊ + }␊ + ],␊ "@babel/object-curly-spacing": [␊ "off"␊ ],␊ @@ -89,23 +114,48 @@ Generated by [AVA](https://ava.li). "@typescript-eslint/type-annotation-spacing": [␊ "off"␊ ],␊ - "array-bracket-newline": [␊ + "accessor-pairs": [␊ "off"␊ ],␊ + "array-bracket-newline": [␊ + "off",␊ + "consistent"␊ + ],␊ "array-bracket-spacing": [␊ - "off"␊ + "off",␊ + "never"␊ + ],␊ + "array-callback-return": [␊ + "error",␊ + {␊ + "allowImplicit": true,␊ + "checkForEach": false␊ + }␊ ],␊ "array-element-newline": [␊ - "off"␊ + "off",␊ + {␊ + "multiline": true,␊ + "minItems": 3␊ + }␊ ],␊ "arrow-body-style": [␊ - "off"␊ + "off",␊ + "as-needed",␊ + {␊ + "requireReturnForObjectLiteral": false␊ + }␊ ],␊ "arrow-parens": [␊ - "off"␊ + "off",␊ + "always"␊ ],␊ "arrow-spacing": [␊ - "off"␊ + "off",␊ + {␊ + "before": true,␊ + "after": true␊ + }␊ ],␊ "babel/object-curly-spacing": [␊ "off"␊ @@ -119,35 +169,145 @@ Generated by [AVA](https://ava.li). "bestpractices/no-eslint-disable": [␊ "warn"␊ ],␊ + "block-scoped-var": [␊ + "error"␊ + ],␊ "block-spacing": [␊ - "off"␊ + "off",␊ + "always"␊ ],␊ "brace-style": [␊ + "off",␊ + "1tbs",␊ + {␊ + "allowSingleLine": true␊ + }␊ + ],␊ + "callback-return": [␊ "off"␊ ],␊ + "camelcase": [␊ + "off",␊ + {␊ + "properties": "never",␊ + "ignoreDestructuring": false,␊ + "ignoreImports": false,␊ + "ignoreGlobals": false␊ + }␊ + ],␊ + "capitalized-comments": [␊ + "off",␊ + "never",␊ + {␊ + "line": {␊ + "ignorePattern": ".*",␊ + "ignoreInlineComments": true,␊ + "ignoreConsecutiveComments": true␊ + },␊ + "block": {␊ + "ignorePattern": ".*",␊ + "ignoreInlineComments": true,␊ + "ignoreConsecutiveComments": true␊ + }␊ + }␊ + ],␊ + "class-methods-use-this": [␊ + "error",␊ + {␊ + "exceptMethods": [],␊ + "enforceForClassFields": true␊ + }␊ + ],␊ "comma-dangle": [␊ - "off"␊ + "off",␊ + {␊ + "arrays": "always-multiline",␊ + "objects": "always-multiline",␊ + "imports": "always-multiline",␊ + "exports": "always-multiline",␊ + "functions": "always-multiline"␊ + }␊ ],␊ "comma-spacing": [␊ - "off"␊ + "off",␊ + {␊ + "before": false,␊ + "after": true␊ + }␊ ],␊ "comma-style": [␊ - "off"␊ + "off",␊ + "last",␊ + {␊ + "exceptions": {␊ + "ArrayExpression": false,␊ + "ArrayPattern": false,␊ + "ArrowFunctionExpression": false,␊ + "CallExpression": false,␊ + "FunctionDeclaration": false,␊ + "FunctionExpression": false,␊ + "ImportDeclaration": false,␊ + "ObjectExpression": false,␊ + "ObjectPattern": false,␊ + "VariableDeclaration": false,␊ + "NewExpression": false␊ + }␊ + }␊ + ],␊ + "complexity": [␊ + "off",␊ + 20␊ ],␊ "computed-property-spacing": [␊ + "off",␊ + "never"␊ + ],␊ + "consistent-return": [␊ + "error"␊ + ],␊ + "consistent-this": [␊ "off"␊ ],␊ + "constructor-super": [␊ + "error"␊ + ],␊ "curly": [␊ - "off"␊ + "off",␊ + "multi-line"␊ ],␊ "default-case": [␊ - "warn"␊ + "warn",␊ + {␊ + "commentPattern": "^no default$"␊ + }␊ + ],␊ + "default-case-last": [␊ + "error"␊ + ],␊ + "default-param-last": [␊ + "error"␊ ],␊ "dot-location": [␊ - "off"␊ + "off",␊ + "property"␊ + ],␊ + "dot-notation": [␊ + "error",␊ + {␊ + "allowKeywords": true,␊ + "allowPattern": ""␊ + }␊ ],␊ "eol-last": [␊ - "off"␊ + "off",␊ + "always"␊ + ],␊ + "eqeqeq": [␊ + "error",␊ + "always",␊ + {␊ + "null": "ignore"␊ + }␊ ],␊ "flowtype/boolean-style": [␊ "off"␊ @@ -182,33 +342,324 @@ Generated by [AVA](https://ava.li). "flowtype/union-intersection-spacing": [␊ "off"␊ ],␊ + "for-direction": [␊ + "error"␊ + ],␊ "func-call-spacing": [␊ - "off"␊ + "off",␊ + "never"␊ + ],␊ + "func-name-matching": [␊ + "off",␊ + "always",␊ + {␊ + "includeCommonJSModuleExports": false,␊ + "considerPropertyDescriptor": true␊ + }␊ + ],␊ + "func-names": [␊ + "warn"␊ + ],␊ + "func-style": [␊ + "off",␊ + "expression"␊ ],␊ "function-call-argument-newline": [␊ - "off"␊ + "off",␊ + "consistent"␊ ],␊ "function-paren-newline": [␊ - "off"␊ + "off",␊ + "multiline-arguments"␊ ],␊ "generator-star": [␊ "off"␊ ],␊ "generator-star-spacing": [␊ + "off",␊ + {␊ + "before": false,␊ + "after": true␊ + }␊ + ],␊ + "getter-return": [␊ + "error",␊ + {␊ + "allowImplicit": true␊ + }␊ + ],␊ + "global-require": [␊ + "error"␊ + ],␊ + "grouped-accessor-pairs": [␊ + "error"␊ + ],␊ + "guard-for-in": [␊ + "error"␊ + ],␊ + "handle-callback-err": [␊ + "off"␊ + ],␊ + "id-denylist": [␊ + "off"␊ + ],␊ + "id-length": [␊ + "off"␊ + ],␊ + "id-match": [␊ "off"␊ ],␊ "implicit-arrow-linebreak": [␊ + "off",␊ + "beside"␊ + ],␊ + "import/default": [␊ + "off"␊ + ],␊ + "import/dynamic-import-chunkname": [␊ + "off",␊ + {␊ + "importFunctions": [],␊ + "webpackChunknameFormat": "[0-9a-zA-Z-_/.]+"␊ + }␊ + ],␊ + "import/export": [␊ + "error"␊ + ],␊ + "import/exports-last": [␊ + "off"␊ + ],␊ + "import/extensions": [␊ + "error",␊ + "ignorePackages",␊ + {␊ + "js": "never",␊ + "jsx": "never",␊ + "ts": "never",␊ + "tsx": "never"␊ + }␊ + ],␊ + "import/first": [␊ + "error"␊ + ],␊ + "import/group-exports": [␊ + "off"␊ + ],␊ + "import/imports-first": [␊ + "off"␊ + ],␊ + "import/max-dependencies": [␊ + "off",␊ + {␊ + "max": 10␊ + }␊ + ],␊ + "import/named": [␊ + "off"␊ + ],␊ + "import/namespace": [␊ "off"␊ ],␊ + "import/newline-after-import": [␊ + "error"␊ + ],␊ "import/no-absolute-path": [␊ "warn"␊ ],␊ - "indent": [␊ + "import/no-amd": [␊ + "error"␊ + ],␊ + "import/no-anonymous-default-export": [␊ + "off",␊ + {␊ + "allowArray": false,␊ + "allowArrowFunction": false,␊ + "allowAnonymousClass": false,␊ + "allowAnonymousFunction": false,␊ + "allowLiteral": false,␊ + "allowObject": false␊ + }␊ + ],␊ + "import/no-commonjs": [␊ + "off"␊ + ],␊ + "import/no-cycle": [␊ + "error",␊ + {␊ + "maxDepth": "∞",␊ + "ignoreExternal": false,␊ + "allowUnsafeDynamicCyclicDependency": false␊ + }␊ + ],␊ + "import/no-default-export": [␊ + "off"␊ + ],␊ + "import/no-deprecated": [␊ + "off"␊ + ],␊ + "import/no-duplicates": [␊ + "error"␊ + ],␊ + "import/no-dynamic-require": [␊ + "error"␊ + ],␊ + "import/no-extraneous-dependencies": [␊ + "error",␊ + {␊ + "devDependencies": [␊ + "**/setupTests.[tj]s?(x)",␊ + "**/*.stories.[tj]s?(x)",␊ + "**/*.test.[tj]s?(x)",␊ + "**/*.spec.[tj]s?(x)",␊ + "**/demo/**",␊ + "**/docs/**",␊ + "**/fixtures/**"␊ + ]␊ + }␊ + ],␊ + "import/no-import-module-exports": [␊ + "error",␊ + {␊ + "exceptions": []␊ + }␊ + ],␊ + "import/no-internal-modules": [␊ + "off",␊ + {␊ + "allow": []␊ + }␊ + ],␊ + "import/no-mutable-exports": [␊ + "error"␊ + ],␊ + "import/no-named-as-default": [␊ + "error"␊ + ],␊ + "import/no-named-as-default-member": [␊ + "error"␊ + ],␊ + "import/no-named-default": [␊ + "error"␊ + ],␊ + "import/no-named-export": [␊ + "off"␊ + ],␊ + "import/no-namespace": [␊ + "off"␊ + ],␊ + "import/no-nodejs-modules": [␊ + "off"␊ + ],␊ + "import/no-relative-packages": [␊ + "error"␊ + ],␊ + "import/no-relative-parent-imports": [␊ + "off"␊ + ],␊ + "import/no-restricted-paths": [␊ + "off"␊ + ],␊ + "import/no-self-import": [␊ + "error"␊ + ],␊ + "import/no-unassigned-import": [␊ + "off"␊ + ],␊ + "import/no-unresolved": [␊ + "error",␊ + {␊ + "commonjs": true,␊ + "caseSensitive": true,␊ + "caseSensitiveStrict": false␊ + }␊ + ],␊ + "import/no-unused-modules": [␊ + "off",␊ + {␊ + "ignoreExports": [],␊ + "missingExports": true,␊ + "unusedExports": true␊ + }␊ + ],␊ + "import/no-useless-path-segments": [␊ + "error",␊ + {␊ + "commonjs": true␊ + }␊ + ],␊ + "import/no-webpack-loader-syntax": [␊ + "error"␊ + ],␊ + "import/order": [␊ + "error",␊ + {␊ + "groups": [␊ + [␊ + "builtin",␊ + "external",␊ + "internal"␊ + ]␊ + ],␊ + "distinctGroup": true,␊ + "warnOnUnassignedImports": false␊ + }␊ + ],␊ + "import/prefer-default-export": [␊ + "error"␊ + ],␊ + "import/unambiguous": [␊ "off"␊ ],␊ + "indent": [␊ + "off",␊ + 2,␊ + {␊ + "SwitchCase": 1,␊ + "VariableDeclarator": 1,␊ + "outerIIFEBody": 1,␊ + "FunctionDeclaration": {␊ + "parameters": 1,␊ + "body": 1␊ + },␊ + "FunctionExpression": {␊ + "parameters": 1,␊ + "body": 1␊ + },␊ + "CallExpression": {␊ + "arguments": 1␊ + },␊ + "ArrayExpression": 1,␊ + "ObjectExpression": 1,␊ + "ImportDeclaration": 1,␊ + "flatTernaryExpressions": false,␊ + "ignoredNodes": [␊ + "JSXElement",␊ + "JSXElement > *",␊ + "JSXAttribute",␊ + "JSXIdentifier",␊ + "JSXNamespacedName",␊ + "JSXMemberExpression",␊ + "JSXSpreadAttribute",␊ + "JSXExpressionContainer",␊ + "JSXOpeningElement",␊ + "JSXClosingElement",␊ + "JSXFragment",␊ + "JSXOpeningFragment",␊ + "JSXClosingFragment",␊ + "JSXText",␊ + "JSXEmptyExpression",␊ + "JSXSpreadChild"␊ + ],␊ + "ignoreComments": false,␊ + "offsetTernaryExpressions": false␊ + }␊ + ],␊ "indent-legacy": [␊ "off"␊ ],␊ + "init-declarations": [␊ + "off"␊ + ],␊ "jsdoc/check-access": [␊ "off"␊ ],␊ @@ -350,264 +801,1980 @@ Generated by [AVA](https://ava.li). "json/value-expected": [␊ "error"␊ ],␊ - "jsx-quotes": [␊ + "jsx-a11y/accessible-emoji": [␊ "off"␊ ],␊ - "key-spacing": [␊ - "off"␊ + "jsx-a11y/alt-text": [␊ + "error",␊ + {␊ + "elements": [␊ + "img",␊ + "object",␊ + "area",␊ + "input[type=\\"image\\"]"␊ + ],␊ + "img": [],␊ + "object": [],␊ + "area": [],␊ + "input[type=\\"image\\"]": []␊ + }␊ ],␊ - "keyword-spacing": [␊ - "off"␊ + "jsx-a11y/anchor-has-content": [␊ + "error",␊ + {␊ + "components": []␊ + }␊ ],␊ - "linebreak-style": [␊ - "off"␊ + "jsx-a11y/anchor-is-valid": [␊ + "error",␊ + {␊ + "components": [␊ + "Link"␊ + ],␊ + "specialLink": [␊ + "to"␊ + ],␊ + "aspects": [␊ + "noHref",␊ + "invalidHref",␊ + "preferButton"␊ + ]␊ + }␊ ],␊ - "lines-around-comment": [␊ - 0␊ + "jsx-a11y/aria-activedescendant-has-tabindex": [␊ + "error"␊ ],␊ - "lines-between-class-members": [␊ - "warn"␊ + "jsx-a11y/aria-props": [␊ + "error"␊ ],␊ - "max-len": [␊ - "off"␊ + "jsx-a11y/aria-proptypes": [␊ + "error"␊ ],␊ - "multiline-ternary": [␊ - "off"␊ + "jsx-a11y/aria-role": [␊ + "error",␊ + {␊ + "ignoreNonDOM": false␊ + }␊ + ],␊ + "jsx-a11y/aria-unsupported-elements": [␊ + "error"␊ + ],␊ + "jsx-a11y/autocomplete-valid": [␊ + "off",␊ + {␊ + "inputComponents": []␊ + }␊ + ],␊ + "jsx-a11y/click-events-have-key-events": [␊ + "error"␊ + ],␊ + "jsx-a11y/control-has-associated-label": [␊ + "error",␊ + {␊ + "labelAttributes": [␊ + "label"␊ + ],␊ + "controlComponents": [],␊ + "ignoreElements": [␊ + "audio",␊ + "canvas",␊ + "embed",␊ + "input",␊ + "textarea",␊ + "tr",␊ + "video"␊ + ],␊ + "ignoreRoles": [␊ + "grid",␊ + "listbox",␊ + "menu",␊ + "menubar",␊ + "radiogroup",␊ + "row",␊ + "tablist",␊ + "toolbar",␊ + "tree",␊ + "treegrid"␊ + ],␊ + "depth": 5␊ + }␊ + ],␊ + "jsx-a11y/heading-has-content": [␊ + "error",␊ + {␊ + "components": [␊ + ""␊ + ]␊ + }␊ + ],␊ + "jsx-a11y/html-has-lang": [␊ + "error"␊ + ],␊ + "jsx-a11y/iframe-has-title": [␊ + "error"␊ + ],␊ + "jsx-a11y/img-redundant-alt": [␊ + "error"␊ + ],␊ + "jsx-a11y/interactive-supports-focus": [␊ + "error"␊ + ],␊ + "jsx-a11y/label-has-associated-control": [␊ + "error",␊ + {␊ + "assert": "either"␊ + }␊ + ],␊ + "jsx-a11y/label-has-for": [␊ + "off",␊ + {␊ + "components": [],␊ + "required": {␊ + "every": [␊ + "nesting",␊ + "id"␊ + ]␊ + },␊ + "allowChildren": false␊ + }␊ + ],␊ + "jsx-a11y/lang": [␊ + "error"␊ + ],␊ + "jsx-a11y/media-has-caption": [␊ + "error",␊ + {␊ + "audio": [],␊ + "video": [],␊ + "track": []␊ + }␊ + ],␊ + "jsx-a11y/mouse-events-have-key-events": [␊ + "error"␊ + ],␊ + "jsx-a11y/no-access-key": [␊ + "error"␊ + ],␊ + "jsx-a11y/no-autofocus": [␊ + "error",␊ + {␊ + "ignoreNonDOM": true␊ + }␊ + ],␊ + "jsx-a11y/no-distracting-elements": [␊ + "error",␊ + {␊ + "elements": [␊ + "marquee",␊ + "blink"␊ + ]␊ + }␊ + ],␊ + "jsx-a11y/no-interactive-element-to-noninteractive-role": [␊ + "error",␊ + {␊ + "tr": [␊ + "none",␊ + "presentation"␊ + ]␊ + }␊ + ],␊ + "jsx-a11y/no-noninteractive-element-interactions": [␊ + "error",␊ + {␊ + "handlers": [␊ + "onClick",␊ + "onMouseDown",␊ + "onMouseUp",␊ + "onKeyPress",␊ + "onKeyDown",␊ + "onKeyUp"␊ + ]␊ + }␊ + ],␊ + "jsx-a11y/no-noninteractive-element-to-interactive-role": [␊ + "error",␊ + {␊ + "ul": [␊ + "listbox",␊ + "menu",␊ + "menubar",␊ + "radiogroup",␊ + "tablist",␊ + "tree",␊ + "treegrid"␊ + ],␊ + "ol": [␊ + "listbox",␊ + "menu",␊ + "menubar",␊ + "radiogroup",␊ + "tablist",␊ + "tree",␊ + "treegrid"␊ + ],␊ + "li": [␊ + "menuitem",␊ + "option",␊ + "row",␊ + "tab",␊ + "treeitem"␊ + ],␊ + "table": [␊ + "grid"␊ + ],␊ + "td": [␊ + "gridcell"␊ + ]␊ + }␊ + ],␊ + "jsx-a11y/no-noninteractive-tabindex": [␊ + "error",␊ + {␊ + "tags": [],␊ + "roles": [␊ + "tabpanel"␊ + ]␊ + }␊ + ],␊ + "jsx-a11y/no-onchange": [␊ + "off"␊ + ],␊ + "jsx-a11y/no-redundant-roles": [␊ + "error"␊ + ],␊ + "jsx-a11y/no-static-element-interactions": [␊ + "error",␊ + {␊ + "handlers": [␊ + "onClick",␊ + "onMouseDown",␊ + "onMouseUp",␊ + "onKeyPress",␊ + "onKeyDown",␊ + "onKeyUp"␊ + ]␊ + }␊ + ],␊ + "jsx-a11y/role-has-required-aria-props": [␊ + "error"␊ + ],␊ + "jsx-a11y/role-supports-aria-props": [␊ + "error"␊ + ],␊ + "jsx-a11y/scope": [␊ + "error"␊ + ],␊ + "jsx-a11y/tabindex-no-positive": [␊ + "error"␊ + ],␊ + "jsx-quotes": [␊ + "off",␊ + "prefer-double"␊ + ],␊ + "key-spacing": [␊ + "off",␊ + {␊ + "beforeColon": false,␊ + "afterColon": true␊ + }␊ + ],␊ + "keyword-spacing": [␊ + "off",␊ + {␊ + "before": true,␊ + "after": true,␊ + "overrides": {␊ + "return": {␊ + "after": true␊ + },␊ + "throw": {␊ + "after": true␊ + },␊ + "case": {␊ + "after": true␊ + }␊ + }␊ + }␊ + ],␊ + "line-comment-position": [␊ + "off",␊ + {␊ + "position": "above",␊ + "ignorePattern": "",␊ + "applyDefaultPatterns": true␊ + }␊ + ],␊ + "linebreak-style": [␊ + "off",␊ + "unix"␊ + ],␊ + "lines-around-comment": [␊ + 0␊ + ],␊ + "lines-around-directive": [␊ + "error",␊ + {␊ + "before": "always",␊ + "after": "always"␊ + }␊ + ],␊ + "lines-between-class-members": [␊ + "warn",␊ + "always",␊ + {␊ + "exceptAfterSingleLine": false␊ + }␊ + ],␊ + "max-classes-per-file": [␊ + "error",␊ + 1␊ + ],␊ + "max-depth": [␊ + "off",␊ + 4␊ + ],␊ + "max-len": [␊ + "off",␊ + 100,␊ + 2,␊ + {␊ + "ignoreUrls": true,␊ + "ignoreComments": false,␊ + "ignoreRegExpLiterals": true,␊ + "ignoreStrings": true,␊ + "ignoreTemplateLiterals": true␊ + }␊ + ],␊ + "max-lines": [␊ + "off",␊ + {␊ + "max": 300,␊ + "skipBlankLines": true,␊ + "skipComments": true␊ + }␊ + ],␊ + "max-lines-per-function": [␊ + "off",␊ + {␊ + "max": 50,␊ + "skipBlankLines": true,␊ + "skipComments": true,␊ + "IIFEs": true␊ + }␊ + ],␊ + "max-nested-callbacks": [␊ + "off"␊ + ],␊ + "max-params": [␊ + "off",␊ + 3␊ + ],␊ + "max-statements": [␊ + "off",␊ + 10␊ + ],␊ + "max-statements-per-line": [␊ + "off",␊ + {␊ + "max": 1␊ + }␊ + ],␊ + "multiline-comment-style": [␊ + "off",␊ + "starred-block"␊ + ],␊ + "multiline-ternary": [␊ + "off",␊ + "never"␊ + ],␊ + "new-cap": [␊ + "error",␊ + {␊ + "newIsCap": true,␊ + "newIsCapExceptions": [],␊ + "capIsNew": false,␊ + "capIsNewExceptions": [␊ + "Immutable.Map",␊ + "Immutable.Set",␊ + "Immutable.List"␊ + ],␊ + "properties": true␊ + }␊ + ],␊ + "new-parens": [␊ + "off"␊ + ],␊ + "newline-after-var": [␊ + "off"␊ + ],␊ + "newline-before-return": [␊ + "off"␊ + ],␊ + "newline-per-chained-call": [␊ + "off",␊ + {␊ + "ignoreChainWithDepth": 4␊ + }␊ + ],␊ + "no-alert": [␊ + "warn"␊ + ],␊ + "no-array-constructor": [␊ + "error"␊ + ],␊ + "no-arrow-condition": [␊ + "off"␊ + ],␊ + "no-async-promise-executor": [␊ + "error"␊ + ],␊ + "no-await-in-loop": [␊ + "error"␊ + ],␊ + "no-bitwise": [␊ + "error"␊ + ],␊ + "no-buffer-constructor": [␊ + "error"␊ + ],␊ + "no-caller": [␊ + "error"␊ + ],␊ + "no-case-declarations": [␊ + "off"␊ + ],␊ + "no-catch-shadow": [␊ + "off"␊ + ],␊ + "no-class-assign": [␊ + "error"␊ + ],␊ + "no-comma-dangle": [␊ + "off"␊ + ],␊ + "no-compare-neg-zero": [␊ + "error"␊ + ],␊ + "no-cond-assign": [␊ + "error",␊ + "always"␊ + ],␊ + "no-confusing-arrow": [␊ + "off",␊ + {␊ + "allowParens": true,␊ + "onlyOneSimpleParam": false␊ + }␊ + ],␊ + "no-console": [␊ + "warn",␊ + {␊ + "allow": [␊ + "error",␊ + "trace",␊ + "time"␊ + ]␊ + }␊ + ],␊ + "no-const-assign": [␊ + "error"␊ + ],␊ + "no-constant-condition": [␊ + "warn"␊ + ],␊ + "no-constructor-return": [␊ + "error"␊ + ],␊ + "no-continue": [␊ + "error"␊ + ],␊ + "no-control-regex": [␊ + "error"␊ + ],␊ + "no-debugger": [␊ + "error"␊ + ],␊ + "no-delete-var": [␊ + "error"␊ + ],␊ + "no-div-regex": [␊ + "off"␊ + ],␊ + "no-dupe-args": [␊ + "error"␊ + ],␊ + "no-dupe-class-members": [␊ + "error"␊ + ],␊ + "no-dupe-else-if": [␊ + "error"␊ + ],␊ + "no-dupe-keys": [␊ + "error"␊ + ],␊ + "no-duplicate-case": [␊ + "error"␊ + ],␊ + "no-duplicate-imports": [␊ + "off"␊ + ],␊ + "no-else-return": [␊ + "off",␊ + {␊ + "allowElseIf": false␊ + }␊ + ],␊ + "no-empty": [␊ + "error"␊ + ],␊ + "no-empty-character-class": [␊ + "error"␊ + ],␊ + "no-empty-function": [␊ + "error",␊ + {␊ + "allow": [␊ + "arrowFunctions",␊ + "functions",␊ + "methods"␊ + ]␊ + }␊ + ],␊ + "no-empty-pattern": [␊ + "error"␊ + ],␊ + "no-eq-null": [␊ + "off"␊ + ],␊ + "no-eval": [␊ + "error"␊ + ],␊ + "no-ex-assign": [␊ + "error"␊ + ],␊ + "no-extend-native": [␊ + "error"␊ + ],␊ + "no-extra-bind": [␊ + "error"␊ + ],␊ + "no-extra-boolean-cast": [␊ + "error"␊ + ],␊ + "no-extra-label": [␊ + "error"␊ + ],␊ + "no-extra-parens": [␊ + "off",␊ + "all",␊ + {␊ + "conditionalAssign": true,␊ + "nestedBinaryExpressions": false,␊ + "returnAssign": false,␊ + "ignoreJSX": "all",␊ + "enforceForArrowConditionals": false␊ + }␊ + ],␊ + "no-extra-semi": [␊ + "off"␊ + ],␊ + "no-fallthrough": [␊ + "error"␊ + ],␊ + "no-floating-decimal": [␊ + "off"␊ + ],␊ + "no-func-assign": [␊ + "error"␊ + ],␊ + "no-global-assign": [␊ + "error",␊ + {␊ + "exceptions": []␊ + }␊ + ],␊ + "no-implicit-coercion": [␊ + "off",␊ + {␊ + "boolean": false,␊ + "number": true,␊ + "string": true,␊ + "allow": []␊ + }␊ + ],␊ + "no-implicit-globals": [␊ + "off"␊ + ],␊ + "no-implied-eval": [␊ + "error"␊ + ],␊ + "no-import-assign": [␊ + "error"␊ + ],␊ + "no-inline-comments": [␊ + "off"␊ + ],␊ + "no-inner-declarations": [␊ + "error"␊ + ],␊ + "no-invalid-regexp": [␊ + "error"␊ + ],␊ + "no-invalid-this": [␊ + "off"␊ + ],␊ + "no-irregular-whitespace": [␊ + "error"␊ + ],␊ + "no-iterator": [␊ + "error"␊ + ],␊ + "no-label-var": [␊ + "error"␊ + ],␊ + "no-labels": [␊ + "error",␊ + {␊ + "allowLoop": false,␊ + "allowSwitch": false␊ + }␊ + ],␊ + "no-lone-blocks": [␊ + "error"␊ + ],␊ + "no-lonely-if": [␊ + "error"␊ + ],␊ + "no-loop-func": [␊ + "error"␊ + ],␊ + "no-loss-of-precision": [␊ + "error"␊ + ],␊ + "no-magic-numbers": [␊ + "off",␊ + {␊ + "ignore": [],␊ + "ignoreArrayIndexes": true,␊ + "enforceConst": true,␊ + "detectObjects": false␊ + }␊ + ],␊ + "no-misleading-character-class": [␊ + "error"␊ + ],␊ + "no-mixed-operators": [␊ + "off",␊ + {␊ + "groups": [␊ + [␊ + "%",␊ + "**"␊ + ],␊ + [␊ + "%",␊ + "+"␊ + ],␊ + [␊ + "%",␊ + "-"␊ + ],␊ + [␊ + "%",␊ + "*"␊ + ],␊ + [␊ + "%",␊ + "/"␊ + ],␊ + [␊ + "/",␊ + "*"␊ + ],␊ + [␊ + "&",␊ + "|",␊ + "<<",␊ + ">>",␊ + ">>>"␊ + ],␊ + [␊ + "==",␊ + "!=",␊ + "===",␊ + "!=="␊ + ],␊ + [␊ + "&&",␊ + "||"␊ + ]␊ + ],␊ + "allowSamePrecedence": false␊ + }␊ + ],␊ + "no-mixed-requires": [␊ + "off",␊ + false␊ + ],␊ + "no-mixed-spaces-and-tabs": [␊ + "off"␊ + ],␊ + "no-multi-assign": [␊ + "error"␊ + ],␊ + "no-multi-spaces": [␊ + "off",␊ + {␊ + "ignoreEOLComments": false␊ + }␊ + ],␊ + "no-multi-str": [␊ + "error"␊ + ],␊ + "no-multiple-empty-lines": [␊ + "off",␊ + {␊ + "max": 1,␊ + "maxBOF": 0,␊ + "maxEOF": 0␊ + }␊ + ],␊ + "no-native-reassign": [␊ + "off"␊ + ],␊ + "no-negated-condition": [␊ + "off"␊ + ],␊ + "no-negated-in-lhs": [␊ + "off"␊ + ],␊ + "no-nested-ternary": [␊ + "error"␊ + ],␊ + "no-new": [␊ + "error"␊ + ],␊ + "no-new-func": [␊ + "error"␊ + ],␊ + "no-new-object": [␊ + "error"␊ + ],␊ + "no-new-require": [␊ + "error"␊ + ],␊ + "no-new-symbol": [␊ + "error"␊ + ],␊ + "no-new-wrappers": [␊ + "error"␊ + ],␊ + "no-nonoctal-decimal-escape": [␊ + "error"␊ + ],␊ + "no-obj-calls": [␊ + "error"␊ + ],␊ + "no-octal": [␊ + "error"␊ + ],␊ + "no-octal-escape": [␊ + "error"␊ + ],␊ + "no-param-reassign": [␊ + "off",␊ + {␊ + "props": true,␊ + "ignorePropertyModificationsFor": [␊ + "acc",␊ + "accumulator",␊ + "e",␊ + "ctx",␊ + "context",␊ + "req",␊ + "request",␊ + "res",␊ + "response",␊ + "$scope",␊ + "staticContext"␊ + ]␊ + }␊ + ],␊ + "no-path-concat": [␊ + "error"␊ + ],␊ + "no-plusplus": [␊ + "off"␊ + ],␊ + "no-process-env": [␊ + "off"␊ + ],␊ + "no-process-exit": [␊ + "off"␊ + ],␊ + "no-promise-executor-return": [␊ + "error"␊ + ],␊ + "no-proto": [␊ + "error"␊ + ],␊ + "no-prototype-builtins": [␊ + "warn"␊ + ],␊ + "no-redeclare": [␊ + "error"␊ + ],␊ + "no-regex-spaces": [␊ + "error"␊ + ],␊ + "no-reserved-keys": [␊ + "off"␊ + ],␊ + "no-restricted-exports": [␊ + "error",␊ + {␊ + "restrictedNamedExports": [␊ + "default",␊ + "then"␊ + ]␊ + }␊ + ],␊ + "no-restricted-globals": [␊ + "error",␊ + {␊ + "name": "isFinite",␊ + "message": "Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite"␊ + },␊ + {␊ + "name": "isNaN",␊ + "message": "Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan"␊ + },␊ + "addEventListener",␊ + "blur",␊ + "close",␊ + "closed",␊ + "confirm",␊ + "defaultStatus",␊ + "defaultstatus",␊ + "event",␊ + "external",␊ + "find",␊ + "focus",␊ + "frameElement",␊ + "frames",␊ + "history",␊ + "innerHeight",␊ + "innerWidth",␊ + "length",␊ + "location",␊ + "locationbar",␊ + "menubar",␊ + "moveBy",␊ + "moveTo",␊ + "name",␊ + "onblur",␊ + "onerror",␊ + "onfocus",␊ + "onload",␊ + "onresize",␊ + "onunload",␊ + "open",␊ + "opener",␊ + "opera",␊ + "outerHeight",␊ + "outerWidth",␊ + "pageXOffset",␊ + "pageYOffset",␊ + "parent",␊ + "print",␊ + "removeEventListener",␊ + "resizeBy",␊ + "resizeTo",␊ + "screen",␊ + "screenLeft",␊ + "screenTop",␊ + "screenX",␊ + "screenY",␊ + "scroll",␊ + "scrollbars",␊ + "scrollBy",␊ + "scrollTo",␊ + "scrollX",␊ + "scrollY",␊ + "self",␊ + "status",␊ + "statusbar",␊ + "stop",␊ + "toolbar",␊ + "top"␊ + ],␊ + "no-restricted-imports": [␊ + "off",␊ + {␊ + "paths": [],␊ + "patterns": []␊ + }␊ + ],␊ + "no-restricted-modules": [␊ + "off"␊ + ],␊ + "no-restricted-properties": [␊ + "error",␊ + {␊ + "object": "arguments",␊ + "property": "callee",␊ + "message": "arguments.callee is deprecated"␊ + },␊ + {␊ + "object": "global",␊ + "property": "isFinite",␊ + "message": "Please use Number.isFinite instead"␊ + },␊ + {␊ + "object": "self",␊ + "property": "isFinite",␊ + "message": "Please use Number.isFinite instead"␊ + },␊ + {␊ + "object": "window",␊ + "property": "isFinite",␊ + "message": "Please use Number.isFinite instead"␊ + },␊ + {␊ + "object": "global",␊ + "property": "isNaN",␊ + "message": "Please use Number.isNaN instead"␊ + },␊ + {␊ + "object": "self",␊ + "property": "isNaN",␊ + "message": "Please use Number.isNaN instead"␊ + },␊ + {␊ + "object": "window",␊ + "property": "isNaN",␊ + "message": "Please use Number.isNaN instead"␊ + },␊ + {␊ + "property": "__defineGetter__",␊ + "message": "Please use Object.defineProperty instead."␊ + },␊ + {␊ + "property": "__defineSetter__",␊ + "message": "Please use Object.defineProperty instead."␊ + },␊ + {␊ + "object": "Math",␊ + "property": "pow",␊ + "message": "Use the exponentiation operator (**) instead."␊ + }␊ + ],␊ + "no-restricted-syntax": [␊ + "error",␊ + {␊ + "selector": "ForInStatement",␊ + "message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array."␊ + },␊ + {␊ + "selector": "ForOfStatement",␊ + "message": "iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations."␊ + },␊ + {␊ + "selector": "LabeledStatement",␊ + "message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."␊ + },␊ + {␊ + "selector": "WithStatement",␊ + "message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize."␊ + }␊ + ],␊ + "no-return-assign": [␊ + "error",␊ + "always"␊ + ],␊ + "no-return-await": [␊ + "error"␊ + ],␊ + "no-script-url": [␊ + "error"␊ + ],␊ + "no-self-assign": [␊ + "error",␊ + {␊ + "props": true␊ + }␊ + ],␊ + "no-self-compare": [␊ + "error"␊ + ],␊ + "no-sequences": [␊ + "error"␊ + ],␊ + "no-setter-return": [␊ + "error"␊ + ],␊ + "no-shadow": [␊ + "warn"␊ + ],␊ + "no-shadow-restricted-names": [␊ + "error"␊ + ],␊ + "no-space-before-semi": [␊ + "off"␊ + ],␊ + "no-spaced-func": [␊ + "off"␊ + ],␊ + "no-sparse-arrays": [␊ + "error"␊ + ],␊ + "no-sync": [␊ + "off"␊ + ],␊ + "no-tabs": [␊ + "off"␊ + ],␊ + "no-template-curly-in-string": [␊ + "error"␊ + ],␊ + "no-ternary": [␊ + "off"␊ + ],␊ + "no-this-before-super": [␊ + "error"␊ + ],␊ + "no-throw-literal": [␊ + "error"␊ + ],␊ + "no-trailing-spaces": [␊ + "off",␊ + {␊ + "skipBlankLines": false,␊ + "ignoreComments": false␊ + }␊ + ],␊ + "no-undef": [␊ + "error"␊ + ],␊ + "no-undef-init": [␊ + "error"␊ + ],␊ + "no-undefined": [␊ + "warn"␊ + ],␊ + "no-underscore-dangle": [␊ + "error",␊ + {␊ + "allow": [],␊ + "allowAfterThis": false,␊ + "allowAfterSuper": false,␊ + "enforceInMethodNames": true,␊ + "allowAfterThisConstructor": false,␊ + "allowFunctionParams": true,␊ + "enforceInClassFields": false,␊ + "allowInArrayDestructuring": true,␊ + "allowInObjectDestructuring": true␊ + }␊ + ],␊ + "no-unexpected-multiline": [␊ + "off"␊ + ],␊ + "no-unmodified-loop-condition": [␊ + "off"␊ + ],␊ + "no-unneeded-ternary": [␊ + "error",␊ + {␊ + "defaultAssignment": false␊ + }␊ + ],␊ + "no-unreachable": [␊ + "error"␊ + ],␊ + "no-unreachable-loop": [␊ + "error",␊ + {␊ + "ignore": []␊ + }␊ + ],␊ + "no-unsafe-finally": [␊ + "error"␊ + ],␊ + "no-unsafe-negation": [␊ + "error"␊ + ],␊ + "no-unsafe-optional-chaining": [␊ + "error",␊ + {␊ + "disallowArithmeticOperators": true␊ + }␊ + ],␊ + "no-unused-expressions": [␊ + "off",␊ + {␊ + "allowShortCircuit": false,␊ + "allowTernary": false,␊ + "allowTaggedTemplates": false,␊ + "enforceForJSX": false␊ + }␊ + ],␊ + "no-unused-labels": [␊ + "error"␊ + ],␊ + "no-unused-private-class-members": [␊ + "off"␊ + ],␊ + "no-unused-vars": [␊ + "error",␊ + {␊ + "vars": "all",␊ + "args": "after-used",␊ + "ignoreRestSiblings": true␊ + }␊ + ],␊ + "no-use-before-define": [␊ + "error",␊ + {␊ + "functions": false,␊ + "classes": true,␊ + "variables": true␊ + }␊ + ],␊ + "no-useless-backreference": [␊ + "error"␊ + ],␊ + "no-useless-call": [␊ + "off"␊ + ],␊ + "no-useless-catch": [␊ + "error"␊ + ],␊ + "no-useless-computed-key": [␊ + "error"␊ + ],␊ + "no-useless-concat": [␊ + "error"␊ + ],␊ + "no-useless-constructor": [␊ + "error"␊ + ],␊ + "no-useless-escape": [␊ + "error"␊ + ],␊ + "no-useless-rename": [␊ + "error",␊ + {␊ + "ignoreDestructuring": false,␊ + "ignoreImport": false,␊ + "ignoreExport": false␊ + }␊ + ],␊ + "no-useless-return": [␊ + "error"␊ + ],␊ + "no-var": [␊ + "error"␊ + ],␊ + "no-void": [␊ + "error"␊ + ],␊ + "no-warning-comments": [␊ + "warn",␊ + {␊ + "terms": [␊ + "FIXME",␊ + "TODO",␊ + "TO-DO",␊ + "HACK",␊ + "HERE BE DRAGONS"␊ + ],␊ + "location": "anywhere"␊ + }␊ + ],␊ + "no-whitespace-before-property": [␊ + "off"␊ + ],␊ + "no-with": [␊ + "error"␊ + ],␊ + "no-wrap-func": [␊ + "off"␊ + ],␊ + "nonblock-statement-body-position": [␊ + "off",␊ + "beside",␊ + {␊ + "overrides": {}␊ + }␊ + ],␊ + "object-curly-newline": [␊ + "off",␊ + {␊ + "ObjectExpression": {␊ + "minProperties": 4,␊ + "multiline": true,␊ + "consistent": true␊ + },␊ + "ObjectPattern": {␊ + "minProperties": 4,␊ + "multiline": true,␊ + "consistent": true␊ + },␊ + "ImportDeclaration": {␊ + "minProperties": 4,␊ + "multiline": true,␊ + "consistent": true␊ + },␊ + "ExportDeclaration": {␊ + "minProperties": 4,␊ + "multiline": true,␊ + "consistent": true␊ + }␊ + }␊ + ],␊ + "object-curly-spacing": [␊ + "off",␊ + "always"␊ + ],␊ + "object-property-newline": [␊ + "off",␊ + {␊ + "allowAllPropertiesOnSameLine": true,␊ + "allowMultiplePropertiesPerLine": false␊ + }␊ + ],␊ + "object-shorthand": [␊ + "error",␊ + "always",␊ + {␊ + "ignoreConstructors": false,␊ + "avoidQuotes": true␊ + }␊ + ],␊ + "one-var": [␊ + "error",␊ + "never"␊ + ],␊ + "one-var-declaration-per-line": [␊ + "off",␊ + "always"␊ + ],␊ + "operator-assignment": [␊ + "error",␊ + "always"␊ + ],␊ + "operator-linebreak": [␊ + "off",␊ + "before",␊ + {␊ + "overrides": {␊ + "=": "none"␊ + }␊ + }␊ + ],␊ + "padded-blocks": [␊ + "off",␊ + {␊ + "blocks": "never",␊ + "classes": "never",␊ + "switches": "never"␊ + },␊ + {␊ + "allowSingleLineBlocks": true␊ + }␊ + ],␊ + "padding-line-between-statements": [␊ + "off"␊ + ],␊ + "prefer-arrow-callback": [␊ + "off",␊ + {␊ + "allowNamedFunctions": false,␊ + "allowUnboundThis": true␊ + }␊ + ],␊ + "prefer-const": [␊ + "warn",␊ + {␊ + "destructuring": "any",␊ + "ignoreReadBeforeAssign": true␊ + }␊ + ],␊ + "prefer-destructuring": [␊ + "off",␊ + {␊ + "VariableDeclarator": {␊ + "array": false,␊ + "object": true␊ + },␊ + "AssignmentExpression": {␊ + "array": true,␊ + "object": false␊ + }␊ + },␊ + {␊ + "enforceForRenamedProperties": false␊ + }␊ + ],␊ + "prefer-exponentiation-operator": [␊ + "error"␊ + ],␊ + "prefer-named-capture-group": [␊ + "off"␊ + ],␊ + "prefer-numeric-literals": [␊ + "error"␊ + ],␊ + "prefer-object-spread": [␊ + "error"␊ + ],␊ + "prefer-promise-reject-errors": [␊ + "error",␊ + {␊ + "allowEmptyReject": true␊ + }␊ + ],␊ + "prefer-reflect": [␊ + "off"␊ + ],␊ + "prefer-regex-literals": [␊ + "error",␊ + {␊ + "disallowRedundantWrapping": true␊ + }␊ + ],␊ + "prefer-rest-params": [␊ + "error"␊ + ],␊ + "prefer-spread": [␊ + "error"␊ + ],␊ + "prefer-template": [␊ + "error"␊ + ],␊ + "prettier/prettier": [␊ + "warn",␊ + {␊ + "arrowParens": "always",␊ + "printWidth": 120,␊ + "semi": false,␊ + "singleQuote": true␊ + }␊ + ],␊ + "promise/always-return": [␊ + "warn"␊ + ],␊ + "promise/avoid-new": [␊ + "warn"␊ + ],␊ + "promise/catch-or-return": [␊ + "warn",␊ + {␊ + "allowFinally": true␊ + }␊ + ],␊ + "promise/no-callback-in-promise": [␊ + "warn"␊ + ],␊ + "promise/no-native": [␊ + "off"␊ + ],␊ + "promise/no-nesting": [␊ + "warn"␊ + ],␊ + "promise/no-new-statics": [␊ + "warn"␊ + ],␊ + "promise/no-promise-in-callback": [␊ + "warn"␊ + ],␊ + "promise/no-return-in-finally": [␊ + "warn"␊ + ],␊ + "promise/no-return-wrap": [␊ + "warn"␊ + ],␊ + "promise/param-names": [␊ + "warn"␊ + ],␊ + "promise/valid-params": [␊ + "warn"␊ + ],␊ + "quote-props": [␊ + "off",␊ + "as-needed",␊ + {␊ + "keywords": false,␊ + "unnecessary": true,␊ + "numbers": false␊ + }␊ + ],␊ + "quotes": [␊ + "off",␊ + "single",␊ + {␊ + "avoidEscape": true␊ + }␊ + ],␊ + "radix": [␊ + "error"␊ + ],␊ + "react-hooks/exhaustive-deps": [␊ + "warn"␊ + ],␊ + "react-hooks/rules-of-hooks": [␊ + "error"␊ + ],␊ + "react/boolean-prop-naming": [␊ + "off",␊ + {␊ + "propTypeNames": [␊ + "bool",␊ + "mutuallyExclusiveTrueProps"␊ + ],␊ + "rule": "^(is|has)[A-Z]([A-Za-z0-9]?)+",␊ + "message": ""␊ + }␊ + ],␊ + "react/button-has-type": [␊ + "error",␊ + {␊ + "button": true,␊ + "submit": true,␊ + "reset": false␊ + }␊ + ],␊ + "react/default-props-match-prop-types": [␊ + "error",␊ + {␊ + "allowRequiredDefaults": false␊ + }␊ + ],␊ + "react/destructuring-assignment": [␊ + "error",␊ + "always"␊ + ],␊ + "react/display-name": [␊ + "off",␊ + {␊ + "ignoreTranspilerName": false␊ + }␊ + ],␊ + "react/forbid-component-props": [␊ + "off",␊ + {␊ + "forbid": []␊ + }␊ + ],␊ + "react/forbid-dom-props": [␊ + "off",␊ + {␊ + "forbid": []␊ + }␊ + ],␊ + "react/forbid-elements": [␊ + "off",␊ + {␊ + "forbid": []␊ + }␊ + ],␊ + "react/forbid-foreign-prop-types": [␊ + "warn",␊ + {␊ + "allowInPropTypes": true␊ + }␊ + ],␊ + "react/forbid-prop-types": [␊ + "error",␊ + {␊ + "forbid": [␊ + "any",␊ + "array",␊ + "object"␊ + ],␊ + "checkContextTypes": true,␊ + "checkChildContextTypes": true␊ + }␊ + ],␊ + "react/function-component-definition": [␊ + "off",␊ + {␊ + "namedComponents": [␊ + "function-declaration",␊ + "function-expression"␊ + ],␊ + "unnamedComponents": "function-expression"␊ + }␊ + ],␊ + "react/jsx-boolean-value": [␊ + "error",␊ + "never",␊ + {␊ + "always": []␊ + }␊ + ],␊ + "react/jsx-child-element-spacing": [␊ + "off"␊ + ],␊ + "react/jsx-closing-bracket-location": [␊ + "off",␊ + "line-aligned"␊ + ],␊ + "react/jsx-closing-tag-location": [␊ + "off"␊ + ],␊ + "react/jsx-curly-brace-presence": [␊ + "error",␊ + {␊ + "props": "never",␊ + "children": "never"␊ + }␊ + ],␊ + "react/jsx-curly-newline": [␊ + "off",␊ + {␊ + "multiline": "consistent",␊ + "singleline": "consistent"␊ + }␊ + ],␊ + "react/jsx-curly-spacing": [␊ + "off",␊ + "never",␊ + {␊ + "allowMultiline": true␊ + }␊ + ],␊ + "react/jsx-equals-spacing": [␊ + "off",␊ + "never"␊ + ],␊ + "react/jsx-filename-extension": [␊ + "off",␊ + {␊ + "extensions": [␊ + ".jsx"␊ + ]␊ + }␊ + ],␊ + "react/jsx-first-prop-new-line": [␊ + "off",␊ + "multiline-multiprop"␊ + ],␊ + "react/jsx-fragments": [␊ + "error",␊ + "syntax"␊ + ],␊ + "react/jsx-handler-names": [␊ + "off",␊ + {␊ + "eventHandlerPrefix": "handle",␊ + "eventHandlerPropPrefix": "on"␊ + }␊ + ],␊ + "react/jsx-indent": [␊ + "off",␊ + 2␊ + ],␊ + "react/jsx-indent-props": [␊ + "off",␊ + 2␊ + ],␊ + "react/jsx-key": [␊ + "off"␊ + ],␊ + "react/jsx-max-depth": [␊ + "off"␊ + ],␊ + "react/jsx-max-props-per-line": [␊ + "off",␊ + {␊ + "maximum": 1,␊ + "when": "multiline"␊ + }␊ + ],␊ + "react/jsx-newline": [␊ + "off"␊ + ],␊ + "react/jsx-no-bind": [␊ + "error",␊ + {␊ + "ignoreRefs": true,␊ + "allowArrowFunctions": true,␊ + "allowFunctions": false,␊ + "allowBind": false,␊ + "ignoreDOMComponents": true␊ + }␊ + ],␊ + "react/jsx-no-comment-textnodes": [␊ + "error"␊ + ],␊ + "react/jsx-no-constructed-context-values": [␊ + "error"␊ + ],␊ + "react/jsx-no-duplicate-props": [␊ + "error",␊ + {␊ + "ignoreCase": true␊ + }␊ + ],␊ + "react/jsx-no-literals": [␊ + "off",␊ + {␊ + "noStrings": true␊ + }␊ + ],␊ + "react/jsx-no-script-url": [␊ + "error",␊ + [␊ + {␊ + "name": "Link",␊ + "props": [␊ + "to"␊ + ]␊ + }␊ + ]␊ + ],␊ + "react/jsx-no-target-blank": [␊ + "error",␊ + {␊ + "enforceDynamicLinks": "always",␊ + "links": true,␊ + "forms": false␊ + }␊ + ],␊ + "react/jsx-no-undef": [␊ + "error"␊ + ],␊ + "react/jsx-no-useless-fragment": [␊ + "error",␊ + {␊ + "allowExpressions": true␊ + }␊ + ],␊ + "react/jsx-one-expression-per-line": [␊ + "off",␊ + {␊ + "allow": "single-child"␊ + }␊ ],␊ - "new-parens": [␊ - "off"␊ + "react/jsx-pascal-case": [␊ + "error",␊ + {␊ + "allowAllCaps": true,␊ + "ignore": []␊ + }␊ ],␊ - "newline-per-chained-call": [␊ + "react/jsx-props-no-multi-spaces": [␊ "off"␊ ],␊ - "no-arrow-condition": [␊ - "off"␊ + "react/jsx-props-no-spreading": [␊ + "off",␊ + {␊ + "html": "enforce",␊ + "custom": "enforce",␊ + "explicitSpread": "ignore",␊ + "exceptions": []␊ + }␊ ],␊ - "no-case-declarations": [␊ - "off"␊ + "react/jsx-sort-default-props": [␊ + "off",␊ + {␊ + "ignoreCase": true␊ + }␊ ],␊ - "no-comma-dangle": [␊ + "react/jsx-sort-prop-types": [␊ "off"␊ ],␊ - "no-confusing-arrow": [␊ - "off"␊ + "react/jsx-sort-props": [␊ + "off",␊ + {␊ + "ignoreCase": true,␊ + "callbacksLast": false,␊ + "shorthandFirst": false,␊ + "shorthandLast": false,␊ + "noSortAlphabetically": false,␊ + "reservedFirst": true␊ + }␊ ],␊ - "no-console": [␊ - "warn"␊ + "react/jsx-space-before-closing": [␊ + "off",␊ + "always"␊ ],␊ - "no-else-return": [␊ - "off"␊ + "react/jsx-tag-spacing": [␊ + "off",␊ + {␊ + "closingSlash": "never",␊ + "beforeSelfClosing": "always",␊ + "afterOpening": "never",␊ + "beforeClosing": "never"␊ + }␊ ],␊ - "no-extra-parens": [␊ - "off"␊ + "react/jsx-uses-react": [␊ + "error"␊ ],␊ - "no-extra-semi": [␊ - "off"␊ + "react/jsx-uses-vars": [␊ + "error"␊ ],␊ - "no-floating-decimal": [␊ - "off"␊ + "react/jsx-wrap-multilines": [␊ + "off",␊ + {␊ + "declaration": "parens-new-line",␊ + "assignment": "parens-new-line",␊ + "return": "parens-new-line",␊ + "arrow": "parens-new-line",␊ + "condition": "parens-new-line",␊ + "logical": "parens-new-line",␊ + "prop": "parens-new-line"␊ + }␊ ],␊ - "no-invalid-this": [␊ - "off"␊ + "react/no-access-state-in-setstate": [␊ + "error"␊ ],␊ - "no-mixed-operators": [␊ + "react/no-adjacent-inline-elements": [␊ "off"␊ ],␊ - "no-mixed-spaces-and-tabs": [␊ - "off"␊ + "react/no-array-index-key": [␊ + "error"␊ ],␊ - "no-multi-spaces": [␊ - "off"␊ + "react/no-arrow-function-lifecycle": [␊ + "error"␊ ],␊ - "no-multiple-empty-lines": [␊ - "off"␊ + "react/no-children-prop": [␊ + "error"␊ ],␊ - "no-prototype-builtins": [␊ + "react/no-danger": [␊ "warn"␊ ],␊ - "no-reserved-keys": [␊ - "off"␊ + "react/no-danger-with-children": [␊ + "error"␊ ],␊ - "no-shadow": [␊ - "warn"␊ + "react/no-deprecated": [␊ + "error"␊ ],␊ - "no-space-before-semi": [␊ + "react/no-did-mount-set-state": [␊ "off"␊ ],␊ - "no-spaced-func": [␊ - "off"␊ + "react/no-did-update-set-state": [␊ + "error"␊ ],␊ - "no-tabs": [␊ + "react/no-direct-mutation-state": [␊ "off"␊ ],␊ - "no-trailing-spaces": [␊ - "off"␊ + "react/no-find-dom-node": [␊ + "error"␊ ],␊ - "no-undefined": [␊ - "warn"␊ + "react/no-invalid-html-attribute": [␊ + "error"␊ ],␊ - "no-unexpected-multiline": [␊ + "react/no-is-mounted": [␊ + "error"␊ + ],␊ + "react/no-multi-comp": [␊ "off"␊ ],␊ - "no-warning-comments": [␊ - "warn",␊ - {␊ - "terms": [␊ - "FIXME",␊ - "TODO",␊ - "TO-DO",␊ - "HACK",␊ - "HERE BE DRAGONS"␊ - ],␊ - "location": "anywhere"␊ - }␊ + "react/no-namespace": [␊ + "error"␊ ],␊ - "no-whitespace-before-property": [␊ - "off"␊ + "react/no-redundant-should-component-update": [␊ + "error"␊ ],␊ - "no-wrap-func": [␊ - "off"␊ + "react/no-render-return-value": [␊ + "error"␊ ],␊ - "nonblock-statement-body-position": [␊ + "react/no-set-state": [␊ "off"␊ ],␊ - "object-curly-newline": [␊ - "off"␊ + "react/no-string-refs": [␊ + "error"␊ ],␊ - "object-curly-spacing": [␊ - "off"␊ + "react/no-this-in-sfc": [␊ + "error"␊ ],␊ - "object-property-newline": [␊ - "off"␊ + "react/no-typos": [␊ + "error"␊ ],␊ - "one-var-declaration-per-line": [␊ - "off"␊ + "react/no-unescaped-entities": [␊ + "error"␊ ],␊ - "operator-linebreak": [␊ + "react/no-unknown-property": [␊ "off"␊ ],␊ - "padded-blocks": [␊ + "react/no-unsafe": [␊ "off"␊ ],␊ - "prefer-arrow-callback": [␊ - "off"␊ + "react/no-unstable-nested-components": [␊ + "error"␊ ],␊ - "prefer-const": [␊ - "warn"␊ + "react/no-unused-class-component-methods": [␊ + "error"␊ ],␊ - "prettier/prettier": [␊ - "warn",␊ + "react/no-unused-prop-types": [␊ + "error",␊ {␊ - "arrowParens": "always",␊ - "printWidth": 120,␊ - "semi": false,␊ - "singleQuote": true␊ + "customValidators": [],␊ + "skipShapeProps": true␊ }␊ ],␊ - "promise/always-return": [␊ - "warn"␊ + "react/no-unused-state": [␊ + "error"␊ ],␊ - "promise/avoid-new": [␊ - "warn"␊ + "react/no-will-update-set-state": [␊ + "error"␊ ],␊ - "promise/catch-or-return": [␊ - "warn",␊ - {␊ - "allowFinally": true␊ - }␊ + "react/prefer-es6-class": [␊ + "error",␊ + "always"␊ ],␊ - "promise/no-callback-in-promise": [␊ - "warn"␊ + "react/prefer-exact-props": [␊ + "error"␊ ],␊ - "promise/no-native": [␊ + "react/prefer-read-only-props": [␊ "off"␊ ],␊ - "promise/no-nesting": [␊ - "warn"␊ - ],␊ - "promise/no-new-statics": [␊ - "warn"␊ - ],␊ - "promise/no-promise-in-callback": [␊ - "warn"␊ - ],␊ - "promise/no-return-in-finally": [␊ - "warn"␊ - ],␊ - "promise/no-return-wrap": [␊ - "warn"␊ - ],␊ - "promise/param-names": [␊ - "warn"␊ - ],␊ - "promise/valid-params": [␊ - "warn"␊ - ],␊ - "quote-props": [␊ - "off"␊ + "react/prefer-stateless-function": [␊ + "error",␊ + {␊ + "ignorePureComponents": true␊ + }␊ ],␊ - "quotes": [␊ - "off"␊ + "react/prop-types": [␊ + "off",␊ + {␊ + "ignore": [],␊ + "customValidators": [],␊ + "skipUndeclared": false␊ + }␊ ],␊ - "react/jsx-child-element-spacing": [␊ - "off"␊ + "react/react-in-jsx-scope": [␊ + "error"␊ ],␊ - "react/jsx-closing-bracket-location": [␊ - "off"␊ + "react/require-default-props": [␊ + "off",␊ + {␊ + "forbidDefaultForRequired": true␊ + }␊ ],␊ - "react/jsx-closing-tag-location": [␊ - "off"␊ + "react/require-optimization": [␊ + "off",␊ + {␊ + "allowDecorators": []␊ + }␊ ],␊ - "react/jsx-curly-newline": [␊ - "off"␊ + "react/require-render-return": [␊ + "error"␊ ],␊ - "react/jsx-curly-spacing": [␊ - "off"␊ + "react/self-closing-comp": [␊ + "error"␊ ],␊ - "react/jsx-equals-spacing": [␊ - "off"␊ + "react/sort-comp": [␊ + "error",␊ + {␊ + "order": [␊ + "static-variables",␊ + "static-methods",␊ + "instance-variables",␊ + "lifecycle",␊ + "/^handle.+$/",␊ + "/^on.+$/",␊ + "getters",␊ + "setters",␊ + "/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/",␊ + "instance-methods",␊ + "everything-else",␊ + "rendering"␊ + ],␊ + "groups": {␊ + "lifecycle": [␊ + "displayName",␊ + "propTypes",␊ + "contextTypes",␊ + "childContextTypes",␊ + "mixins",␊ + "statics",␊ + "defaultProps",␊ + "constructor",␊ + "getDefaultProps",␊ + "getInitialState",␊ + "state",␊ + "getChildContext",␊ + "getDerivedStateFromProps",␊ + "componentWillMount",␊ + "UNSAFE_componentWillMount",␊ + "componentDidMount",␊ + "componentWillReceiveProps",␊ + "UNSAFE_componentWillReceiveProps",␊ + "shouldComponentUpdate",␊ + "componentWillUpdate",␊ + "UNSAFE_componentWillUpdate",␊ + "getSnapshotBeforeUpdate",␊ + "componentDidUpdate",␊ + "componentDidCatch",␊ + "componentWillUnmount"␊ + ],␊ + "rendering": [␊ + "/^render.+$/",␊ + "render"␊ + ]␊ + }␊ + }␊ ],␊ - "react/jsx-first-prop-new-line": [␊ - "off"␊ + "react/sort-prop-types": [␊ + "off",␊ + {␊ + "ignoreCase": true,␊ + "callbacksLast": false,␊ + "requiredFirst": false,␊ + "sortShapeProp": true␊ + }␊ ],␊ - "react/jsx-indent": [␊ - "off"␊ + "react/state-in-constructor": [␊ + "error",␊ + "always"␊ ],␊ - "react/jsx-indent-props": [␊ - "off"␊ + "react/static-property-placement": [␊ + "error",␊ + "property assignment"␊ ],␊ - "react/jsx-max-props-per-line": [␊ - "off"␊ + "react/style-prop-object": [␊ + "error"␊ ],␊ - "react/jsx-newline": [␊ - "off"␊ + "react/void-dom-elements-no-children": [␊ + "error"␊ ],␊ - "react/jsx-one-expression-per-line": [␊ + "require-atomic-updates": [␊ "off"␊ ],␊ - "react/jsx-props-no-multi-spaces": [␊ + "require-await": [␊ "off"␊ ],␊ - "react/jsx-space-before-closing": [␊ + "require-jsdoc": [␊ "off"␊ ],␊ - "react/jsx-tag-spacing": [␊ + "require-unicode-regexp": [␊ "off"␊ ],␊ - "react/jsx-wrap-multilines": [␊ - "off"␊ + "require-yield": [␊ + "error"␊ ],␊ "rest-spread-spacing": [␊ - "off"␊ + "off",␊ + "never"␊ ],␊ "semi": [␊ - "off"␊ + "off",␊ + "always"␊ ],␊ "semi-spacing": [␊ - "off"␊ + "off",␊ + {␊ + "before": false,␊ + "after": true␊ + }␊ ],␊ "semi-style": [␊ - "off"␊ + "off",␊ + "last"␊ ],␊ "sonarjs/cognitive-complexity": [␊ "warn",␊ @@ -698,6 +2865,31 @@ Generated by [AVA](https://ava.li). "sonarjs/prefer-while": [␊ "warn"␊ ],␊ + "sort-imports": [␊ + "off",␊ + {␊ + "ignoreCase": false,␊ + "ignoreDeclarationSort": false,␊ + "ignoreMemberSort": false,␊ + "memberSyntaxSortOrder": [␊ + "none",␊ + "all",␊ + "multiple",␊ + "single"␊ + ]␊ + }␊ + ],␊ + "sort-keys": [␊ + "off",␊ + "asc",␊ + {␊ + "caseSensitive": false,␊ + "natural": true␊ + }␊ + ],␊ + "sort-vars": [␊ + "off"␊ + ],␊ "space-after-function-name": [␊ "off"␊ ],␊ @@ -708,7 +2900,12 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "space-before-function-paren": [␊ - "off"␊ + "off",␊ + {␊ + "anonymous": "always",␊ + "named": "never",␊ + "asyncArrow": "always"␊ + }␊ ],␊ "space-before-function-parentheses": [␊ "off"␊ @@ -720,7 +2917,8 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "space-in-parens": [␊ - "off"␊ + "off",␊ + "never"␊ ],␊ "space-infix-ops": [␊ "off"␊ @@ -729,11 +2927,46 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "space-unary-ops": [␊ - "off"␊ + "off",␊ + {␊ + "words": true,␊ + "nonwords": false,␊ + "overrides": {}␊ + }␊ ],␊ "space-unary-word-ops": [␊ "off"␊ ],␊ + "spaced-comment": [␊ + "error",␊ + "always",␊ + {␊ + "line": {␊ + "exceptions": [␊ + "-",␊ + "+"␊ + ],␊ + "markers": [␊ + "=",␊ + "!",␊ + "/"␊ + ]␊ + },␊ + "block": {␊ + "exceptions": [␊ + "-",␊ + "+"␊ + ],␊ + "markers": [␊ + "=",␊ + "!",␊ + ":",␊ + "::"␊ + ],␊ + "balanced": true␊ + }␊ + }␊ + ],␊ "standard/array-bracket-even-spacing": [␊ "off"␊ ],␊ @@ -743,14 +2976,26 @@ Generated by [AVA](https://ava.li). "standard/object-curly-even-spacing": [␊ "off"␊ ],␊ + "strict": [␊ + "error",␊ + "never"␊ + ],␊ "switch-colon-spacing": [␊ - "off"␊ + "off",␊ + {␊ + "after": true,␊ + "before": false␊ + }␊ + ],␊ + "symbol-description": [␊ + "error"␊ ],␊ "template-curly-spacing": [␊ "off"␊ ],␊ "template-tag-spacing": [␊ - "off"␊ + "off",␊ + "never"␊ ],␊ "test-selectors/anchor": [␊ "warn",␊ @@ -816,7 +3061,8 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "unicode-bom": [␊ - "off"␊ + "off",␊ + "never"␊ ],␊ "unicorn/empty-brace-spaces": [␊ "off"␊ @@ -827,9 +3073,21 @@ Generated by [AVA](https://ava.li). "unicorn/number-literal-case": [␊ "off"␊ ],␊ + "use-isnan": [␊ + "error"␊ + ],␊ "valid-jsdoc": [␊ "warn"␊ ],␊ + "valid-typeof": [␊ + "error",␊ + {␊ + "requireStringLiterals": true␊ + }␊ + ],␊ + "vars-on-top": [␊ + "error"␊ + ],␊ "vue/array-bracket-newline": [␊ "off"␊ ],␊ @@ -945,16 +3203,65 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "wrap-iife": [␊ - "off"␊ + "off",␊ + "outside",␊ + {␊ + "functionPrototypeMethods": false␊ + }␊ ],␊ "wrap-regex": [␊ "off"␊ ],␊ "yield-star-spacing": [␊ - "off"␊ + "off",␊ + "after"␊ + ],␊ + "yoda": [␊ + "error"␊ + ]␊ + },␊ + "settings": {␊ + "import/extensions": [␊ + ".ts",␊ + ".tsx",␊ + ".js",␊ + ".jsx"␊ + ],␊ + "import/external-module-folders": [␊ + "node_modules",␊ + "node_modules/@types"␊ + ],␊ + "import/parsers": {␊ + "@typescript-eslint/parser": [␊ + ".ts",␊ + ".tsx"␊ + ]␊ + },␊ + "import/resolver": {␊ + "node": {␊ + "extensions": [␊ + ".ts",␊ + ".tsx",␊ + ".js",␊ + ".jsx"␊ + ]␊ + }␊ + },␊ + "import/core-modules": [],␊ + "import/ignore": [␊ + "node_modules",␊ + "\\\\.(coffee|scss|css|less|hbs|svg|json)$"␊ + ],␊ + "react": {␊ + "pragma": "React",␊ + "version": "detect"␊ + },␊ + "propWrapperFunctions": [␊ + "forbidExtraProps",␊ + "exact",␊ + "Object.freeze"␊ ]␊ },␊ - "settings": {},␊ "ignorePatterns": []␊ }` @@ -969,6 +3276,7 @@ Generated by [AVA](https://ava.li). 11:1 warning Unexpected 'TODO' comment: 'todo: Add documentation' no-warning-comments␊ 12:1 warning Unexpected 'HACK' comment: 'Hack: Note that these work, regardless...' no-warning-comments␊ 13:1 warning Unexpected 'HERE BE DRAGONS' comment: 'Here be Dragons' no-warning-comments␊ + 15:10 error 'functionWithoutJSDocWarningsBecauseTheSectionWasCompletelyExcluded' is defined but never used no-unused-vars␊ 20:1 warning Remove the @description tag to leave a plain block description or add additional description text above the @description line jsdoc/require-description␊ 20:1 warning JSDoc @returns declaration present but return expression not available in function jsdoc/require-returns-check␊ 20:1 warning JSDoc type missing brace valid-jsdoc␊ @@ -980,25 +3288,42 @@ Generated by [AVA](https://ava.li). 24:1 warning Missing JSDoc @param "b" type jsdoc/require-param-type␊ 25:1 warning Missing JSDoc @returns description jsdoc/require-returns-description␊ 25:1 warning Missing JSDoc @returns type jsdoc/require-returns-type␊ + 27:71 error 'params' is defined but never used no-unused-vars␊ 29:19 warning Avoid creating new promises promise/avoid-new␊ 31:1 warning Expected catch() or return promise/catch-or-return␊ + 31:17 error 'a' is defined but never used no-unused-vars␊ + 31:20 error Expected to return a value at the end of arrow function consistent-return␊ 32:3 warning Each then() should return a value or throw promise/always-return␊ + 32:7 warning Unexpected constant condition no-constant-condition␊ 33:5 warning Avoid wrapping return values in Promise.resolve promise/no-return-wrap␊ + 35:5 error 'forgotToDefine' is not defined no-undef␊ + 39:7 error 'variable' is assigned a value but never used no-unused-vars␊ 39:18 warning This conditional operation returns the same value whether the condition is "true" or "false" sonarjs/no-all-duplicated-branches␊ + 39:18 error Unnecessary use of boolean literals in conditional expression no-unneeded-ternary␊ + 39:18 warning Unexpected constant condition no-constant-condition␊ 42:7 warning Correct one of the identical sub-expressions on both sides of operator "&&" sonarjs/no-identical-expressions␊ 42:18 warning Unexpected use of undefined no-undefined␊ 42:42 warning Unexpected use of undefined no-undefined␊ + 42:55 error 'params' is not defined no-undef␊ 43:5 warning This function expects 1 argument, but 2 were provided sonarjs/no-extra-arguments␊ 44:30 error Module path/to/legacyModule is deprecated. Use module x instead deprecate/import␊ + 44:30 error Unexpected require() global-require␊ + 44:38 error Unable to resolve path to module 'path/to/legacyModule' import/no-unresolved␊ 46:5 error Function deprecatedFunction is deprecated. Use function x from package y instead deprecate/function␊ + 46:5 error 'deprecatedFunction' is not defined no-undef␊ 48:5 error Member expression $.each is deprecated. Use native forEach instead deprecate/member-expression␊ + 48:5 error '$' is not defined no-undef␊ + 50:5 error Unexpected 'debugger' statement no-debugger␊ + 50:5 error Unreachable code no-unreachable␊ 64:10 warning Update this function so that its implementation is not identical to the one on line 56 sonarjs/no-identical-functions␊ 72:1 warning Remove this conditional structure or edit its code blocks so that they're not all the same sonarjs/no-all-duplicated-branches␊ 72:5 warning This always evaluates to truthy. Consider refactoring this code sonarjs/no-gratuitous-expressions␊ + 72:5 warning Unexpected constant condition no-constant-condition␊ 79:1 warning Reduce the number of non-empty switch cases from 11 to at most 10 sonarjs/max-switch-cases␊ 83:5 warning Expected a default case default-case␊ 83:5 warning Refactor the code to eliminate this nested "switch" sonarjs/no-nested-switch␊ 88:7 error This case's code block is the same as the block for the case on line 84 sonarjs/no-duplicated-branches␊ + 88:7 error Duplicate case label no-duplicate-case␊ 118:1 warning Invalid JSDoc tag name "note" jsdoc/check-tag-names␊ ␊ example.json␊ @@ -1010,17 +3335,24 @@ Generated by [AVA](https://ava.li). 6:20 error Trailing comma json/trailing-comma␊ 8:3 error End of file expected json/undefined␊ ␊ + example.test.html␊ + 2:3 error Unexpected var, use let or const instead no-var␊ + 2:3 error Expected 1 empty line after require statement not followed by another require import/newline-after-import␊ + 2:22 error Unable to resolve path to module 'chai' import/no-unresolved␊ + 3:3 error Unexpected var, use let or const instead no-var␊ + ␊ test/lint-output.js␊ 14:7 warning Unexpected console statement no-console␊ ␊ /home/vetaz/fs-webdev/eslint-config-tree/format-config.js␊ - 7:40 warning Delete `;` prettier/prettier␊ - 8:41 warning Delete `;` prettier/prettier␊ - 9:13 warning Delete `;` prettier/prettier␊ - 11:2 warning Delete `;` prettier/prettier␊ - 18:96 warning Delete `;` prettier/prettier␊ - 20:2 warning Delete `;` prettier/prettier␊ + test/snapshots/new-lint-final-config.json` import/order␊ + 7:40 warning Delete `;` prettier/prettier␊ + 8:41 warning Delete `;` prettier/prettier␊ + 9:13 warning Delete `;` prettier/prettier␊ + 11:2 warning Delete `;` prettier/prettier␊ + 18:96 warning Delete `;` prettier/prettier␊ + 20:2 warning Delete `;` prettier/prettier␊ ␊ - ✖ 50 problems (12 errors, 38 warnings)␊ - 0 errors and 6 warnings potentially fixable with the `--fix` option.␊ + ✖ 73 problems (32 errors, 41 warnings)␊ + 4 errors and 6 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 53654361fbea87001805f590b5ca41cd21c7499e..d674fb908c05002dd5a15e7ba1a775b1cc43a352 100644 GIT binary patch literal 13188 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 fT1tD2PWVPXe0alD zy8Aosi(_hlo{A||cf1LQ=BtBMFsmh0&mPw6o9vzV$xU`Y^jj)fRb=N(O-VTskrjSP z6Kc%~vB%E=Pc^=FWXZ{;kw?#-DDOvVeCqs($NB!JKkd99!&GDJRTWp&EBr6s?!8(} zt5?8`6tAPrO2)ot`XUhS+r76rfB1ivw=Fvl7XbhUcia;I literal 4374 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 QCTFMr4---}*_T}a050EznE(I) diff --git a/index.js b/index.js index 4ac74d2..4bc57cb 100644 --- a/index.js +++ b/index.js @@ -3,7 +3,11 @@ const dataTestId = 'data-testid' module.exports = { env: { es2021: true, browser: true, mocha: true }, - extends: ['@fs/eslint-config-frontier-react/prettierSetup'], + extends: [ + '@fs/eslint-config-frontier-react/react', + '@fs/eslint-config-frontier-react/es6', + '@fs/eslint-config-frontier-react/prettierSetup', + ], parser: '@babel/eslint-parser', parserOptions: { ecmaVersion: 12, From 9c42054a2955b4c0f95fb7413f56ffebe801eea5 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 18:40:01 -0700 Subject: [PATCH 10/53] extend jest and dont-need-lodash jest version is only needed to be explicitly declared here because we don't use jest in this repo --- .eslintrc.js | 2 +- demo/test/snapshots/lint-output.js.md | 410 +++++++++++++++++++++++- demo/test/snapshots/lint-output.js.snap | Bin 13188 -> 14331 bytes index.js | 2 + 4 files changed, 408 insertions(+), 6 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index fc1fd2b..9c67a88 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1 +1 @@ -module.exports = { extends: ['./index.js'] } +module.exports = { extends: ['./index.js'], settings: { jest: { version: 29 } } } diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 77878c1..bf9917b 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -13,6 +13,7 @@ Generated by [AVA](https://ava.li). "es2021": true,␊ "browser": true,␊ "mocha": true,␊ + "jest/globals": true,␊ "es6": true,␊ "node": true␊ },␊ @@ -38,6 +39,11 @@ Generated by [AVA](https://ava.li). "jsx-a11y",␊ "react-hooks",␊ "@babel",␊ + "jest",␊ + "jest-dom",␊ + "testing-library",␊ + "@fs/zion",␊ + "you-dont-need-lodash-underscore",␊ "prettier",␊ "test-selectors",␊ "sonarjs",␊ @@ -66,6 +72,9 @@ Generated by [AVA](https://ava.li). "@babel/semi": [␊ "off"␊ ],␊ + "@fs/zion/prefer-zion-render": [␊ + "off"␊ + ],␊ "@typescript-eslint/brace-style": [␊ "off"␊ ],␊ @@ -660,6 +669,99 @@ Generated by [AVA](https://ava.li). "init-declarations": [␊ "off"␊ ],␊ + "jest-dom/prefer-checked": [␊ + "error"␊ + ],␊ + "jest-dom/prefer-empty": [␊ + "error"␊ + ],␊ + "jest-dom/prefer-enabled-disabled": [␊ + "error"␊ + ],␊ + "jest-dom/prefer-focus": [␊ + "error"␊ + ],␊ + "jest-dom/prefer-in-document": [␊ + "error"␊ + ],␊ + "jest-dom/prefer-required": [␊ + "error"␊ + ],␊ + "jest-dom/prefer-to-have-attribute": [␊ + "error"␊ + ],␊ + "jest-dom/prefer-to-have-class": [␊ + "error"␊ + ],␊ + "jest-dom/prefer-to-have-style": [␊ + "error"␊ + ],␊ + "jest-dom/prefer-to-have-text-content": [␊ + "error"␊ + ],␊ + "jest-dom/prefer-to-have-value": [␊ + "error"␊ + ],␊ + "jest/expect-expect": [␊ + "warn"␊ + ],␊ + "jest/no-alias-methods": [␊ + "error"␊ + ],␊ + "jest/no-commented-out-tests": [␊ + "warn"␊ + ],␊ + "jest/no-conditional-expect": [␊ + "error"␊ + ],␊ + "jest/no-deprecated-functions": [␊ + "error"␊ + ],␊ + "jest/no-disabled-tests": [␊ + "warn"␊ + ],␊ + "jest/no-done-callback": [␊ + "error"␊ + ],␊ + "jest/no-export": [␊ + "error"␊ + ],␊ + "jest/no-focused-tests": [␊ + "error"␊ + ],␊ + "jest/no-identical-title": [␊ + "error"␊ + ],␊ + "jest/no-interpolation-in-snapshots": [␊ + "error"␊ + ],␊ + "jest/no-jasmine-globals": [␊ + "error"␊ + ],␊ + "jest/no-large-snapshots": [␊ + "error"␊ + ],␊ + "jest/no-mocks-import": [␊ + "error"␊ + ],␊ + "jest/no-standalone-expect": [␊ + "error"␊ + ],␊ + "jest/no-test-prefixes": [␊ + "error"␊ + ],␊ + "jest/valid-describe-callback": [␊ + "error"␊ + ],␊ + "jest/valid-expect": [␊ + "error"␊ + ],␊ + "jest/valid-expect-in-promise": [␊ + "error"␊ + ],␊ + "jest/valid-title": [␊ + "error"␊ + ],␊ "jsdoc/check-access": [␊ "off"␊ ],␊ @@ -3060,6 +3162,64 @@ Generated by [AVA](https://ava.li). "testAttribute": "data-testid"␊ }␊ ],␊ + "testing-library/await-async-query": [␊ + "error"␊ + ],␊ + "testing-library/await-async-utils": [␊ + "error"␊ + ],␊ + "testing-library/no-await-sync-query": [␊ + "error"␊ + ],␊ + "testing-library/no-container": [␊ + "error"␊ + ],␊ + "testing-library/no-debugging-utils": [␊ + "off"␊ + ],␊ + "testing-library/no-dom-import": [␊ + "error",␊ + "react"␊ + ],␊ + "testing-library/no-node-access": [␊ + "error"␊ + ],␊ + "testing-library/no-promise-in-fire-event": [␊ + "error"␊ + ],␊ + "testing-library/no-render-in-setup": [␊ + "error"␊ + ],␊ + "testing-library/no-unnecessary-act": [␊ + "error"␊ + ],␊ + "testing-library/no-wait-for-empty-callback": [␊ + "error"␊ + ],␊ + "testing-library/no-wait-for-multiple-assertions": [␊ + "error"␊ + ],␊ + "testing-library/no-wait-for-side-effects": [␊ + "error"␊ + ],␊ + "testing-library/no-wait-for-snapshot": [␊ + "error"␊ + ],␊ + "testing-library/prefer-find-by": [␊ + "error"␊ + ],␊ + "testing-library/prefer-presence-queries": [␊ + "error"␊ + ],␊ + "testing-library/prefer-query-by-disappearance": [␊ + "error"␊ + ],␊ + "testing-library/prefer-screen-queries": [␊ + "error"␊ + ],␊ + "testing-library/render-result-naming-convention": [␊ + "error"␊ + ],␊ "unicode-bom": [␊ "off",␊ "never"␊ @@ -3218,9 +3378,243 @@ Generated by [AVA](https://ava.li). ],␊ "yoda": [␊ "error"␊ + ],␊ + "you-dont-need-lodash-underscore/all": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/any": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/assign": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/bind": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/cast-array": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/chunk": [␊ + "off"␊ + ],␊ + "you-dont-need-lodash-underscore/collect": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/concat": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/contains": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/debounce": [␊ + "off"␊ + ],␊ + "you-dont-need-lodash-underscore/detect": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/difference": [␊ + "off"␊ + ],␊ + "you-dont-need-lodash-underscore/drop": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/drop-right": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/each": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/ends-with": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/entries": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/every": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/extend": [␊ + "off"␊ + ],␊ + "you-dont-need-lodash-underscore/extend-own": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/fill": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/filter": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/find": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/find-index": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/first": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/flatten": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/foldl": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/foldr": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/for-each": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/fromPairs": [␊ + "off"␊ + ],␊ + "you-dont-need-lodash-underscore/get": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/groupBy": [␊ + "off"␊ + ],␊ + "you-dont-need-lodash-underscore/includes": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/index-of": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/inject": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/intersection": [␊ + "off"␊ + ],␊ + "you-dont-need-lodash-underscore/is-array": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/is-finite": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/is-function": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/is-integer": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/is-nan": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/is-nil": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/is-null": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/is-string": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/is-undefined": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/join": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/keys": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/last": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/last-index-of": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/map": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/maxBy": [␊ + "off"␊ + ],␊ + "you-dont-need-lodash-underscore/minBy": [␊ + "off"␊ + ],␊ + "you-dont-need-lodash-underscore/omit": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/pad-end": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/pad-start": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/pairs": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/pickBy": [␊ + "off"␊ + ],␊ + "you-dont-need-lodash-underscore/reduce": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/reduce-right": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/repeat": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/replace": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/reverse": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/select": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/size": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/slice": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/some": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/sortBy": [␊ + "off"␊ + ],␊ + "you-dont-need-lodash-underscore/split": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/starts-with": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/take-right": [␊ + 1␊ + ],␊ + "you-dont-need-lodash-underscore/throttle": [␊ + "off"␊ + ],␊ + "you-dont-need-lodash-underscore/to-lower": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/to-pairs": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/to-upper": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/trim": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/uniq": [␊ + 2␊ + ],␊ + "you-dont-need-lodash-underscore/values": [␊ + 2␊ ]␊ },␊ "settings": {␊ + "jest": {␊ + "version": 29␊ + },␊ "import/extensions": [␊ ".ts",␊ ".tsx",␊ @@ -3336,10 +3730,16 @@ Generated by [AVA](https://ava.li). 8:3 error End of file expected json/undefined␊ ␊ example.test.html␊ - 2:3 error Unexpected var, use let or const instead no-var␊ - 2:3 error Expected 1 empty line after require statement not followed by another require import/newline-after-import␊ - 2:22 error Unable to resolve path to module 'chai' import/no-unresolved␊ - 3:3 error Unexpected var, use let or const instead no-var␊ + 2:3 error Unexpected var, use let or const instead no-var␊ + 2:3 error Expected 1 empty line after require statement not followed by another require import/newline-after-import␊ + 2:22 error Unable to resolve path to module 'chai' import/no-unresolved␊ + 3:3 error Unexpected var, use let or const instead no-var␊ + 5:12 error Unexpected focused test jest/no-focused-tests␊ + 6:5 warning Test has no assertions jest/expect-expect␊ + 6:8 error Unexpected focused test jest/no-focused-tests␊ + 10:5 warning Disabled test jest/no-disabled-tests␊ + 10:5 warning Test has no assertions jest/expect-expect␊ + 10:13 error Test title is used multiple times in the same describe block jest/no-identical-title␊ ␊ test/lint-output.js␊ 14:7 warning Unexpected console statement no-console␊ @@ -3353,6 +3753,6 @@ Generated by [AVA](https://ava.li). 18:96 warning Delete `;` prettier/prettier␊ 20:2 warning Delete `;` prettier/prettier␊ ␊ - ✖ 73 problems (32 errors, 41 warnings)␊ + ✖ 79 problems (35 errors, 44 warnings)␊ 4 errors and 6 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index d674fb908c05002dd5a15e7ba1a775b1cc43a352..090dd566b3bb1d171720b3496eb8f08076341d47 100644 GIT binary patch literal 14331 zcmVR%S6D z-Cca>DxGwbPBPte)<5W`U(j()S6yT}%jE76kr|m8kr7!9fTXF%W(F1M9^v8fa`$le zIDF%cH~#94lmGTl(*OJ4pPc`fcMmte`E~s7fAI$XJ>7fbjc@+<_y6|)oc^zW@jrg} zH$VK(gTMO^zo63p`q3}m`0F?R8A1KxpT6-g|LSP(O@77Jo0RXpDBld=@595J@V~q$ z@&bQ8$m=W)c$p?y6~;-)<|z*@lWLXMRWJ*}Fo^Q?nrGE4colzhURIleMO6~}62r zqVkrV%HQ2P`h!m8?^twx7(C7^WFV{He|X7>jW>dVFIf?%ye#+j_I9V+M&<1hDo>uC z1ouyZ8K#IIQnWL&T$rHu?aqDE!Xkaua7RD{urN9T5GtL=sd>jdb4vN>#O zeBwmg_3whENgNW*L|t!@pQy$2$p(114l=gpC5||(l^GS4v%TO`VBCz|2t>h+VE(c; ze8EfNT}YLOM1YCXN0NDR^aZ&yHtWo^SNGQ)bwO)?p5FGMSTgn1ll{^uraAm7|4bBP zqeSW*A5!N(rRm^H@hj)6mEwlEcSlKWciPv%TH6lWXRja4uZOudni~dxaQMN2E)R$` zb)7T)I)4Uv;G@HXk2G%HyU3F`hzbtpD*Vp)C7i7}9AI!dyoNv7);>crLTDXnynSFf zyCPOat9RZ-DMTLnuaibtE2QsL z{54ZDy=2?6OXmlHStG%IRSe`&_=k{;UkPcQKNxJ)Y}hnQblyI^8w{5CWx+NZ{4IG& zoGei|ej+-&2hww%UcB^8RPht&6-|do3K4pj2-TFQyjbSdv;3IW4=p7W<<)X}#ecMV zpe-WpBO2?LG+0mxY7;~hgA-_p6sZaMsu#LpVZ%QDp*G0R(7e%11JKLz4VSu7b3(%E zE-;!N#o7nr(%(H@X`!ppb0bShLC z1q%>kpij{`Tk>GL-xhkX^;4N4l;vw3ct0-QC>GNF9Y!d z<^c$GB+gtvPB=G$^bkEYB%$t~1@=~u^q-8EHsS-G961-MvZq?K* zXyu_QCjp6MC3!h<_kC{yjk1oSgU*-_ZdvYKdSZGB!gd7mIVrUqiivvSIo-aLO|O95 z?b`rHmm6u?it`f*9+A(1=;0|Y^x%M_)&LlEX#hl5tL+|$oEZv`XpUL12&6|ulYPAY ztkH;Gf^1qRRbH2Uk+M(oPgPp~;G_P8i0eq)lVvq+svurwc^2~ZrrHMOWm3VW88I}( z(b;owfSiYku+GaWz}0Y_KgHWMy9z~HA+?31e%KS{8lw@zZIsn%MRZ-CS$==AO`^|4 z-cvdEq$V4a6vESFon*}(k?|5cFcV#UscsC~EETOteiEr4cFhPvONV~Et*>$1oto9m z#J|Odh3XZuTkTUH-gyb6T6Taw!N&?rkdU%DPhSSpJpXh;)%YJAeArz{4>P*^R2Q&p zNtc_!3^qzH+r>5i^s7y1TwZKy9yhf9?;PUkBKi8HKy4dV`8kK3bzQ@Hp7S8iYdGz` zsdJpE0pjiJ>K~kdcbXdhNG6gCJ#%kJ800^q( z;8s)1QJywR-Y78<0_w!PuM^Xn`SbOfjaCESyVYn$?q>x{Qk)pBYAOjx4jt@G^oqKz zQ6uc&izK!4xi?15n8PVq?X9YHN;fWgt)27ff)zK&u#oZ!kAFHiCd$dMLZBK$I}JAv z0&$|y-oX|Xoz|qsY2qdd6^lGg^Gm$8*ai#=RvKiZVDU?=C!~79R$sk!cIa8+bT#mpqwies^{>C)d5lK>K+mYEgctkjA0#0i-Z}Vj zDfo!y&yPsK!NDPHhd(L>A0B@6{*Ow*t(!kC58nL8|MVY0r$pO1>}cyUc<1(Av8R+b zf;)Ei|m&8J|K<4t@*KGKWis`2`!-RA2M7Ub2}K~9c1dvEF<<$wL? zpa0@JsCdS+i`ilD9r={cczNsQtpoUt_lGw`*}TXvVH@ohu5&p3yG68X2`h8i{ld%l zy9F8OO|k?Ee!$XMi}{@>*swx0JM-SBu->nPcv9|vGDl5Efr;8+^PKM|Anjf4MK8*k z*3K#MsMJ^yt=S)Wfkp}_Jh&xEFY~&H__OT>J1`S%&Ez*JX&n(o4?yY!5W0T7(N_6@ zGc*;o4Pn=LCNA#EE&_ZKGW}=bCbbdurSg&RA;OFDs^zTYEe;~`qTfgCJUZc4SoEhi z)l8j9&WUd!8u6-`{Q9M+wHdWdS}&8V#h(diH6_ZckR2RsTL!_$aFyrhr799_&9phB z|2vHHwfc=`4vP9Pgas>_IzL&I``_Xq$=}<&1}qqHycG`9JZ9yJY`8@k5I%~59c_yyY`!lTh%$7?YKLf=i zMU$cdjAtM>MEpTs{Qm3<^<94cf&Tx?&Lr3ulRb>;BHf1NhD9*kdXMtOVrIfC`8pYg zlXC>8^a7L~{5Q;NoD}1D=o2VB8D&7rKKX-(WwoW%JqcClyfMp`yW)EBWQdGb?Jz>4 z@s1VXj+s?cvCjGS5~RLe8+<8wj`bG zn=Xu9C`ICUIOnin;s5B;;#yUxdlbR--Kt996uk=b&16cjBxG5Zi;E*K&a()enDPP$ zPKxmsSy8YpT3n-Zj;9P+Q~DUqdEB~7j@4ozv8ja|(@YiMs-8m~(l1Z1fCNVC0q}5* zvV>{#Co|{+apOC>YYPgvxTAA1LTjH?V+q@9d!1wtK~u#6xNU1QzYOPjyftqJ4aZm+ z3b!y51yWFZN<4$Ep6XJTtIyEBc`s?(rt7xBZ~>xYoHY`~LNXl9XtmQNygr3H9;E`! zvD9FLI| zI$&JH);z^K5|0V8(RBd1L1^)Vp!xL^Aj!=1l$B+;=G7{X%Mg@-5N}Go4gr1@@lEwepd!YXM#=pMTX>N0G%iOc z`G{z1T0VGk(7cr%`t6aRQ6cs)Cs@+V-cc~nl6=4#4-g~ZNauIh+6Q`-Yj2k=jc!>m zV3mEqd-^|pxrd{1(kPKb!W2w9;f(7glLtOx7I4{5TF}4Zgo2 z4bMEh*26OjgzvK6aMyuPB8`=JTB>2YRuz`+fZ}5$kw=)e#s4MCl^e@j=6yhKBcx?G z-V+5c;yZm1@+ySmNX;lS2h=zZQI$gEuO$3IXz;_MOMKS2W9A6Y(?P$SavA>y|6?ao zAsL9y>J-Iyd90dgS^(jwA@0jC6%VsQgVNd}Jghhk7MXXG$V&`wkfZ=lx~#txZ$xjX z_Cp=$03)zYRiK3=onH7Hh)$s+$rM~^T2S1Ss`CytOl`i-(24*G3@=KN^uuo~U_*;JK-me<*+RB8r6ThRnCM|vmy?0)g`XwwqjYF^453;AfrQ(#IT8G+cX&- zWqr7mXUl5kf}({w4kURR3d0f3sd>TKxpnHzIWEXSCFpt~1r1kw1iFRg3A?NK8Ahu* zJI4jTQ8Q-Y`UpKgX9vGCh_;Xj05?eBg0EAzQ62^4Ca zV|+WXrBMVi!@~wJxJTP9C?exl`oe6H5jV5L^2!We>EL4=S-{fpWC*RRu+@Z} z9Fe+pIB3I$fWGK4-{93+79~S5!oV&-0jPtUV|~O46Z^DJhYKF|Ucd%VNIynm492|7 zQ_!qJbc-B6&NQTT?B76^XWKP~ODIKQIQMP#72K6cWjCDy@?)#6TY(e>WCe0UxvJ~g z*ZZG^Vm)ePY?%|0obtkJ5+nFFN)3mOc{U#N4UOpRAOGEd9-357t|-pj+KuN~$rk)r z?4w7}ZW0}<1+n$)-S~i8kyPxSFM@I>ahCbM~Wu#QN~FOJPP z^!dH_Kntnr4f^?Xdv#-d>5pO?(`N+`dOE+3;utAm;0Q|GoEy z<#|+^$`{EMxdY+1=F^vs=^+ni;e2G;&K*|Y=6H6slZmM=Tk_e=X$kn$y{;>?k=d!Y z;L%ACvSw4<88H<81rzaiYjx5(o_2%*d>-=`rEQEXNCi(Rv^U%+LB_X78fJl-Rcn6t zYqzXGdnbb=oSVLAB~KSq59m5mIbIByBW<8#{uC{QB19G}mKE1t)L z^!xH(mFnbbMoJgVWv0vaYmZLRTKBVyKy;)lOB!MryXD|E(3hKzcBD=bra6nzL1>#* zBusit5OPQNB8i0N{;{L~8Qf|Q zI5sG2o@URRnclm}9b=z#g|mwqcHY6tTF;YZ4afQTnlieLDe`X_czs4;mq)@#f1q`= zf2TrrCLJILQM`Eg@WILbJl^)cnJ<$%cVJ|L=V;;U;^NrK3Y)SY3{`h7a$ZW!gG;hb zt*v>e4@(?#uM=3pfL$f9Ofa`_$|}5I=@9Y9P7&{_Kkr;XKq8i`w$w zx50aZZ}%$LE9Z5^2VWjiyv!o$DAMB7V|A#;_^-idkrP8>M<3t}zOdNdbc=eF!zKh; z<&cI`5MptoweM^QiWQ&>G7RP`I@U;k$m7x0>CI11!+#j$wWAtiffyQ zPEmLhagr=l`RXTPO0{n)kyRe97)Xq)Sw6erN74+j3+~`HVFE7ZM8`OjYC6YM6%@nm zf!hr=95*YeFhQ0ktnmW!X+zpipf@n_;NTRolzxqAiBAkfjWR|}==8-xX>pUM!kZaZZxeXwS-}fduF=lfhFJMv!OpqlliOOO z@3^0;rcf}`O3YFmut_tDLUwSSC09=Um2gCUeHDH?X?6%yfAVyA95NL-*l z$PbZj`1CyJK1kgQ2@A4?;kY3By|RNg885t%3=e+zbjg4gM)JXw5a0jcnZwf6tw-kP zn1F%lKf?Ti7Z(Y?oPf95ZdN=~P9uY71EzFd1O)mwO^r=y;9AtRi*!0xB?4i+v1B6S z9Z-Z!z6;`xY|-BZn1V-X&3#ss+~|F_qCw&v=gBb0vEz@CgZ=|LBM;{yIO#eyP>jXY z3dmt6hqIj*>!k8T?4&pHLEu@v7IJwANAtiV!-kfKR8=q?8HTtxZxA|2FcTR%pY4KM zXGtXD=A9^wukRGjm$1NK?4dS&KztT&P^Z?b3w z`_>9nX{)Ml;1bF*pt(ps`L&UhAuZ`08qhiVS(2Tb8HktE2}=o}hg9We6jp9zuuTU% z%YO$7R(~Xk`r!v*^SEDEmGa7@RvbJj5*A{t;04En8kQR7-Na$2*ql;zc&`bp3Aa9{ zGC05(9KuelBKLGC5r)vmd3JpIXw47I8I<)<&BIzm}#~dT zQ)V-|ww#Cjg0v&Da>2=DoA+bmU zTyY>3#FFdn=sH>6dm3hWp>|W|AumXzWPuljV(0TR{wTcl5`?z678@sXI;XUVXjc?F zZzwmL((gh+)j+GOzjo!i^5V5f&`jxqPOj~ zH|}^0irhnkdwgw%>NoiMJuG=d(M6fagyC@jOqn%n9>ZxtbDRxSTsz-s^XlHC-&2Lf)KrC#W!_- z+k*|WBhfj@(pRv`!%?9}Sf+pR7FDXEPbSpF2QpsSn1Lsd+M`KP+mwwu-D@<8(2Zii z&^$Xraipi2WRGxK9-}H|`tW?yFa87HKEa!4L%FFID26(&&xWcymfj;)r+q%WinHB( zlutah^Pdl?X);)@KtodTb#MH|hU=7rhHX<_#BalUl_l*odd;HD;w<@iJ{1 zY&kq#O>!vIx?vfgL|6_AGaQC4bAOA_3PODvT!#qe$W5aEKQ|`i70D1vEDERV(o{zy zMo!14j6c4>YKFqh4L5n?Ve7&*hc+wL&6GcHI~C(XE2A~ zv;)h4bkk}Xn^FD1acx*SIUGz~EWtNL_@l+{2bT$+zq}6~-gV zTYJ1tqRU`=*AE7`%GO{UnL7jUbeQb0sr%+l^-q)MvzS@Wi(c+z?c0birL_KVbmEs$ zcGhan=n}*FStWGsRbyo?jj+eE5>cMFTP8qRd7fu(#In#KhPVww z^dsu-HEGhmq64~Lq!OamQ;-YUZM-jYh?rW0_ zL2bk1`y8e@K-oj2T(eYFHCc(xl^F74;Ohht+j#AG0Q;~!Vunx)_2r}+LZ?AM8xPCJ zB5o1 zLP1L(8jlQ!3S&b~*o-`saH05IV2E83kv>nVm5SoMW9}}x&GN$G{)SK@&1##Z${}V7 zl>D-FlpXIcfS21WQVxP4zrsv_Ud>#xgnSFrJU2}4KKMMTF5Mo82v{%31%67GafqC^ z>I7GEf3JK(KsUN_#o~P2cMD-jybz&K9;EnY;})>EHelyohTrlc_o+RLt)%oN9Ru>B z#+VH;l|1IYOvfdcZ(q>Q((P%+&&ZeYiF7Tqi%jhcF;)@H6!5EWOWkf#5t>i?Mwn#H zT`H=2i*drR_FryvE^$2romYB0fm0=!)1_ZR;tglPm(Htf?MYW3NO`~O1Djk72{6s{ zxZY6iBA42(K&>ME2o8st7bXi&XnbGK3sieza0qZ+yfqnBfv~ z0CnZPwNQGXI23PUdw~}$L_3u?tjtIlxl=(lI2KO{Gq5vnd1{&vTFB2m#j1gDj4I9j z#2pYSmQYiVS(6p-g>>k_o;6vCDSORPOV)VMp#K{V7}f)gq7AEFy1YRVIL#T|34%zI zteJC4QeHdX=_WI#xrB&`**!%15RqCe%6Sp_Y07eH8b+*fsO&4s%30EsIn<9nL%foS zs|1g3QeF#QCQtDlg(TB8ST`+MMv)t43D?$yaPXxA+C!38@Xpk_2n!nZvIb(p%T-bh z^NLtnsJM!;cR&h{3@;gkK>hAgM7k)U))Y|Wp* z0_U*|W^*hRobK|b)jHeTDh8;uiI*V*S+rtv=Mf-MqWhkA0$McTz4@G+e%8O8u=ZZm zUwIrD>Iq$`A56Px(6g05$^Fv@P33{ze?S{QHiREq9Ld7LZ~@p?e{ARqYpu_)>) z@K8|08YDrm^Py+Qi>jUv7kOLvlghw^7!=gJ@2XYsa!|0r=W)8FZwYUaPML7vIg)L+ zyR~h3Q*tsOHDVr9dXv^A{@1liVI;_bRlKU}2YQu^r=}CIo!bF#J0&1i9_DHSqrCVs zlbItTRd`yFmg6y>NwG1UDK_Ym7ZXJH+x?4;4x_kdkQjuL90Ln4^~yRDG&Ge zmr1p%=X;>J?z5zrXY>6R?1G6<=zk@0ZWOV4O*agaav@q&JsPF%F?;Mo8h~A&u8d^^ zqGl|PPtdviGs@bpW!sv~(^~sQamc-&vGyC^YA#y8PBrFdu$k25pt$T6lYhJRv!Cy8 zwm|b=`-_~^+n*Tl(a-lKN;N3Z@?phq+XAvN{EjEfRn;r}Jc+ASTPAbSx4+ffF@qA_ zzjokoJ6q=${QkE4`&k?NB&J343u^0(0O-}-TQ6XFmk)V{2^{s`uzHejJ9XB5m<`Xm zzw|jk%B1!alLPiSMuk0&ZD10AaY~uVx`lr~EG#;swkZ<*XTgz4mKiE~r*l-4=sbn> z!1W%A-=FbC)h~ONZ~8@F^b7vJQ;=(RRrwpnyX=?g1d5U#fl%^Azd&z^r(N%k&e9RT zJM#?Yxz?3_tk?{{j%>4*iyV`}`>Be+~8(F(WH zi=?P(*jTp#xgNp?Rt4L<4lY?%?FG-V%`C#j-H8bMPI0VVO@9_(C7hx30L8|Ma<4DafZWF(;}|ZYIJs`i~F5U{7mU=J6^mp@@gt)FVeOaFsU8`>tgWnqYRG@x6(m zEL?6n2`of0)f2X#*vmMX#jY74dxtK#Zr8NI6&%F`JrfQQ=2xmHXh@D^A3|P)Kg`5? z=#S;PGI_2v4IOp-qm6AUf4L_re#3nK{xIvlvTm&FVMcfP$6Pd8k2u#n%!I&Ug0)YE zCfQm0+PPzm)Y+P@6fj>8dPI0%eAQXTc|3NRWf*&DffJr%GT_ZIzYESlTAMplsdRxY z{`3ZtG|vk=5%?Nd2#W$mL?1c`o~{PHyhS8}2t{Y92%0eNgeIO!(c)eK!p53cNpz}t zVT{igN`B2dzJ6X_v1hBisE(2%s*}n#*`GD@!u**nmpoRHYNjRAx(W(cLdQg*zS#Ve zEa00Wxu6rs<^gS<`GkAHO!t=tj!D42C!}=H7BQIk+K!&!sfh+GtFr`CiY%RjSvKN< z*uTAK)3dk_;+>jA$-NEgLcZhTK@zfj(S)|I%P znu6tbxsN8czU-}_|+4@~VP{dH`0{S(D3fIL*m-_4&-uJq5Y3E(S4d$}N@%ISte zfkovr?fZP%!eC$>t_Syr4<3H;=%jml`0Vufv|keTi+*?S=nuV;lcy)a{gdGM>Ag=+ zAD?OWj~aWM>mA$~vhC#xR*hBDYu!Pc4A-q~XLQ}5V(P)ff(?Bn4b^4jpV>yAhWIFw zGhSc4c5E_U>1hqjsR4w2OX?1eC%v_r4R0oO@+Pd4?1^sTztb5)U99SEib3c3@m`_> zJ(ZXspv^w;dRsTW3H5p@5Ie_fr@%dj9636S<`P*!ld9Q&9tx2yP1~-XX6S{Yf+x?!kIill31d|hUsnG1|jRop=nD-6$f|bzf;*+tbzgha~n7Mh7Lpcw?xvN z@|_Xx<`I*!v9v>(b5Q%$;Pae2rQUFDaQYPf7&m^(*yfnK8y3eZ&fZ6EZvcm{l(&N3 z@LNev`uayjja4^jl6u@%O^)Ive1E*z zSH^bwR?8oI0#VdI*vfO$L*m+6F!ZL?7oU<$9CwZp`wpodaqC=kHK7a+DM=!WCxS71 zXAM%=Qa<$QoV;1R=0y@IgQH7vl~`&^r|0|pP?Yas!3mWBCxr3POM*}NaKw$Ag#S%@ zKE^f%2(LnW_ebm^J37&m|Fgq!SHn^3I?0Sj;3%%V z=mS)PWzz=})k8lV?<4b3e|aY%u`0}dq zyS7(~kDA&lw4stMQargQ()63I%q$0|#k|wLThTM&jMCt5%hYYMx(#-qY#3m?NO75F zN9K^Sn`$OwN0V^s!I9zFrlk(dP>ah*q#Np|jIgk=fgLRGJ*d+auBJC$l$8{__~p2X zw9UyW0=0{Nc!pMO!Iq9UGiK7q*HVMbu0GTQYz)E3o8JkfC-g)#P99NdkBPefLqyBz-=v zqFn^(y`eV#3FhLCN14Yc1!ZqLQ|52g$qtM=QC&-ZiTT<( zmI-f_-hU^eM$D?@2xl9tok-GIs*=HfCUQRxEbi(K{sBs8V*r*4VDAKgd+BDy=IH1t zjkd$|j3W7hYQ~3ix)YI9U+m^otH}ndLZ!$5y%X8iS<1?lQF{?Io$+*W)R1L+$>Maw zrQ58n9<2^9Rj9@{C+Mg5&Pga{=THjpuxpWz= ztq`fK$6$01@-etHU*ZgQK#@jb02vv#ta*WuJP9bUgj3cB*VSB$AHRV0Krcv{-<(EyGU+Ct7N88Bh_}<_vJwKE@^FqSF4Z{`W7%({xhMHBuuc0^~ylwO-< z>Ir0T>{4*ZpQ%FfKr5tQr$|@#NI2Rcw2!xmFj39oDaORVA`CB5ca0V^q8WAKd=X)1 z=(gauXRFXM+*lT_v}-NOc9VP8UuVJ(JPy$##hh-!hIyXlmzkd@u!e;ZDBiI2TuJi= zj>#rSg4SZdMOLt?_wckwNx#wT((ah%Zu@#b!Gq^-?I6Q?l919C$UwMS5Fd?23T3 ziT-5pnJmvUnM18HAC1r??$lx9AfemiwM2zRSFw{7C~;3FFL22*u6Z%r!93NX3^yOW z6X|Qp$2`j0G{9q;p=zbG*L!h9#C^+qmi}>O$3j)l3~lI4Uc`KmVNpIY+QvZLFnm=z zS?60qkD5f>hT95!o#Oq!2#fdLuio14f6239>5>B1`*fKK_y6(^0DlkP-hJn9|K^>C zcpJ%5N^0=d_v#HqoM~@;uU~n-_3pdFR-4WlyG}2%!VOi|O8nNWabPe;Zu)_5jw&Rgw)#l`B`TIM(=TprQ#F>wSWO zIv&A<&-(D0Xc-g&jy|l$7K`LUX5@HKTA*(j0%X1;AjOyQ|cIA=CGn{F^hwU3>ou)s zOz_0bU}R`$)ze_;L^!$;Y1q=pQmV&t{Mu|D8jvZLOc(T{72u6*lf!M0O=T3dwE(sc zPEEypQLp_QEYZ_SzVOsMC+3g6#@%8ff0YGm`r5%f9r;48J)3dURf9R_#TXX4ZVHz> zV`Q5hRa$P6^_s^CP9>iRpdPXeSTm&6a-zy>eYJFUX#8@O7+yi`VSo_opL)0>fm$4f z+6%g~u{;`&DCLX=MC7A6BcD11IW^fMC|0;5!FTh_1k#CX)3+%Y`cGxI@~Mi>RM#cX)e!9F#}dCEdt1eAaBUc zQP+0(hAz6s^s%GCux>$9vv>rNi?;Ean;xRRr><#rL2|%dJAoC*9}bDVgFS(Ppe#vO zYfos$bC)L3TB0tJtI%bg7O-*~7RmqmUO^U|8k1X@>Nkw0VopDTEYEC_XC4VqbTY6S zzrM!GE77f|8ag7KvO1Qyt{;&0CBT={dS(LqBW$xZE6%&wx8#T6gJAuF?qg}qzx7~r zTCqPt(hmm(hxT^nEJYh@&wOt)u&8G^_Ju!!if}-0X|EuO2EWOc)z~Md*U?F}G65a4 zq>fBg)AE<9W1i;LMoc@drWfn;rlUuj`AiRAVe$oXRCQm@$*VMK%C;az27N=4QR znZCH(M-|f`0D9~IQoKn@yuh$KOk?s2ydX3HASw4WM~7L=Di&gCVsYH;5#Pj3{v3%< zGFVDKQ`+0VnSr zMPS@#t*PE>8AGF32|BoB{Qtwh=Gw7?Fo`w_*K)>+*`2yxcPX z@ouZ}*?$E_S+Qt^0v4cb@>E7qc=DvVTQ*yLP4M2KloDP*hOEHMo+8;pi2gI=&TkCB zFxKRgetI0qmnWV%hKG30JhcOqkz8s6SQ(Y=xkTIiAJ?0aj%xucyw6=g3vadU58!t& zk_@9Q8bKyq?fSzi{WmCSz$AJCB(| z7TM-CD1tQF^xRC$%9Zwr(0=#5hl6Rj*>-o_{*z?4CZYE-SxiF)>9h(}7Tg`HSk>A1 z+IH3;+!%Id;NW45i5(DTiE`)mV~%;6qw(#-T}jpD!L&}q$-?l$$#g2Zv6~ZVKrhdN zUdZ0H3Vc9m=Wzh(uIxW8F|m2^qUP@S7hS{HMEWrUQ+%!Q6IFy=JMFYSERxPXI2pO> z*!QM!VA0*nrX!26=WA3^l)F#fMT*aAT!Zs@8t;AtA@(&mkG8z)EWQN>Xt2cLE#s!f?l($Ywl_5B)et}`8wI1g&T%h1a_Y}h>u#~btvc_OB1n^ z==_@eL&x%tU_NaM2=swuJ++bzzlM?o=xH|%$5i|aJePLH7dQDk_r6TN-JSnsnp~sj zWxl>f(|J){bMlp&^ct&|R^BzWs*0UoclM%hY*jh#FPxR+PpI3D=B$ zV+P{cUe$W#;EyZq*Nd|AqnG+utG2**jn{cxr#wVOsrSwv1=runn#pueewm!BUS@<2KLcI#gL=#SM&1w@?!b@ zi!#sNeXBbbDob9&mks6(MVs*KDSc|HZ>Ql*8r?d5!TSe#(}@=kOu=>{smTf66Ln+x pXOzyS{VAT>+*=f!e=7rB+SMX+%7}M3WulTF{vThp!Px0J0RT9I6Py45 literal 13188 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 fT1tD2PWVPXe0alD zy8Aosi(_hlo{A||cf1LQ=BtBMFsmh0&mPw6o9vzV$xU`Y^jj)fRb=N(O-VTskrjSP z6Kc%~vB%E=Pc^=FWXZ{;kw?#-DDOvVeCqs($NB!JKkd99!&GDJRTWp&EBr6s?!8(} zt5?8`6tAPrO2)ot`XUhS+r76rfB1ivw=Fvl7XbhUcia;I diff --git a/index.js b/index.js index 4bc57cb..7d6f64e 100644 --- a/index.js +++ b/index.js @@ -6,6 +6,8 @@ module.exports = { extends: [ '@fs/eslint-config-frontier-react/react', '@fs/eslint-config-frontier-react/es6', + '@fs/eslint-config-frontier-react/jest', + '@fs/eslint-config-frontier-react/dont-need-lodash', '@fs/eslint-config-frontier-react/prettierSetup', ], parser: '@babel/eslint-parser', From 44851629f65b9b295d90a2a5c3394fc533d85b97 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 18:51:49 -0700 Subject: [PATCH 11/53] Use frontiers json config Differences: eslint won't complain on json files if there is a comment (good so we don't get eslint failing on a json file that actually does allow comments like some do (eslintrc.json is an example)) it still says what the issue is, but it doesn't specify the exact json rule because they are all combined into json/* I think this is fine. --- demo/test/snapshots/lint-output.js.md | 77 ++++-------------------- demo/test/snapshots/lint-output.js.snap | Bin 14331 -> 14170 bytes index.js | 34 +---------- package.json | 1 - 4 files changed, 15 insertions(+), 97 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index bf9917b..5ddfce9 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -39,6 +39,7 @@ Generated by [AVA](https://ava.li). "jsx-a11y",␊ "react-hooks",␊ "@babel",␊ + "json",␊ "jest",␊ "jest-dom",␊ "testing-library",␊ @@ -49,7 +50,6 @@ Generated by [AVA](https://ava.li). "sonarjs",␊ "promise",␊ "node",␊ - "json",␊ "jsdoc",␊ "import",␊ "html",␊ @@ -846,62 +846,11 @@ Generated by [AVA](https://ava.li). "jsdoc/valid-types": [␊ "warn"␊ ],␊ - "json/colon-expected": [␊ - "error"␊ - ],␊ - "json/comma-expected": [␊ - "error"␊ - ],␊ - "json/comma-or-close-backet-expected": [␊ - "error"␊ - ],␊ - "json/comma-or-close-brace-expected": [␊ - "error"␊ - ],␊ - "json/comment-not-permitted": [␊ - "error"␊ - ],␊ - "json/duplicate-key": [␊ - "error"␊ - ],␊ - "json/enum-value-mismatch": [␊ - "error"␊ - ],␊ - "json/invalid-character": [␊ - "error"␊ - ],␊ - "json/invalid-escape-character": [␊ - "error"␊ - ],␊ - "json/invalid-unicode": [␊ - "error"␊ - ],␊ - "json/property-expected": [␊ - "error"␊ - ],␊ - "json/schema-resolve-error": [␊ - "error"␊ - ],␊ - "json/trailing-comma": [␊ - "error"␊ - ],␊ - "json/undefined": [␊ - "error"␊ - ],␊ - "json/unexpected-end-of-comment": [␊ - "error"␊ - ],␊ - "json/unexpected-end-of-number": [␊ - "error"␊ - ],␊ - "json/unexpected-end-of-string": [␊ - "error"␊ - ],␊ - "json/unknown": [␊ - "error"␊ - ],␊ - "json/value-expected": [␊ - "error"␊ + "json/*": [␊ + "error",␊ + {␊ + "allowComments": true␊ + }␊ ],␊ "jsx-a11y/accessible-emoji": [␊ "off"␊ @@ -3721,13 +3670,13 @@ Generated by [AVA](https://ava.li). 118:1 warning Invalid JSDoc tag name "note" jsdoc/check-tag-names␊ ␊ example.json␊ - 4:6 error Property keys must be doublequoted json/undefined␊ - 4:14 error Value expected json/value-expected␊ - 5:6 error Duplicate object key json/duplicate-key␊ - 5:12 error Colon expected json/colon-expected␊ - 6:6 error Expected comma json/comma-expected␊ - 6:20 error Trailing comma json/trailing-comma␊ - 8:3 error End of file expected json/undefined␊ + 4:6 error Property keys must be doublequoted json/*␊ + 4:14 error Value expected json/*␊ + 5:6 error Duplicate object key json/*␊ + 5:12 error Colon expected json/*␊ + 6:6 error Expected comma json/*␊ + 6:20 error Trailing comma json/*␊ + 8:3 error End of file expected json/*␊ ␊ example.test.html␊ 2:3 error Unexpected var, use let or const instead no-var␊ diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 090dd566b3bb1d171720b3496eb8f08076341d47..0ad8f31cc97ee5ebc33713ad7c8cbccd0316f219 100644 GIT binary patch delta 14090 zcmV+lH}%N-Z`y8uK~_N^Q*L2!b7*gLAa*he0sxx#IKey1Tdv`18$`xgWR@R`2mk;8 z00003<$X<)95=F<_B}gZgu)m9gL-Xw^|7oO4n^u?cC{;VW+-u2!4&Qw6-|)?U!N(WA`eOU+aApF3s6tf%1ym17N#WVpT{bEc zNF;znB9WOmeC@T@{_3@p|N2j||NGw_pa18#4>!O0b@Fe2@f!a9)!u8bee=J*|JVQL z^nd=d|Ng_j`r&^Z{N2C%1(p7nJHL4CuV4Ecg8IcjeeIwB)&CA(XIIgBld-+$%oDY%BQEtr#g`pPdLz+BtgRC z8VjQ;<@t-C&PC-dJC&c_J^F)A<)=}6ei%IB6*4fY;D1=jh>bUbf-R#W$yizL?d|PO zw~fkoN2ok`auVD-367uK{p9q~S%+X&FqlxmaS<(fUcNAP+Niv9cyLo&NpCLdJjQYS zT&$jd-=7`x_;Z0+-eYl8m+a|^oiPCvl}8-cWyP}X$yJ=y2}|A#V4@~$k>=3VIV`}O zU9chm#KecnI!DOxA}WZ$TfK$zgsu4n4kimePFNWi=>{nYs%RNhJjhrCU!!1?MQI+) zGajD@IvDgaf+-9CP4Rb>b-q^YstTgHu>n|r(JTm_moVG+3-(Q&7A(}hn`kBG1s@lz zs*48K#IHFAGA^PtBS8ioQKK?x$h)*kD#Cch;&VH- z)po;zbqaJq*&Ku#n>f*S{kw>=Gzp1jqOP~dPt@Z1cmq6K2YIw+C5||(l^GS4v%TPd z6JXpdx)F$i8^QcV34Fmz;$29UheUvh(ub0Ha`XkcvuM_tX)o`uJL-bg{ycrxhhoXp zmrwQ!rJ zHkum-zkm4tfvyjTHFcdm{W^aJec;1?!-EesZr;7%X%fT*gMAf#=j;;pRt_5&><+Ks zPqwumAsHdGjx@e|VA;FksESu_y^UIk-1J{1jnsO`3pwbD()ab@j()6>roZ8E1A(`6 z{j^~v?EI325vmR~D1D^e2MkVvd=W%|ak-n`H1ZdNN}iS#Xl^^``LY+fVPS(D|3Dk$ zr)b`2rU9JG_=d@|QnN$C>MlX+mNZ|k7?c!L+)i7lWmXk6o8cmxEuySsK4*Xu+AN-v z@g~Z$FsV0L3i1*NhBHtOdcRI|!_{Yb&SE&TMa32whjM4mIh;Z9xL5&y{TWSAy<6HT z@5OL6XABPAA+!cP*qT`TQ(fn`d-CXr7X^?R@SHe_Molbq)6lj{&o0KHmSS!b$R^Y2x?f9owJhmsvyM5~?P2Qb57Ul94 z%E>-?L|SjpA#v1b4}yz-WpDs$#gc5DH%MgO3NF!H2Rp#7*{)s$=pwJ9-vK( zX%E?Y4myLj3%{|)P+vDNF9-Dl<^d>mq|v{K)zb2BO@wIsi;3Dd-}td)BmL=&ymPZl zntq*;uz9^)vf|Bu0CxF`p`3aJq^VZT)D<|Yw4`I6yeb>EMqS-ffCRpGo9-SCW?#ci!_R(5UMuI%to1|CZ(6rKhHs zplrvWpVOh1K`~KJJg3{2vgs9&yL}Vj=yD^=T6KOR!6W*AIS@VE#l<-|V0dZ(47xM` zqN~+*4^++^6-YG4ETR~+M?{l-y#B1wh+cwjTBjAS%f3q4r}?LhB(@L4i1p>FcH?gtO8sO*ZEVtT}M};Xe*?)kkk)) z%3NbKicpMyMs-#ZUDs!p-=A!g=rfV`M9w{Vl1)epVOhFP^F~JGti%q?L|0#^8-q4W zMJtk@MCu1!GlDp!LqFcs*EmY2W;I9R-{QkU^$OXoc5%%={b~~$mlvCw#|^Fj+lRQj zNWMNU@U#u9{G5SgUDvRl=PXEg4ZGbpHOHA6Am08vgn4kg!TckcZW;+^AxL80(c5fC zlFy%`nE=`z!92LtU>@Id{1w)HQe*{I&xxamg=WPlx8@(KA0bn{aCdr?AMDl zv-3%RVm4z0yIQrks@56Zkm$8__LGaKxIu=1j8(W@lc1ld*TRg3Y7Ff(ygCTP4nS)? zT2!>V(z#1h4^atN@GRq(c+Id4A}CmCkj;UJU1B{U)f2Yo%Ug%HZcRG9fhv}IpVn-r zv3Fk)Ydh1o)6Rm&WTC|o_w7yp?>XRN-(+2XA=X90^Sz$-gl()M)I8B*3=5ttZ`W#8 zbR-o2C)$Kl_$%+~!Od=0kAmJ~L{U843 z7vDj}GnQY>4ukK=2YklLTQ_eVz;C?oyCKTv1-}F_+AUmj*!{ajB(;Q9xa@v^VdZ<> zf*j5{vIGi#z|vWZ`JE`(M1^Q}<}IhN-mipuQtp2|$CHTy6SaZxobRW3!mjq>=jBXm z=ahI2`x1n2EM#@|)DOj)MZb^Od32hsu;@>( ztC>2JoD<(dG`dwY`SnXtYcpz_tX`&hi$4?4YD$z>VRUe?Z5ad~!xiV}r799_wFtm% zZ9eJ$4immszj6OTziSxIA}X5tKVFpk-==L9TV4Yej6UAzh8a(yaz*xk*P@Jh(Ttl~ zk$UZ63DO{@F=y&-1zdGY&yvoF+l`S}O>|1Ud}U|&r3Fs_Si8*IzEv@cJsB~@(lPF*AitELbAu?K_ z!x)XcJ63=aGq0v%owMyFXnngjDz9@AGTY%%btk4b*S#R-S$BbdOhR|hu_5yG`8=$H zY(F~LH(eOJP>RH{aL!=C!vE1F!?mhV_a1`lyH%CKE_xO6&16cjB#iQ$i;EsF&POpi z9q|GPPK)stqoRnmXd#Wy8SX4(P3dDa`*G{uI97{=#HJQQ z8^D7#>Jld5PiD)1`{IUnRB8(fn7C7OF+yvfj>ZzU*Y-NiAHYc!2jE>>oBT4I^JHrl z2Mx!fG8ArHCJLmY_Jnu_T|L#cELWeQeX}fS+otQW!EgbhW1KY-#X>S{&1kjLHM~BB zJ8q={%^__(w_8W>=0Hj5BBS&PK|k9F*T&(LHi0|Vk7-1IMt1TB@1UBOb{#6ko&2+Q zA{)nJWQ7hG7e{NB;hl!Z1lj0k04X4}d6F)3m_Nr%T_y|e^i?zg^?+1VlL{xkf6^Sy z>9;UyDjL!u&J3NBQlTwrXm}h|=#Png-FrvtXxoV#k&oJ@y9=j*!~1C# z*XW1R18!h{f6zEU^Xn%-l9}mQRF>hIRV$v9AshxmyxH{H1lU!~Hq}FciWpxSHTNTI z;eN`pq#T{(BdV=w`QXk$^HzG)w_Acng^*!Ru(X-IqhN4K@&Ri+HjIEHo!>#U56)FC z*)Cfe6Hv;f~OXZs8sO$(tq60+Lble8`j>0*r z6B5oB{@<-4pm%(dZ@N@FFSmTK6pRfVNHjQAKy_xt+XW zmIHc!8zC*j@t!Dn5s&GEz^f3pBQ>MU98lvtL{$eO|3ktb#0h@5b&1a!cg!4NJR9`O zsh6>D@IQ7U6_SDIyv|U4m)okDrUej=C&YajR^nk+Xi!>PgohQU!6Nf+8hfeX4U$yg z=`8E7#T(HZs{K$0XMhn{=TV@Aq%*znIS`$HLKl)LxYD$sxG9g$JJc|>`8r1{0vupi zQHmrTeq#XwElCT3;aJ&D3*DG>CS-Im3fCBp>TwP-ES)r`R3oT=^8EK_!WaMK%62e_ zrI)92TRN6D7(S}MG?Wev)kC;(HK#Rt4^e4|h?^?LV`no>*O29`rqLAJ=#p-I%~cP7 zbT1lTkX_JMqF*i<3iRvRlFU_i!bKd*VOj7RkNFRPUciWcfPkmPA73`aPp<^_w+ty6E#a6t|#LDvhZXt>%V z&@C)akgnoq7_aL592cy|v=b=zwewSd=S+FY<`^n-q-wlRJ|(zY|LJDo(!RN6}Bf~Cr9MjIvliNLqOm0gl+I@EsxWo8ew1;pa9gt&9Oe>gh_mV+NaG0 zH+wH&gD0dPBQa)TUh)i1Rw24Yj&Elg(mL^PAm{mZjo}UIpfH^KHv0-nWjeB(b^-aZ zJ+51U6a{1jazeSP>)F@)pT)s?)X3N}Cni1Rxz{8{@NJwKHXZY9JZ2jj(b+%#oBuR4 zsh(U>T)4Fx&+;-_uwx-dkD%RuG(J`fV(Zzv@d39YsaQK-1m#ZR+F3Oexjp!8<1HTD zq2^3XX0vp#j!42Tj?Fmq`JH#*6jIe2^ua9m{!~5xvi#j!S8sRiu>kbWUWvg-Y#fH% zzDFzBuy_O@VQaqs&O5_$9+#%_MS4Z$*Z4nVotI9_<8S)Ck3$5kui$FcE*ZRwu3FX|BZ*QI)#IO-VyI4Zl$i!D_4Sb zrWJqL{97NKBt=KZxcUT%7>*6v*wUE%DihMjkRu(HzAi3~ zt*o#q`@v9k=OX8Y)I7K(>(ttsmu&dMTRoj6hN~|9v+2G}|Gt1dK>CNCbi7Z^4g|>~ z*rNuT+waf5I1$c&LtV9~Ef0PhyfgTAw*px?uPZkA@_^!H7HQ`oEj~R`n`(mp8hjQx zEHrlX0nXq{l-QeYQI9wXAvjeIX*dNX76q-P&qo>`O0ihMDD4%w4dp_U$cTv93jawQeX z2hOAbjABuc=2VkTo0U|UV3eg%;|1i?hP0nRZ(!oV#wlVc{TkB} zl^BQ|X|XkbPlURUjTdSs=F^YPgy*e+-?JSr9mp8}>WR|}==8-xZE?dh;mr)Iw+X!T ztl)W6uF=lfhFJMvf#h7W$!)FCciiu&rcf|5N)lx_V3TGPh3VirORt>gSHcnb@KyNj zq}d@*{mIkeamZA(kT|?*N9?q@jqt*XVp=#nJNm`!_T^ z#*M=_88#-MV9UpO9}K{Tb?rmh8{7FD<9g^|Ej7g5xNeT7%x1hKKM&aj z=~;AMK4)9`+m}>aYQRbwZ_v^>Ok3RBT(x3*>Z3R<7=Y{-ITk@g5ckGMI%>J~yL z>tV?}>d{a{&~3V0>6P=#9`SJaPs@HkInM@FViJ&H36X8=Ya%^8?u<{*6$4W9tJ{k1FCm7n56slEVo#!^gsXLgx0w71{`-%t1Etj!_KCfd27LBG9iZ`^Sk6q!o~ zH-g#>)$aoJ8y%tBp~+pu)O&0IQ)bPYC9qr29FGRdvYqcFym~wl;-yzu71Gw?nDXdK z#;&;;pjDLgTEv}#1pA$3-nut`WVfy@Y?&1;6_6+P-FSi$y^e}+>b}?mf!WdMoMh=M zSVi<#=v$KOU%XY7s_2smHL-z?S2hNv38eODQq(qOqwc#Jjlv1M7%-IQN2reUPA2(7 zoR-J@GBkXCHn8-F2ioqEu)ZK})IcGb(ZK!tWvtHcBwvn;#Dth67zOhO}C4tH0R9tyQ? zqMS`4jKhH$Hba-;utjJUp*{_+O$4)Trt$xuf(dy=I)qY-!s%yes-saOr{h!Z5MN+5 zLt*BI8{YWpxp2)vl8SYIGv!=G>ASnwsLV`_~IWZPrmnI}O;jk!&9m?LPi&eN;e029|32U(|o`lzAbv;)h~R?})3 zn^FA`RBc!~(cq>omf@ULmyF4aIO)M{PkJ~K?kXJN?_$fHG(Pq-6-GA6`@e95o;T^3 zW_2*YRkjA>$lM-)XT!8{VlBE{(8%$FdUfV(+$0fU@#D-Q0u2?)hi3k{(6)-RD-Mp+gLD8_?uO)SYY6 zqoOFY6Gze(pLHUSos|SJi z@>3UC-}@e{Wo*sf!>FhHwV%#dW&89Qo_d;3I$52RW7dg@O!7#!+4Xg}a0J6EXn7m& zkxNZsY{;E6B3}nwC_Wb$LP{di=V`T4@qo9@-9-mHRyZ7K5K1I$Y}4I1)J%cGFI$(p z@%{pMxy@sLGowpzv{Sl_L*$IgBDj+I z`}Yz8I^>kADB zdCYy8*henkzM`LJ+tZw#kyq4X>7-&;ncBA|tSXv+DRfX5OWkf#5t>i?MwoQXTt`&( z3fqKX?Z4UPT;h5zE3ZUZ0;fuIr*p7`#2e0nEuB}{+GCDBkn(=l2R6MJ5@4F?Nxh*g zD6V6>0=262BRC9ZUYIUCq48xcFHr4qu_^FAk&x(Rj6|C^Fx#p)0h9*|*IM%lKTu$} zC8AM(3dOUBSABzKQi;c%k@_n-(lZbAj8F@6v2ty9uW&)+ra4u+`t(gGQ-+O?*hOTx zgd9L!d5acGG?IkkHC!+7A_~z?Qjw5P(L}hE*?DZmupe9?_j3 zs5I$1a!yIgkmWnwWbP%G5-~APfJj6jk`%?96|vt*Sx!yEh>15(4F}~)W-m77AoQcp z5cy!@D#4?hl-GinX&8J*A|HH?V-slcxRGMgoP9JvIb&* z!pl`!4Koy2TBw+c)^$J%j|?vzgh2i7QbghzajY?>YY`F0u2oOLDZ_UWEaU-jw)N6W z@W4fD*#{KVBfh|ZmpComDFrbWCt9X)D3+Cfnt;ABLX=WC@dLamG1;=DK*dDXh8G1A z&@SWZv`ObY%4#^fX42nkvW~J&uP~y2ZPUJ{-;Bvd3n>ytwN5aFMrlKRpFZh(STk`mS09D+dJ|d}yOv z`iAfp>68fvo+H_IE3IwIo6;Nssd3~nr8ik!;(uMM6h?v^SjGFCexO%>>3EVW0o%D9 z@U~L|V&!43CNRpdEps9{V%vnL6`gWC<})2^410`gMHO!WXeBox#N)|k#6T+T? zY~EO3Rn?|E+}~fO)vBI<@4?A+KT3;vKHq;HT|^?N@?VJP{UT9safV@9E<}r}N2Am| ziXQop24L5xE06L4QL`vXPSCmhGs^$1^8NR(<&aLR`jzikVD$j0y~OP8yvSNM6F zRI9d3X0>jAt5+xnCAxp@z~Oeb<`?YVw)^{O8~Y@tMe_@4>x=-LtGl;e!1691c#f&y z^xv?0(r-I;)_s@_%e%kyIY5U=?I)%g>vN0>dmP)qB>v)*avXIF|9)6lbVhAcr25Z- zA(JdKRP;{gs3_5Yc?#=+={*#`KVyrkU-p!5`bAw=Sz%{$7{0-w>_RDkvMM;l9 zDEXpaptr=bu6IXg>4@K*c?R=b>qGY}>V-Ce@b|2-mzId&Ono8 zL2ci&{D|nxryqxeOAzNB2mc>~2-jfP_hu6X+7|sHhT$bQ?izrX(!AcpS6_(~ET7P$ z8()3pZcSKF_XL_cjHzb#rnYvY#~wwS?l|;RKv0td)W|XVG9?`&P!`_c zt#{sedq~KCh~%`Th&9lz9)L$W;E?+uKU02<7Gf8?*xO6<0FC-(AZ|WbfX?xv4?upw zg64n}kXPD`;BuA5D-@*{X;IZ6ShoSW9>RyH3bwosE~C8K3!b$j@f{v$Zct9S@&?q4 zY0ZDQ5rD!wY!*6?)~|dSkOSK2aP_);x^Q(_UGJ2C`^{@LWgrbU0Up-W6E;Piqmz!- zTiBF?6^kymm!wSvz`X$Pp@L zh&l9Sr}4z1QCh*l1iQF~8GzYBsStBA6?AOzrWV~3U8H_}2|!=dUY(Z2Q^6~-CW19m zH-{}8S9)6MG@~9QQo|svu+JxmfTUu)+8XrCu{DQgg`FMO6gqk)x)1vD{qMT)FrZN? z@smL#7=Iws0DR!xXf(J8FkLJT(x+MK*Pl`I@qrL2cL#=H3usZYuz4ERMatG)rO%y4 zC8HGNBYT)#QMns9D6sgC55PdCH7xUZ-;z+olTYfo6c>0Ap-21D|E^^anqYRG@x6(m zWO8mg2`of4)e{zdww;q%NX;18J9NQyyQU4U;D0D4=&5jsFu!+0K|^vR`w;RX{6Q{W zR(>ScmC19ZY3QiqA8l+?`O7_4@f+s*_Xm0Ry=G%w4|2N8?>`N0BJn{k6b=)teKLrw zmw2#k-c5F_kvd<~l>+ALL5~RUi?2G*8B4}4vkYS|EpWnfOa{C;=6As&(AMV8R4QFy zi+?}8fh5iI!cGLfD-^<_Ko!x44uYqvK`(C+i6BDJqf7)%7$u>Jr&6`JTY$2$W>p%W zYF-%Q^M%srvW~BxmsjlBiWk*UTEul)*(UqbW?q;-N6RHkRHT||$+WJ5!j;f5QK&CA z|0E0erbsVn2eNrUn`b`ZUPPw*O9RIwV1M5eQaWgh7)*S(Lr?J3L<5%9S&At|md?Q} z8}&fQZ!g;Pe9(hIK&6p3e?Ga=Kf5M?uM+L$f`5od zPB#=PEab>$@cFcb!N59P5AF}|KltL|N%!{f>FM!lza;DzeR}uk551C;Cnv$Zli>Kt z-A_&*ooV-v8hf=z#%EE!y<9QdYueb!#vQcDmD}2OM%N7Y5@7nwtqM~I35SqYBs#S(#e~!PV>jQiT`$I2z9lpD-?sy zL&m*C2YM+Hyx>LS0!reS#Qa6@%DDz7!el_?!3{9ywTmnv?!XKgFr;Kfmxx0yyM8(F>WZcM=F-hN^^2Z)i6ZH>7IX68?tgQt@Z`$+X6Vi#3&NgC~km@<8&P7)f%HYtF zB(ivH6tj2MpoJ~vlY!33o7Zbrq_HwMx(==qONn%P2+R*f`5qRGP=5(zCTb*n;;Nj%LojXwq<$8=8h26jTWM zKJ0dIktV|E7dx7`;0=CbmveR^=gm%Gc^b%*+$S1p&5c{&D6YKd15|@$(+3lehkiKT zj}a*Z5ga*OsY47(2RO`9*i{6}P#CLCb4cdsGbsUR<3{&xVaDu-OEXIU261J0IC>MVvLFlL34SUp^EA$bo z?Alb;weZ_Gxr(#8gnm5*Rz0T4(17XY73>EJ(7(Kumfx?U^6fv}4gcZGxA1?X@Y|c= zhhP5g?O$1L^UY=$*;#roL*#wmn#^}5ja)sFf8(M=H=PsW%zAOusXpQBms7DRk@<_L7tbBQQOm>`-H#uT{pP8}vCA&K zxry_$?TRi8y2q&IbYVJI7=;5pb0uSsbn*uv_z-{rZmfTs@~ElJGrFbmO=wEzizDl! z7ESeNeQHVZ#99MT*NbJ2Hoq-BdFfJDP-D54H@?HZ65vhFV-kBHd6w zWrT%|4eVff??Iiea5cU0qO7Fa#V*H9q-{=45vX1C!!xvM!ii-+SFNwnDZGWn@DuhIA2=TIi;^KljJB1rEICHNzZ>u7~_ zS@DyND;j_ABfY;QqDIU|$q~*rSUZuVvs5L6|4ih599Z1d9sGUN(8d5P6@csnfV>(Q>`W&tO^f3{_ma0w$8GsTp3R)n4<*mMkT7t=a0NLAOwNO$ zW>rk^Yp9J@_r*vtK)*(l4y(e!_}Tf7i1jAHu{UClH;QlTg!m!@jlzUxF--^=dQsQ+ zZBOL^rPpR7^#rmvb}2aI&s3p#pcT@uQ*>67@GK;MC$m*(848w#EA3i~vfXg+`s-Zy zfhQq)q?pr9*f7s?ewq7u0&7?pf#MBI&y_T9;F!$P4jL(fLPTA(^Ft*YpH|Dns{^6; z{t*{llc`jj$#dzk~TrnpFND~$ahU~Qs58GI(ovs~s-Ys^O@G>JQP5FDg* zd%TvY(C8|5@&QWRlgSHQa*S(U%yuwOwJ5{QNAE=XC*@-n^EM6e*vU|}(vkIE91(Hf z@}8x?o!PPQsAq;YbcPoR8)R6NPmH!PP&W*JUzH^5d`sz3lbG3XTZOMvy#E(r@!tE@ z8~gn)JRg=WDR8|{m#J|7FK+?x_weoQw|@7xZ#}@<$S9+v25)??-ay2e_Qv=6mFF98 zzddZV>723a^ddX#ne_5@KM$lBd_0vkrTQ9c@$kc6Z-eXJ9>6-iO7lUfa^>n3CmLT3R5Sr&y-zSu$0L~VSsy+VErUY9(TCO8Vv%0R zj2!n1zP1o8Me^scr9DJ#v=8y@(b?VmCttY%8;IjH83({Bp0Jn!c}Aj4O^(3}UA5U= zo(WBLtaUSpsa-Q9u=gyFHqdY-yu2NMZ30W&5JwaSIZAd;2ZoN7+p-!53v2%`;^ScT zH)!L=bJGssFxkCe3!Hiy*=m3TY8vIwy-7Cqh0#b)4|Pm#8%-P$$gh|=9H$g;pqY4# zRc|wK`{S4TSzwXpE}mtTuPe(id+Dr-C}IcwO3(PK=_b=yZ|N&7HC_?}B{2ruB>op13)T3=OS%8VsEXM+K3F zEsZRtdMwAU&E}y2nPSOwK|fjn-pDpN+y>cHMp0V}VEf?IRLtk~+P}en5fw$CYH=89FX+z3@@PDylrt6(k&ot# zeCiP7)MSsKSmBNa-_0|B6G$hnP2a8{gHM_wvz>-mV@l%RDl27dViIoMXXwu;L#76I z*{~Ie$zaz+uQGkF)wRf?(_EgJVg{^OS_F^_LEey?qpt1n4PA7N>0?KOVco(> z&EgS6F51RxZhDCNuDYhx70Cg2?F3e!e>gPu4)z2F!eL3eT6;o&JD$5Vsn!y8kzR!^ z>$HHCVpt^q>w5)RaB56$WvbsWnuj z;<|o7+Lr)dPV1Qo?2oX`)=_cZ&Auf+3?BsR7jz#>YyPbVqtlB036g#|C^)pYGmkQ~ zvG&aOHUo=#hGSoU_#>zY2lSTq3X*8>n`~K)ePVhYom49m&@oHu$W%2ge|dD|8MiiK zlDOKrSf4kYbF`Vy^zaoXUm!5#PR@SB=BA8#DPudCFV z>ZOm5Mop?>X9`4238uVvCc-wLCTw0WmsmKU-mqB>(fL{)utzp?;b-fr3cc&3gXi>a zX!$Z0Xz3S!Z+}g$M*1rV&(hlEdtj(Q%PbMPor?_>&|Co3L>X}n$v-Am)V$P+$-oMq zXV1rK!_1B$TP)qrquSh3WAx%HzkvX5bP@0rUBKnpVo7(};QVXqApdrMxMVk$a z(7f+*`mxj{o&npDp2o!n-z1UwI8Y$q0&uIW>Jn{#P9Y=SYA2x;`M#K>BC6RV>P4aD zV=v~~u_!T%vNpQU^JtM34-}5`Ksf3SE*^*GL;;BR+1wCtW!T{4y`u<>`>Zw9TPaQ#l>IFKX61|M^5}4zYX=DH4lcdPB>+v6GE&oG)7~Z4x=p^MT*yzEit;fr+KWN zvU}LXOxO*S)FQb*jS@y)Pw1jwxN~8Xv9ycLlgOcqYB<{g{C%xz_lJ zD#EUvc3K}6X-5uDMy@*cy=fd+bY4+R&drhx9iOPScE$DT0bxoPJPV;Nlz}M;SEZjtx zMPT=tgZOwVybcB3ZD}HQ8lPX2f9P1=QOu`J0f9cytfyA8Vb?e$0eaR=!!Z^A0{5kz z@x@L4&b=?wZ+GW^nWfk0dCAw;Xqp$*H78%W$*!?_Y2{t>R8>Xi*PXrS8(US5`wM3! z914Fgub~M*1=o`$P(i)fT!(@pUGI!s=jk^)BM*{)O7z#IqbtSu%fy<(VmN!wXy;Y- z!x>5dq08O+kjkWo>`b_3>>D!>&-SX;D+hmEX}_MAogcl_zgo2gzH7YZNu99}4@$jv zcG0QhEAd&YQ7_&9SOf^08ld;<3q41`OhA7N8#M#@kt-;z)n4CJ@8r)fO&ls%$+HWl zzmqkS>7M*DIaj^R2pxV7c-rG@OO`V6_Q<2R*cBTOn_MO8bDQL3obP}B^WIxAtZv4> zFXOWO9{-CWN8hjJ<@e>q^84o{&)OSTr!??hJ>F%8aT? zbXI0DAKhJi=qjCblTI?-bk;xUreDx;O;=rHI?Lql5s?{xnHiB0Sq*@ssmEpp73m(~ z;qh|!aQ8TTW!2C_D|CP``@3O|Ce_UH^2FH{O^D92L3(Wd*h97{`dF)_Wzvz zuYd7Be)u;({Lh2G`wzdM(*OF=FW&g;H~twx{o z!<+EGyeRU20)IZp>nsj5k#!1QMDGx4_YL(YjFbl#ki1PKCXVolt6@PPHR-1xF zRTA-XKg+`|B}nnX&BFuuze`qRNwy4v=NZ4+@TlT(@b-g;UpzW_TakDeyuC=S9`VEA zUR2dAO}D|Co%5htC1r4#7w2!k1d4%1NlGZ2CB7bi9N4LRc6xlO6ItbP4m8Gb5a&^i zg{(^Q>}62rqVkrV%HQ2P`h!m8?^twx7(C7^WFV{He|X7>jW>dVFIf?%ye#+j_I9V+ zM&<1hDo>uC1ouyZ_Mx)Q5Hh@A1rd0ww{V{Fb$)?^$%9W~UPeW-K}v#(ErTi#QqJHj3pOcBvS6O( z(RrYQK`$9hS@>^)zggP(TJftYU~^*wu%dZ?5WFa1w(l4Gn>s0YsC_rlO3VvBDR@;E z8S*4bSwX8L*c31ivx@j5z6UTpps>WRSq@}euq3683_7AlWzvv$X_Zuj(TYdsc518b zh6n2e=zy|0Y-)VsMBDZ6f~83u63s+iZ;_v<#q-Gqc(@KSw&o>{IINW!6_vBS;8S3K z+>G4_M8S<<{<1cF!As&@NR@{~fQiyal6i9U1-Uae>&&!Q_tzbDL2G}W-u9tbGWFGy z{n9C>Is7XBOcZ0IMCu(MQs+OV>EKK8E9a|~;)c0*M@emW+SkEa+YZ}juOH2?hq*SI z8wP)H_`!iL4~R8&oiqJ9e+GHrqr-!Lk2G%HyU3F`hzbtpD*Vp)C7i7}9AI!dyoNv7 z);>crLTDXnynSFfyCPOat9RZ-DMTLnuaibAo?g84O;qs{=oL+eND2{pmk8CAr@UC^)wBGV z)(y|WFPzh=iL==M)Xo(c53HhoQx?y3%KK`LL$j{Kc z(M$u-%kmAEx>9pO!s;$T>XtNLt~itwRNPKmsAX0aHJ{-kn=M#cavvR_gf@#8WV~T% z8pib|O<=zSf)w`u>c`t{n z8RwvMhtL}IU~6LSPj#K&>Fq~Hc~JnFL7ovOaa@xawptj7G$`wN*z&FfAYgU13Q7Pe z5nRj{9Q0rQawn}%n*vR-;!N#o7nq*(#*4hbNe(UB>`f| zyx$cu9;hkV4r)_m80uyQUj+*gW1vsbIa~5zyW`lmL#=8y5&8CzxYxPHJL~$xE@_YW zdJZy!b_&0>$5CE4FfRk~1Lgq;btKWhjMdWeZ%u?~=ZlHjx8M4)_D1^C8F}|+mo)u4 zBj)pZx#Y#$0i5!G6~}$*HISxSHB(pMsM3;-^7wVxur=!HmI5U3{X2Be(w@wlm{syp zuUVvJE-tAOIBF8SR%ve4)GTP_p(-Z07O@- z?H-7n848eSj#;n>q(?-PeZ2mx(THAxY+5H(UYC85vQP6*Ra*bxqyB`5>qy*_Wi@T8 zAYNv97V`C`+6LuiQo*JfF*L-{*>iA!oQH|9&dVym)o`6Z#oINz3PoEXwS}a9*c0X& zqY=Yxl+|f}MRZ-CS$==AO`^|4-cvdEq$V4a6vESFon*}(k?|5cFcV#UscsC~EETOt zeiEr4cFhPvONV~Et*>$1oto9m#J|Odh3XZuTkTUH-gyb6T6Taw!N&?rkdU%DPhSSp zJpXh;)%YJAeArz{4>P*^R2Q&pNtc_!3^qzH+r>41|MaU(Xk1=wY92SV{_h;(=_2|1 zq(E&OR{1%HopoKqdY*^nzfOnc2{zxXAW~Z|d1~rhaCscq? z&0U?4c6jso3$z^oLB?v@Q2+?4<=|FR%Tb;-O5P|j5d!MOyss0}n)&nfnvGTi-@Dal zM($^S1xr$#7_Mq62}lkd>`nBFx~)+o?BI(ewez_*M$MSRDOv5Us&z^?E_$t<^XY;W zH^{J%@(PcCIyffE$*@A88bdn`HxB}FqR`&K78RY=q{nIECJGgcJWcaUytdc|3<_2n zWTRm5OROiPdcsy;y>)o&)+B8ZM7zXW`?G0(ceh^?Ydf>O)6OD~$l{A5?%SLG-wVLS zzR9{mtcy0|_j}S9wy|O;$)W`sHW0GpU8`Bq5xJH`o1oRd_O2e>>~{57c>Z0lv0<~) zq0rv$>tHduGTzo@0&KHNDq(CQ7Oz3vNjA8ElC`*_X~Y9@IX+hcg1xV;UP5)h`6l*% zd7u0$^Sav9mGA{UxPu42O?u8#eUnhaZI0FLuktnDzu*=7c7IWZmwX=ci+$<22~dk< z8CC`7`yj)tnJU6YiI6g5n{t&`C2lDpA;BgJ)HZN=_I0!J^CA|C>Ia8+bT#mpqwies z^{>C)d5lK>K+mYEgctkjA0#0i-Z}VxaVhwS=Fg8v!NI{HY==K81s@)M^!|@Z!L6G= zE)U-P$N%&nL8nC9IqYcbGI;0qU9qQ>H-bBN6k+ANC^^axaH_|_`^~3dljBW%LO#-q zID2pE9_4@i=%4@MJE(ZZvy0hb@E!S-&v<$3=B)#N_>K36 zH$>UI$S+|V?G~I4vfx_-UUR{4N4G!?ZCVb^&kF7C=M0(=rO{b%APwGs8D z@{#Z%!i(~%<*ei_4kGfR-$(2`I^kAW^rtt~Or1&2iEkkq@v52p`lYC~8MRGXFO#gr zp9yF+CCaOi9UN?12EoU0mFMTBDiUqYv^k{zJB;(S`i*A}iuy2w1uL3=IzL&I``_Xq z$=}<&1}qqHycG`9JZ9yJY`8@k5I%~59c_yxZ)B7{5`OKC}9zO%cBt?^=0gPuLH$?nFUi|*-3-w)o{(=7g z%g!X&7n41V>LT5S<%UHt+;)jbJS=)5t@mb>D5@nndMR_!oCqw$Uv;EtJ9Q?br}`Suc|zFixY*F!Ox z0Z~=miRsPtF>Ld^yFezPyXV*tdHQ@F)Qa`g&(OYk zFKOGR>$bsg0it7^H4?=_G91llwbLcMK7~6Tr2@^d+jt&-w~k=YfsoQg#@#0bS#2X+ zC5Kbm1nyWrrV$xA$s4?bYF^r9s02^)&)SJ>9FLI|I$&JH);z^K5|0V8(RBd1L1^yiM{U#Hh10;{eK(J4^lRw>H?Tiw9H9C26ClaV^purlxaQR= zkIN90fe>#>y$%6>74c2=NT4Fdmqy9`2wQlN@H8$*C;5nIYg#^da?re$9{TN(piv?A zFeg~j%-&Hj(2{(>8V?X7;7I3p*xCnrm1}R8Esbt}SukLgeZYJAKYh7}qjAzGkwd~1 zOgrI?0QseIb#qj91Y4p5MAdZM1`LnFIjR#ooU1Y+1~{q`Kx3@3A zc#1W@N~*1G0^GVeK&a70K%N&?X<$s&9K`%M4rL9#zab6JJiOM!GYW+7vfgmlflnfh zm3Ufzs$siU6_)OR;$tL{N0_$7|0TX{W@WZ1^eAc*Q<_OQzLBE`G8UF_VV<%D}8Hmp66vcOWteRq#F<_opZ#<5v2@Y>^Q+v%~Vr3|{HrV;ot)((q&mt*fxrgq<9bx^*~c!-jx=zUVRE z;MH0dB||a7z%D=msDqnheZ&b9`?ODo3m*1fzy?o9KSp8<#=Oi^(5ymqiyS}BG^BOx z-$0gU+ckzuC`Dm7_igqS+?7dXH=P3VW2>%PffNN~1#&{Us_WU;`=5nkJ!)iZnG=zm z^1^EpBltE-4Tp|-HXid0jp*!uAOGEd9-357t|-pj+KuN~$rk)r?4w7}ZW0}<1+n$) z-S~i8kyPxSFM@I>ahCbM~Wu#QN~FOJPP^!dH_Kntnr4f^?Xdv#-d>5pO?(`N+`dOE+3;utAm;0Q|GoEy<#|+pn#vc+6}bc9 zx8~EAj_Dx}XW@Kg+RhzT-{yFBwUdddE?e^1%xMYu)V;1Nw2|4Vx8Tu95VB@d+!-+x z{sj~9cWZUhI-Yif0el|w7o}~CEJy`UDYQ4-C_%=zM;c~HB%GVR zXeCbQBD)-)&xk9Y$Ak3y@?Vwe#S;5N{gn~rv*P7$U#i_t-7n^h!CdQ1>iW1n<|vx^#b-oeUR&y!^h$NBi0GP;c^@^2YM<3t}zOdNdbc=eF!zKh;<&cI`5Mpto zwe6LFF( zRQc*BVoJ4dDv?zlt{6y+tXV$0;YZR8u?z0tHemuT=0wLhlWIE0R23A%?Sb13H5@l9 zsW3s7Cam#)0`h4?+E1W2F!A8v6tR?kjcJKb3`CB!*qSFo-N(iYwG;E{M`xU8t%2XO z9WNQk82{>t(+lYI#X@Oulc&O)8CGu-ci{}y_^^#pnhM7 zdkNj3t@9V-PM9rLT9GpAW%rhWeFL*yvR-!0LBiLxTgD2`dLc2{rmp^kyWPishC0}i z|9SSM#dfq__Ae=NLLmKx^W#9^q|oKkgouL-OPw?3ybIKUVj!cMFr_jD)`hR}b47I8I<)<&BIzm}#~dTQ)V-|ww#Cjg0v&Da>2tSQbf-0Q6&>=U3fA=wv-CnX?`Z1%qzW zm1wU#zw8mu=HxHiEzI+DP$j1B8I};)#=geVKkM%J^jvWu6~vP3?dUpL-g_Emd7*Yw z<{>Xgq-22?g<|LPGX5yM^%8`(xE32Hb2_KAh-g<7J8vjAo6_$>LDhditE<0u<+}3X zwMfthpfjFevdY;wU)%N;`M_h_eK>1#NW01C+^eFu?Y1}Wcnpf%LxX#KZHDSM`1(C8 zc|_4gnaG6UaR5x2HESNjX+d+G4OCn^-)Zye@kDGdy~3)H7E;HQM+Z=T&BFliGDxoV zQsFctIPWa;)_ovb-AsS<7SIiYmI~}A_S1NR5WQx_H+6s8gAKDI(K*S|SFp;%QK3gz zrhoAkRjQ&-Ce*|SGG5u3fhUmKqe)TQl#M#wYcz_`jbgyiJUc>hq^Fr=k8oNZqbg?l z@O;xR{sZ4W!JBA9xv3T?hB~g#hN?T3-Xm70eLlR3v)z1@PdtCM^Pdl?X);)@KtodT zb#MH|hU=7rhHX<_#BalUl_l*odd;HD;w<@iJ{1Y&kq#O>!vIx?vfgL|6_A zGaQC4bAOA_3PODvT!#qe$W5aEKQ|`i70D1vEDERV(o{zyMo!14j6c4>YKFqh4L5n? zVe7&*hc+wL&6IyjBqj0hVxurKH3IWUh8P>eFx5w^_~FQ&XKi&hnleh?kU`WflDLzK zls+`!pL%Iv3?C)3ySp3Se(Z=VlQVdtzS;j*mw$ATs%{g+9I^c?3Bg$KQyiTIaV0+gO2Dr-B zU>un{1Mqa1?69f(=1uialjpOTS2q!}?hzbnR7R zWiE}d$FhGCQJ%M3CO}zvo^0-evU~oStfWT~em5t?vd|%hxD7+}BkJxoY0|!;1GjV+oc;G>hENOj<)nWbLZ?AM8xPCJB5o1LP1L(8jlQ!3S&b~ z*o-`saH05IV2E83kv>nVm5SoMW9}}x&GN$G{)SK@&1##Z${}V7l>D-FlpXIcfS21W zQVxHDA-}>*fL_g9vV?pK(>ym!?mqZDsV?0fhzM9O$OV2%mvM-kx9S8}a(}OULO?gV za>e3&+;;*eB^?9uqQ;mFF_k>#zD&m@ zmv3Lt&(iH_#?Q!?@riUTvx`ja3o%v^%@lv|t8Yu)Zc-7NPy0rgWX)YFs(OoY!m##V zZgehjJp-LrdOLwrC7IKuUqa#yXTg`wt8DE_S06}uzv}~=Tnq^?&Gfk5Q0^j^+O9yY zBK-&shnW{93r}c#U(X9vdtz`3yifcx#s(nK<^#;ODoz09;lj1ne1e7)SnD|E6$^jU zpqWHs``wUfMKe8LNY4nhFc+(U6!!`jL~a_b+SR9TLYe4qe8eu8;SzEHb>+RaP;nqoQNF-1 zwJ0gwi9j)ejxCc&`YHP-_vjlVL@6Z!c!)P8CR>)=P%-_y;T@0|q|2x}ZIZB$vKn;P zRQg*@mQmKp6~>`%+BeW#UG{%T$?>oI&N_OArH+NfjryydF~glPcc*sW7ju8-HhD$!~od{P^QO^4|_%+OpTGj=u?%K& zEESyY@}|`~+uJGzsI-ZfAp=>oVsqyaAX1|Ho_7LTG~vDZoSc5vzny=u_FmLqc^nw( z30E*ogD~8%ei;HKaJgO2O&+5r*vo=#HeSYtEYI?&0ufqD=Q8@r zjR^fDi>5~#)PN_Lcl&=Lw9+>33{ze?S{QHiREq9Ld7LZ~@p?e{ARqYpu_)>)@K8|0 z8YDrm^Py+Qi>jUv7kOLvlghw^7!=gJ@2XYsa!|0r=W)8FZwYUaPML7vIg)L+yR~h3 zQ*tsOHDVr9dXv^A{@1liVI;_bRlKU}2YQu^r=}CIo!bF#J0*W0RvzYR0;9b6GLxAj zB2{==k(T2zpGmPXoGCWwk{1`S)%7iZCdO#_1gGS|Y|$_sl$PACvm#Wo$IdjXR@~|M z+9k}IcEdoJjKZEJQv3gB643lypT2wt6rS36%>_ZxWU7xOuWdovS zERIjmx%@NA+OK8Xn$6Q%`$cicy`Qo68{cX!TE9*;=4Y^()a9VK>=l!LyY{o6?{Bt1 z^I!XmoYdQ&81T{0_a#a-DA4j@#c$gJvN8OQC(BjUEBt>viK|sxCUeoZzt!6@gA(1p zcHnS3Tjv-2{4|#?O9QEI@dXjHDb=G~D4bQs2 z^f^Gvr1le&1NJ#ag*}dKU=n|EN}0*Jg?~RREIOmMDH8o>!I4Rp87g|Gb5xY*JcaeZ z^&X1fpYeZ1)h~ONZ~8@F^b7vJQ;=(RRrwpnyX=?g1d5U#fl%^Azd&z^r(N%k&e9RT zJM#?Yxz?3_tk?{{j%>4*iyV`PZTcEDvh?ndL`BXFmNnBwWIF z-f{5%F^F&thW%_dQJ@{sFJl;9apSH5cqPs2O?>s0$X)R%J(cs-SMJt?1$9rLDP>GG zyEnDnv)9mW%kD=^I~{uzZMx&o69GX?4p1V;=*xs;j6hjq@(o~4&`9Q*~Rvfq^SV7 z7vMcqu&k39Mm-P6B8q)j?*(TZO&JwWw>Knz%T->daWLlryT}0px}F6K_;(TH3(;4} z475^scl$HETjH^+;{;YhGtfMezQ#sBJ$-ii>wx^Ni0oj^&UqPNuAQLq#G+AJfnr^P zU0lNqz#P9+h{V%`C#j-H8bMPI0VVO@9_(C7hxlb|9Pe~j7yeBj+^ zG`I*beOnwPJ+#!XKYr-r10fP+4-CT=(4ypF^Psbfl&!l;pF538Mk&arF)=5qPi`i{ zH2RMZz+g{nSmyC6Eun~q+SDUQE^w7L%locn5Sn0ip7Fhjp)6c(IteU9G1U{cpV-Sd znZ>RdA$x}|xNg_9!4(|Ee*`@f4iV;8swikkj$|J~UW7l)#CzzE<+?I?t~3oDb^N1^ zZ7P4cCn|o!eE%OvXtm|P$clpO$G+K{1*F4OGz+r;5PlhJhS^L_#V~y0=nywTu zUk`djcwc@e+H5?&kH*d_!?LU zivmSNA36x0t_HolMI?d8aNx;4*f24HK7BQIk+K!&!sfh+GtFr`CiY%RjSvKN<*uTAK)3dk_;+>jA z$-NEgLcZhTK@zfj(S)|I%Pnu6tbxsN8czU z-}_|+4@~VP{dH`0{S(D3fIL*m-_4&-uJq5Y3E(S4d$}N@f6D2GLV-o)Gwu6)+QML9 z9j*uWhYucp@#v&`d-&}1__SXV_KSXZ@8}P`l9Q(=!Tpoq`02e*PamIY_m3KTo9i9i z8M5u=3RaC((`(&9n+(^jZD(}dpknI5#DWcdBn{PN@IeUg>EK z%&7r{eM{;Ne~u@;wVDlYCUx>Atds1CZsNbw8A4sG>TZfb=lStoq60mZm>{6dKJa>5 zH@yk&c;MOGXt3cjmuS*;%ZD0s3eJu4nz32MADt|oe}Ql5tFj9 zv_qM5Q2W*3^PD@S-f(Sj`V{^cH-5_4=9s%17RM^i-bZe40Ee%Xw}RgATS-p(`bR~L zRX1podfZn{TIT|G0#9ifU@kI@*fSq=aYdpZ8K`Y|24-yKk;l-35#d)p13kxtE7Bxk z?}dDCe@wdIJLQbHCxPKXZ<764e4i#zCtz!gf_}v=Ru~^->^)Ive1E*zSH^bwR?8oI z0#VdI*vfO$L*m+6F!ZL?7oU<$9CwZp`wpodaqC=kHK7a+DM=!WCxS71XAM%=Qa<$Q zoV;1R=0y@IgQH7vl~`&^r|0|pP?Yas!3mWBe1wef1BYErWKsCO3c~lM}fv z2}h{I;NVs#8;-aw=n0JL$Vd$%xS_QR!{;6D4&;>cAfmY{KBi zd=zLCufkQHpO^dmYQ^f3B4T2`lfWkzeb+?y-(5v%OlRMxfd+c>$3(z=9x zJp)!fp~=vI>E;#e2X3H$c_%5qU$OGtKiv!e;mddMe_8nL&G4fy|MuNqS#I;qW*FI7 zdM`udeczhQcP5Ekys0QDBiH6L9jfKVcS=qf66?f zG8^LfOjk{70_g54maHr(;XK_A9yJ?{VtZDwtlT6iFCGgt7s((q&J#+&D8#?;a`lv-yy=EWj_Pc>-Z~M$l zfHQB<))=;_x0t3^ZU2@>lY7P<<6OFw?kHo^6`P81Jes7>7CW8|S3ImvkKExqd7Ay* zd}fQxdHC|G^1HTIijSJwDzu@JEmAzWC(`truFNb4r^UR}zFW~V;f&JYe{ajwZL+!z zcA#t+V7y3inPx}kkg}UZgpbu(5$1Ebl$2(-p3! zH(r#L6ubE4xQVpQ$teQ0i+*^9R&BwSjyE%A(#O|QgUqfz)B|h`!N{B638W|VL^Mtw zQHwsgx^VfXg>`RJ;z48^e=)a4vBpny8*cB)d1NoJ<}MzA7ee2(=*6QcJR@%TiBp;OHM7TT=$eOtlnJRv}R@?r>*zCpvQdOeSG?;b0B(bBU#>L%tbjN z%VVdTXAfCkw#e6*pbl}CPO7C%k!Q){Z)NzANWtgVQdkBPefLqyBz-=vqFn^(y`eV#3FhLCN14Ycw<-hU^e zM$D?@2xl9tok-GIs*=HfCUQRxEbi(K{sBs8V*r*4VDAKgd+BDy=IH1tjkd$|j3W7h zYQ~3ix)YI9U+m^otH}ndLZ!$5y%X8iS<1?lQF{?Io$+*W)R1L+$>MawrQ58n9<2^9 zRj9@{C+Mg5&Pga{=THjG|A!O)9S>Lxkl?Rkwn`P<=WN++J zaLAvjLh?W>q+h2-lks>HW)I~c#RI>4DwM@J^5OVJyanUuIN_G1;2I!rw zfb~yY(WiYvChaqqNt*7qNhx=w@_k!wRu4g~@p)pALH2dEjY>g?FMm>)#b!Gq^-?I6 zQ?l919C$UwMS5Fd?23T3iT-5pnJmvUnM18HAC1r??$lx9AfemiwM2zRSFw{7C~;3F zFL22*u6Z%r!93NX3^yOW6X|Qp$2`j0G{9q;p=zbG*L!h9#C^+qmi}>O$3j)l3~lI4 zUc`KmVNpIY+QvZLFn@eiJ6Y#jLXVn6+=kl-ml);?|;d&Vd;_r*ZXvt z3ito=4gh}--`;)aZ~x|*2z_p z4N8?OSFbqM_-de{2^i~rf`K|7!GzEH@R?{C6atPuti~3Lq;Rah$~C09eIS9&sSgNR+9`F?b=XHmA#TA*qhFZU!;6YlZ~& zo@HzU4Oha;+kep}u*3~bgbN#)i_vK`+pH12dlq98#kVtP5_6=?j>8` z)YHgT0~}D(2!HNFvav6WMtXXPWAfN&;)r1XinzmZN&yF&iN{#=HWjx&eyN`Y7J2TX zE~_jbp=Mxk)*udbkO0=uDIw&#ghYwbPda0Td{M^vcz;-;f~>OyQ|cIA=CGn{F^hw< zm!)#S-^EwJl)`0nq9DR9??@XTt{$7(qM^}8K2uiq=31F&tawrGNBJ_NhrCJ3N--_+ z(5+b2bL+0L4tmIx!j9;M#_o95djM78qbUuPtLEx6Mt7P_1~HA8xitJJPgB^NG5=EU zF_BTU_J6i@n90TuaR*wJ-xG$ET^31KiyX%k&yhi2`9K#NN2HgS+KiUIcuUX<>ZHo+ z(w1~$6g@$wi-d0Ol#O{8bK zbarU`a+MffLG59H5bB?LxFdmD9EREpy0fu78jmRDj0HsGqd6m=Is`d2*&`@cxFf-L z^MA|)(ur%+w=2ltlcvaQrykJ%NFsEJ;^uPk(5~bC)L3TB0tJtI%bg7O-*~7RmqmUO^U| z8k1X@>Nkw0VopDTEYEC_XC4VqbTY6SzrM!GE77f|8ag7KvO1Qyt{;&0CBT={dS(Lq zBW$xZE6%&wx8#T6gJAuF?qg}qzx7~rTCqPt(hmm(hxT^nEJYh@&wOt)u&8G^_J4&x zf{JiJZ)vX}i3Y#PmetrNrq|I)wK4%6v!sqpRnzj9s$-t!)<#S_uBI33^QNOmoB2!+ zUt#hEa#VF^{Oct?^=EC@O@ICziBB?ENl4BwdH!)ZF=a;~0KjCC*eYeS9=(QWZN>AYw`| z<-IczwgENf^Ln|&!U6S$!)l10ucd-La+nK0TUS-+T_+tpr*}ikm$5)gzkhi9YjQQx zUqN`5)-K-zLj_u9iO}s_Y^Z?d0*EHch-*mxF|nfNrB+M^R`@)7K2{rMb`1GqA>W0VnSrMPS@#t*PE>8AGF324h-2Rhfw8|WQEitiq@uKGL_!nKn*hKm<15XJ~$b< z>e%ny$ne+Fo<#NjRD zs%6P{KL#jL=l-~o;Ho3ZqO|U&N}5K52)pkXUZzcgBztk4vyc>@a_AH|ofG9XpI z3D=B$V+P{cUe$W#;EyZq*Nd|AqnG+utG2**jn{cxr#wVOsrSw^x{$(qS@Pkx!4t6pY= z4nGGx?eVoGOPP3k#2M_dox6@0|!%H|O7%QCWVE|HY7_?^pBk z`|@J>{fjcs-hHb(7Ai|#!?wU}s&A*^Od8!fJAJ|X2YS Date: Wed, 22 Feb 2023 18:52:37 -0700 Subject: [PATCH 12/53] No difference, just using the default eslint config from frontier --- index.js | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/index.js b/index.js index ef561d5..cec6ffd 100644 --- a/index.js +++ b/index.js @@ -3,14 +3,7 @@ const dataTestId = 'data-testid' module.exports = { env: { es2021: true, browser: true, mocha: true }, - extends: [ - '@fs/eslint-config-frontier-react/react', - '@fs/eslint-config-frontier-react/es6', - '@fs/eslint-config-frontier-react/json', - '@fs/eslint-config-frontier-react/jest', - '@fs/eslint-config-frontier-react/dont-need-lodash', - '@fs/eslint-config-frontier-react/prettierSetup', - ], + extends: ['@fs/eslint-config-frontier-react'], parser: '@babel/eslint-parser', parserOptions: { ecmaVersion: 12, From 09243bb1e93104a2e854b2cf286903c70e769bc7 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 18:55:19 -0700 Subject: [PATCH 13/53] No difference just that some rules are now using 0 instead of 'off' in the final config --- demo/test/snapshots/lint-output.js.md | 14 +++--- demo/test/snapshots/lint-output.js.snap | Bin 14170 -> 14180 bytes index.js | 64 ------------------------ 3 files changed, 7 insertions(+), 71 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 5ddfce9..bbbc18a 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -281,7 +281,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "curly": [␊ - "off",␊ + 0,␊ "multi-line"␊ ],␊ "default-case": [␊ @@ -1186,7 +1186,7 @@ Generated by [AVA](https://ava.li). 4␊ ],␊ "max-len": [␊ - "off",␊ + 0,␊ 100,␊ 2,␊ {␊ @@ -1312,7 +1312,7 @@ Generated by [AVA](https://ava.li). "always"␊ ],␊ "no-confusing-arrow": [␊ - "off",␊ + 0,␊ {␊ "allowParens": true,␊ "onlyOneSimpleParam": false␊ @@ -1516,7 +1516,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "no-mixed-operators": [␊ - "off",␊ + 0,␊ {␊ "groups": [␊ [␊ @@ -1884,7 +1884,7 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "no-tabs": [␊ - "off"␊ + 0␊ ],␊ "no-template-curly-in-string": [␊ "error"␊ @@ -1929,7 +1929,7 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "no-unexpected-multiline": [␊ - "off"␊ + 0␊ ],␊ "no-unmodified-loop-condition": [␊ "off"␊ @@ -2262,7 +2262,7 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "quotes": [␊ - "off",␊ + 0,␊ "single",␊ {␊ "avoidEscape": true␊ diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 0ad8f31cc97ee5ebc33713ad7c8cbccd0316f219..aa20705fe962bae275eb00bef269e13330c51914 100644 GIT binary patch delta 10916 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 N{vV~#TgBrw0RSXgR(b#c diff --git a/index.js b/index.js index cec6ffd..f10adc2 100644 --- a/index.js +++ b/index.js @@ -15,70 +15,6 @@ module.exports = { * @property {object} rules - Tree custom rule and additional linter configuration. */ rules: { - // Remove following offs when we extend prettier via @fs/eslint-config-frontier-react/prettierSetup - // These are conflicting/unnecessary rules for prettier as found out by npx eslint-config-prettier file.js - 'max-len': 'off', - 'array-bracket-spacing': 'off', - 'arrow-parens': 'off', - 'arrow-spacing': 'off', - 'block-spacing': 'off', - 'brace-style': 'off', - 'comma-dangle': 'off', - 'comma-spacing': 'off', - 'comma-style': 'off', - 'computed-property-spacing': 'off', - 'dot-location': 'off', - 'eol-last': 'off', - 'func-call-spacing': 'off', - 'function-call-argument-newline': 'off', - 'function-paren-newline': 'off', - 'generator-star-spacing': 'off', - 'implicit-arrow-linebreak': 'off', - indent: 'off', - 'key-spacing': 'off', - 'keyword-spacing': 'off', - 'linebreak-style': 'off', - 'new-parens': 'off', - 'newline-per-chained-call': 'off', - 'no-extra-semi': 'off', - 'no-floating-decimal': 'off', - 'no-mixed-spaces-and-tabs': 'off', - 'no-multi-spaces': 'off', - 'no-multiple-empty-lines': 'off', - 'no-spaced-func': 'off', - 'no-trailing-spaces': 'off', - 'no-whitespace-before-property': 'off', - 'nonblock-statement-body-position': 'off', - 'object-curly-newline': 'off', - 'object-property-newline': 'off', - 'one-var-declaration-per-line': 'off', - 'operator-linebreak': 'off', - 'padded-blocks': 'off', - 'quote-props': 'off', - 'rest-spread-spacing': 'off', - semi: 'off', - 'semi-spacing': 'off', - 'semi-style': 'off', - 'space-before-blocks': 'off', - 'space-before-function-paren': 'off', - 'space-in-parens': 'off', - 'space-infix-ops': 'off', - 'space-unary-ops': 'off', - 'switch-colon-spacing': 'off', - 'template-curly-spacing': 'off', - 'template-tag-spacing': 'off', - 'unicode-bom': 'off', - 'wrap-iife': 'off', - 'yield-star-spacing': 'off', - curly: 'off', - 'no-confusing-arrow': 'off', - 'no-tabs': 'off', - 'no-mixed-operators': 'off', - 'no-unexpected-multiline': 'off', - quotes: 'off', - 'arrow-body-style': 'off', - 'prefer-arrow-callback': 'off', - 'default-case': ['warn'], 'valid-jsdoc': ['warn'], 'no-console': 'warn', From f1f40718ae9306957f3abb3d49a355b341d4605c Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 18:57:24 -0700 Subject: [PATCH 14/53] Move rules around. no difference to final config --- index.js | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/index.js b/index.js index f10adc2..7a60a4d 100644 --- a/index.js +++ b/index.js @@ -18,6 +18,21 @@ module.exports = { 'default-case': ['warn'], 'valid-jsdoc': ['warn'], 'no-console': 'warn', + 'jsx-quotes': 'off', + 'lines-between-class-members': 'warn', + 'no-case-declarations': 'off', + 'no-else-return': 'off', + 'no-invalid-this': 'off', + 'no-prototype-builtins': 'warn', + 'no-shadow': 'warn', + 'no-undefined': 'warn', + 'no-warning-comments': [ + 'warn', + { terms: ['FIXME', 'TODO', 'TO-DO', 'HACK', 'HERE BE DRAGONS'], location: 'anywhere' }, + ], + 'object-curly-spacing': 'off', + 'prefer-const': 'warn', + 'jsdoc/check-access': 'off', 'jsdoc/check-alignment': 'warn', 'jsdoc/check-indentation': 'off', @@ -33,7 +48,6 @@ module.exports = { 'jsdoc/newline-after-description': 'off', 'jsdoc/no-types': 'off', 'jsdoc/no-undefined-types': 'off', // 2020-01-23: This was broken in eslint-plugin-jsdoc#8 in 2019-06, and hasn't gotten much better. Disabled, for now. Check back later. - 'jsdoc/require-description-complete-sentence': 'off', 'jsdoc/require-description': 'warn', 'jsdoc/require-example': 'off', @@ -55,23 +69,7 @@ module.exports = { 'jsdoc/require-throws': 'off', 'jsdoc/valid-types': 'warn', - 'jsx-quotes': 'off', - - // These rules went much more strict after updating on 2020-01-23, and are decreased in urgency due to the impact there would be on the existing codebase 'import/no-absolute-path': 'warn', - 'lines-between-class-members': 'warn', - 'no-case-declarations': 'off', - 'no-else-return': 'off', - 'no-invalid-this': 'off', - 'no-prototype-builtins': 'warn', - 'no-shadow': 'warn', - 'no-undefined': 'warn', - 'no-warning-comments': [ - 'warn', - { terms: ['FIXME', 'TODO', 'TO-DO', 'HACK', 'HERE BE DRAGONS'], location: 'anywhere' }, - ], - 'object-curly-spacing': 'off', - 'prefer-const': 'warn', 'bestpractices/no-eslint-disable': 'warn', From 084a08b2611d8967d69a858280145f49a6343afe Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 19:11:01 -0700 Subject: [PATCH 15/53] Removed rules that are redundant because frontier already implements them Added comments about the differences tht frontier/tw-blue does all other rules were not in frontier. Nothing changed in final config. (only the ordering of env because we don't sort that) --- demo/test/snapshots/lint-output.js.md | 6 ++-- demo/test/snapshots/lint-output.js.snap | Bin 14180 -> 14180 bytes index.js | 40 +++++++++++------------- 3 files changed, 21 insertions(+), 25 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index bbbc18a..3563ca6 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -10,12 +10,12 @@ Generated by [AVA](https://ava.li). `{␊ "env": {␊ - "es2021": true,␊ - "browser": true,␊ "mocha": true,␊ "jest/globals": true,␊ + "es2021": true,␊ "es6": true,␊ - "node": true␊ + "node": true,␊ + "browser": true␊ },␊ "globals": {},␊ "parser": "/home/vetaz/fs-webdev/eslint-config-tree/node_modules/@babel/eslint-parser/lib/index.cjs",␊ diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index aa20705fe962bae275eb00bef269e13330c51914..2f2a42c5403b39b56cc8f4fda67b7f6b7f7150f4 100644 GIT binary patch delta 11681 zcmV;SEnd>(ZscwvK~_N^Q*L2!b7*gLAa*he0swp=W%I+f6s-cLv#QT&MI*5yCklVo z95!|MiPwEML=g!iVeBotUs!qT=BIl6k=|K`hHcDEk3F%-SZt69t>7 z5MVQJIfadVCDfC0|KmBHOca=?4TR@>Kg|<%wHH4xXIeX_#G|rh1&i0wA6bD$1t>hY zC8;lYUBv9^c7wf|iMD3)o7A+9h@yY{plt#OU6&e`@7 zw7y*%mDf25neFhXx)alz>s}D^th+!ap}XhU5PAB19@as&AD!%*E{t6$MdDaEXRu)5 z|LBt8T2-if55e`_s!CxOy$bneG9_3NMtRP~MUNNfqZplzcmV{b#dwQRQAAs`kjCc> zcNVgy^f8+KxOHzFtHpmpVp9t_l9?*NRXv9~q#vDL0V#~u4dB5VbqSO3C$r^!aYH*Q zwFL!C+^M-3p|wv(V+q@9d!6PF;G~KJ@UE>*ei_brvNel?hGS6~3O6nj1yWIaLOg@6 zp6XhbtIyEBS(dbI)AiV3xB$^H&KikgAsM!2wA$$!UZ27pw^DzB=8!g?+pQybbD*Sj zkx}}Dpr37oYvXWAo4_6G$21}%J9&e5P|Zub4wd3g{#iSbjpH%0LI;eCqczL$PQzn@ zZ1gjL6cE}xNtZdypJS#jlLdGBDw=?LKq{(9g%jUDX^v+0g%L-aw2HFyTNpJJ4e1bP zhE7ST(3UhbJdS@V^vA@$?!BXRwCzNW$VY9{-G$S@;r%p=YxG0u0XMKeXdIyV^%Ee; z%=9cO%W%!A6;H|#4g(?HY?&rP>Y+eIj4zFv`w_NqKV?}`j!yCs)z-9paOa?T zD?RGlEkUC~$S@~Z+RWZjFgPXofHfW)M!=EI?;zR-=PG}fY?m#KiYyqg%0A$|^FMvL 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 diff --git a/index.js b/index.js index 7a60a4d..73297b4 100644 --- a/index.js +++ b/index.js @@ -2,36 +2,32 @@ const dataTestId = 'data-testid' module.exports = { - env: { es2021: true, browser: true, mocha: true }, - extends: ['@fs/eslint-config-frontier-react'], - parser: '@babel/eslint-parser', - parserOptions: { - ecmaVersion: 12, - sourceType: 'module', - requireConfigFile: false, + env: { + mocha: true, // Do we really need this? }, + extends: ['@fs/eslint-config-frontier-react'], plugins: ['bestpractices', 'deprecate', 'html', 'import', 'jsdoc', 'node', 'promise', 'sonarjs', 'test-selectors'], /** * @property {object} rules - Tree custom rule and additional linter configuration. */ rules: { - 'default-case': ['warn'], - 'valid-jsdoc': ['warn'], - 'no-console': 'warn', - 'jsx-quotes': 'off', - 'lines-between-class-members': 'warn', - 'no-case-declarations': 'off', - 'no-else-return': 'off', - 'no-invalid-this': 'off', - 'no-prototype-builtins': 'warn', - 'no-shadow': 'warn', - 'no-undefined': 'warn', + 'default-case': ['warn'], // frontier has this as error + 'lines-between-class-members': 'warn', // frontier has this as error + 'no-case-declarations': 'off', // frontier has this as error + 'no-else-return': 'off', // frontier has this as error + 'no-prototype-builtins': 'warn', // frontier has this as error + 'no-undefined': 'warn', // frontier has this as error + 'prefer-const': 'warn', // frontier has this as error + 'no-warning-comments': [ 'warn', - { terms: ['FIXME', 'TODO', 'TO-DO', 'HACK', 'HERE BE DRAGONS'], location: 'anywhere' }, + // eslint-disable-next-line no-warning-comments -- I don't want a warning here currently + { terms: ['FIXME', 'TODO', 'TO-DO', 'HACK', 'HERE BE DRAGONS'], location: 'anywhere' }, // frontier removed HERE BE DRAGONS and TO-DO ], - 'object-curly-spacing': 'off', - 'prefer-const': 'warn', + + 'no-shadow': 'warn', // frontier has this as error, tw-blue has this as off + + 'valid-jsdoc': ['warn'], // frontier has this as off 'jsdoc/check-access': 'off', 'jsdoc/check-alignment': 'warn', @@ -69,7 +65,7 @@ module.exports = { 'jsdoc/require-throws': 'off', 'jsdoc/valid-types': 'warn', - 'import/no-absolute-path': 'warn', + 'import/no-absolute-path': 'warn', // frontier has this as error 'bestpractices/no-eslint-disable': 'warn', From 320e03245a962ca90c1aef551aae42f2f1551d42 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 19:13:00 -0700 Subject: [PATCH 16/53] We don't use the node plugin --- demo/test/snapshots/lint-output.js.md | 1 - demo/test/snapshots/lint-output.js.snap | Bin 14180 -> 14176 bytes index.js | 2 +- package.json | 1 - 4 files changed, 1 insertion(+), 3 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 3563ca6..ca2e79e 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -49,7 +49,6 @@ Generated by [AVA](https://ava.li). "test-selectors",␊ "sonarjs",␊ "promise",␊ - "node",␊ "jsdoc",␊ "import",␊ "html",␊ diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 2f2a42c5403b39b56cc8f4fda67b7f6b7f7150f4..a8b805cb266bd83f7a5e9230cd9ef3d6e5193e40 100644 GIT binary patch delta 11822 zcmV+}F458CZs2ZzK~_N^Q*L2!b7*gLAa*he0ssRhA2On!`Yo83xD*a{x@8}W2mk;8 z00003<$X<)95=F<_B}gZgu)m9gL-Yf)yJ}CI25Um+10MdnW4m8k;BI!S9)((D^*va zyNgp@Xw}Eev_2f+lYR2dJ~@2zAMwq9!N(WA`eOU+aApD*s6tf%1ym17N#WVpT{bEc zNF;znB9WPql_~+Zk-!xJo3Ykm34hK1<`>^V#WR*)%npO^$OnA3=CG;5PrUBCA&N*C z31e^B{ldyyH*X#E%iil2Tb6DnQ}EElGXJ>wh9++(ZRvCWe|J}SDc@hs((nd)gl15wTY+yJ52am{l@(V{jOm+i>PSo|9DaEf19>d zYF#33-8)iI-$`#pPi!$a#Gj3`{>a~X@NQ0Qhq#1cSDYr=E!_ZO=M?UpKYL@MZ zI;}cOvITi6uDtuRs`(r(mn?Y-hmj1;eg-g>gRT&>`@H!5*%#`&{QLv`|CgPC-xm`+ zjO!xXhUF%TVOaGZ@x@|h!YkQ29fy;10jKc-4m$X6n9Df$<9O(|C%g@1(8)geY=>pF zr4>C1mCmYR66MQXaeuvdGDJqpa~PvxcgG4)O6Jv6taG-#1Wj+(M&%VwLZ&)Ap6iN|87g&KWFN_&>T>xK?M*YDg{K-^#U);)$N^L;_6ZdE?MriHRaah9k z+Fqym12~=H0K98!lV65&o@~wHpy60lhQf8rM1fS!o)FKVtEakVnbxaL27wpgE+C=XUD|*c>P+U1XF#A?Rcq;m$am(k5`n z`Z0~j$WGqi9aQtuu0y4`lYiDuWaD^@tk41D;%Ln>yvOjEARArpmjXhYC+RYW`E$(F z1+w5yUqus84@gBdsc_=^C(UupzA)lwlU7ldehZ_fB7Yzq;>^$~DHYn1hK9#cg+7?r z*S&YNj<%i15&5WXy1Q^1IJ}c)agDwwJ>UlR2aN+XzkUKFnVFtNWf`tnwc<$`!eJo9 z+f1)bfL+CGQ#}-@i1DRSb3eis?x!qE%F#(aqS~645AGZ^Z>1M~yCrB;2pQ%COPkp{ z3I?YnAAhjMOT!2_()k@k``}#VlI^mkQIQ1$R@n!mw=2{ph`l>i!J#UEuXfUCJj>~h$aYsFJM_*GhM zZ4=hD<*Z6Y3uxbNiy5=A*$FV7E@O^P<5AEs+pz*5RRwAeHljL zVSiF+P+B{LhXtp>B6DsUd#T_Jl2qR59P6*a8_^r8{ZI$`{|Kz}7|=q}d0zM!h)$u) z$P`>@R#4oO$L1YsnA&`uqXhvDFRUm6o%(;B>os5C^x zO%>Czvx%l_#Bx^CXo+n!Nw>b{Y6rR(jW5V9=qu4Jmkb5^b?r#zsypE!j^(f{c#TJY zyG71~R7XV;;;Kts%WW0qNyb{k8GwuqMVf#R&9_-P+{*fJ8OxW|$^}IWbsR|YG=CIE zBb-z7f<@=nsW)f1AP1G8tA$iFT zjX6>^-X|Xt+^zp~GyE_Lzr7p&WBAqn-j}~J@7t0ZwIzCsvu@~5CDTaw4U~% z&ixeSV-%&&&DI!k6FV%g%;1#{K7YoM1uP9uhS0hS+f%TUBl27w4%)CGps#qsHh8U; z$LUawFt7_y0P5i8SRZl1BtGra=7O8O7qG$e(T|ZBBQY;|2B)eJ-5|%eGYx5-_&1RA ze7nYQ26a#v&V8G01*I|_*G;>C{Ma7Vtw4$bvH&@uT-Eh#>;2E-P(5m3Y=4;(lb-V2 zYZ4>)HqH#2j(Ij7vki^t?4SPKe;%4sPp&8q+}e$2c^NI(v5=!j&~6$Zs|B(3?A`c) zTai?3oiBoNA93xh8j9Q={I>BHkM2)%CML64I#@>}VHd|{9QypuJ8%lA>J9o_mV1Ay zo_|^X?yal0yS7*WdS|c1;C~}F4nuC z(lI^c<}93zOyb;O@olzeS39|w>arytVNOfHr|xxKp?%Cwy#UvLF>KqtM%MqZAq69%+~bo~&BayI;Fy1%Ib^GDgC_>5Epf zY%z6%u5*=x#eg}|RvVAtwWPG2sDFtbmFx@^N@SPg^BHl)b9<0JU;e97?Oe@B>593` zMA?4r(J5N%es&Rv&T?f*LkwfL9NYx@a?{a{JX3@jj}mka+U6B0lO7X<+|Rv8BBi;% z?dbo;!&jZc!9VYacYhMMQdj7eE5SO`iob0Btq)F;qGMxReS$;`#|CxH)BIU8(|fnL zW9*Y|aCTM0&O2CH>v_7YVLKmRQ%09DMgA=Vug@qf@<s z8+>^{@iB|EbC4FF9;r<=!G8@ti<}i2JNf`;@Fhy@O}D5=9E1>@Du*23~Vz=+6ug1)#UvCy`lp zkwghaei(=BNvlvx2R$ySls~zWisb)hQUFG=C@6C(PA3QIGLkq{vN-8Wc z%F?Lu0P<-=+E1W2F!5mH6tR>55VxhLU;hFGchSl2yT6$LSJSx{{=WIi&e6T=rF4^R^*626xcT`g-m=3B_3Pb1 zkh&KV7Gw*PSa)+g>TaV1gF#!Y9e1!ah z6&ESHoPf95ZdNQ;P9uY~{!=1-*|b!dx_7#wxPEn;po1=+!Agarec>k&-Qb&7Y6EbG2AmMQX9% zt$%|Qp?w2Dx?XkLuL&J#ooeL(W3Zf^SOxdInieLNM?611eK=|*>DFK8WxYXl9514VD{-8_ zy5h}lJ(y{>+Xh@WM^k1qUXq`O?1JAuHh?L!W`E5R*ez&| zM+0Tq&UX@CJ)Q{h(krYAX=`yzd2}UX*W3)yDoT1S;!Z(={mwFP-5au7*A}+Sik1q< z6Z>vFL5W^R#W!_d?18}SXmn1p^cAe4`787-$@MSZs!CP#$%LBNK*uW^gVF?2do(F( zo3c^&U5!TJ1YQgn%JU;sM}K-Jll&o0%VU0-8$UeT^o#$%wvX{n%TR8r1&X1L>$9Qi zj-~gA)mfhpFJo^vZ{-trZT|BiHA@G}6=+B+w(gC;5V%e~XxKK@Wo*0ZJ- zf{j_0U1L_-4_+pr5iN(it4R-qS~pS7CK1NrzzmzA%W&8tw2Dxl27lKkg4s3G`2SDA zguEghLa9aJ^s_Y8(WsHr@hNYJFR+@SFmuBVZ+!J!xaJ^9#k!etuA+3^U2Iflrp9s| z$zVleK$rSxRX-d#xU8+tMibBI0vS}@B279;4CzA?NT!zt#y~V8yDQz$j=CeR4DD6q2iEE65tW$l|&~Ms-WoWBuwT#WEeh8{IES+d@Qy0r{&ZfgK=bT55Tid%73&b!NI}J=AS12NinOQ z6}{A~+P4vpENS^+=n5=jb*$B(zjD5`epV?Vd(~JOOQY+tq(rRPyDbx-tUOOQ_u!y= z{+X<#M-hJaxe;mT5X0LBGx-s9=bAKWU(t=#NveEEL^&~xUpOIxe7fDzpLYlFO_Fdc z&cV$QB;ulPHh(w~0%-1Q6H={2@VJb_U}@AlMA9ZpRaKMM)Le-n${ur?$I-@1+5zl? z@+dMmY^yIP-9Q`-0@`>`KBAlILD0SY)J4|!y$5RM4Hhr!!XBK7EEKp5~KI zRwvb%bz&luJd$j7{TwbFf$$1i-o$(4P*WHia^;N3&wl|IiqGYRkdlb>d0MShEZ}W( zchUKd6%HpFgc6Aw+cY;06;q(_%hug)yuScmZu3~V8HMZ$bBTF1a~Y-Np_FlMnB0Bv zd0Jh%{g@E2UXUa0lrG~CIU}+Nu4Mkcy@Y_yIOQrz__zlM!jfts0xCR6@y+KeU~z4L z0|5t>c=#+P)>Tt`#&+S-I6?Z3_DT;6*ADzD^N0;fuIr&F+m#GB26 zEuB}`+M|s=kn&#F2R6MJ5@4F;Nxh-$C$8hV0)Mrt@*_A5W?q;sJfZOgEiX{*5wR)o zJ`s@UU5rGVH!s_&I02Lg3)fon2|G|=xE-P~3PrPrH+_R*hOTxd>lYsd5acGFp`Ag)mty{A_~zyb7apqp?4k;5$sHw+%iWRR7bm+mJH91Ww|HV;D z)_B;Fe+GCA41h+_c2zG|Zmupe9?@MOs59w0a!yIgjO9DsWX>g*0x>Z^fJi_fk`u+8 z6|vtbSx!yEh>5pN4Tt1PW-K=49`vKn5P$Jt;wr(Tdz9CLm+2RLM2JNB6D|lyOPK1Ti^s)wG!pl`!4Kov1TBw+c(se)zPYf>|gh2i7P(;ER zailS(X%Ugeu2oM#DZ{rAEaU-jw)N6W@UTT|*#{KVBfh{umpComsRS_wCt9X)D1Vlf ze|mtvAwrZ=81VzVAu-vpq(H^w)rMCD63{N=>a9POmVMZPUJ* zG5)+arTC>NnxLG1YVI0c@r@FjdwJz?qiUBGK z@G^`*53QoPQ~ZmB%D#J@fEG=73!anH&-%9#*4~TyE04`WJ-8{)2GedB^jrr}a_{s$ z6yEF>o`^ylsY1!e*U|>OGx0fROXc(EXYf-9Xu5Oc(aD=<#|?IGGxzdtsDG3d$a51z z$Tsl84eOU*OahnN_1xqoYJ$BiqRqz3(2(<-#}%m0QZo-(8AndP0`xSQKPOA3M;p|D zCzyBpA~4G~?+jC3Iae5O@>GJ~hdfCasmMKE-sc1Vz9^2nhj%EbVGWWJ*!j@2;l)+Y zZ;L#v`za}4LJSIO)_2b;SbsSv*xJtC!TBR@&CJRGObqid=E~o`%zlV^ZEYs z=pqtbUZ>=%i8Z!-+jav@q&JsPF%QS``%GyuCkU3rubh?+%7a)J)!pHa?lEmzNM zp4Hl~7*1cT_cPIcU+@o|018vR|eXC`x(+Ldh5X0=*@cb-g+|OGo_f%rlthT37n9o)L~3DyEnDnvsch=%kGDf zwmbGH+H}XErvieS9H2&y5tk|H7=g0x25-Id&f7ymMkJ>#Ev$id^~gKY0f*cN`I+)( zv=F=C#ok_;2WZeQ199uY0(6KMeE{+c7BmN>fV|Oe1edEcUZE(xNQ2kYpZl|js*KaB?#jnWDZCfLO_%mB;~N`;t*si0$v zH?`=N=pyy&O91+s_Ug1Go(f)xH4&_lx;bp&xYE-~ry2Dikq!oFg?&Cj1SAz>)YhP9 zj(@E=G%M`vu%^(_Bhh`(m+yVog@*x+(uYsD2G=cOw$4(W(xuObf^TXx?|WD<%JD~- z2H*p)Mx((+fazj!kTT6uzy5TZkN<;6vpX;hTR@AFh0Rm2E>gDcDtmVtHwWKkWP*HD z53?yMHv>oO7N79}7|64RT^?^)5{h`@Nq;?$;sP%s^kQH7-?I$D5zJ0AzPB)xJkCug zfrY4|dcvZgwsRs2i5Vk%hi`+PIvhIXTVJ)KFEc#VS=?!29f0w4}Z1I z8_6RJu+Gc7 zDbfqteQaLO=9y2p7m?}S(!enZ*!O;vPT3;f65r_1lQ}ife`R%+V)~G!b1=(BEfBKX zi#9#?^B}&dNw3-yP8ag^2M?0y-4P6kqX_JNa#73JNHkN3kR7)7f}^8q^?wAnJ0DF4 z%kO?sgZGcNQAob`$_gHs+DjGc5Ow|C#H@TgP${F$pHHsz&#npJt2}$T9pX{b4TZ`I zIjOG)LFN&rDqt z&<~{xU5oOV70yHnlEe}#W{(F^)#i|&f54Ta!H*^@ny(N##SDA3f&)3 ze&yq_b4;!x%@Ouq$XAM_+r3lINO~F=ZuBPIKT7V=1nLB7jZx6A*u@ItGj6?y&5W-W z2im=oRnoVo{IQ4AMEwI%&P~q`Yiq&KoA$i;gmmJhvyIp#qB#A5@ z7R5}RHE3Z=`8=R=^5*rL6=|%Djjn^M#8M)i9{ut|Q9g$SBUA#M5V}L}k3C_-5jS!Y z{x|FS7TXvgyb0~yAF+2lQ5oSrM<-&3Wvpoq->4a6Ua|9S3Xhd7+YMd8oGkX$KYT<6 zNx3E;fFWxWxqmDP2dKl~;8rL5jkqP~OSqEcH0{^poTHhuFPbzQ<%VYA1_c#@zVEsn zT%?6C`ooSUE4bg-<(!?!d9zbko&mCx*8~wb=5-4#a|?Udj?VMs_v~=k)o|3hPIKcH zIEpJT_yE;l+4RB0!aYSSE&`S?sq0NS|G zty`Ee`ytXzK%aeU8RR8w)}>s2#z~FK=0ur+taBPOrMmJ@pgp__SDc@h`|N5J)g?v2 zBy8j0s*YHoYaGTr(odfj_f_CK4hs&upE`ojPq!QPs5ejOBUah9r>tw?t8sD_XLSkv zdJ3$1On(!h0n<$@*bfw*e|ak{zh6b=+kd(n{^OT#;r~YAw>QHNzx>_Xzp~umn@upX zv-B>8$nU;2neI&5xOhur7-U_~*Qp_P6aDDN&254f^?op|hfutFMT1~@2*V~*pU8Zn zGV9^^ELTly%IEIKD_L1u!d|)^JcBeEx%RY(@_%xZW~_K5&|D;gzBo@Q(V|fO#>I$k zHYdcH_0p(QeZto-r(#pW@)uDro;iS{mWeaE7e64|%~OeEmtA^u6X$2!6*Ezo^_p#@+wTUVz3DSE z0e|+pL0e#z8?JbYIh^BD2&@V< z+q+qh5LxmvdfVMqDL#W}tI&o@c1WZK6&g&(Z@MnCY@8O;PWwJZ&wMjVgTEb9x5w)C z*TF%<0OLi9%Pc!Ghm_4!GZ#CWgk2A|41doyEp=cfT3kjVy-+_zgoTX_>|lBCL7lD; zHNEkotfbn-F2~KIZT?LWoL%%oGPG*tYvm&ndM5pPEj7q2>ccaDjUgCq^Ql03OpnUq z+h(suCCA}wst+>%4fs@FYX3#%7bH;tJY$Z6-jC+IO>bswKT>}-f0VkB=~^rlxC zbDlU|JA26TqD8*Cgb$tzSMw>gv?=i{`TDI4KN2bT{Ca9K-q|!6-c3~Pu6)d`ST)d! z%Z_PT#kbO9i5-2Y&kk9vzn~cCkAFVBu9q0etnhK}Dx9NJrx%~4t@?P2hvOJYwAl4B z`KdRr(cj(YP$uc~aS`nzNY4!=_$Qc(JKkg-qbwg9mq=5@m+~T&8ivpXUBYS;mH6Vj zIjf|tk-J%T6xp*f_$aDEI6IQExNwCz+RvJTZ`C1l_l+wdEs>1%G90J5#1_ z)yWQwJ272Leu??nI+h9VBfY;QqDIU|$q~*rSUZuVvs5L1|4ih199Y}c{ri2?(8d5P z6@csnfV=A1=WlX=X3`md3>>(QmrN%tO^f3{_mQ|w$8GsTp3R< zf~GT;Esh$pY%f-vZkTkLwSU#4)!}s%s_|_J`spn>3B~LfYQZ2Et47oEnT1Kmbwq*rAl_0+L9b}2aI&s3p#pcT@uQ*>7MNHE$Uw2!oj&`{0dDaORV zA`B~1_ly=Zq8WAKe18$)X6UluC$m*Z848w#E7e+yvfXg+`s-ZyfF~h(qnJ}n*f7s? zewq7u0c%(oec}yEPm?t7-I&bM4jL(XLPT7&^Ft*UpH|Dns{^6;{t*{llbKYve`8?Y z*$Pj(0dYSjGrg%tiD~$ahU~Qs58GI(ovs~s)Ys^O@G>JQP5FDg*d%TLM(C8|5@&QWR zlgSHQa*AtS#&$4IwJ1Z(NAE=XC*@-n^EU18*vU|}(vkIE91*eJ@}8x?o!PPQsAq;Y zbcPoR8)Q|KPk)KF@lQ7lUzH^5d`syOlbG3XTZOMvy#E(r@!tE@8~gn)JRg=WDOkNv zm#J|7FK+?x_weoQw|@7xZ#}@<$S9*k25)??-a5pY_Qv=6mFF98zddZV>723a^zu6F zne@VTKlh^;d_0vkrTQ9cazlS-X4b%lC;bK<=}FAwr+-azG2QzR>$kc6Z-eXJ9>6-i zO7lUfa^vb1CmLT3R5Zb2y-zSu$0L~VSsy+VErUY9(TCO8Vv%0REFAX>zP1o8Me^sc zr9DJ#v=8y@(b?VmCttY%8;IjH83({Bp0Jn!c}Aj4O^(3}UA5U=o(WBLtaUSpsa-Q9 zu=gyFHh<7?B|N+xZ30W&5JwaOIZAd;2ZoN7+p-!53v2%`;^ScTH)!L=bJGssFxkCe z3!Hia*=m3TY8vIwy-7Cqh0!Qa4|Pm#8%+!m$gh|=9H$g;pqY4#Rc|wK`{S4HSzwXZ zE}mtT-mV@llLDl27dViIoMXXwu;!=(my*{~Ie$zaz+uQGkF)wRf=(_EgJVg{^OTJ(<#LEey?Bd+c64PA7N>0?KOVco(>&EgS6F51RxZhCb3 zuDYhx70Cg2?F3e!e>gPu4)z2F!hc~&x>|ceJD#^Rsn!y8kzR!^>$HHCVpt^o>w5)R zaB56!WvbsWnu$pXg*@HGX|flvkqroNDNZbjs>j;<|o7+Lr)dOY4~l z><_Qa)=_cZ&AcT)3?BjO7jz#;YyPbVqSK1~36g#|C^)pYGmkQ~vG&aOHh%+)dU|7D z_#>zY2lSTq3X*8>n@m}aePVhYoir;G&@nUW$W%2ge|dD|8MiiKlDOKrSf4kYbF`Vy z^w zLIVJja#wS7m?cpag;<(e9Dg@^#5Zx1KS$!z9G240ly;sUt5#PR@SB=BA8Z`MudCFV=B1C1Mop?>X9`42 z38uMsCcrkJCTw0WmsmKU-mqB>(fL{)utzp?;b-fr3cc&3gXi>aXn(mf7HH`g?|n_K zM*1rV&(hlEdtj(Q%PJANor?_>&|Co3L>X}ni9aS*)V$7$iNFeo=WTP)-| z(>qrquSh3WAx%HzkvX5bP?~f}BKnpVo7(};QVXqApdrMRMVk$a(7f+*`mxj{p8ndA zp2o!n-yxCtI8Y$q0)KF;tm+bNP9Y=SYA2x;`M#K>BC6RV>P4aDW3S}eu_!5vvNpQU z^JtM3j}ngaKsf3SE*^*GL;;BR+1wCtW!T{4y`u<>`>Zw9TPaQ#l>IFKX61 z|M^5}4zYX=DH4lcdPB>cv6GM)USuTPo`hfk zjAlEM{obUIpLsv&fiF9a$dg)T^v3yeeEB!f=HP5I>>$n32(0crsA1e3K%XvI5dCM!o!=OMVXVm~_4GKBFHb!43lH&}Icf(e zBYD&Yurey!bBVV3Kdv_;9oGU@c%Qp~7T#*xAHeTm%A;t%G#y4;G>R0jD_c@@bx-qH zJzw{*iJ7n)D5*tqe;Or>yq?fSzi{WlCSz$An+5|u0M@u21Qo z@rvf|_So`%ChOmBJBAZRTSm! zlXsEflN#6HJkOHdw;;s62ItY1cb&zzzyOUXb$H9TYFV<~w*iXOxi@}DaMh9KaaMOz zB~2qjgxz-xFViMLnm@nJUPuR@a_AH|ofG9X^?w4WU?H9_zfKLqIL*m*AWOPQ1}0b0 zwa!gPPj{E7h+bbqBB$lh8+>vNrpGv^Rq~vtyR)$805}afi>@Kk5jni}nqGI3luujG z>*(s5GHspa*Q|lB)7@FPi7<=6?lTAR@l<#n3cB0UMC>#^zb60CvAm<0Pn!Y)eV|!S zt$$?0u5m~L^sJkPV=Ddy?n^u4i<|tNdtavC?#}-*ORv%MlCQ7PG%u=aPQG%JU1Rmq z%Dd*Ns*299JA2VLwyGTW7tTs}i0|I-t_eT|*OMhsLA}{rhk_zq?~GjM={Gwg50ZaM z^w*`ME5-QB#G1llID5`$=T-K@8A<@5%YWVakjkWo>`b_3>>D!>&-SX;D+hmEX}_MA zogcl_zgo2gzG=MXNu99}4@$i^cG0QhEAd&YQ7_&9SOf^08lX4p3q41`Oh5}8H3RvP zD=4kiUf)#jFXOWO9{-CWN8hjJ<@e>q^84o{&)L!J&uB(ucT?hw$mX)ik#=V^QdTCa zD%n|yQhs!I>BCq1V&CkOpKtynzWFcsxX)K#Y@huc5dbn4k(odOSxr*XbI+R@7BT_| z1b{#w5D}4Il6k=|K`hHcDEk3F%-SZt69t>75MVQJIfadVCDfC0 z|KmBHOca=?4TR@>Kg|<%wHH4xXIeX_#G|rh1&i0wA6bD$1t>hYC8;lYe_h1v>2`y? znu)e%@|)DOj)Hu3a-hY4S+-?;yv-!%+p5fx4SA1})NZ_~Dl zEw2F!Mjvl&e`@7w7y*%mDf25neFhX zx)alz>s}D^th+!ap}XhU5PAB19@as&AD!%*E{t6$MdDaEXRu)5|LBt8T2-if55e`_ zs!CxOy$bneG9_3NMtRP~MUNNfqZplzcmV{b#dwQRQAAs`e~`xK40jf?rt~qI{kU~+ z9IM4bVp9t_l9?*NRXv9~q#vDL0V#~u4dB5VbqSO3C$r^!aYH*QwFL!C+^M-3p|wv( zV+q@9d!6PF;G~KJ@UE>*ei_brvNel?hGS6~3O6nj1yWIaLOg@6p6XhbtIyEBS(dbI z)AiV3xB$^Hf6f|-Vj&r}X0+Pr8eX5m9k)_}=8!g?+pQybbD*Sjkx}}Dpr37oYvXWA zo4_6G$21}%J9&e5P|Zub4wd3g{#iSbjpH%0LI;eCqczL$PQzn@Z1gjL6cE}xNtZdy zpJS#jlLdGBDw=?LKq{(9g%jUDX^v+0g%L-aw2HFye_I$e6%FYSXNFEmsnC`*G(3(f z^vA@$?!BXRwCzNW$VY9{-G$S@;r%p=YxG0u0XMKeXdIyV^%Ee;%=9cO%W%!A6;H|# z4g(?HY?&rP>Y+eIj4zFv`w_NqKV?}`j!yCs)z-9paOa?TD?RGlEkUC~$S@~Z z+RWZje=s;D`G7SZ8%Ds9&hH@F2j?o6Y?m#KiYyqg%0A$|^FMvLi=%PU93qE=DVTP` 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 Date: Wed, 22 Feb 2023 19:15:11 -0700 Subject: [PATCH 17/53] Add TS support No difference for a js file --- index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index e84762c..313b163 100644 --- a/index.js +++ b/index.js @@ -5,7 +5,11 @@ module.exports = { env: { mocha: true, // Do we really need this? }, - extends: ['@fs/eslint-config-frontier-react'], + extends: [ + '@fs/eslint-config-frontier-react', + '@fs/eslint-config-frontier-react/typescript', + '@fs/eslint-config-frontier-react/prettierSetup', + ], plugins: ['bestpractices', 'deprecate', 'html', 'import', 'jsdoc', 'promise', 'sonarjs', 'test-selectors'], /** * @property {object} rules - Tree custom rule and additional linter configuration. From 7455b5bac79c31464164c14dd55a6130ec101288 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 23:11:49 -0700 Subject: [PATCH 18/53] See what the diff is when we put standard back in --- demo/test/snapshots/lint-output.js.md | 364 +++++++++++------------- demo/test/snapshots/lint-output.js.snap | Bin 14176 -> 14132 bytes index.js | 1 + 3 files changed, 166 insertions(+), 199 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index ca2e79e..b7cef1b 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -11,23 +11,27 @@ Generated by [AVA](https://ava.li). `{␊ "env": {␊ "mocha": true,␊ - "jest/globals": true,␊ "es2021": true,␊ - "es6": true,␊ "node": true,␊ + "jest/globals": true,␊ + "es6": true,␊ "browser": true␊ },␊ - "globals": {},␊ + "globals": {␊ + "document": "readonly",␊ + "navigator": "readonly",␊ + "window": "readonly"␊ + },␊ "parser": "/home/vetaz/fs-webdev/eslint-config-tree/node_modules/@babel/eslint-parser/lib/index.cjs",␊ "parserOptions": {␊ - "ecmaVersion": 12,␊ - "sourceType": "module",␊ - "requireConfigFile": false,␊ + "ecmaVersion": 2022,␊ "ecmaFeatures": {␊ + "jsx": true,␊ "generators": false,␊ - "objectLiteralDuplicateProperties": false,␊ - "jsx": true␊ + "objectLiteralDuplicateProperties": false␊ },␊ + "sourceType": "module",␊ + "requireConfigFile": false,␊ "babelOptions": {␊ "presets": [␊ "@babel/preset-react"␊ @@ -45,6 +49,7 @@ Generated by [AVA](https://ava.li). "testing-library",␊ "@fs/zion",␊ "you-dont-need-lodash-underscore",␊ + "n",␊ "prettier",␊ "test-selectors",␊ "sonarjs",␊ @@ -123,7 +128,12 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "accessor-pairs": [␊ - "off"␊ + "error",␊ + {␊ + "setWithoutGet": true,␊ + "enforceForClassMembers": true,␊ + "getWithoutSet": false␊ + }␊ ],␊ "array-bracket-newline": [␊ "off",␊ @@ -136,7 +146,7 @@ Generated by [AVA](https://ava.li). "array-callback-return": [␊ "error",␊ {␊ - "allowImplicit": true,␊ + "allowImplicit": false,␊ "checkForEach": false␊ }␊ ],␊ @@ -195,12 +205,15 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "camelcase": [␊ - "off",␊ + "error",␊ {␊ + "allow": [␊ + "^UNSAFE_"␊ + ],␊ "properties": "never",␊ + "ignoreGlobals": true,␊ "ignoreDestructuring": false,␊ - "ignoreImports": false,␊ - "ignoreGlobals": false␊ + "ignoreImports": false␊ }␊ ],␊ "capitalized-comments": [␊ @@ -229,11 +242,11 @@ Generated by [AVA](https://ava.li). "comma-dangle": [␊ "off",␊ {␊ - "arrays": "always-multiline",␊ - "objects": "always-multiline",␊ - "imports": "always-multiline",␊ - "exports": "always-multiline",␊ - "functions": "always-multiline"␊ + "arrays": "never",␊ + "objects": "never",␊ + "imports": "never",␊ + "exports": "never",␊ + "functions": "never"␊ }␊ ],␊ "comma-spacing": [␊ @@ -245,22 +258,7 @@ Generated by [AVA](https://ava.li). ],␊ "comma-style": [␊ "off",␊ - "last",␊ - {␊ - "exceptions": {␊ - "ArrayExpression": false,␊ - "ArrayPattern": false,␊ - "ArrowFunctionExpression": false,␊ - "CallExpression": false,␊ - "FunctionDeclaration": false,␊ - "FunctionExpression": false,␊ - "ImportDeclaration": false,␊ - "ObjectExpression": false,␊ - "ObjectPattern": false,␊ - "VariableDeclaration": false,␊ - "NewExpression": false␊ - }␊ - }␊ + "last"␊ ],␊ "complexity": [␊ "off",␊ @@ -268,7 +266,10 @@ Generated by [AVA](https://ava.li). ],␊ "computed-property-spacing": [␊ "off",␊ - "never"␊ + "never",␊ + {␊ + "enforceForClassMembers": true␊ + }␊ ],␊ "consistent-return": [␊ "error"␊ @@ -386,7 +387,7 @@ Generated by [AVA](https://ava.li). "generator-star-spacing": [␊ "off",␊ {␊ - "before": false,␊ + "before": true,␊ "after": true␊ }␊ ],␊ @@ -472,7 +473,12 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "import/no-absolute-path": [␊ - "warn"␊ + "warn",␊ + {␊ + "esmodule": true,␊ + "commonjs": true,␊ + "amd": false␊ + }␊ ],␊ "import/no-amd": [␊ "error"␊ @@ -625,6 +631,7 @@ Generated by [AVA](https://ava.li). "SwitchCase": 1,␊ "VariableDeclarator": 1,␊ "outerIIFEBody": 1,␊ + "MemberExpression": 1,␊ "FunctionDeclaration": {␊ "parameters": 1,␊ "body": 1␊ @@ -640,7 +647,9 @@ Generated by [AVA](https://ava.li). "ObjectExpression": 1,␊ "ImportDeclaration": 1,␊ "flatTernaryExpressions": false,␊ + "ignoreComments": false,␊ "ignoredNodes": [␊ + "TemplateLiteral *",␊ "JSXElement",␊ "JSXElement > *",␊ "JSXAttribute",␊ @@ -658,8 +667,7 @@ Generated by [AVA](https://ava.li). "JSXEmptyExpression",␊ "JSXSpreadChild"␊ ],␊ - "ignoreComments": false,␊ - "offsetTernaryExpressions": false␊ + "offsetTernaryExpressions": true␊ }␊ ],␊ "indent-legacy": [␊ @@ -1133,18 +1141,7 @@ Generated by [AVA](https://ava.li). "off",␊ {␊ "before": true,␊ - "after": true,␊ - "overrides": {␊ - "return": {␊ - "after": true␊ - },␊ - "throw": {␊ - "after": true␊ - },␊ - "case": {␊ - "after": true␊ - }␊ - }␊ + "after": true␊ }␊ ],␊ "line-comment-position": [␊ @@ -1173,7 +1170,7 @@ Generated by [AVA](https://ava.li). "warn",␊ "always",␊ {␊ - "exceptAfterSingleLine": false␊ + "exceptAfterSingleLine": true␊ }␊ ],␊ "max-classes-per-file": [␊ @@ -1236,19 +1233,35 @@ Generated by [AVA](https://ava.li). ],␊ "multiline-ternary": [␊ "off",␊ - "never"␊ + "always-multiline"␊ + ],␊ + "n/handle-callback-err": [␊ + "error",␊ + "^(err|error)$"␊ + ],␊ + "n/no-callback-literal": [␊ + "error"␊ + ],␊ + "n/no-deprecated-api": [␊ + "error"␊ + ],␊ + "n/no-exports-assign": [␊ + "error"␊ + ],␊ + "n/no-new-require": [␊ + "error"␊ + ],␊ + "n/no-path-concat": [␊ + "error"␊ + ],␊ + "n/process-exit-as-throw": [␊ + "error"␊ ],␊ "new-cap": [␊ "error",␊ {␊ "newIsCap": true,␊ - "newIsCapExceptions": [],␊ "capIsNew": false,␊ - "capIsNewExceptions": [␊ - "Immutable.Map",␊ - "Immutable.Set",␊ - "Immutable.List"␊ - ],␊ "properties": true␊ }␊ ],␊ @@ -1331,7 +1344,10 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "no-constant-condition": [␊ - "warn"␊ + "error",␊ + {␊ + "checkLoops": false␊ + }␊ ],␊ "no-constructor-return": [␊ "error"␊ @@ -1376,7 +1392,10 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "no-empty": [␊ - "error"␊ + "error",␊ + {␊ + "allowEmptyCatch": true␊ + }␊ ],␊ "no-empty-character-class": [␊ "error"␊ @@ -1417,14 +1436,7 @@ Generated by [AVA](https://ava.li). ],␊ "no-extra-parens": [␊ "off",␊ - "all",␊ - {␊ - "conditionalAssign": true,␊ - "nestedBinaryExpressions": false,␊ - "returnAssign": false,␊ - "ignoreJSX": "all",␊ - "enforceForArrowConditionals": false␊ - }␊ + "functions"␊ ],␊ "no-extra-semi": [␊ "off"␊ @@ -1518,49 +1530,26 @@ Generated by [AVA](https://ava.li). 0,␊ {␊ "groups": [␊ - [␊ - "%",␊ - "**"␊ - ],␊ - [␊ - "%",␊ - "+"␊ - ],␊ - [␊ - "%",␊ - "-"␊ - ],␊ - [␊ - "%",␊ - "*"␊ - ],␊ - [␊ - "%",␊ - "/"␊ - ],␊ - [␊ - "/",␊ - "*"␊ - ],␊ - [␊ - "&",␊ - "|",␊ - "<<",␊ - ">>",␊ - ">>>"␊ - ],␊ [␊ "==",␊ "!=",␊ "===",␊ - "!=="␊ + "!==",␊ + ">",␊ + ">=",␊ + "<",␊ + "<="␊ ],␊ [␊ "&&",␊ "||"␊ + ],␊ + [␊ + "in",␊ + "instanceof"␊ ]␊ ],␊ - "allowSamePrecedence": false␊ + "allowSamePrecedence": true␊ }␊ ],␊ "no-mixed-requires": [␊ @@ -1586,7 +1575,6 @@ Generated by [AVA](https://ava.li). "off",␊ {␊ "max": 1,␊ - "maxBOF": 0,␊ "maxEOF": 0␊ }␊ ],␊ @@ -1673,7 +1661,10 @@ Generated by [AVA](https://ava.li). "warn"␊ ],␊ "no-redeclare": [␊ - "error"␊ + "error",␊ + {␊ + "builtinGlobals": false␊ + }␊ ],␊ "no-regex-spaces": [␊ "error"␊ @@ -1841,7 +1832,7 @@ Generated by [AVA](https://ava.li). ],␊ "no-return-assign": [␊ "error",␊ - "always"␊ + "except-parens"␊ ],␊ "no-return-await": [␊ "error"␊ @@ -1931,7 +1922,7 @@ Generated by [AVA](https://ava.li). 0␊ ],␊ "no-unmodified-loop-condition": [␊ - "off"␊ + "error"␊ ],␊ "no-unneeded-ternary": [␊ "error",␊ @@ -1961,11 +1952,11 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "no-unused-expressions": [␊ - "off",␊ + "error",␊ {␊ - "allowShortCircuit": false,␊ - "allowTernary": false,␊ - "allowTaggedTemplates": false,␊ + "allowShortCircuit": true,␊ + "allowTernary": true,␊ + "allowTaggedTemplates": true,␊ "enforceForJSX": false␊ }␊ ],␊ @@ -1978,24 +1969,25 @@ Generated by [AVA](https://ava.li). "no-unused-vars": [␊ "error",␊ {␊ - "vars": "all",␊ - "args": "after-used",␊ - "ignoreRestSiblings": true␊ + "args": "none",␊ + "caughtErrors": "none",␊ + "ignoreRestSiblings": true,␊ + "vars": "all"␊ }␊ ],␊ "no-use-before-define": [␊ "error",␊ {␊ "functions": false,␊ - "classes": true,␊ - "variables": true␊ + "classes": false,␊ + "variables": false␊ }␊ ],␊ "no-useless-backreference": [␊ "error"␊ ],␊ "no-useless-call": [␊ - "off"␊ + "error"␊ ],␊ "no-useless-catch": [␊ "error"␊ @@ -2024,7 +2016,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "no-var": [␊ - "error"␊ + "warn"␊ ],␊ "no-void": [␊ "error"␊ @@ -2061,26 +2053,8 @@ Generated by [AVA](https://ava.li). "object-curly-newline": [␊ "off",␊ {␊ - "ObjectExpression": {␊ - "minProperties": 4,␊ - "multiline": true,␊ - "consistent": true␊ - },␊ - "ObjectPattern": {␊ - "minProperties": 4,␊ - "multiline": true,␊ - "consistent": true␊ - },␊ - "ImportDeclaration": {␊ - "minProperties": 4,␊ - "multiline": true,␊ - "consistent": true␊ - },␊ - "ExportDeclaration": {␊ - "minProperties": 4,␊ - "multiline": true,␊ - "consistent": true␊ - }␊ + "multiline": true,␊ + "consistent": true␊ }␊ ],␊ "object-curly-spacing": [␊ @@ -2090,21 +2064,19 @@ Generated by [AVA](https://ava.li). "object-property-newline": [␊ "off",␊ {␊ - "allowAllPropertiesOnSameLine": true,␊ - "allowMultiplePropertiesPerLine": false␊ + "allowMultiplePropertiesPerLine": true,␊ + "allowAllPropertiesOnSameLine": false␊ }␊ ],␊ "object-shorthand": [␊ - "error",␊ - "always",␊ - {␊ - "ignoreConstructors": false,␊ - "avoidQuotes": true␊ - }␊ + "warn",␊ + "properties"␊ ],␊ "one-var": [␊ "error",␊ - "never"␊ + {␊ + "initialized": "never"␊ + }␊ ],␊ "one-var-declaration-per-line": [␊ "off",␊ @@ -2116,10 +2088,12 @@ Generated by [AVA](https://ava.li). ],␊ "operator-linebreak": [␊ "off",␊ - "before",␊ + "after",␊ {␊ "overrides": {␊ - "=": "none"␊ + "?": "before",␊ + ":": "before",␊ + "|>": "before"␊ }␊ }␊ ],␊ @@ -2127,11 +2101,8 @@ Generated by [AVA](https://ava.li). "off",␊ {␊ "blocks": "never",␊ - "classes": "never",␊ - "switches": "never"␊ - },␊ - {␊ - "allowSingleLineBlocks": true␊ + "switches": "never",␊ + "classes": "never"␊ }␊ ],␊ "padding-line-between-statements": [␊ @@ -2147,8 +2118,8 @@ Generated by [AVA](https://ava.li). "prefer-const": [␊ "warn",␊ {␊ - "destructuring": "any",␊ - "ignoreReadBeforeAssign": true␊ + "destructuring": "all",␊ + "ignoreReadBeforeAssign": false␊ }␊ ],␊ "prefer-destructuring": [␊ @@ -2253,18 +2224,14 @@ Generated by [AVA](https://ava.li). ],␊ "quote-props": [␊ "off",␊ - "as-needed",␊ - {␊ - "keywords": false,␊ - "unnecessary": true,␊ - "numbers": false␊ - }␊ + "as-needed"␊ ],␊ "quotes": [␊ 0,␊ "single",␊ {␊ - "avoidEscape": true␊ + "avoidEscape": true,␊ + "allowTemplateLiterals": false␊ }␊ ],␊ "radix": [␊ @@ -2813,7 +2780,7 @@ Generated by [AVA](https://ava.li). ],␊ "semi": [␊ "off",␊ - "always"␊ + "never"␊ ],␊ "semi-spacing": [␊ "off",␊ @@ -2947,15 +2914,12 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "space-before-blocks": [␊ - "off"␊ + "off",␊ + "always"␊ ],␊ "space-before-function-paren": [␊ "off",␊ - {␊ - "anonymous": "always",␊ - "named": "never",␊ - "asyncArrow": "always"␊ - }␊ + "always"␊ ],␊ "space-before-function-parentheses": [␊ "off"␊ @@ -2980,8 +2944,7 @@ Generated by [AVA](https://ava.li). "off",␊ {␊ "words": true,␊ - "nonwords": false,␊ - "overrides": {}␊ + "nonwords": false␊ }␊ ],␊ "space-unary-word-ops": [␊ @@ -2992,28 +2955,27 @@ Generated by [AVA](https://ava.li). "always",␊ {␊ "line": {␊ - "exceptions": [␊ - "-",␊ - "+"␊ - ],␊ "markers": [␊ - "=",␊ + "*package",␊ "!",␊ - "/"␊ + "/",␊ + ",",␊ + "="␊ ]␊ },␊ "block": {␊ - "exceptions": [␊ - "-",␊ - "+"␊ - ],␊ + "balanced": true,␊ "markers": [␊ - "=",␊ + "*package",␊ "!",␊ + ",",␊ ":",␊ - "::"␊ + "::",␊ + "flow-include"␊ ],␊ - "balanced": true␊ + "exceptions": [␊ + "*"␊ + ]␊ }␊ }␊ ],␊ @@ -3041,7 +3003,8 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "template-curly-spacing": [␊ - "off"␊ + "off",␊ + "never"␊ ],␊ "template-tag-spacing": [␊ "off",␊ @@ -3182,7 +3145,11 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "use-isnan": [␊ - "error"␊ + "error",␊ + {␊ + "enforceForSwitchCase": true,␊ + "enforceForIndexOf": true␊ + }␊ ],␊ "valid-jsdoc": [␊ "warn"␊ @@ -3312,9 +3279,9 @@ Generated by [AVA](https://ava.li). ],␊ "wrap-iife": [␊ "off",␊ - "outside",␊ + "any",␊ {␊ - "functionPrototypeMethods": false␊ + "functionPrototypeMethods": true␊ }␊ ],␊ "wrap-regex": [␊ @@ -3322,10 +3289,11 @@ Generated by [AVA](https://ava.li). ],␊ "yield-star-spacing": [␊ "off",␊ - "after"␊ + "both"␊ ],␊ "yoda": [␊ - "error"␊ + "error",␊ + "never"␊ ],␊ "you-dont-need-lodash-underscore/all": [␊ 1␊ @@ -3630,19 +3598,17 @@ Generated by [AVA](https://ava.li). 24:1 warning Missing JSDoc @param "b" type jsdoc/require-param-type␊ 25:1 warning Missing JSDoc @returns description jsdoc/require-returns-description␊ 25:1 warning Missing JSDoc @returns type jsdoc/require-returns-type␊ - 27:71 error 'params' is defined but never used no-unused-vars␊ 29:19 warning Avoid creating new promises promise/avoid-new␊ 31:1 warning Expected catch() or return promise/catch-or-return␊ - 31:17 error 'a' is defined but never used no-unused-vars␊ 31:20 error Expected to return a value at the end of arrow function consistent-return␊ 32:3 warning Each then() should return a value or throw promise/always-return␊ - 32:7 warning Unexpected constant condition no-constant-condition␊ + 32:7 error Unexpected constant condition no-constant-condition␊ 33:5 warning Avoid wrapping return values in Promise.resolve promise/no-return-wrap␊ 35:5 error 'forgotToDefine' is not defined no-undef␊ 39:7 error 'variable' is assigned a value but never used no-unused-vars␊ 39:18 warning This conditional operation returns the same value whether the condition is "true" or "false" sonarjs/no-all-duplicated-branches␊ + 39:18 error Unexpected constant condition no-constant-condition␊ 39:18 error Unnecessary use of boolean literals in conditional expression no-unneeded-ternary␊ - 39:18 warning Unexpected constant condition no-constant-condition␊ 42:7 warning Correct one of the identical sub-expressions on both sides of operator "&&" sonarjs/no-identical-expressions␊ 42:18 warning Unexpected use of undefined no-undefined␊ 42:42 warning Unexpected use of undefined no-undefined␊ @@ -3660,7 +3626,7 @@ Generated by [AVA](https://ava.li). 64:10 warning Update this function so that its implementation is not identical to the one on line 56 sonarjs/no-identical-functions␊ 72:1 warning Remove this conditional structure or edit its code blocks so that they're not all the same sonarjs/no-all-duplicated-branches␊ 72:5 warning This always evaluates to truthy. Consider refactoring this code sonarjs/no-gratuitous-expressions␊ - 72:5 warning Unexpected constant condition no-constant-condition␊ + 72:5 error Unexpected constant condition no-constant-condition␊ 79:1 warning Reduce the number of non-empty switch cases from 11 to at most 10 sonarjs/max-switch-cases␊ 83:5 warning Expected a default case default-case␊ 83:5 warning Refactor the code to eliminate this nested "switch" sonarjs/no-nested-switch␊ @@ -3678,10 +3644,10 @@ Generated by [AVA](https://ava.li). 8:3 error End of file expected json/*␊ ␊ example.test.html␊ - 2:3 error Unexpected var, use let or const instead no-var␊ + 2:3 warning Unexpected var, use let or const instead no-var␊ 2:3 error Expected 1 empty line after require statement not followed by another require import/newline-after-import␊ 2:22 error Unable to resolve path to module 'chai' import/no-unresolved␊ - 3:3 error Unexpected var, use let or const instead no-var␊ + 3:3 warning Unexpected var, use let or const instead no-var␊ 5:12 error Unexpected focused test jest/no-focused-tests␊ 6:5 warning Test has no assertions jest/expect-expect␊ 6:8 error Unexpected focused test jest/no-focused-tests␊ @@ -3701,6 +3667,6 @@ Generated by [AVA](https://ava.li). 18:96 warning Delete `;` prettier/prettier␊ 20:2 warning Delete `;` prettier/prettier␊ ␊ - ✖ 79 problems (35 errors, 44 warnings)␊ - 4 errors and 6 warnings potentially fixable with the `--fix` option.␊ + ✖ 77 problems (34 errors, 43 warnings)␊ + 2 errors and 8 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index a8b805cb266bd83f7a5e9230cd9ef3d6e5193e40..23847c5d70aabec4fa735fee0bc69148a5e96845 100644 GIT binary patch literal 14132 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 literal 14176 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 Date: Wed, 22 Feb 2023 23:13:05 -0700 Subject: [PATCH 19/53] What it looks like with standard-react --- demo/test/snapshots/lint-output.js.md | 378 +++++++++++++----------- demo/test/snapshots/lint-output.js.snap | Bin 14132 -> 14174 bytes index.js | 2 +- 3 files changed, 207 insertions(+), 173 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index b7cef1b..e22a3ea 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -11,20 +11,16 @@ Generated by [AVA](https://ava.li). `{␊ "env": {␊ "mocha": true,␊ - "es2021": true,␊ - "node": true,␊ "jest/globals": true,␊ + "es2021": true,␊ "es6": true,␊ + "node": true,␊ "browser": true␊ },␊ - "globals": {␊ - "document": "readonly",␊ - "navigator": "readonly",␊ - "window": "readonly"␊ - },␊ + "globals": {},␊ "parser": "/home/vetaz/fs-webdev/eslint-config-tree/node_modules/@babel/eslint-parser/lib/index.cjs",␊ "parserOptions": {␊ - "ecmaVersion": 2022,␊ + "ecmaVersion": 2021,␊ "ecmaFeatures": {␊ "jsx": true,␊ "generators": false,␊ @@ -39,9 +35,7 @@ Generated by [AVA](https://ava.li). }␊ },␊ "plugins": [␊ - "react",␊ "jsx-a11y",␊ - "react-hooks",␊ "@babel",␊ "json",␊ "jest",␊ @@ -49,7 +43,8 @@ Generated by [AVA](https://ava.li). "testing-library",␊ "@fs/zion",␊ "you-dont-need-lodash-underscore",␊ - "n",␊ + "react-hooks",␊ + "react",␊ "prettier",␊ "test-selectors",␊ "sonarjs",␊ @@ -128,12 +123,7 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "accessor-pairs": [␊ - "error",␊ - {␊ - "setWithoutGet": true,␊ - "enforceForClassMembers": true,␊ - "getWithoutSet": false␊ - }␊ + "off"␊ ],␊ "array-bracket-newline": [␊ "off",␊ @@ -146,7 +136,7 @@ Generated by [AVA](https://ava.li). "array-callback-return": [␊ "error",␊ {␊ - "allowImplicit": false,␊ + "allowImplicit": true,␊ "checkForEach": false␊ }␊ ],␊ @@ -205,15 +195,12 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "camelcase": [␊ - "error",␊ + "off",␊ {␊ - "allow": [␊ - "^UNSAFE_"␊ - ],␊ "properties": "never",␊ - "ignoreGlobals": true,␊ "ignoreDestructuring": false,␊ - "ignoreImports": false␊ + "ignoreImports": false,␊ + "ignoreGlobals": false␊ }␊ ],␊ "capitalized-comments": [␊ @@ -242,11 +229,11 @@ Generated by [AVA](https://ava.li). "comma-dangle": [␊ "off",␊ {␊ - "arrays": "never",␊ - "objects": "never",␊ - "imports": "never",␊ - "exports": "never",␊ - "functions": "never"␊ + "arrays": "always-multiline",␊ + "objects": "always-multiline",␊ + "imports": "always-multiline",␊ + "exports": "always-multiline",␊ + "functions": "always-multiline"␊ }␊ ],␊ "comma-spacing": [␊ @@ -258,7 +245,22 @@ Generated by [AVA](https://ava.li). ],␊ "comma-style": [␊ "off",␊ - "last"␊ + "last",␊ + {␊ + "exceptions": {␊ + "ArrayExpression": false,␊ + "ArrayPattern": false,␊ + "ArrowFunctionExpression": false,␊ + "CallExpression": false,␊ + "FunctionDeclaration": false,␊ + "FunctionExpression": false,␊ + "ImportDeclaration": false,␊ + "ObjectExpression": false,␊ + "ObjectPattern": false,␊ + "VariableDeclaration": false,␊ + "NewExpression": false␊ + }␊ + }␊ ],␊ "complexity": [␊ "off",␊ @@ -266,10 +268,7 @@ Generated by [AVA](https://ava.li). ],␊ "computed-property-spacing": [␊ "off",␊ - "never",␊ - {␊ - "enforceForClassMembers": true␊ - }␊ + "never"␊ ],␊ "consistent-return": [␊ "error"␊ @@ -387,7 +386,7 @@ Generated by [AVA](https://ava.li). "generator-star-spacing": [␊ "off",␊ {␊ - "before": true,␊ + "before": false,␊ "after": true␊ }␊ ],␊ @@ -473,12 +472,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "import/no-absolute-path": [␊ - "warn",␊ - {␊ - "esmodule": true,␊ - "commonjs": true,␊ - "amd": false␊ - }␊ + "warn"␊ ],␊ "import/no-amd": [␊ "error"␊ @@ -631,7 +625,6 @@ Generated by [AVA](https://ava.li). "SwitchCase": 1,␊ "VariableDeclarator": 1,␊ "outerIIFEBody": 1,␊ - "MemberExpression": 1,␊ "FunctionDeclaration": {␊ "parameters": 1,␊ "body": 1␊ @@ -647,9 +640,7 @@ Generated by [AVA](https://ava.li). "ObjectExpression": 1,␊ "ImportDeclaration": 1,␊ "flatTernaryExpressions": false,␊ - "ignoreComments": false,␊ "ignoredNodes": [␊ - "TemplateLiteral *",␊ "JSXElement",␊ "JSXElement > *",␊ "JSXAttribute",␊ @@ -667,7 +658,8 @@ Generated by [AVA](https://ava.li). "JSXEmptyExpression",␊ "JSXSpreadChild"␊ ],␊ - "offsetTernaryExpressions": true␊ + "ignoreComments": false,␊ + "offsetTernaryExpressions": false␊ }␊ ],␊ "indent-legacy": [␊ @@ -1141,7 +1133,18 @@ Generated by [AVA](https://ava.li). "off",␊ {␊ "before": true,␊ - "after": true␊ + "after": true,␊ + "overrides": {␊ + "return": {␊ + "after": true␊ + },␊ + "throw": {␊ + "after": true␊ + },␊ + "case": {␊ + "after": true␊ + }␊ + }␊ }␊ ],␊ "line-comment-position": [␊ @@ -1170,7 +1173,7 @@ Generated by [AVA](https://ava.li). "warn",␊ "always",␊ {␊ - "exceptAfterSingleLine": true␊ + "exceptAfterSingleLine": false␊ }␊ ],␊ "max-classes-per-file": [␊ @@ -1233,35 +1236,19 @@ Generated by [AVA](https://ava.li). ],␊ "multiline-ternary": [␊ "off",␊ - "always-multiline"␊ - ],␊ - "n/handle-callback-err": [␊ - "error",␊ - "^(err|error)$"␊ - ],␊ - "n/no-callback-literal": [␊ - "error"␊ - ],␊ - "n/no-deprecated-api": [␊ - "error"␊ - ],␊ - "n/no-exports-assign": [␊ - "error"␊ - ],␊ - "n/no-new-require": [␊ - "error"␊ - ],␊ - "n/no-path-concat": [␊ - "error"␊ - ],␊ - "n/process-exit-as-throw": [␊ - "error"␊ + "never"␊ ],␊ "new-cap": [␊ "error",␊ {␊ "newIsCap": true,␊ + "newIsCapExceptions": [],␊ "capIsNew": false,␊ + "capIsNewExceptions": [␊ + "Immutable.Map",␊ + "Immutable.Set",␊ + "Immutable.List"␊ + ],␊ "properties": true␊ }␊ ],␊ @@ -1344,10 +1331,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "no-constant-condition": [␊ - "error",␊ - {␊ - "checkLoops": false␊ - }␊ + "warn"␊ ],␊ "no-constructor-return": [␊ "error"␊ @@ -1392,10 +1376,7 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "no-empty": [␊ - "error",␊ - {␊ - "allowEmptyCatch": true␊ - }␊ + "error"␊ ],␊ "no-empty-character-class": [␊ "error"␊ @@ -1436,7 +1417,14 @@ Generated by [AVA](https://ava.li). ],␊ "no-extra-parens": [␊ "off",␊ - "functions"␊ + "all",␊ + {␊ + "conditionalAssign": true,␊ + "nestedBinaryExpressions": false,␊ + "returnAssign": false,␊ + "ignoreJSX": "all",␊ + "enforceForArrowConditionals": false␊ + }␊ ],␊ "no-extra-semi": [␊ "off"␊ @@ -1530,26 +1518,49 @@ Generated by [AVA](https://ava.li). 0,␊ {␊ "groups": [␊ + [␊ + "%",␊ + "**"␊ + ],␊ + [␊ + "%",␊ + "+"␊ + ],␊ + [␊ + "%",␊ + "-"␊ + ],␊ + [␊ + "%",␊ + "*"␊ + ],␊ + [␊ + "%",␊ + "/"␊ + ],␊ + [␊ + "/",␊ + "*"␊ + ],␊ + [␊ + "&",␊ + "|",␊ + "<<",␊ + ">>",␊ + ">>>"␊ + ],␊ [␊ "==",␊ "!=",␊ "===",␊ - "!==",␊ - ">",␊ - ">=",␊ - "<",␊ - "<="␊ + "!=="␊ ],␊ [␊ "&&",␊ "||"␊ - ],␊ - [␊ - "in",␊ - "instanceof"␊ ]␊ ],␊ - "allowSamePrecedence": true␊ + "allowSamePrecedence": false␊ }␊ ],␊ "no-mixed-requires": [␊ @@ -1575,6 +1586,7 @@ Generated by [AVA](https://ava.li). "off",␊ {␊ "max": 1,␊ + "maxBOF": 0,␊ "maxEOF": 0␊ }␊ ],␊ @@ -1661,10 +1673,7 @@ Generated by [AVA](https://ava.li). "warn"␊ ],␊ "no-redeclare": [␊ - "error",␊ - {␊ - "builtinGlobals": false␊ - }␊ + "error"␊ ],␊ "no-regex-spaces": [␊ "error"␊ @@ -1832,7 +1841,7 @@ Generated by [AVA](https://ava.li). ],␊ "no-return-assign": [␊ "error",␊ - "except-parens"␊ + "always"␊ ],␊ "no-return-await": [␊ "error"␊ @@ -1922,7 +1931,7 @@ Generated by [AVA](https://ava.li). 0␊ ],␊ "no-unmodified-loop-condition": [␊ - "error"␊ + "off"␊ ],␊ "no-unneeded-ternary": [␊ "error",␊ @@ -1952,11 +1961,11 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "no-unused-expressions": [␊ - "error",␊ + "off",␊ {␊ - "allowShortCircuit": true,␊ - "allowTernary": true,␊ - "allowTaggedTemplates": true,␊ + "allowShortCircuit": false,␊ + "allowTernary": false,␊ + "allowTaggedTemplates": false,␊ "enforceForJSX": false␊ }␊ ],␊ @@ -1969,25 +1978,24 @@ Generated by [AVA](https://ava.li). "no-unused-vars": [␊ "error",␊ {␊ - "args": "none",␊ - "caughtErrors": "none",␊ - "ignoreRestSiblings": true,␊ - "vars": "all"␊ + "vars": "all",␊ + "args": "after-used",␊ + "ignoreRestSiblings": true␊ }␊ ],␊ "no-use-before-define": [␊ "error",␊ {␊ "functions": false,␊ - "classes": false,␊ - "variables": false␊ + "classes": true,␊ + "variables": true␊ }␊ ],␊ "no-useless-backreference": [␊ "error"␊ ],␊ "no-useless-call": [␊ - "error"␊ + "off"␊ ],␊ "no-useless-catch": [␊ "error"␊ @@ -2016,7 +2024,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "no-var": [␊ - "warn"␊ + "error"␊ ],␊ "no-void": [␊ "error"␊ @@ -2053,8 +2061,26 @@ Generated by [AVA](https://ava.li). "object-curly-newline": [␊ "off",␊ {␊ - "multiline": true,␊ - "consistent": true␊ + "ObjectExpression": {␊ + "minProperties": 4,␊ + "multiline": true,␊ + "consistent": true␊ + },␊ + "ObjectPattern": {␊ + "minProperties": 4,␊ + "multiline": true,␊ + "consistent": true␊ + },␊ + "ImportDeclaration": {␊ + "minProperties": 4,␊ + "multiline": true,␊ + "consistent": true␊ + },␊ + "ExportDeclaration": {␊ + "minProperties": 4,␊ + "multiline": true,␊ + "consistent": true␊ + }␊ }␊ ],␊ "object-curly-spacing": [␊ @@ -2064,20 +2090,22 @@ Generated by [AVA](https://ava.li). "object-property-newline": [␊ "off",␊ {␊ - "allowMultiplePropertiesPerLine": true,␊ - "allowAllPropertiesOnSameLine": false␊ + "allowAllPropertiesOnSameLine": true,␊ + "allowMultiplePropertiesPerLine": false␊ }␊ ],␊ "object-shorthand": [␊ - "warn",␊ - "properties"␊ - ],␊ - "one-var": [␊ "error",␊ + "always",␊ {␊ - "initialized": "never"␊ + "ignoreConstructors": false,␊ + "avoidQuotes": true␊ }␊ ],␊ + "one-var": [␊ + "error",␊ + "never"␊ + ],␊ "one-var-declaration-per-line": [␊ "off",␊ "always"␊ @@ -2088,12 +2116,10 @@ Generated by [AVA](https://ava.li). ],␊ "operator-linebreak": [␊ "off",␊ - "after",␊ + "before",␊ {␊ "overrides": {␊ - "?": "before",␊ - ":": "before",␊ - "|>": "before"␊ + "=": "none"␊ }␊ }␊ ],␊ @@ -2101,8 +2127,11 @@ Generated by [AVA](https://ava.li). "off",␊ {␊ "blocks": "never",␊ - "switches": "never",␊ - "classes": "never"␊ + "classes": "never",␊ + "switches": "never"␊ + },␊ + {␊ + "allowSingleLineBlocks": true␊ }␊ ],␊ "padding-line-between-statements": [␊ @@ -2118,8 +2147,8 @@ Generated by [AVA](https://ava.li). "prefer-const": [␊ "warn",␊ {␊ - "destructuring": "all",␊ - "ignoreReadBeforeAssign": false␊ + "destructuring": "any",␊ + "ignoreReadBeforeAssign": true␊ }␊ ],␊ "prefer-destructuring": [␊ @@ -2224,14 +2253,18 @@ Generated by [AVA](https://ava.li). ],␊ "quote-props": [␊ "off",␊ - "as-needed"␊ + "as-needed",␊ + {␊ + "keywords": false,␊ + "unnecessary": true,␊ + "numbers": false␊ + }␊ ],␊ "quotes": [␊ 0,␊ "single",␊ {␊ - "avoidEscape": true,␊ - "allowTemplateLiterals": false␊ + "avoidEscape": true␊ }␊ ],␊ "radix": [␊ @@ -2416,11 +2449,11 @@ Generated by [AVA](https://ava.li). "react/jsx-no-bind": [␊ "error",␊ {␊ - "ignoreRefs": true,␊ "allowArrowFunctions": true,␊ - "allowFunctions": false,␊ "allowBind": false,␊ - "ignoreDOMComponents": true␊ + "ignoreRefs": true,␊ + "allowFunctions": false,␊ + "ignoreDOMComponents": false␊ }␊ ],␊ "react/jsx-no-comment-textnodes": [␊ @@ -2615,7 +2648,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "react/no-unknown-property": [␊ - "off"␊ + "error"␊ ],␊ "react/no-unsafe": [␊ "off"␊ @@ -2656,7 +2689,7 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "react/prop-types": [␊ - "off",␊ + "error",␊ {␊ "ignore": [],␊ "customValidators": [],␊ @@ -2780,7 +2813,7 @@ Generated by [AVA](https://ava.li). ],␊ "semi": [␊ "off",␊ - "never"␊ + "always"␊ ],␊ "semi-spacing": [␊ "off",␊ @@ -2914,12 +2947,15 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "space-before-blocks": [␊ - "off",␊ - "always"␊ + "off"␊ ],␊ "space-before-function-paren": [␊ "off",␊ - "always"␊ + {␊ + "anonymous": "always",␊ + "named": "never",␊ + "asyncArrow": "always"␊ + }␊ ],␊ "space-before-function-parentheses": [␊ "off"␊ @@ -2944,7 +2980,8 @@ Generated by [AVA](https://ava.li). "off",␊ {␊ "words": true,␊ - "nonwords": false␊ + "nonwords": false,␊ + "overrides": {}␊ }␊ ],␊ "space-unary-word-ops": [␊ @@ -2955,27 +2992,28 @@ Generated by [AVA](https://ava.li). "always",␊ {␊ "line": {␊ + "exceptions": [␊ + "-",␊ + "+"␊ + ],␊ "markers": [␊ - "*package",␊ + "=",␊ "!",␊ - "/",␊ - ",",␊ - "="␊ + "/"␊ ]␊ },␊ "block": {␊ - "balanced": true,␊ + "exceptions": [␊ + "-",␊ + "+"␊ + ],␊ "markers": [␊ - "*package",␊ + "=",␊ "!",␊ - ",",␊ ":",␊ - "::",␊ - "flow-include"␊ + "::"␊ ],␊ - "exceptions": [␊ - "*"␊ - ]␊ + "balanced": true␊ }␊ }␊ ],␊ @@ -3003,8 +3041,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "template-curly-spacing": [␊ - "off",␊ - "never"␊ + "off"␊ ],␊ "template-tag-spacing": [␊ "off",␊ @@ -3145,11 +3182,7 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "use-isnan": [␊ - "error",␊ - {␊ - "enforceForSwitchCase": true,␊ - "enforceForIndexOf": true␊ - }␊ + "error"␊ ],␊ "valid-jsdoc": [␊ "warn"␊ @@ -3279,9 +3312,9 @@ Generated by [AVA](https://ava.li). ],␊ "wrap-iife": [␊ "off",␊ - "any",␊ + "outside",␊ {␊ - "functionPrototypeMethods": true␊ + "functionPrototypeMethods": false␊ }␊ ],␊ "wrap-regex": [␊ @@ -3289,11 +3322,10 @@ Generated by [AVA](https://ava.li). ],␊ "yield-star-spacing": [␊ "off",␊ - "both"␊ + "after"␊ ],␊ "yoda": [␊ - "error",␊ - "never"␊ + "error"␊ ],␊ "you-dont-need-lodash-underscore/all": [␊ 1␊ @@ -3531,6 +3563,10 @@ Generated by [AVA](https://ava.li). "jest": {␊ "version": 29␊ },␊ + "react": {␊ + "version": "detect",␊ + "pragma": "React"␊ + },␊ "import/extensions": [␊ ".ts",␊ ".tsx",␊ @@ -3562,10 +3598,6 @@ Generated by [AVA](https://ava.li). "node_modules",␊ "\\\\.(coffee|scss|css|less|hbs|svg|json)$"␊ ],␊ - "react": {␊ - "pragma": "React",␊ - "version": "detect"␊ - },␊ "propWrapperFunctions": [␊ "forbidExtraProps",␊ "exact",␊ @@ -3598,17 +3630,19 @@ Generated by [AVA](https://ava.li). 24:1 warning Missing JSDoc @param "b" type jsdoc/require-param-type␊ 25:1 warning Missing JSDoc @returns description jsdoc/require-returns-description␊ 25:1 warning Missing JSDoc @returns type jsdoc/require-returns-type␊ + 27:71 error 'params' is defined but never used no-unused-vars␊ 29:19 warning Avoid creating new promises promise/avoid-new␊ 31:1 warning Expected catch() or return promise/catch-or-return␊ + 31:17 error 'a' is defined but never used no-unused-vars␊ 31:20 error Expected to return a value at the end of arrow function consistent-return␊ 32:3 warning Each then() should return a value or throw promise/always-return␊ - 32:7 error Unexpected constant condition no-constant-condition␊ + 32:7 warning Unexpected constant condition no-constant-condition␊ 33:5 warning Avoid wrapping return values in Promise.resolve promise/no-return-wrap␊ 35:5 error 'forgotToDefine' is not defined no-undef␊ 39:7 error 'variable' is assigned a value but never used no-unused-vars␊ 39:18 warning This conditional operation returns the same value whether the condition is "true" or "false" sonarjs/no-all-duplicated-branches␊ - 39:18 error Unexpected constant condition no-constant-condition␊ 39:18 error Unnecessary use of boolean literals in conditional expression no-unneeded-ternary␊ + 39:18 warning Unexpected constant condition no-constant-condition␊ 42:7 warning Correct one of the identical sub-expressions on both sides of operator "&&" sonarjs/no-identical-expressions␊ 42:18 warning Unexpected use of undefined no-undefined␊ 42:42 warning Unexpected use of undefined no-undefined␊ @@ -3626,7 +3660,7 @@ Generated by [AVA](https://ava.li). 64:10 warning Update this function so that its implementation is not identical to the one on line 56 sonarjs/no-identical-functions␊ 72:1 warning Remove this conditional structure or edit its code blocks so that they're not all the same sonarjs/no-all-duplicated-branches␊ 72:5 warning This always evaluates to truthy. Consider refactoring this code sonarjs/no-gratuitous-expressions␊ - 72:5 error Unexpected constant condition no-constant-condition␊ + 72:5 warning Unexpected constant condition no-constant-condition␊ 79:1 warning Reduce the number of non-empty switch cases from 11 to at most 10 sonarjs/max-switch-cases␊ 83:5 warning Expected a default case default-case␊ 83:5 warning Refactor the code to eliminate this nested "switch" sonarjs/no-nested-switch␊ @@ -3644,10 +3678,10 @@ Generated by [AVA](https://ava.li). 8:3 error End of file expected json/*␊ ␊ example.test.html␊ - 2:3 warning Unexpected var, use let or const instead no-var␊ + 2:3 error Unexpected var, use let or const instead no-var␊ 2:3 error Expected 1 empty line after require statement not followed by another require import/newline-after-import␊ 2:22 error Unable to resolve path to module 'chai' import/no-unresolved␊ - 3:3 warning Unexpected var, use let or const instead no-var␊ + 3:3 error Unexpected var, use let or const instead no-var␊ 5:12 error Unexpected focused test jest/no-focused-tests␊ 6:5 warning Test has no assertions jest/expect-expect␊ 6:8 error Unexpected focused test jest/no-focused-tests␊ @@ -3667,6 +3701,6 @@ Generated by [AVA](https://ava.li). 18:96 warning Delete `;` prettier/prettier␊ 20:2 warning Delete `;` prettier/prettier␊ ␊ - ✖ 77 problems (34 errors, 43 warnings)␊ - 2 errors and 8 warnings potentially fixable with the `--fix` option.␊ + ✖ 79 problems (35 errors, 44 warnings)␊ + 4 errors and 6 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 23847c5d70aabec4fa735fee0bc69148a5e96845..c2d46a514f6c6fbbfd52372d66b79e43571c25a7 100644 GIT binary patch literal 14174 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 literal 14132 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 diff --git a/index.js b/index.js index 74f1fed..5df96d1 100644 --- a/index.js +++ b/index.js @@ -7,7 +7,7 @@ module.exports = { }, extends: [ '@fs/eslint-config-frontier-react', - 'standard', + 'standard-react', '@fs/eslint-config-frontier-react/typescript', '@fs/eslint-config-frontier-react/prettierSetup', ], From 2cd66cdc674f904538a3d855fe1c00d8f25e7518 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 23:14:53 -0700 Subject: [PATCH 20/53] I say not to use standard or standard-react because frontier already uses airbnb as the base --- demo/test/snapshots/lint-output.js.md | 32 ++++++++++++------------ demo/test/snapshots/lint-output.js.snap | Bin 14174 -> 14176 bytes index.js | 1 - package.json | 2 -- 4 files changed, 16 insertions(+), 19 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index e22a3ea..ca2e79e 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -20,14 +20,14 @@ Generated by [AVA](https://ava.li). "globals": {},␊ "parser": "/home/vetaz/fs-webdev/eslint-config-tree/node_modules/@babel/eslint-parser/lib/index.cjs",␊ "parserOptions": {␊ - "ecmaVersion": 2021,␊ + "ecmaVersion": 12,␊ + "sourceType": "module",␊ + "requireConfigFile": false,␊ "ecmaFeatures": {␊ - "jsx": true,␊ "generators": false,␊ - "objectLiteralDuplicateProperties": false␊ + "objectLiteralDuplicateProperties": false,␊ + "jsx": true␊ },␊ - "sourceType": "module",␊ - "requireConfigFile": false,␊ "babelOptions": {␊ "presets": [␊ "@babel/preset-react"␊ @@ -35,7 +35,9 @@ Generated by [AVA](https://ava.li). }␊ },␊ "plugins": [␊ + "react",␊ "jsx-a11y",␊ + "react-hooks",␊ "@babel",␊ "json",␊ "jest",␊ @@ -43,8 +45,6 @@ Generated by [AVA](https://ava.li). "testing-library",␊ "@fs/zion",␊ "you-dont-need-lodash-underscore",␊ - "react-hooks",␊ - "react",␊ "prettier",␊ "test-selectors",␊ "sonarjs",␊ @@ -2449,11 +2449,11 @@ Generated by [AVA](https://ava.li). "react/jsx-no-bind": [␊ "error",␊ {␊ - "allowArrowFunctions": true,␊ - "allowBind": false,␊ "ignoreRefs": true,␊ + "allowArrowFunctions": true,␊ "allowFunctions": false,␊ - "ignoreDOMComponents": false␊ + "allowBind": false,␊ + "ignoreDOMComponents": true␊ }␊ ],␊ "react/jsx-no-comment-textnodes": [␊ @@ -2648,7 +2648,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "react/no-unknown-property": [␊ - "error"␊ + "off"␊ ],␊ "react/no-unsafe": [␊ "off"␊ @@ -2689,7 +2689,7 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "react/prop-types": [␊ - "error",␊ + "off",␊ {␊ "ignore": [],␊ "customValidators": [],␊ @@ -3563,10 +3563,6 @@ Generated by [AVA](https://ava.li). "jest": {␊ "version": 29␊ },␊ - "react": {␊ - "version": "detect",␊ - "pragma": "React"␊ - },␊ "import/extensions": [␊ ".ts",␊ ".tsx",␊ @@ -3598,6 +3594,10 @@ Generated by [AVA](https://ava.li). "node_modules",␊ "\\\\.(coffee|scss|css|less|hbs|svg|json)$"␊ ],␊ + "react": {␊ + "pragma": "React",␊ + "version": "detect"␊ + },␊ "propWrapperFunctions": [␊ "forbidExtraProps",␊ "exact",␊ diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index c2d46a514f6c6fbbfd52372d66b79e43571c25a7..a8b805cb266bd83f7a5e9230cd9ef3d6e5193e40 100644 GIT binary patch delta 13959 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 delta 13880 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 GH30xl1z`dJ diff --git a/index.js b/index.js index 5df96d1..313b163 100644 --- a/index.js +++ b/index.js @@ -7,7 +7,6 @@ module.exports = { }, extends: [ '@fs/eslint-config-frontier-react', - 'standard-react', '@fs/eslint-config-frontier-react/typescript', '@fs/eslint-config-frontier-react/prettierSetup', ], diff --git a/package.json b/package.json index 54842c8..1e956f4 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,6 @@ "@babel/eslint-parser": "^7.19.1", "@fs/eslint-config-frontier-react": "^11.0.0-alpha.4", "eslint": "^8.34.0", - "eslint-config-standard": "^17.0.0", - "eslint-config-standard-react": "^13.0.0", "eslint-plugin-bestpractices": "git+https://github.com/skye2k2/eslint-plugin-bestpractices.git", "eslint-plugin-deprecate": "^0.7.0", "eslint-plugin-html": "^7.1.0", From 2bf75f0ab69c28050f406882e32eaab82dbd2a6c Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Wed, 22 Feb 2023 23:16:34 -0700 Subject: [PATCH 21/53] version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1e956f4..0fdab4d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-tree", - "version": "5.0.3", + "version": "6.0.0-alpha.0", "description": "Shared Tree configuration that contains overrides and enhancements on top of the base frontier configuration.", "main": "index.js", "repository": { From 8bca9c950dbc1ebfc3b4a7b43e7d6ebfdb6e4b15 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Thu, 23 Feb 2023 11:02:28 -0700 Subject: [PATCH 22/53] don't warn on undefined --- demo/test/snapshots/lint-output.js.md | 6 ++---- demo/test/snapshots/lint-output.js.snap | Bin 14176 -> 14157 bytes index.js | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index ca2e79e..5a1242a 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -1911,7 +1911,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "no-undefined": [␊ - "warn"␊ + "off"␊ ],␊ "no-underscore-dangle": [␊ "error",␊ @@ -3644,8 +3644,6 @@ Generated by [AVA](https://ava.li). 39:18 error Unnecessary use of boolean literals in conditional expression no-unneeded-ternary␊ 39:18 warning Unexpected constant condition no-constant-condition␊ 42:7 warning Correct one of the identical sub-expressions on both sides of operator "&&" sonarjs/no-identical-expressions␊ - 42:18 warning Unexpected use of undefined no-undefined␊ - 42:42 warning Unexpected use of undefined no-undefined␊ 42:55 error 'params' is not defined no-undef␊ 43:5 warning This function expects 1 argument, but 2 were provided sonarjs/no-extra-arguments␊ 44:30 error Module path/to/legacyModule is deprecated. Use module x instead deprecate/import␊ @@ -3701,6 +3699,6 @@ Generated by [AVA](https://ava.li). 18:96 warning Delete `;` prettier/prettier␊ 20:2 warning Delete `;` prettier/prettier␊ ␊ - ✖ 79 problems (35 errors, 44 warnings)␊ + ✖ 77 problems (35 errors, 42 warnings)␊ 4 errors and 6 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index a8b805cb266bd83f7a5e9230cd9ef3d6e5193e40..bbaec998e76e00d4d0aef2c216b854701afa92cd 100644 GIT binary patch delta 12043 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 delta 12052 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 y*hKm<15 Date: Thu, 23 Feb 2023 11:10:59 -0700 Subject: [PATCH 23/53] Add tree-r9 additional rule updates --- demo/test/snapshots/lint-output.js.md | 10 +++---- demo/test/snapshots/lint-output.js.snap | Bin 14157 -> 14130 bytes index.js | 35 +++++++++++++----------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 5a1242a..5df16f1 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -1321,6 +1321,7 @@ Generated by [AVA](https://ava.li). "warn",␊ {␊ "allow": [␊ + "warn",␊ "error",␊ "trace",␊ "time"␊ @@ -1886,7 +1887,7 @@ Generated by [AVA](https://ava.li). 0␊ ],␊ "no-template-curly-in-string": [␊ - "error"␊ + "warn"␊ ],␊ "no-ternary": [␊ "off"␊ @@ -2828,7 +2829,7 @@ Generated by [AVA](https://ava.li). ],␊ "sonarjs/cognitive-complexity": [␊ "warn",␊ - 25␊ + 50␊ ],␊ "sonarjs/max-switch-cases": [␊ "warn",␊ @@ -3687,9 +3688,6 @@ Generated by [AVA](https://ava.li). 10:5 warning Test has no assertions jest/expect-expect␊ 10:13 error Test title is used multiple times in the same describe block jest/no-identical-title␊ ␊ - test/lint-output.js␊ - 14:7 warning Unexpected console statement no-console␊ - ␊ /home/vetaz/fs-webdev/eslint-config-tree/format-config.js␊ test/snapshots/new-lint-final-config.json` import/order␊ 7:40 warning Delete `;` prettier/prettier␊ @@ -3699,6 +3697,6 @@ Generated by [AVA](https://ava.li). 18:96 warning Delete `;` prettier/prettier␊ 20:2 warning Delete `;` prettier/prettier␊ ␊ - ✖ 77 problems (35 errors, 42 warnings)␊ + ✖ 76 problems (35 errors, 41 warnings)␊ 4 errors and 6 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index bbaec998e76e00d4d0aef2c216b854701afa92cd..176e14b81cdc6c1b0c7c17e809c121bcf7be8058 100644 GIT binary patch literal 14130 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 literal 14157 zcmV-TH?qh-Z~h7X0}fyO7kqr-t1k|p9nMSuRj4YUfa)PBDLfmy%SL4ai3E^H zBr+3+uf6u#U%htnU;kP5fB*aA^Z)$z;pR8LPX665Uc5v5{o3CU)Gz+|Yya}E{>zQm*;TaOWNhzw`Fa3<9~|C< z|7AtN3;cPX*Lf1KGE4I+Owux%XDql(s}--SU>1a75cBn#<<%^B8GmzDR+}PG7#fWW^H>G$u)q@VLgps7iVM zBB*mwdCN}ar+1J3pi}v26rUdkk9dU)j4JpaRx)Daji6x5s7NwamV0}9yVGr>^4$?C zPoA6v_fCT2CwD(NeRS3#m=z2rRB&8GOP-f6jGZLN#;#936( zDhW0P%)`7Q{)q1ZOb;k5@oUb3jEgAENRUBC)Tm4v@-D5CiZEWW_}orywcW5_odO+D zHV2``CQh_n|1P2|O+uoXsOv5A6Sa6g-T)8RK_0DHi6ahcWkyBiY%ll(7&nV<1ft+Z zFn>`3U+|K67gFUR5n!V9p=6#MeL?OlnssK{%lqq&x}dc`Pv7;SSTgnHll{UeraAmF z|4bBPqeSX$A5!N(rRm^H@k{5cmEwlEcScEVCGD$VtxdxA+3QF1t6{E<=7z!VAHIK} z>jPpIrZWd)j>&cs`X?*{sCNAU_t$zh~RP@=P>Pb&1K zS|NQeL*=4jXyL7%Em`^0wuPOq46#gMJACnN>y2X1K^^izq9Z&l#YEHjC$Eyos_bOzKURg1iKR z;S7|6-meqgaP?W9vlz~7QL#nFq1>5s4rfq2E>=K)MiW%;mUhZ}FFz=>v`Dnt^^=pb+rmg04Wh%%oiN=U;c8Z zQ=c{knr8JTCCPX0Sk$9exYE_1zT$89q$Vw>X8#j2pbQRRV_cH8?glOTTfrq7oIu81 zK&M|I;TkvDRaHcxYFF^__Tjtww*HVObp~Wa)oQ=u`x#qC@m3a+J_4ga%W*Gw2J37s zzFfiLg3UO(HrY-6`{{bai^@czwu+?k4BPvw`&(vw4)akqtqAN2BeE8eVk9;~WGDWX z?0VD0-WO(I6r9_qDJcm^h|Kr8o8)~pCEG!5iVQ>D%;2kF0UI&&DL#*uEZFWi_U%xs znoUH$IVA2?uJO*g{-8_RL$;p7uBYuIZ|pJDI1S9pVFQJE0BQ;8q%UH%wESBWA)16V zQTyf_KbCByKb?_xZgxr24e|+_*UKd<-V9)$su;?tS3sI-)l6N1qe@FU=Emm_YP! z7Z)eFfT7+C7-aSaqN~+*50s`HRUkAdETS0nA4HRVy#B1wh+cwrRi_oN%f3?7r}?L< zZ@&Lwe?la6EN*)8nuIE-kvY#pw%%0Rpu9{g5Snp>rX<>X4i1p>FcH?gtO8sO*ZEVt zT}M};Xe*?)kkk))%3Ndih)|41byg8w*JqaBpKO!pGm-a1&OLb+OGpc0S-MX1Mn>eU z#170vS6}Ewyf#ZkE0Ui?>IdC}usCNzKi<^WI7+8xHAmv#;=@Aq3fZmX)Cad;0I3!U z&?op@fn;6Ru%72ENO%pq-8VJInHnJ8{yT(uaJ#|$BN-nW z31=ZlV&2i)Y)6vMpW{In+8)6?xYb}D@vJ$+Ioo_sZ?iQ$^YuD%VrsV5r$v-zIJ!QV zACLu9wJ9vHi!`(INn$o*1iMkg9r*%8f0@IVwYG?NcDv6`SRA`ty_~$ zZ=i~$-lsL&Y3$us#M;jE?XLmHBYp8 z!h$E;(Y2Zt9SOz%i8kRB{>r<0aI@RhW8rIdy~c*kN*6YJyRU-9=sfqXzK3I*Rayz- z5V3d->Pfo61(dGEtw6J#i|g3A+R*KNZO;)@_v^1?pZCd=kJr_vu7vmD!EM~2ZQ3r+ zbRnUXQI6H^ulSnnU$83rc7IWZmu#M}i+$-U2vCc38CC^j`=E2IBUOZr5+P+CZORp| zN)#y}A;EzfsBPeQ{&lnRd69^N<@<-X^<&#HLvO9%>tBDp^B9f%!MUKSQdaD%e~?CV zc>CbTrQk!FKR+S`2M32B4u4b%J~;gFy&si=TQ`4P9=!ff|M5Qr@4t_>Zjfl}GI;CV zJ3^+EH-g)@6k+AtsPV}Uu&XD*d(Ed{!}0DnC9m8?de!(DleGCdgavu^b->B>WAAm{ zhxxDbzxl;?Q1OiA7qi3QJMv}oH5 zUe2_3PKifl%L*2+qd&3&jS5hBa7$8O^16uG)9nU(H4|;kBKx>Ymz^-ED}GisZxUZ#1AKNHYu?vz(yba1e383Z5073b%rDiUqA z2*7P^;_3em6TVizasNTjVHnOLDw_H~UX=Uarfn5lUIP}4KHf=&8Bd~eMfTUCjCs+F zn_7{2?O_ShAf_>CMxIW}EfU?rx0J(?PyG;Ep8AES2=(vATCEB?uKLL3FNv=OPT_Vk z$`NUAtu>36Hg+?V3o|trzH3J`!ehbN3Wz#Ni?~j!&XR0Fo{CG`{;X;~N6RHkp2A@y zL$jX&jOCy!#OyvVet-6b`Yu2JK>z<`XW;k61P|l7$hKj*iDDR5y+?epn3?cOwob?4 zf2jt!Bg&*xzsWbe_* zzUji)g;FGrg>wcA7XFVe7Oqu=y6X^J->s??cFwDiZzfZMC1I53TwLyWaXyOCRfZQp za9WJF7!^gdMXP9h&Tuy&3rZiO*@IiBys=s=BsR5>`;(~xT-9@^LwbMd6_Ao>-2fh} zQGYNAe==3x7q_ybQd>~K#66me5nB6n9G0-Xw%2L?08Xbk0Pot`RGjQ6QDGC&V-8>Zz_-x%v$4n`KGcHeHDgh6@lKq*+{}?@151 zf&D?_0L`zT07+)1XHi*(YgVmzQigCC2=O-4YZG8sG22uR1u9~EY1G`0u!Z|6%aU?* zl8>mirsab>2hCgQ2i|T88Wlo@IlXW7!Og^VaWf0@CR{vA8uRXv&J1WM;Olr{c`GL>>K=# zok)dbAUdxzRNdv4YNlxcgyZROUj{;Wm=qe6)(+ue!D+C_oSVj8DtLn=m3KPF`fKn; z^oD9b)Pep#0_!{mw2*Y37d{4}Q|K}>1y`CC6gTCud50RNHecsxL4d;xD@u`8!fz}< zm?dc;FdQq}X`LIB%!G_CMd2C)C_TuHv)??;$D;5ph$+bnI-R=^C+|)ihdS8%@%!uesWR?nUDZvJ3i3 zbju|}fqq>(lDXvx`pKl(pCHn z<5iuX`4~m%bF(!@+{6ycD>HbdgO71!0ZYS^A+)Z- z_7v>oh&)$^gEnjk=qsME4PL9|aXM5Z4D13FfI7H2)<>K$iBJ2qx!`8+1#Iwq^kXE( zNX$!~!Ko@lH^}krOhZ~H{te_j->xy7K^+u^bKhoLL8(l~b<-{&Kek78E0CgqEI>{u zS9LwxdjGRHRF4`MTjs>1r#$zX#0b8PGsC81o{h(BLnAu-r+@pOhUV0hD~e>ccH>!I zMhkW<ZM?;!`_r6>$!wMm))7hA z#jzQOKELx0oI+0>UEf#>@*()*lh>gRLoA+oX8y1fMBy7$1 z-+5eT~}xy zvr})uqn#j(8lku|VkmqICgShb>ZEl%Z3_cw}Y|=-3!n zpCA##u|Zw)G=J92^xiG*82h9foL$wh^A1+ldY&$8*v`k-l+k5Ok$=m;>oW?AJQ7Cw z1FfU|`xLS>=>Qy5@#4XQ`zQB!vh95{UnF(zzsLs9(8AZn#j%wYHf28;s_tCkypWm) z7i67UTl10)e|V#(v&3-CrGGZvmFeFXum?!r(36hmso8lTc?5gZKy&;3*%v3maj2^n zwdKKYgLeks?p7cx=XJ#fUmj3=%p&a^q{XL4YEw<{UxUvgXNAU&KEN4#i4uF$E$R^m zAq1z&Aq}UX#G;_J^!X^`<;dszMYJ@2kkwkh%X+QfpMsPc_6Oq&o%}djrCFlst%HHr zTp9W^14IGn?eXJdesX+Bw^hDjzJ6oJ%&j ztu^|M`yJI33T8q{q6`OY(u|_899(DVmGk^cI3k0)3b&m!I|Qmfc{)4}nTihbM)jH? zT3QKlRW`oK>EIb`(ET02u$nX!vG*FCPpmjvCVKydhR3*Z_$H&q1QZMy@BwdfM3o`l zDdPs@he$VkdZuk3r0#`;1=+%IToC3Mlw7p;nO7pS{TbGIYNA4g5?fN zSGOLSk7EJ`ruhi@1uHI6b~yoWwcV^(uAD{&iRq_wUIYXBH%*OAY2aGawTpB*RwV*o zy|HAf+#OJaPQDA`j%?90&riXl#MwS8N(y=(QG~f@yo^<3e>Xdj|In*bgyQatjUy#n z{F*->cjs!cvWnDVzgq_>Li+}QbiM2zEQQxvw=9B#X3w!c-_+HgkZ<8S03Z?9a0= zEvL}+vTyF>>YA}rO0D$D%W3f1>FHiwRm#7MT5<5CNTU!V zjxHE3c?L>lUePdA(VT+(o%)ns6FSm5)ye_JU^zRn3hsF|Eletpcz%5PaMViDt-sF8 zdV}gXUPKL7;y8hI#hcxFFw<KrljIvvXCd$Mh3A;ro zl!qd->RBT(m$qg33R<7=Y{-ITk@g5ckGMI%>J~yL>tV?}>d{a{&~3V0>6P=#9`SJa zPs@HkInM@FV$zRc36X8=Ya%^8?u<{*6$4W9bY>uL6VAfGv!=G>AJhv zsLV`_~IWZPrmnI}O;jk!&9 zm?LPi&eN;e029|32U(~3sG;Aq1Iy4>(`p%;QT-59ZCEA`JJ zcsLU7DjebOV#}QrKK3&eMmEX&zi@+|H|dyWbuhqHwg%(K+#Y~uos?-!f`fyb%|A{4 zlVVmqD|)F}wQnOHS<>>u&=pw5>R78mf8~5>{j5?#_NuWmmPXfONr_mocUvYvS$Upr z?!iI#{4-fek0Si;b0gBwA%?dNX7VHI&NXS$zM>nelT`VTh;m{Wzi>hX`S`e{Kkp9U zn&W^57siSX76FtQ~cUbXRNY)`V3Dz z%_p6#PO35M#6%`}B-!lxIb1jb;T5#JiTB8%rZ6_-${CTL11=Pw%L^eT5$W@^TB%sT z+ve_~^BpT3PBaK55;eAIZX7D6K;f6IyWMzy0leJiv2rsC*%jsz^J?ZYO36bhU0 z`{47mx^(+7Az-~AN7^Y}#vyV>WD#7+{C#@~0iAKmRg~~?4-kYU)j|YRc#z_o&sV_W z+5pMD48LUs_o+Qktfcg{90T&AM$d0Cl}y@1-*MovTDpA&KhL(OIXfe7sK?Sd#jYx~ zZ%SBIGgHW*E|R)kq#`t%_Kh#;nz@dq>b12AL)w3v&AGhw{8e7bu>?+)=1!+z35hqG z1zS3=u(d}UeIVt%t`BT_F(kk=%aeLT*-u=@bp>iwqBVtqF zeIg*yyBLW!Z(g=laRMk07Ou7C6Lz4$a63d}6pCgKZ~6w!qz;ceA@x^uq-PxH8J`yB zV&&5AUg3hsO>>%d_34{XrV1M$v5UxX`8a^O@)j+WU?d5}tG8a@MHHfa${SYZG>hHI z5qPsv)XVP`#oRX9o%XhlToJ%eRVq$&(k$^xXCyF^M zV!uUOEVY`rV<3gfrqu zV@%T`B8^?Eo`O<_Zy{L71K@1yrI+Agi`KFaD5yt#fq^b@TDnsSVhm2SOyf{2EC2KW zeM5vOr7+?Lctc{cV@ZLE$*T>o2qd6g#?@()!g-X{aBj_{pVed?Wu0DOB-^HaHEHaq z;}g*TcYOyPJwHpwGU7)4)y|mV&X~JXyYGv+zjK?v>|=i4FZj)G`X#^p?Xcvxz72l# zQ6Kql2PGewfIjl>(y&k8n?1VpB_*o4W`{N=(!G{qmwt!jvMUWX71(PP$?^r=O%`bZQz9) z)-S)91TMGhxyeh^1bbOTn~j&DA?G=dD^Q=MW*)LKj+}l4=xH*4PL@oMHmCtlFz@z7 zV3uv(8K%5)t}x!@sRX|dd6F(tk$b$n&jsdB7I|3r zQ&PZ$7!=g3@19k#a!|0rhc&vTZwL>OPML7pIg)L+(%QDXDYX%h8b=;edXv>9{@1li zVI;_DRlLFJ2YQu`C$om&BK8zmrC9%gC+qpaF850WFEO?X$)3CCkT)1k(&r`VuN zR$PFn>s$RyjM1`@P06CyqG2)_Ej3nWMW|G9ooQCBnA6#{OPDoi-$0m*;hd%AeawH- zaX4ASY>CMKZT75W!6P~y>?z3R9raaJZOX&_{bgFM>iHg=TKA*0nCJ8T=g~zZ0xAEM zh}bU@_1#(%0Hu=-&(Go**vSYUoo7% zSnp?|{l=GFi`JJ@jrkb}le!!fm%U>0Y1e-CvxUtTX!>h^kz;!M6N5bZ*@8r=1_dX4 zSn=Dofb0vOvUItsdWD~-NwsRrWG3tOw|aSEP@?X83hP%vvsSOzM)# zTiJ1sXub68W=X9%pKP67jE)0_dn;(PZ7o%tPOo|;=1{y&$838=gS{ufg0u{@Ov5AM zzNJ8HVYcQSo7LkCG+7qZ_C3pwh|YZaaY(oXao%z2|1pSg4TgPhHc_B$(Jx{cUUK8E z0eC6R>rH(1l}Nkt2|cv&)mQG;g!Ob!psB-{YIbjGyJxSU-Im=CBW-u=QMBofLr(<+ zH90_y93w7M(lG*M-3{J)=bg8Qgp5c|TUuBH?dp+tqyrAQ5ArkR&uAfb!Hd1UG!M|A zUk2jVg9YdiFZuxF7c6KFNCA1H-3TsMX}m&FdXW}Y4T5zWkjo)_h^k=A>)AJ%)p8ADS>#j@=U z$=`Ct>nsW8EQl^RU_jUNU;+Ow0=^J^mCQgZg?G0qQQ0~)0dpKuMXTf}Ugr8=ccpAQA!)M(!Kuwazqk1!3u2VRXvgNp#u#o{1k znx%gI=`LT579|Utr(j*AY~5A%?lf)=zRSo2`KTUdQ&esSj@B(c;{z~| zXAQeN-m)YV@x+sQ9>oP-MCir7^uK2rgd>=pW_)j9D0!TlP67*2MfHS5KW!I#g}{uF zyF;&Aw@2FG_KiY-o(ew*^YbdW;WLKAg3$*{wv@n5+CG3*D%4_=YmLbiD%m8iR6*>SLbWGNx;-R=mg)Gk;AO4{6+HKhw|ai2Gkq&ZvIiNGg>LRb%|8T!yc z@N^^S~3a^~L6rWC7n4=>=^*Hm7Iv%qQH7$aHOK z;FtvLJ3mUFY!PmWPju+HoSNXjvN}sKd&tr`m}R3C2+{3Do1Xf45Z=^eSM3R>3;Fni z2TAno2*$%v0CqpOsAX&Uc(NVQ}f!m#qri0~oy{N(a2iqtl-)m(B4@~W4 z3U!FO{%&H{Jszlx(dN%5SNdny1n||Jy}S%q0*{Rdw> zJn3Ewx%nVV&giu2ENi=Znxp68XQr+R=!epSu0?sw3TK`KNn(i_8)mX` z+kvb*hjvmj9&b=G|Gi4YVpR;#h1)3T8#)Zp-V#ao!*>R>n@3FQ#?t&`essmJ2A?;e zDa(dS!0A)?BNY6UoXs(JH&K$PuzDZ8y#X9PZQLq)!*3<|=IJF{M5PMYN8h$T9QN-?}}og&Kk6^rF% zRbnZTPH%qsp(vNbf)OeKPKey0=f|F~;fNbK3ICh*T#IcC5YB}5?vL0zo~VRypQ8`4 z!!p)1hfmZD60g|#HigH^lK{HLgQQ%O4#1GKi9D8s|I=Y`aI2I2MqCo~ zC0t2zn)d5)&e6=-7fl+Da>MJ51_c#@zU#UjTx5kXy2Fm}nO&B?ZAGY~$dnj#!{)9ELp7PoEa|Ropuc3l6)V zI)czow;T4TH&5szR@t?utZU(_adH)BbqW1?3aole6QKdqO)J4^M?#C-xSz5wgx*fcNG#a?} zw21O@lV+@VB+y(WgT6RVDbJ!%{l>+JZZ;>xnf21BQ+>kMFQ;NtzVa7QFP=Goqn3#? zx)(nn+s#vnW0zfea}(!h+ZA0HbdONY$-;D|FbW5H%}RzF>EsVUFyFrcZmgT~n5oS( zx}ovSTS{k(BkS80P4${>q}%TXqP^)eGXeIyL0e#z8?JbXIh^B52&@V<+q+qh5J~bfdfMGpDZYYetI&o@c1WZK6&lRO zZ@MnCY@8O;PWwDX&wMjVgTEb9x5w)C*TF%<0OLi9%Pc!Ghm_4!GZ#CWgk2A|49_+# zbzmY|Tt*_hP(MS2g^dmDV0rIBovsKqz44-~q}s(U$IYW{`b`m=UGyU|v})yJ?#Fz3Sl^TZ71zo~w6P5VjyE&<(t&zJ~b`;r@GWaN}LO45evbb=CIoi*ff=|^U zbL3R(XoYoI@wMe6j0GiYJ5#1_)yWQwJ1<>Jeu?SXI+h9VBfY;QqDIU|$q~*rSUZuV zvsC4M|4gKM99Y}c{ri2?(8d5P6@csnfV1=WlX=X3`md3>>( zQmrN%tO^f3{?D4ow$8GsTp3RXeUS+A3$?6N; zT(Ec>JDuJee09zbCC|K&Fkr)Q{Wu0pj)S3QRq$)54N&*RNHHeAMw1S!!om32`HzV8 zCc&{cVvaY8Pw0gB_yUc>gk~`_2pM`&*Y|BtrTwHwWh3>{u{U-pIONY%p?RPc(yvo= zR`#J?g8D^mB27Biw5b>e&x(Prqf;3uUT}g)7rqi?ZEt z@A~Up_<$!NdZU;#OxQ5bbAFloc>!x!7=7XmOD~f&&)t~J(heFadO}28wDUvd7N1tj z#H$0L_x=$VU6Ytpw|`??-q{LR|JW69+9za^oViT1Y&RjLT$RfAY^hj16t%|RDT)oc zud8i56omKyg;{O3BT_HLp>j&{dYSgFrf^7aD~$ahU~Qs58GI(ovs|W4Ys^O@G>JQP z5FDg*dpwG$(C8|5@&QWRlgSHQa*Asn#&$4IwJ0OZNAE=XC*@-n^ET`6*vU|}(vkIE z91)@3@}8x?o!PPQsAq;YbcPoR8zfbfFNwDCPd5x-l_cwYOX&@hnAvb!g|Ab*{}*BL z-uu-X`~5FGAC@jDR=rP`sc`=edw#`pS_ z=NoUoJ#4k;5b z`w;85x&3d0>)sx~I=xEsL8)@%>J=v%Uky|=!D78nFi^)MnDAL2J`*j2Lcr07)!1T@ zUdSXI_Y1zZ5G_UW=dh(cL~XPW@$Avr-TNnBxd9u9<1`ruz$%`wm;rf4qD)PW!3$lr z*|;0y#={P6vjLmD{o!2McTeFXH21 z^*3na#&gpS;4s;}U<;gj0oiJR18N%O&%H@D_Jz?XPY-oWZW~Pu5y-EYIUJ`HaG;rZ zj8$(lar@(!?O9-v*DjuAmE|MU3=Ga1#HJ1!z#2Lwlw6mRC{g-(W~`9U%Y=`IBr3={ zPce&*;UNwy$`-RXID1(t_xoLZ1x#66Mkfj)?DAZ+@qOyCsVy2Bea|zC%HCWnc^(zd z%l()yb9%3vw5$v>ArD=ORXw-v80(-nODW`tZfNX|XT7&h6+W8M;BeJkeJ1Emlgj|6 z5i^&DAM-2&*^DWddT)n}qP4fJ!vr>dh&#}#{GKqJ?6OF^r^slAF&Ff+Q z*lUy)6ZxwwSku=I=IG!Hx%O3O_=(;If?u=1wc2sG(N!M$Zq&Ss)qJMhG zGFZ)!P0NWYul3c^*`e{vRcd(jw1)vosDHNMjs|LR7-}!*&c|ceJ6^Xmsn!y8kzR!^>$HHC zVp!z->w5)RaB56!WvbsWnu$pXg*@HGX|flvkqroNDNZbjs>j;<|o7 z+Lr(yOY4~l?C-A4)=_cZ&AcT)4Br6j7j)l8YyPbVqSK1~36g#|C^)pYGmkQ~vG&aO zHUo=#d1GJrBd7=m^p^Gtl4$UoOj(V6VtO5&G%FL(F)`}MR5dMsd359%w>DyuxZ1f` zpEsRzw3*NJ))gjRAV*bqw!dD!Qy)e&C?4KbCZ<$mt&kau%Y8gz8Wcbe2_V&*w8RSx zyTddluD}aI0|1h8S95fjB~cZHSejZKH+#f4ag#qs;?o?K($AE3o*%8y1L)^VewG?y z<9{yH|AB3f`Q^`b;uHPPhKKr}F!drU5xrWqPnPMBwCnJjnmONV9K)}x)S2d`kB>%8 zs$ypfL`(^0xp(HjHlQYKUN4teIH2CJSq;(oS{|@RHgn-;>#7R9>!gF{^loUmG8Sm* z7tei7u15MR2+z{m<$GYLK+7r-x}A#+70_G&)kGO_4T(P{R@6MsiiyAqpI6SuYQwCK zAzLiuGt)a)BdBC6RV>P4aDV~^z8u_!5v zvNpQU^JtM3ZxW94Ksf3SE*^*GL;;BR+1wCtW!T{4y`u<>`>Zw9TPaQ#l>I zFKX61|M^5}4zYX=DH4lcdPB>cv6GGo-lUM9c|YlaFFTFMlUio<#QAc3`8Uw!;A}JOAkESUtnNIhVcZ-*pEJMX zxr8M%oG(0Hb2kqE_Kh78(i6{-xlJ65r(^YOLqtUSo`%ChOmBJBAZRTSm! zlXsEflN#6HJkOHdw;;s62ItY1cb&zzzyOUXb$H9TYFV<~w*iXOxi@}DaMh9KaaMOz zB~2qjgxz-xFViMLnm@nJUPuR@a_AH|ofG9X^#Z71Azm-PP7T92&B=8jOS(x0CRfq5 z&P_*8cbBM$USC5Zr{&Nad~yw@w>YO&@|>r;v#{p?I1M?At|8J9IlT6oUU!m|Pg~II z=<1p>ZJp-Vtbwo7-C4MaFpI$MGY9eURCpZ@+^VCjZc}yrY;;n*suTpjl6? zWW%m;NCNb%n}%a5{srz!JL8L+{GEGWrr++)|1wLj(esk8uhBFws%uWZa+6(S_0r0_ z=BcWR&aXRr(KoiL9QPN_N_dFR-tVpnKn2&6B~U@V*<6Q$B3XV_QM%U0HMp>`jE<`hwMzaX6zd?5YP6i)++~pTxq|amz^KI z)W2G_1-@y#=1HBg5D!YdH+Ipf<16u5t5GlA|5yYFn;M`e>kB7M*DIaj^R2pxV7c-rG@OO`V6_Q<0**cBTOn_MO8 zbDQL3obP}B^WIxAtZv4>FXOWO9{-CWN8hjJ<@e>q^84o{&) Date: Thu, 23 Feb 2023 11:26:13 -0700 Subject: [PATCH 24/53] Add some babylon additional overrides --- index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/index.js b/index.js index 657d16e..4cb0f15 100644 --- a/index.js +++ b/index.js @@ -178,6 +178,9 @@ module.exports = { 'sonarjs/no-identical-functions': 'off', 'test-selectors/button': 'off', 'test-selectors/onChange': 'off', + 'test-selectors/onClick': 'off', + 'import/prefer-default-export': 'off', + 'testing-library/no-node-access': 'off', // We will use querySelectors if we want to, since it matches us more closely with our acceptance testing */ }, }, ], From a55bf39d0a7379d9fc7fc3c2f35c19e4684aa547 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Thu, 23 Feb 2023 12:34:23 -0700 Subject: [PATCH 25/53] JSDocs only for js, jsx, or html files --- index.js | 78 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/index.js b/index.js index 4cb0f15..0800012 100644 --- a/index.js +++ b/index.js @@ -33,45 +33,8 @@ module.exports = { 'no-shadow': 'warn', // frontier has this as error, tw-blue has this as off - 'valid-jsdoc': ['warn'], // frontier has this as off 'no-undefined': 'off', // frontier has this as off, we had this as warn. I think it really should be off which means removing this line. - 'jsdoc/check-access': 'off', - 'jsdoc/check-alignment': 'warn', - 'jsdoc/check-indentation': 'off', - 'jsdoc/check-param-names': 'warn', - // 'jsdoc/check-property-names': 'warn', - 'jsdoc/check-syntax': 'warn', - 'jsdoc/check-tag-names': 'warn', - 'jsdoc/check-types': 'warn', - // 'jsdoc/check-values': 'warn', - // 'jsdoc/empty-tags': 'warn', - 'jsdoc/implements-on-classes': 'warn', - 'jsdoc/match-description': 'warn', - 'jsdoc/newline-after-description': 'off', - 'jsdoc/no-types': 'off', - 'jsdoc/no-undefined-types': 'off', // 2020-01-23: This was broken in eslint-plugin-jsdoc#8 in 2019-06, and hasn't gotten much better. Disabled, for now. Check back later. - 'jsdoc/require-description-complete-sentence': 'off', - 'jsdoc/require-description': 'warn', - 'jsdoc/require-example': 'off', - 'jsdoc/require-file-overview': 'off', - 'jsdoc/require-hyphen-before-param-description': 'warn', - 'jsdoc/require-jsdoc': 'off', - 'jsdoc/require-param-description': 'warn', - 'jsdoc/require-param-name': 'warn', - 'jsdoc/require-param-type': 'warn', - 'jsdoc/require-param': 'warn', - // 'jsdoc/require-property-description': 'warn', - // 'jsdoc/require-property-name': 'warn', - // 'jsdoc/require-property-type': 'warn', - // 'jsdoc/require-property': 'warn', - 'jsdoc/require-returns-check': 'warn', - 'jsdoc/require-returns-description': 'warn', - 'jsdoc/require-returns-type': 'warn', - 'jsdoc/require-returns': 'warn', - 'jsdoc/require-throws': 'off', - 'jsdoc/valid-types': 'warn', - 'import/no-absolute-path': 'warn', // frontier has this as error 'bestpractices/no-eslint-disable': 'warn', @@ -167,6 +130,47 @@ module.exports = { // ] }, overrides: [ + { + files: ['*.js?(x)', '*.html'], + rules: { + 'valid-jsdoc': ['warn'], // frontier has this as off + 'jsdoc/check-access': 'off', + 'jsdoc/check-alignment': 'warn', + 'jsdoc/check-indentation': 'off', + 'jsdoc/check-param-names': 'warn', + // 'jsdoc/check-property-names': 'warn', + 'jsdoc/check-syntax': 'warn', + 'jsdoc/check-tag-names': 'warn', + 'jsdoc/check-types': 'warn', + // 'jsdoc/check-values': 'warn', + // 'jsdoc/empty-tags': 'warn', + 'jsdoc/implements-on-classes': 'warn', + 'jsdoc/match-description': 'warn', + 'jsdoc/newline-after-description': 'off', + 'jsdoc/no-types': 'off', + 'jsdoc/no-undefined-types': 'off', // 2020-01-23: This was broken in eslint-plugin-jsdoc#8 in 2019-06, and hasn't gotten much better. Disabled, for now. Check back later. + 'jsdoc/require-description-complete-sentence': 'off', + 'jsdoc/require-description': 'warn', + 'jsdoc/require-example': 'off', + 'jsdoc/require-file-overview': 'off', + 'jsdoc/require-hyphen-before-param-description': 'warn', + 'jsdoc/require-jsdoc': 'off', + 'jsdoc/require-param-description': 'warn', + 'jsdoc/require-param-name': 'warn', + 'jsdoc/require-param-type': 'warn', + 'jsdoc/require-param': 'warn', + // 'jsdoc/require-property-description': 'warn', + // 'jsdoc/require-property-name': 'warn', + // 'jsdoc/require-property-type': 'warn', + // 'jsdoc/require-property': 'warn', + 'jsdoc/require-returns-check': 'warn', + 'jsdoc/require-returns-description': 'warn', + 'jsdoc/require-returns-type': 'warn', + 'jsdoc/require-returns': 'warn', + 'jsdoc/require-throws': 'off', + 'jsdoc/valid-types': 'warn', + }, + }, { files: ['*.stories.*', '*.test.*', '**/test/**', '**/*mock*/**', '*mock*'], rules: { From fc219cb0ff2ed3bc72c91c070f18b22b4740deef Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Thu, 23 Feb 2023 13:56:57 -0700 Subject: [PATCH 26/53] Some more babylon rules added --- demo/test/snapshots/lint-output.js.md | 16 ++++++++-------- demo/test/snapshots/lint-output.js.snap | Bin 14130 -> 14054 bytes index.js | 7 +++++-- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 5df16f1..6c2f0a9 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -271,7 +271,7 @@ Generated by [AVA](https://ava.li). "never"␊ ],␊ "consistent-return": [␊ - "error"␊ + "off"␊ ],␊ "consistent-this": [␊ "off"␊ @@ -2214,10 +2214,10 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "promise/always-return": [␊ - "warn"␊ + "off"␊ ],␊ "promise/avoid-new": [␊ - "warn"␊ + "off"␊ ],␊ "promise/catch-or-return": [␊ "warn",␊ @@ -3632,11 +3632,8 @@ Generated by [AVA](https://ava.li). 25:1 warning Missing JSDoc @returns description jsdoc/require-returns-description␊ 25:1 warning Missing JSDoc @returns type jsdoc/require-returns-type␊ 27:71 error 'params' is defined but never used no-unused-vars␊ - 29:19 warning Avoid creating new promises promise/avoid-new␊ 31:1 warning Expected catch() or return promise/catch-or-return␊ 31:17 error 'a' is defined but never used no-unused-vars␊ - 31:20 error Expected to return a value at the end of arrow function consistent-return␊ - 32:3 warning Each then() should return a value or throw promise/always-return␊ 32:7 warning Unexpected constant condition no-constant-condition␊ 33:5 warning Avoid wrapping return values in Promise.resolve promise/no-return-wrap␊ 35:5 error 'forgotToDefine' is not defined no-undef␊ @@ -3697,6 +3694,9 @@ Generated by [AVA](https://ava.li). 18:96 warning Delete `;` prettier/prettier␊ 20:2 warning Delete `;` prettier/prettier␊ ␊ - ✖ 76 problems (35 errors, 41 warnings)␊ - 4 errors and 6 warnings potentially fixable with the `--fix` option.␊ + /home/vetaz/fs-webdev/eslint-config-tree/index.js␊ + 46:5 warning Delete `⏎····` prettier/prettier␊ + ␊ + ✖ 74 problems (34 errors, 40 warnings)␊ + 4 errors and 7 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 176e14b81cdc6c1b0c7c17e809c121bcf7be8058..f128f2b34fad85a7e968276aa8eea389eb2bb016 100644 GIT binary patch delta 13950 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 YwTPTD`~^;tsN{$L2hk|`o3=6m0L0mqVgLXD delta 14021 zcmV;$Haf}XZL)5EK~_N^Q*L2!b7*gLAa*he0svAzIx1}od>BiHPwseCG1(uB2mk;8 z00003<$X<;95<4fW_SJeJw0Fi4|2=ep{QYYvH78op3#iR{*ZcxWOLc%NV_u}DJv6I zmEBpHrTpmbk|_IVpM0}Ve!lsS_~yUh<33+~@$=cw5dk276PXDlkkuq5J@>qsVId=c zKmZ5?0uh0|ciwsDuiiQQZ-0~g-~ayf{J-AZTmREGP@#XEof&fgN$FaE_l|LU*ix87w}!D^kbowMRy5B@&h zyAA)#@;u9b@#j%irIE*qBu+~|ii=>DFz+%hmswSM6VLa(Fk7uyT28z-@i${dxz2;I zj6+sT)68#Ef)wxG-rI%$yA1L)P8Xi{B4t-=7M3jXZX6wd_4x3HByrEXF^{hvvpw%Y zSXM!jY`j%)&b)FN7v5!-pWk>56a$Td6kjw;eBIrDHBL-tuy`2=XXlMX|H9vpwA= zD(?e1A^nRWCj#$u7S1!a$}Vs)nfF=5iZGAYNQqYl3$M()gaz<5@YYEXr`{~d z!gEgrgI)$OW#PXu{tlAX*OFb8UNF-(04th*dEQw8vwfPgZ>u2XeEN5kv zr^u5q336H`-a3bQn3lvJ{@sJ=0fhyAO*0_lB8U?bWY7^gDx-$HO{<{750@-FH&a_~ z*34VQKnIk~K&Y{i6K&hSiy(<3pJ*oPI*a^JE}qZUz{8c71}j$Jh{IZ$P*E}2@jeHC z#!Z4-9xu4%&0d$l=e#7|`Bb@21n4MzESM)opOZTYCaszF=Kk8F&S~w=)4MJd3#Pt# zvR^yJG>6~hpN?W|lt{hjLh9_NG#y+ie&c*KQd~3l{vfH1qEiy^nTPeSoj2>+I>*`P1kFpX}{_exh*m!9^BFUYIl3SK)WcE@5xYU;~5Q;Vt}$ zwx$7+;X~_4wcDtL6?+%qz-rRV~sTZ^@ke>yrb%; zH7jA~7c2}=b*Mn;BkkT}a1zYsUH}-E+v!aMe<7&kaZ!TirZVx)-d#@}?jT%$A}J}1 zbOB0q5_L(1zLZO(?@j#GQ!=>>HbtAxk39W}1p8G6ppU{oxMuuDNNfGUV9RFxx>=(0 z?%sW`x5O{=V7?gBGNv8p|NgAg9R1iX@ZCfU4mOY*dWJ0RtEVw znm6ic0Ozu7&BR%$-XURi7oc?unlG0ON^&Z0rY+PmDf5a=aFI>sK~gZ6Ge7}t=4WKQ z36jK*s&x{Byaa;b43vW2uM%Bz^+lSp5YB8tzCp&J+?iz=oI&xpSOWcj2~AM7TgoZ# z^>8(13=Z8sv<5xc=vezxUFY{Y@@PNHb0E{pQsN|zYaD^7g@H)CqMG>)?+O3{R+me! z0FVN~`Fz1a|K%^YI`t`2pl()eQjmQAzCk^Diz{9JsVn|oM{3f7s`o!W0}5{!HpT^6 z>u%AazvEq^!3kvC1$6pz~G}b(WVp5|vdXlxNu9-`?LM$!0JgMbnbN zwlE@V5h+G|BSd!MZ^5n`I`+Oc10(0$l%}L0AR;n9Y;TfBa!NLTgIX79hPs}?SKb^p zV(3$N9xRx**>dcgp_Vo4h`iA!?rpB|*1G<?7~(Fw{6T%u8Vdg?RvK z3F)M-W3@E=TM;3Ogw#=cx)P~Qv5S(?e@aFe*Z&f0=2ufq=WXDkM0<54myfv0qSB18YUgf7!(ur#B;hoDC%ATxtkjR zN9Oq?X%y0t1P^GKKy-f>=O;Ojq23D^WcCK4%jISVl%^DaRUkAd%!3g0A4C&PBhxJP*=k*Gyy7x0L1=~nnv!Vm z+1*9X!$eqRMd{&cxXz#C?JBtPd0RfUg`|GmQRZs1M}T59sFITCx<0eq{zRKZpN_m| zV(y8vSVUTX2utEsoYpcTWd(L%!n^ufFXEM1%3BfqBvLeU?Z zfAbG>*(+qXlv5wydkv%-BtVzo0|~}SNP-zlUI)`0|5QTd`0wt1++In?Dc#=5E5u+y z*K^(k1f|pI`6E=7(yV zjp;dCtpY2iVrzY#2XTU<>w@_)SwLl*+yXm~6EmL#W<5r*tCc&;a+Q#cU#+dRpIij_ zEwZ$KB&@{kngsnwy%uIPRHJF9=GCspcK}-J!Mvp1mCjv?dWcHEJWG=75)I`WFMxuj z0$Cr3*d^BEQ$2ojzPz({=gz3p8>nKj^J&d=8oT?JSlgPut#;;FNH#_sao65-|IPpx z`zGr0u`UvxA9l1SY-1Uq=7}~>Sny;!x>mD)ydysUKi(#s!ryvVcW<}5dcb|nuGd(< zS>eKFZuf1l7@g*Ilqpb$qn7y*XA5Sb-(-W zbeXN#^n#Vachh;{U$R-mE~dh{57x&#Uif9s*c6n6RUnJdM-jO-Ez)3JEVHse8Q>Ft z5}bgc`Wh}vzp0mMmPh;~_|e`y^_+FU(7nq0=GWhB&D4QEP~^)pX8Bb9gH({cd%Hg_ z1)tD>|A-Xq?(Tv7`cWzPc<+-Be^d(Y-2QQS@a{kV=l|q=^dTCjK?JP|@BO>?xezFB zc`!o-VZ}{U(ZmPXh9mF8`jfZL@Uk|4CO6u7d{sLJlX&>XhXr}{jhB(H#?HH{)A3*b z+rRzA_fYYKr5BSu?|X7Po~$z1h2baOFx}!sBt5uwwrGE0#hu%CcDrRCwhK}?gS1O# zd3FhMR1`wl5BOoyH1RzzSO+-=n>foUZ0u{UPZZP7W_Xm4V7#_z63?b_8nLT?o$#!f zDD9jOkBWvBEL;VDWI0*^pm6t&puWheJY>%|YwXp8w>1&pgle=;6di$j2q1JrcdM!L zhy`eiX&S<=vy|WM6m10f#5L(h{Iac9u!VLXvp&LEan*2E@D`blyy*53JCA;vB^LeZ zT{%-Hf^+c9OcTgl(J|DdZc3}+tXb^V{si|Kc9Q^h8$01HMRFA@DDi-KZF2GhI*?Kf3 zSmFn1n(^BhC(Z{U`nF^_5FF>jEe3fWY|xAuo-^D{$mG$*sQ2K;i*BeE1BrDlJaW)Y6YYu8aIIB73vQ<;ZL^3BYurKD785Sj9+}&7@@RJ=T`ySX?qo?$0ex0 z@a3+l&Fs>jWzj}24r-1Ce}&Jzg>)1Mp47z%vYF4&BL;HGJ(zH!?SiRu_M9VlU zB=Uu%*_zR`rfPLv3b))!IhsYce*MX zhdL$|Rj0!7@1NJlG4sL*gLPa6N&Fp*nhd(Lh%-&6gj8rsY8svfCA$4#Uw1xGI@)w1 zMdbaa>Gr~@;qVffg%vuBbbxEv9~2JI{Q3!yq-S~(6otQH+&&2MU0nP&3zwRe>jR+5*34!d_c9;Eg#%DXx<9P?Pg0*sNgcp3KrM1cMuFtNiJZu zTZI;Ipz~XZ_TIV5Cfh|zgCYwCtTYdJ=gd!E9^hyk)`!SGVG^d9@LGWEQu>csD%%H< zXaSKm9W-&IgK(DWxP-G+#?=5zRUBxD6@L`&=eFjau*-g1f3_7*A;?#8xiL+EJGXlX z72dmx{lcgX4C$J^P!P+etiX2#Qh(3GyEojUK>04JHM4E_q|&GwN=-N|Q@>fK5<~Uq za50dG?Mo5we@Qdx7xJE72B>ZLv;>EHA>nz*p9?}(`mhzr*`yyjImUfdc^Gm(ApC)! z-uv4Y|EzFFf6oz?CB1%Gbu#uX{>MzDMA8tQRtc)^VoTN2GzY@*bT}1}3l1iQ8l|yA zI9PCMEHdZDp_2+;BMIf5&av(qycWHt+6}d*{|~@gj{yxNo#(kz0Phs~c#OdnW(CPj zacthAhOy08DOwQV@WS$f=Yen=3lL^eoO2Az%C=hPe}*J8A)^nFzru(|hcl37>BK2z zvq0T5OMidLo#hX&OoxI{xM51aq61-n$p&?on$o_Jx(_$3;xq>DJ}M0naZ?6iY;B@x z8?mg_)LLQ_{?V?lzS@EA1;Y!n4f|!TjRA_8peG!Lc=aV z0jS;ELw&>v6S=fcn+tCCPQV&hMK?xbP{XXq5;#@)=(jk$oheAG$i0CyOE)WwKadB7 zfBxJz*;Y_0({Ww53y6=+QQZh6DIg1w70Om!$F|=6%n#Lr2F8XtA?Yb+PLmkHH({dL zbo8_FfURjnC;$BK|4ZMTdU!>l$Hs2FNQ+?34!9iMhj!!eKrV=lWABCs+=wKD;am}< z`-p94RZztC;I@r7cyxc7GCrC0(!n?)e-XPl(BshO4?ciXNLj7XNwV1aQ+f8X_}%+g zH`}&Y0Qz93z-S>h3`2g|gO#jVH~Y^nVVNOfHrS4T#qJ7Lvy#bGQ0zasQ;?{^h_bnKSzg?@Nf7bE1 zEeznZh@BOtF)|?KETLFge=QXm*B&XDIi9Q<)4N-{MG2>OGDgC_>55jcWIlF-u2Pxy zLxVZcRue$rw4{`ssC$VX6zmigN@SPi^C@w~aeELxU+$|??p*aqsfxKse%O5N(8*hC zf3^{b&T>UTLkwfL=-mXma?{d|e>hY4Nft!t9JEPGQYIZH2)Um-kwi*!ciU0_jfbx) zhJ%0F67M8#g|5&kmx6Vo6u+$htqx8Uqhn)OevU-+#|CxHlk`PB(>u4gL+lf7aAsA* z%sW_Ft699LU^^dPQ(BiXN&X!TuTLqCai1IMca@HI?^DRmqyl81is#42e@BN8vuM-# zroTvP-G7k{o}q=Wjf-O|Dy++X&{W;J#Ca_>_b$jGR?e!D^}ZZaK+8OC z9i;iECvsDb@L#>pJjsN@e~vD|DSQbcbJGp#eg;AaPL+KcPC$u8L2Kyqev%afpO5lj zq5UALHGUWM8oxgWDb?=}1_WC9vA>LyNYPt+1FyI;bY}*L0?^ydlSnVSNTT>Wp^HWK z#HFufARd-f(w|&PMe={sDFB056h%1}C*|>GGVp99I)%xN#EDa1f2J@Wi7AeKV~H#? ze;I(r7}U#WJN!_XA-2Ko-6o8{#WdL%S5l7Wn5=?QxH;gqV*!WFN-~ZwNaCRO0CH(V z*iWE0F!5mH9VZ<~8=&fl(}}or z#X@ayoh96p8CGu{e`x7g!C6qO(9YR}RJmY*{`WqjX(B;Zsv%yCAhMBn-#~ zhU0?h_R0)OS;8cMP0K<$77W|@YNYhHqY%YF+y&AtFttvixLeg6YLJw2?-Qu=pMD;A#Qao}Ub(FMaL&p@e6OB#kUm{E|w zRi9F8LPuJwTG_+sEoUoMo;hAkbCb%GEIl}RJZL3p*I%VYwMKOuFQWP@ahSlW%bh7G~%z_RLc>vv}f6J9ld3M<$9uEI;(d}oJCA}&!=|{hW z$kz5X5}qFSho|R~0jcTYni5?l%UPyjt_W&33EIA&LrWo^Y7 zneQaLIy~XxrBhhu!q#G$^5{y&uDKbYRh0Bv#2teK`<-Fl+BamouFY+kB`p<@C+6LF zgc7|9@^7oI*aLyt(&(&YsVi7U^Oxvbf0C+SoK=-F?~(~Mv7U}s)CQ#yq;_bM)YfH# z?z;+&+zCAIF*Hl}Q61@=Owz|VEf2EGRQut@x?B7Qwt0$oTAFfQEl><~T%QePdn}zt ztV+6kcoTcOek&ijYiB&KZ zCCN2rrTO5c6B@yyzq{)6P^fhsq-+#n8622lGqf2F8-zv?>e67_L@;M=9RB|)n2=Yb zLrAsAAAgpnI%+j?JU-`8r2U=4lZM>lflF@sz3%+e>ab#RuV({PzRE!rJgnrjmU0GH?*T}i7Udq9Z}!y z{;SPDx{?tW=3~6yZC@aq6^+P!5o<97yE(6 zVOxGVYzN{f5YWbP@q})wdqMZ&QyW>`_l{R0u4ds{C!YF~N>(e? zm~mnvlN^$4w*4F~EP?P6THM4t6ip%8%my(F|Wn3<0EZ{wTchUKd z05T6_cZ6myNsKaDM^3*rcI!GxFIL<`Q#i<}!%MLn+BJ&E)Qa&*JjZ z?#G0H)tnq@$8;Hof5;k}B(IC$&^!(;iNvBP89S5GurQ22T(`0j!vQzSgdMcb#%&L-jku1}s zc{H`$6=W@7O{b{{4XIsoOuS;Y!>W8RZNwmVpI5Ukcr~Mye^a_Fj#I{|)lFDH;$3IX z7S>B`<=sUWNO9Ba0vliS3DC{^s9IA#6x#t_f*O_k0UQQ%(U0ej(D(?J6R7eI*cf=1 zm`L3891$JdmvFsmgf3c^KP+%=i+j>(QTU`TGMcda!48mQ%`zvEPt2 z9Ejwe6COhapi#7DRg0yatMeoa=ynhkoOl&jrzGXde{!8}A`6pEr5KqpfTtwj>59UP z<)PcTSximMi1Fu1HOJ;sp(OmQ|CcjusHKY)^lCr40t zf4g0H$O}!RawQ+%PwVkc$LEwSq!*-{2~Z-SG0&1&C#_!&*I2^!+)LZRQ$`@iO$;HM zPz*b)TgEW~Tx?b|o!_Vq_A(FFYbQfPnx$D-g8D2pbDtGqVD&UW-;>!H*)|>8pavYl zoZIK2TBdoYnex)zLVLF-Q~o~AqIe$j5^UtfQP%VL3&OB{c!z=t)*va9{~aD%YNK8H z9`_k(m2o$oebII!txe0Dk{to5Vc;;O*GX02e{HK2MuOZ}`Kz36pjYv5sw)oLx+ie9 zQ37J=V7MkQ%CjvpBUvKcxW5&ha2)0{9cnatiV3=4`2~oRcpg4~(CJ`DLe@{AFUxXW z>`kYOxLj7V9XPd4gE*h1v*}rI5%AE;f6Zg~^GLqH>HBdp=Pk+}4N~_cc;Z4DfL))i zG)Q|yO@b&oL>Kc%lm%SL-ZPmcmGUcu(--UfjFjK_)@$B)cgit81z}PZz2c%%OkVEF z&u;#($sA38%`b9)Rd0S`*he>i5HD4r;Diq=e$y0?ec=lhFP3Ge@XI(Vmra?-ZQcBq zZ&CD0R4?0}+wEkPU9g9n_V4FS1QeeZ^)INcH3D#^Zr^_a%iDa&QcMV^{)W{Pf7hzB z>cXs9+Ww`^0Xj%3KQY-@mt$1e;n*4`@mD95>8M@!kNv`byftd;JXU|^44Gt@p}co0 zM|p|LQ& z`+2mM4*%VnXE4u|u5=^DCirzg%o;9nbn24KWZ80H)fB&SI10yMUB0~!MwQel-$Du;=ZAPZ(*k9Et}QT1TwgGq}&8tm({WVX-@;N=d@%7jC*0}X_ zhoi~Em~3`uY`dp#q1}evj{{|Q>`=6Bk3&ZV1U1=zLya6`Fk{j&JZata-v8i(n|(qC zB&R7+tcG^^>^sr{huq`zRC+iXh@EHo&Q6?qXwWY_e(S+Jbdl$M0P=I@)dwVx{L^lE zm&-U@qA0zH^RfcLy79;f5k3T^x5+B+GDyoE??p2b-{XPi7G;(zZb7}6-28`I9w@y1 zW})+cX#GkT9=W0o4p*nkCv#hu<<(9xt>3IEJYlf$@USKyvdOCy9dwl5!lvvkS#Ytr zByGwA?s<3zf>F;rvWQ|IRy*D)LsLe{lFco_-(s0nN#xC#7hGh30bNhMIs7~K zvN`XoUo|cG&q_41l(a%qwpZwY*&nqI^TLtH=@WKrGQ~PAm zC@tY&f?Zs}48WYBREU|Gayqs+Q;Uv@Hd4R21fXwduZ|1iDd!bm6W$7`o52>2D?Kh% zno$qp31W~|*ykfeKvFSkZ3TMf(3(TD!qzTq5*>XM?FW7F0(g}>7|Yj;TNUA|FF&~xqvp?~jxhJuE~Kz1R-_4jegUsZl0R+P?PrEX}y zqtCKxvHUqHO~c}^%9S?^_$59%dbjT zbdi9$de8^L`MRr0Q^um9D=f{p3%eWl6%)a3mZ_by0CcpOHH}Ie*x*mEAxZJIFcX1) zZwmRa9#AoKp@ZP*LeR-SL?G}m^dR9u6R|FLh>oX1p?Hvkim_s49G)nC7sGRfQs}al zcb}6V?CCPg%l$YHtGF~x^yl@w(0>jV3l_;pHQjP)oCCS@pk<;^UrZiJ2Jm$rU(nuT z@_E+Je8Rm5bhnlojtRi7@1t{Qa{@!fUD~4CP!d~Tp@kx+wE|<*ok~Vg-b^xvOh;b*$ zftp5)6VPNHc)P9ZUY2>g6mZG$)+w;hA=}g6IwOgwK(4wG^N_1-Nz!!nBt^%=N4lb2%p)>6( z#u8f75Ek@;H>XM%%$vU`dfqkAS(MNRPvu5h?+W2;8Cf$eywOh-*0s z|C@9?i%ksRzJ%uP57;}N$qaE{q6@LbGFCT-Z`SlOv6%TbhR4#9ZHF#lPUchj4;PU^ zQm)PqpvmGy4olqqY0ule)5?a!?+CgQt{^#0`}HvAXy#0Lf0LS{T;Difqo6|2^;|cD z^E44!Z`i@)1xK}A&f1AIt9J^+vp{C@>JS3Uyl$XHu3_ie(RH4@o-OXW3XWXYajM+{ z2XV#q9-wM0n=Y7mJaofxeuzjS@NmffO6_A%D!_h*!nPt<_}o~nn?oW$pH2xt8#g+2 zb2DZ)K)Md+e=~0_y*!2Wx)jS#JE?Km97;2gaZY3AR9p55w1=1eGRw}3DZ5$*RY5T@ z5nEfhsv_p-7>5y$^wXuqsSJC^VZmW{Q%4Z``DV?Ybmj?t#46kNlvTw&H4d-Bq$;3a z&w*7>X(H5Ms%ZuLfx`1I@5jZfWl-Gw(*ysXUcQh2e;fGU-S$6u`MaCHGTh(mO)#Rf z^iBrP_rB4Y?sVEXe_Nv;VqMKvu_kg8z37L{ZJZYQo-nNkpTB}dgJ5_V!z5FmiTt4= z3*zuBmrX0m=k~`dQCVETUb^W$i!>Ow_B;>LVjU+ef5OphB!j*?h-x+` z#EJ3Jf2dV`l&#)O#kvIMucKZ(a{xyT6K8NQJ|^4EbAe-)U21b9=V#LuRT#97Q1!_| zcc#z^2YTL0L>sB(_dxIg01ezwH^nhinP+rEdn(Kf|XHSm`Ua zcfB6Lv*soA*1N4zd=}AEp$V1jkVp+GG?<=WcU@-KI1Q$q=DmuJ`DTy?cRQwPk5%oj zy@Q4Z#)%Z0S$1F!Nt>x+F19oYyB=&Aj%^z1z|6F`jCgXPZh{B{8*A9!^4@_uZ2@X( zf8%*k3bl(}4x2}te4IQqJMRW$DAkJB%LgR%M0oWYY7kk~`)2?XLon9n3y$=Z9+}0- z!)s9|R~s%{H?Vdw#h+9)5p!n{Yj{UD;dZW@2V{XUXYl|$SNg^!evMZZW)oE7>o1pF zUNlSF!bgL&FhOUA3|dCL?irgKy|~&*f6VkiRy*%QPLKYo`{3kpYeRGpBWeA@H@(uB zW|7sgvx6)yTEr_%_y9V0G#^t-lMv64zu(C4eV%a7t*1KUok^3)+KH>}l@B=;%LW>8 z*)lE5=vI0>v84}n*&&M67ZpAA5vX_75-ph}KGt3OGxX_n;b5`ER~7iAMs3&J!`wXe?LMEZ3w_n z0mx1Oc#y1@!3>=|g~7I;jFG2Xkj=PoPIVv>#}~6H)o8N8s_@X`{?3VL>of_9rS|l~ zX*y-ee7`2k^n%67nhBR#Q$0!@PDh~%-&&_SD&;=lf02*gDEb5wCd~6R zyG-4@fE6r^K5>Snr%LMgZ**p93yl;#!6Po3`5{w_kE>pO&P%G=zcDWF zbP23~YKu4R5;988T*gVVosg2QO2vn!Oso!yTJ7%?gc{w~);1mre0-5YuQrm zm#%R7m-hkq6@0t-{_pAP(oVM%q5KdyvLw~PlR?mhf{05$=Da^#Db$v12`4FnNx!rHQ>)sB)D!z)- zUa55B>J&!`e_u6J)WKq%PcTpi1DNnx9X=f`y+XiIhgI8R9$$zY97lP!G7v39@|Uos zJw|P`3-RK~>4T%gukC;}#6cVl17H=;Sjd1pEm68Ahv2!cTJJ6|xTZSPx*kN=t{xKD zdzuDoXt?Aa-j+6jC3c8?3V|FXJEa3d%gSw7jlG36fBg&p*jxQI+OY9lw*y#AcCXn2 zC!a(%8sLDMTKThYlC^zdFv`f zXIW|a@D&4twFbVag9fmIPH`pIrX&iKZkib*9`GhDE5Ss_ zeV1Zc&;8rlI_MEo3OS-18nffst{xvvX>hozuRbGmr%6Qs(}0;v!4I<}0ojZhmpV^} z45Br+tuFa%bckEfD*c`?oa{1>+o#B3O#b*7fAp30&SJxe^zKrV!_pOR0jGj0F0-mI zC7c*UkJ0HOrkguyW8Mb&dQGd@5*%?;7#SK``4AX75e^C>1zQ+d3i&jSTbuRM0wS@J z?t*@>0=$u}v$pjzsSKhv7Qp6tsj--6)yloW0zIw7drtM^VeZ%~loliTD=k>#*AC|B zf5_%y?U{_5wi@*LE{3qsb(6c?X`|ZAsKRm+uU0IIaVoh)|8$T=u$m^DmK9Z8>&vCH zMdO#tSn~>M2LqH)_hiE@4b#kiv1fSGJdOHoVMwhm~QC5mjf5#-;x=+!cQG`qN?y_Mk;FH0uiD28^o7BFn zq^oP5L8rbv)5Q!Jv6Sc^8-lnY*GF8N;cL3+8q>v&2E)36lbXRJh+MR_*WC07^#gfL zt16N`?wScKLI1F5>@DmO41~jyaJ6=XwmfdBQ>_K+JihX6)@cqa#4ykK*YyfAf8bP@ z*h*KwW;7*py3u1tXt529e5R+a zF!2I8s@k*tb<&->Frr3r@UGG^r6g;GNLXA<@rbEW039TNP;cS_FEGpw)0nsdF9trQ`)n1e~BJIKVR~bSQ8une{-S!4{URg zUH)7rKGFZ8f2jWnQ_r&!(W6yUvP}D=UHjiw%=%p85Pnt0)-*3&d^BoO6%=(G7;yfVFY zHR6hNWEH~nLmrv4u?wY6m&BuQX|dTI@C>!kN(CBxOj)#EvjENeHm4s$UHsv%E$OLU zZ15Elk&gof0xkf%$|^6>W)w2wtacJwo=*8B?^sorQAL!+1v$D7jX=zUSK&iT(J zQnQcca!3(a*`+hI$Qe5d8c#s3eGoHFcbVCPMY~9#dB9)**p+Yr?LkL%4y%e8Or70=8yr+38AFq2{$4r=i4V2U(xjzjOMqW?oqMzIIV3V=5jh#h-MHks* z6&wU60D!(K_*=E1m5MDbkny2*Gd+OeA>X+ST3&z#=G z-nI&SJZbB30PU{mJ}WV@dH#mx_V^cV!`MjrF$2@^b7yW<_-#AwxIWC|mK+?7T(<0c z<2W#H%d+vvJnZ=zRpiC?lXsrrlN#6He3nGpZ$XHC4bG!2?>dWbjsY4$Z1I+{)v{pQ zZvzym^Kkf(V5=ie!=!4bN*YIh1P{A!8D7Rsf;c_9&R$3dpQ7&+IGz*5HT43hV9p;e zzfKMPIL*;@AWPaw21ZxWw$6=5kGGeoh+bVoBF9DF8+>#Py0 zbtuT=)z-*W8h^VraxeLRr$B#KIJ#1dzeudfErydbMmw*xA5KsLa9!@sCsZapWGCD; zW2((SJlQE5uN?ewrTjW8T0c6ef0b%;eA9T9MODIlJScVE*hQy~ulZ-CMzwVM84nQF zH9#-c=W33C35Vu3Y6kKnl~78noxaK5iJvcZ9LiadB^OM6BWogm(mlClaxOcW5nBB0 z@wCI&hAe5~?T|-ruuC@X)wxRK=O)R?FyH_D=biUMSlx`hD#D_8h5yBnqgTsW@v693 zygDng^yYi*v5;BvYQC&7Zz$S?C(r0pU41hRC&K8~>I>dK(0fiSKhg!;@uVh)cu&-h r<)2VGo8~8fW^-p8o-_8H2y|&yi^wU%-{2I9N`Cl%>eTJ$J~ROUK(MAx diff --git a/index.js b/index.js index 0800012..6e59348 100644 --- a/index.js +++ b/index.js @@ -15,6 +15,10 @@ module.exports = { * @property {object} rules - Tree custom rule and additional linter configuration. */ rules: { + 'consistent-return': 'off', // Annoying in useEffects + 'promise/always-return': 'off', // This is off in babylon by Rose 2 years ago. I think it should be off too. + 'promise/avoid-new': 'off', // This has been off in babylon for 15 months already + 'no-template-curly-in-string': 'warn', 'no-console': ['warn', { allow: ['warn', 'error', 'trace', 'time'] }], // Allow warn on top of what eslint-config-frontier-react allows @@ -39,7 +43,7 @@ module.exports = { 'bestpractices/no-eslint-disable': 'warn', - 'promise/always-return': 'warn', + 'promise/no-return-wrap': 'warn', 'promise/param-names': 'warn', 'promise/catch-or-return': ['warn', { allowFinally: true }], @@ -47,7 +51,6 @@ module.exports = { 'promise/no-nesting': 'warn', 'promise/no-promise-in-callback': 'warn', 'promise/no-callback-in-promise': 'warn', - 'promise/avoid-new': 'warn', 'promise/no-new-statics': 'warn', 'promise/no-return-in-finally': 'warn', 'promise/valid-params': 'warn', From bd3a9b30349669049906d6cddce75db3d8aa65ed Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Thu, 23 Feb 2023 15:22:31 -0700 Subject: [PATCH 27/53] This was interferring with no-unused-vars being off for all TS files. If we really want no-unused-vars as warn in these files, we will have to scope it to js/jsx files. --- index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/index.js b/index.js index 6e59348..fc9513b 100644 --- a/index.js +++ b/index.js @@ -179,7 +179,6 @@ module.exports = { rules: { 'no-alert': 'off', 'no-console': 'off', - 'no-unused-vars': 'warn', 'sonarjs/cognitive-complexity': 'off', 'sonarjs/no-duplicate-string': 'off', 'sonarjs/no-identical-functions': 'off', From d305f99fa8dbf42192dd0e85fdc6ddaf83c64883 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Thu, 23 Feb 2023 16:04:37 -0700 Subject: [PATCH 28/53] turn off no-shadow --- demo/test/snapshots/lint-output.js.md | 2 +- demo/test/snapshots/lint-output.js.snap | Bin 14054 -> 14052 bytes index.js | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 6c2f0a9..98fe723 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -1866,7 +1866,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "no-shadow": [␊ - "warn"␊ + "off"␊ ],␊ "no-shadow-restricted-names": [␊ "error"␊ diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index f128f2b34fad85a7e968276aa8eea389eb2bb016..153397ffcd7ad782f68a855cc4ddce5faf407d6a 100644 GIT binary patch delta 11761 zcmV; z{>3|g{m$PI)Gz+|JOA>p{&M48b{VYJ3EMd>-u2+`qrF@3zbwzQ9Dg2VRT_D$NaD2g zqqqoW3G*)Ea+y`7H}QPm3$xXVrRBtX6Mr*Sl&YJ|DaO& zc@UoMc~7zu85orCKdfNH#+zQw7C{~*tSEMNcDAS6MCF|UDi5C>dJhi0gMVlDKRbSM z(ju7U3?`I!kOzw_EnXWtO;q07+r6c%q-*mk4RIX5;H&5NCkI*h1xG9%urR0!_I$}s z7zYZ9{S4P-$&$_CWtdbEi>`SvQ6n~wQ|Rgp7GTQGS?&R1@PZZ__HM@WUkw&&<@8n>F)RG0*{JGk@6B*vN^t?caHj z#F0-l6LpnCy6;0pljYO^+Ac^k%PX!{@vt-uYCy zPXy>FeJq$KMxT>A2_~(X_U8WDqt0pV&eJq6@6 zr!*a0DSqR8HBwwN_kZ3Xsm)INHdt%gVY}>gqxtPH*FuiUVs!PXueo7 zD9Nd~nYK{Nq<_pSHo=WyG7pl1xyXbCw3(lhG7l=aA64rlhBXcZgG`))9HN>yM*^l}?Rr7JAnVOdTJ*QQ3p7B$9(N9%evO1H+yo^% z4}94!=i}YIJE|GtaTZme`L2U$l-wd^^Sx4lxK5=hz zjknhIM{Uv`v(*evJ>?vEZ-)ipQpda$4p5i}Ab*w|62xm*Ee-!xM2NCO>ZrZ;-jB66 z(x1x6d$-!8sRr7J&8o$M<<~qor%HzV)LS4;wyLKt$5Evv9cIznvdSscRSgA5;0Jff za@

nJG2HATHhi;SDyV>oJJG!)nO1acNMCwiID5l^SRFt^_Oz?nepX)WoXGv>qF z27gO(N6;)lTns_NWGFE*C?@KO=VVVV>Rti4n`;0^=Gr7_1k#ZN4@j6mbpI3&l8azd zcnsxUz#uay5M3@eJ0LWrC<37pJP$&Ue-KUd@#?ciA$kGQRTY<6Rdj`-F3mqxdGo`M zyAvX+LT>p_E80{+j7+oCXRCF&@rsKWbbov=3<}^lojtp|$a$CutE?zJTn$(Gle}F8 zmp*UHr?!yPk2=C!ZS@Fn8x5+YB)YE7EVn<=Cef!O@0pl;LKllj3SmjSiqm?JNLhg$ znDDN?){9wXmhx5vKZ(?j+KMpOGoc^X)HRN~Q@xr4{%`(aE_;RSmiyF4cV7dkhJPKP zOYngN<0K@(j3uvwX^wv?p>q6pcRy;cq=zZp=Ey6hU_sY4-UK#EC++)+f9hooG%l`c z6dwXw|9AKBbP;@gnxno5tNe_?&bq2#Jn|*%)!eU3=60I|W?qo2bjjx@hzKpd&qD8_NJC zPqcZ$f+yS2m73)p@%jJpHbD!2>s{Tw)$Zy6_dU8=WBq1@OOv_Xx4~j`rn;k^;n-#w zm)tl+EM9?l60dOq#VdX*P=6oi{CaLC4|H>18$E*Re)rw!GF!3fIV*$jrt`wTV6%vw zPldA=tdDuT@XMUBDF_LxKo+6T8ggq|q`|saW@UkUfKN!E0YmjQT$X-QFV!rMxF-1F z-d$DCI$-E-<9+k%Z?w_|KmUXSN@-Gv~B(6KmAAV!@Fn*hwW}v zc<9a^alEm$g$WZAIVsu=p>(@iOug z*m+lVc>U||{^l3oLx05+mYz@cyzj~7b+XFf#D|}Fn{|^H(N4uJ!A1KED{kMqz1uDO zpk0uHzSAz5<=F-7*`g52e!vftrit%)!8*t}*u;5Eu(7YX>{3iWouS$y!FX-cB%X
+Version 6 - ESLint 8 + +- Update all linting subdependencies. +- Remove Code Climate/Polymer-related configurations and documentation. +- Add new final configuration test. +- Inherit more configuration from frontier (finally). + +
+
Version 5 diff --git a/demo/example.js b/demo/example.js index 0c4cee1..d06ea6b 100644 --- a/demo/example.js +++ b/demo/example.js @@ -119,10 +119,3 @@ switch (1) { default: break } - -export const hi = { - /** - * @note - This produces Invalid JSDoc tag name "note".eslintjsdoc/check-tag-names - */ - rawr: 7, -} diff --git a/demo/test/snapshots/linting-config.test.js.md b/demo/test/snapshots/linting-config.test.js.md index 74aeec0..a368dca 100644 --- a/demo/test/snapshots/linting-config.test.js.md +++ b/demo/test/snapshots/linting-config.test.js.md @@ -3455,56 +3455,56 @@ Generated by [AVA](https://ava.li). `␊ example.js␊ - 8:0 error Found eslint-disable without " -- comment" bestpractices/no-eslint-disable␊ - 10:1 warning Unexpected 'FIXME' comment: 'fixMe: Actually make this work' no-warning-comments␊ - 11:1 warning Unexpected 'TODO' comment: 'todo: Add documentation' no-warning-comments␊ - 12:1 warning Unexpected 'HACK' comment: 'Hack: Note that these work, regardless...' no-warning-comments␊ - 13:1 warning Unexpected 'HERE BE DRAGONS' comment: 'Here be Dragons' no-warning-comments␊ - 19:10 error 'functionWithoutJSDocWarningsBecauseTheSectionWasCompletelyExcluded' is defined but never used no-unused-vars␊ - 24:1 warning Remove the @description tag to leave a plain block description or add additional description text above the @description line jsdoc/require-description␊ - 24:1 warning JSDoc @returns declaration present but return expression not available in function jsdoc/require-returns-check␊ - 24:1 warning JSDoc type missing brace valid-jsdoc␊ - 26:1 warning Expected @param names to be "params". Got "a, params, b" jsdoc/check-param-names␊ - 26:1 warning Missing JSDoc @param "a" description jsdoc/require-param-description␊ - 27:1 warning Missing JSDoc @param "params" description jsdoc/require-param-description␊ - 27:1 warning Missing JSDoc @param "params" type jsdoc/require-param-type␊ - 28:1 warning Missing JSDoc @param "b" description jsdoc/require-param-description␊ - 28:1 warning Missing JSDoc @param "b" type jsdoc/require-param-type␊ - 29:1 warning Missing JSDoc @returns description jsdoc/require-returns-description␊ - 29:1 warning Missing JSDoc @returns type jsdoc/require-returns-type␊ - 31:71 error 'params' is defined but never used no-unused-vars␊ - 36:1 warning Invalid JSDoc tag name "note" jsdoc/check-tag-names␊ - 38:1 warning Expected catch() or return promise/catch-or-return␊ - 38:17 error 'a' is defined but never used no-unused-vars␊ - 39:7 warning Unexpected constant condition no-constant-condition␊ - 40:5 warning Avoid wrapping return values in Promise.resolve promise/no-return-wrap␊ - 42:5 error 'forgotToDefine' is not defined no-undef␊ - 46:7 error 'variable' is assigned a value but never used no-unused-vars␊ - 46:18 warning This conditional operation returns the same value whether the condition is "true" or "false" sonarjs/no-all-duplicated-branches␊ - 46:18 error Unnecessary use of boolean literals in conditional expression no-unneeded-ternary␊ - 46:18 warning Unexpected constant condition no-constant-condition␊ - 49:7 warning Correct one of the identical sub-expressions on both sides of operator "&&" sonarjs/no-identical-expressions␊ - 49:55 error 'params' is not defined no-undef␊ - 50:5 warning This function expects 1 argument, but 2 were provided sonarjs/no-extra-arguments␊ - 51:30 error Module path/to/legacyModule is deprecated. Use module x instead deprecate/import␊ - 51:30 error Unexpected require() global-require␊ - 51:38 error Unable to resolve path to module 'path/to/legacyModule' import/no-unresolved␊ - 53:5 error Function deprecatedFunction is deprecated. Use function x from package y instead deprecate/function␊ - 53:5 error 'deprecatedFunction' is not defined no-undef␊ - 55:5 error Member expression $.each is deprecated. Use native forEach instead deprecate/member-expression␊ - 55:5 error '$' is not defined no-undef␊ - 57:5 error Unexpected 'debugger' statement no-debugger␊ - 57:5 error Unreachable code no-unreachable␊ - 71:10 warning Update this function so that its implementation is not identical to the one on line 63 sonarjs/no-identical-functions␊ - 79:1 warning Remove this conditional structure or edit its code blocks so that they're not all the same sonarjs/no-all-duplicated-branches␊ - 79:5 warning This always evaluates to truthy. Consider refactoring this code sonarjs/no-gratuitous-expressions␊ - 79:5 warning Unexpected constant condition no-constant-condition␊ - 86:1 warning Reduce the number of non-empty switch cases from 11 to at most 10 sonarjs/max-switch-cases␊ - 90:5 warning Expected a default case default-case␊ - 90:5 warning Refactor the code to eliminate this nested "switch" sonarjs/no-nested-switch␊ - 95:7 error This case's code block is the same as the block for the case on line 91 sonarjs/no-duplicated-branches␊ - 95:7 error Duplicate case label no-duplicate-case␊ - 125:1 warning Invalid JSDoc tag name "note" jsdoc/check-tag-names␊ + 8:0 error Found eslint-disable without " -- comment" bestpractices/no-eslint-disable␊ + 10:1 warning Unexpected 'FIXME' comment: 'fixMe: Actually make this work' no-warning-comments␊ + 11:1 warning Unexpected 'TODO' comment: 'todo: Add documentation' no-warning-comments␊ + 12:1 warning Unexpected 'HACK' comment: 'Hack: Note that these work, regardless...' no-warning-comments␊ + 13:1 warning Unexpected 'HERE BE DRAGONS' comment: 'Here be Dragons' no-warning-comments␊ + 19:10 error 'functionWithoutJSDocWarningsBecauseTheSectionWasCompletelyExcluded' is defined but never used no-unused-vars␊ + 24:1 warning Remove the @description tag to leave a plain block description or add additional description text above the @description line jsdoc/require-description␊ + 24:1 warning JSDoc @returns declaration present but return expression not available in function jsdoc/require-returns-check␊ + 24:1 warning JSDoc type missing brace valid-jsdoc␊ + 26:1 warning Expected @param names to be "params". Got "a, params, b" jsdoc/check-param-names␊ + 26:1 warning Missing JSDoc @param "a" description jsdoc/require-param-description␊ + 27:1 warning Missing JSDoc @param "params" description jsdoc/require-param-description␊ + 27:1 warning Missing JSDoc @param "params" type jsdoc/require-param-type␊ + 28:1 warning Missing JSDoc @param "b" description jsdoc/require-param-description␊ + 28:1 warning Missing JSDoc @param "b" type jsdoc/require-param-type␊ + 29:1 warning Missing JSDoc @returns description jsdoc/require-returns-description␊ + 29:1 warning Missing JSDoc @returns type jsdoc/require-returns-type␊ + 31:71 error 'params' is defined but never used no-unused-vars␊ + 36:1 warning Invalid JSDoc tag name "note" jsdoc/check-tag-names␊ + 38:1 warning Expected catch() or return promise/catch-or-return␊ + 38:17 error 'a' is defined but never used no-unused-vars␊ + 39:7 warning Unexpected constant condition no-constant-condition␊ + 40:5 warning Avoid wrapping return values in Promise.resolve promise/no-return-wrap␊ + 42:5 error 'forgotToDefine' is not defined no-undef␊ + 46:7 error 'variable' is assigned a value but never used no-unused-vars␊ + 46:18 warning This conditional operation returns the same value whether the condition is "true" or "false" sonarjs/no-all-duplicated-branches␊ + 46:18 error Unnecessary use of boolean literals in conditional expression no-unneeded-ternary␊ + 46:18 warning Unexpected constant condition no-constant-condition␊ + 48:1 error Prefer default export on a file with single export import/prefer-default-export␊ + 49:7 warning Correct one of the identical sub-expressions on both sides of operator "&&" sonarjs/no-identical-expressions␊ + 49:55 error 'params' is not defined no-undef␊ + 50:5 warning This function expects 1 argument, but 2 were provided sonarjs/no-extra-arguments␊ + 51:30 error Module path/to/legacyModule is deprecated. Use module x instead deprecate/import␊ + 51:30 error Unexpected require() global-require␊ + 51:38 error Unable to resolve path to module 'path/to/legacyModule' import/no-unresolved␊ + 53:5 error Function deprecatedFunction is deprecated. Use function x from package y instead deprecate/function␊ + 53:5 error 'deprecatedFunction' is not defined no-undef␊ + 55:5 error Member expression $.each is deprecated. Use native forEach instead deprecate/member-expression␊ + 55:5 error '$' is not defined no-undef␊ + 57:5 error Unexpected 'debugger' statement no-debugger␊ + 57:5 error Unreachable code no-unreachable␊ + 71:10 warning Update this function so that its implementation is not identical to the one on line 63 sonarjs/no-identical-functions␊ + 79:1 warning Remove this conditional structure or edit its code blocks so that they're not all the same sonarjs/no-all-duplicated-branches␊ + 79:5 warning This always evaluates to truthy. Consider refactoring this code sonarjs/no-gratuitous-expressions␊ + 79:5 warning Unexpected constant condition no-constant-condition␊ + 86:1 warning Reduce the number of non-empty switch cases from 11 to at most 10 sonarjs/max-switch-cases␊ + 90:5 warning Expected a default case default-case␊ + 90:5 warning Refactor the code to eliminate this nested "switch" sonarjs/no-nested-switch␊ + 95:7 error This case's code block is the same as the block for the case on line 91 sonarjs/no-duplicated-branches␊ + 95:7 error Duplicate case label no-duplicate-case␊ ␊ example.json␊ 4:6 error Property keys must be doublequoted json/*␊ @@ -3527,6 +3527,6 @@ Generated by [AVA](https://ava.li). 10:5 warning Test has no assertions jest/expect-expect␊ 10:13 error Test title is used multiple times in the same describe block jest/no-identical-title␊ ␊ - ✖ 67 problems (33 errors, 34 warnings)␊ + ✖ 67 problems (34 errors, 33 warnings)␊ 3 errors and 0 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/linting-config.test.js.snap b/demo/test/snapshots/linting-config.test.js.snap index c82cdf5378fcaf76fde517a6d4dd47df281548d9..cc8951a8bd0748149659418e3e3e8e7d618d6c18 100644 GIT binary patch literal 13445 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 L(GJus?;-&JU-gdY diff --git a/format-config.js b/format-config.js deleted file mode 100644 index d336231..0000000 --- a/format-config.js +++ /dev/null @@ -1,20 +0,0 @@ -// This sorts the eslint final config rules in an alphabetical order to compare easier -const finalConfig = require('./demo/test/snapshots/new-lint-final-config.json') -const FS = require('fs') - -const formattedRules = Object.fromEntries( - Object.entries(finalConfig?.rules ?? {}).sort(([ruleNameA], [ruleNameB]) => { - if (ruleNameA > ruleNameB) return 1; - if (ruleNameB > ruleNameA) return -1; - return 0; - }) -); - -FS.writeFile( - './demo/test/snapshots/new-lint-final-config.json', - JSON.stringify({ ...finalConfig, rules: formattedRules }, null, 2), - (err) => { - // eslint-disable-next-line no-console -- We want to have the console.log here. - if (err) console.log('There was an error writing to new-lint-final-config.json file:', err); - } -); From 504925797a8254bbfc96f3f43657846107a43752 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Mon, 27 Feb 2023 12:54:04 -0700 Subject: [PATCH 39/53] remove rules we didn't want to be overriden anymore --- demo/test/snapshots/linting-config.test.js.md | 42 +++++++++--------- .../snapshots/linting-config.test.js.snap | Bin 13445 -> 13487 bytes es6.js | 26 +---------- 3 files changed, 23 insertions(+), 45 deletions(-) diff --git a/demo/test/snapshots/linting-config.test.js.md b/demo/test/snapshots/linting-config.test.js.md index a368dca..99ccc69 100644 --- a/demo/test/snapshots/linting-config.test.js.md +++ b/demo/test/snapshots/linting-config.test.js.md @@ -263,7 +263,7 @@ Generated by [AVA](https://ava.li). "never"␊ ],␊ "consistent-return": [␊ - "off"␊ + "error"␊ ],␊ "consistent-this": [␊ "off"␊ @@ -276,7 +276,7 @@ Generated by [AVA](https://ava.li). "multi-line"␊ ],␊ "default-case": [␊ - "warn",␊ + "error",␊ {␊ "commentPattern": "^no default$"␊ }␊ @@ -464,7 +464,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "import/no-absolute-path": [␊ - "warn"␊ + "error"␊ ],␊ "import/no-amd": [␊ "error"␊ @@ -1069,7 +1069,7 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "lines-between-class-members": [␊ - "warn",␊ + "error",␊ "always",␊ {␊ "exceptAfterSingleLine": false␊ @@ -1191,7 +1191,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "no-case-declarations": [␊ - "off"␊ + "error"␊ ],␊ "no-catch-shadow": [␊ "off"␊ @@ -1270,7 +1270,7 @@ Generated by [AVA](https://ava.li). "off"␊ ],␊ "no-else-return": [␊ - "off",␊ + "error",␊ {␊ "allowElseIf": false␊ }␊ @@ -1570,7 +1570,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "no-prototype-builtins": [␊ - "warn"␊ + "error"␊ ],␊ "no-redeclare": [␊ "error"␊ @@ -1739,6 +1739,9 @@ Generated by [AVA](https://ava.li). "message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize."␊ }␊ ],␊ + "no-restrictive-imports": [␊ + "off"␊ + ],␊ "no-return-assign": [␊ "error",␊ "always"␊ @@ -1765,7 +1768,7 @@ Generated by [AVA](https://ava.li). "error"␊ ],␊ "no-shadow": [␊ - "off"␊ + "error"␊ ],␊ "no-shadow-restricted-names": [␊ "error"␊ @@ -1786,7 +1789,7 @@ Generated by [AVA](https://ava.li). 0␊ ],␊ "no-template-curly-in-string": [␊ - "warn"␊ + "error"␊ ],␊ "no-ternary": [␊ "off"␊ @@ -1935,9 +1938,7 @@ Generated by [AVA](https://ava.li). "terms": [␊ "FIXME",␊ "TODO",␊ - "TO-DO",␊ - "HACK",␊ - "HERE BE DRAGONS"␊ + "HACK"␊ ],␊ "location": "anywhere"␊ }␊ @@ -2045,7 +2046,7 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "prefer-const": [␊ - "warn",␊ + "error",␊ {␊ "destructuring": "any",␊ "ignoreReadBeforeAssign": true␊ @@ -2113,10 +2114,7 @@ Generated by [AVA](https://ava.li). }␊ ],␊ "promise/always-return": [␊ - "off"␊ - ],␊ - "promise/avoid-new": [␊ - "off"␊ + "warn"␊ ],␊ "promise/catch-or-return": [␊ "warn",␊ @@ -3459,7 +3457,6 @@ Generated by [AVA](https://ava.li). 10:1 warning Unexpected 'FIXME' comment: 'fixMe: Actually make this work' no-warning-comments␊ 11:1 warning Unexpected 'TODO' comment: 'todo: Add documentation' no-warning-comments␊ 12:1 warning Unexpected 'HACK' comment: 'Hack: Note that these work, regardless...' no-warning-comments␊ - 13:1 warning Unexpected 'HERE BE DRAGONS' comment: 'Here be Dragons' no-warning-comments␊ 19:10 error 'functionWithoutJSDocWarningsBecauseTheSectionWasCompletelyExcluded' is defined but never used no-unused-vars␊ 24:1 warning Remove the @description tag to leave a plain block description or add additional description text above the @description line jsdoc/require-description␊ 24:1 warning JSDoc @returns declaration present but return expression not available in function jsdoc/require-returns-check␊ @@ -3476,8 +3473,11 @@ Generated by [AVA](https://ava.li). 36:1 warning Invalid JSDoc tag name "note" jsdoc/check-tag-names␊ 38:1 warning Expected catch() or return promise/catch-or-return␊ 38:17 error 'a' is defined but never used no-unused-vars␊ + 38:20 error Expected to return a value at the end of arrow function consistent-return␊ + 39:3 warning Each then() should return a value or throw promise/always-return␊ 39:7 warning Unexpected constant condition no-constant-condition␊ 40:5 warning Avoid wrapping return values in Promise.resolve promise/no-return-wrap␊ + 41:10 error Unnecessary 'else' after 'return' no-else-return␊ 42:5 error 'forgotToDefine' is not defined no-undef␊ 46:7 error 'variable' is assigned a value but never used no-unused-vars␊ 46:18 warning This conditional operation returns the same value whether the condition is "true" or "false" sonarjs/no-all-duplicated-branches␊ @@ -3501,7 +3501,7 @@ Generated by [AVA](https://ava.li). 79:5 warning This always evaluates to truthy. Consider refactoring this code sonarjs/no-gratuitous-expressions␊ 79:5 warning Unexpected constant condition no-constant-condition␊ 86:1 warning Reduce the number of non-empty switch cases from 11 to at most 10 sonarjs/max-switch-cases␊ - 90:5 warning Expected a default case default-case␊ + 90:5 error Expected a default case default-case␊ 90:5 warning Refactor the code to eliminate this nested "switch" sonarjs/no-nested-switch␊ 95:7 error This case's code block is the same as the block for the case on line 91 sonarjs/no-duplicated-branches␊ 95:7 error Duplicate case label no-duplicate-case␊ @@ -3527,6 +3527,6 @@ Generated by [AVA](https://ava.li). 10:5 warning Test has no assertions jest/expect-expect␊ 10:13 error Test title is used multiple times in the same describe block jest/no-identical-title␊ ␊ - ✖ 67 problems (34 errors, 33 warnings)␊ - 3 errors and 0 warnings potentially fixable with the `--fix` option.␊ + ✖ 69 problems (37 errors, 32 warnings)␊ + 4 errors and 0 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/linting-config.test.js.snap b/demo/test/snapshots/linting-config.test.js.snap index cc8951a8bd0748149659418e3e3e8e7d618d6c18..f72cd36ed0a738897f8198204eb84da6c4dc9d25 100644 GIT binary patch literal 13487 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 Date: Mon, 27 Feb 2023 13:59:54 -0700 Subject: [PATCH 40/53] npm update --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 69fe3ef..428e4f4 100644 --- a/package.json +++ b/package.json @@ -23,9 +23,9 @@ }, "dependencies": { "@babel/eslint-parser": "^7.19.1", - "@fs/eslint-config-frontier-react": "^11.0.0-alpha.4", - "eslint": "^8.34.0", - "eslint-plugin-bestpractices": "git+https://github.com/skye2k2/eslint-plugin-bestpractices.git", + "@fs/eslint-config-frontier-react": "^11.0.0-alpha.5", + "eslint": "^8.35.0", + "eslint-plugin-bestpractices": "github:skye2k2/eslint-plugin-bestpractices", "eslint-plugin-deprecate": "^0.7.0", "eslint-plugin-html": "^7.1.0", "eslint-plugin-import": "^2.27.5", From 1e2a7f510ebb1fc6d3e44a8d2fd0d9fd384b4f13 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Mon, 27 Feb 2023 14:09:53 -0700 Subject: [PATCH 41/53] Cleanup Comment out off rules for jsdoc and add in all of them in comments. See https://www.npmjs.com/package/eslint-plugin-jsdoc --- es6.js | 46 ++++++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/es6.js b/es6.js index c3ebeeb..d876a2c 100644 --- a/es6.js +++ b/es6.js @@ -111,41 +111,55 @@ module.exports = { { files: ['*.js?(x)', '*.html'], rules: { - 'valid-jsdoc': ['warn'], // frontier has this as off - 'jsdoc/check-access': 'off', + 'valid-jsdoc': ['warn'], + // jsdoc/check-access 'jsdoc/check-alignment': 'warn', - 'jsdoc/check-indentation': 'off', + // jsdoc/check-indentation + // jsdoc/check-line-alignment 'jsdoc/check-param-names': 'warn', - // 'jsdoc/check-property-names': 'warn', + // jsdoc/check-property-names 'jsdoc/check-syntax': 'warn', 'jsdoc/check-tag-names': 'warn', 'jsdoc/check-types': 'warn', - // 'jsdoc/check-values': 'warn', - // 'jsdoc/empty-tags': 'warn', + // jsdoc/check-values + // jsdoc/empty-tags 'jsdoc/implements-on-classes': 'warn', 'jsdoc/match-description': 'warn', - 'jsdoc/newline-after-description': 'off', - 'jsdoc/no-types': 'off', - 'jsdoc/no-undefined-types': 'off', // 2020-01-23: This was broken in eslint-plugin-jsdoc#8 in 2019-06, and hasn't gotten much better. Disabled, for now. Check back later. - 'jsdoc/require-description-complete-sentence': 'off', + // jsdoc/match-name + // jsdoc/multiline-blocks + // jsdoc/newline-after-description + // jsdoc/no-bad-blocks + // jsdoc/no-defaults + // jsdoc/no-missing-syntax + // jsdoc/no-multi-asterisks + // jsdoc/no-restricted-syntax + // jsdoc/no-types + // jsdoc/no-undefined-types - 2020-01-23: This was broken in eslint-plugin-jsdoc#8 in 2019-06, and hasn't gotten much better. Disabled, for now. Check back later. + // jsdoc/require-asterisk-prefix + // jsdoc/require-description-complete-sentence 'jsdoc/require-description': 'warn', - 'jsdoc/require-example': 'off', - 'jsdoc/require-file-overview': 'off', + // jsdoc/require-example + // jsdoc/require-file-overview 'jsdoc/require-hyphen-before-param-description': 'warn', - 'jsdoc/require-jsdoc': 'off', + // jsdoc/require-jsdoc 'jsdoc/require-param-description': 'warn', 'jsdoc/require-param-name': 'warn', 'jsdoc/require-param-type': 'warn', 'jsdoc/require-param': 'warn', + // 'jsdoc/require-property': 'warn', // 'jsdoc/require-property-description': 'warn', // 'jsdoc/require-property-name': 'warn', - // 'jsdoc/require-property-type': 'warn', - // 'jsdoc/require-property': 'warn', + // 'jsdoc/require-property-type': 'warn' 'jsdoc/require-returns-check': 'warn', 'jsdoc/require-returns-description': 'warn', 'jsdoc/require-returns-type': 'warn', 'jsdoc/require-returns': 'warn', - 'jsdoc/require-throws': 'off', + // jsdoc/require-throws + // jsdoc/require-yields + // jsdoc/require-yields-check + // jsdoc/sort-tags + // jsdoc/tag-lines + // jsdoc/text-escaping 'jsdoc/valid-types': 'warn', }, }, From 9a2e2aa5f1e471b2d1e1398b6b842c648b10434a Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Mon, 27 Feb 2023 14:14:58 -0700 Subject: [PATCH 42/53] Added the off sonarjs rules as comments --- es6.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/es6.js b/es6.js index d876a2c..3067f0e 100644 --- a/es6.js +++ b/es6.js @@ -31,9 +31,11 @@ module.exports = { 'promise/valid-params': 'warn', 'sonarjs/cognitive-complexity': ['warn', 50], + // sonarjs/elseif-without-else 'sonarjs/max-switch-cases': ['warn', 10], 'sonarjs/no-all-duplicated-branches': 'warn', 'sonarjs/no-collapsible-if': 'warn', + // sonarjs/no-collection-size-mischeck 'sonarjs/no-duplicate-string': 'warn', 'sonarjs/no-duplicated-branches': 'warn', 'sonarjs/no-element-overwrite': 'warn', @@ -43,6 +45,7 @@ module.exports = { 'sonarjs/no-identical-conditions': 'warn', 'sonarjs/no-identical-expressions': 'warn', 'sonarjs/no-identical-functions': 'warn', + // sonarjs/no-ignored-return 'sonarjs/no-inverted-boolean-check': 'off', 'sonarjs/no-nested-switch': 'warn', 'sonarjs/no-nested-template-literals': 'warn', From b82676d8ec38971dfdc1ebfebde7e8cb2ee1687c Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Mon, 27 Feb 2023 14:16:30 -0700 Subject: [PATCH 43/53] Added off test-selector rule in comment --- es6.js | 1 + 1 file changed, 1 insertion(+) diff --git a/es6.js b/es6.js index 3067f0e..08f531e 100644 --- a/es6.js +++ b/es6.js @@ -98,6 +98,7 @@ module.exports = { 'always', { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId }, ], + // test-selectors/onSubmit // Example deprecation rules: // 'deprecate/function': ['error', From 37966461e97dde63b56fa6e035d052d93329fb03 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Mon, 27 Feb 2023 14:18:16 -0700 Subject: [PATCH 44/53] cleanup --- es6.js | 48 ++++++++++++------------------------------------ 1 file changed, 12 insertions(+), 36 deletions(-) diff --git a/es6.js b/es6.js index 08f531e..c9d38f2 100644 --- a/es6.js +++ b/es6.js @@ -1,5 +1,9 @@ // We use `data-testid` instead of `data-test-id`, in order to match React Native and Testing Library https://testing-library.com/docs/dom-testing-library/api-queries#bytestid -const dataTestId = 'data-testid' +const testSelectorsValue = [ + 'warn', + 'always', + { ignoreDisabled: false, ignoreReadonly: false, testAttribute: 'data-testid' }, +] module.exports = { env: { @@ -63,41 +67,13 @@ module.exports = { 'sonarjs/prefer-single-boolean-return': 'warn', 'sonarjs/prefer-while': 'warn', - 'test-selectors/anchor': [ - 'warn', - 'always', - { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId }, - ], - 'test-selectors/button': [ - 'warn', - 'always', - { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId }, - ], - 'test-selectors/input': [ - 'warn', - 'always', - { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId }, - ], - 'test-selectors/onChange': [ - 'warn', - 'always', - { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId }, - ], - 'test-selectors/onClick': [ - 'warn', - 'always', - { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId }, - ], - 'test-selectors/onKeyDown': [ - 'warn', - 'always', - { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId }, - ], - 'test-selectors/onKeyUp': [ - 'warn', - 'always', - { ignoreDisabled: false, ignoreReadonly: false, testAttribute: dataTestId }, - ], + 'test-selectors/anchor': testSelectorsValue, + 'test-selectors/button': testSelectorsValue, + 'test-selectors/input': testSelectorsValue, + 'test-selectors/onChange': testSelectorsValue, + 'test-selectors/onClick': testSelectorsValue, + 'test-selectors/onKeyDown': testSelectorsValue, + 'test-selectors/onKeyUp': testSelectorsValue, // test-selectors/onSubmit // Example deprecation rules: From 8a565c45be79e8e2a8e1b743bb23d7ea7e2a2dda Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Mon, 27 Feb 2023 14:20:46 -0700 Subject: [PATCH 45/53] We get import plugin from fontier --- es6.js | 2 +- package.json | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/es6.js b/es6.js index c9d38f2..f3f8010 100644 --- a/es6.js +++ b/es6.js @@ -15,7 +15,7 @@ module.exports = { '@fs/eslint-config-frontier-react/dont-need-lodash', '@fs/eslint-config-frontier-react/typescript', ], - plugins: ['bestpractices', 'deprecate', 'html', 'import', 'jsdoc', 'promise', 'sonarjs', 'test-selectors'], + plugins: ['bestpractices', 'deprecate', 'html', 'jsdoc', 'promise', 'sonarjs', 'test-selectors'], rules: { 'no-restrictive-imports': 'off', // We re-export default imports all the time 'no-console': ['warn', { allow: ['warn', 'error', 'trace', 'time'] }], // Allow warn on top of what eslint-config-frontier-react allows diff --git a/package.json b/package.json index 428e4f4..324fbf3 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "eslint-plugin-bestpractices": "github:skye2k2/eslint-plugin-bestpractices", "eslint-plugin-deprecate": "^0.7.0", "eslint-plugin-html": "^7.1.0", - "eslint-plugin-import": "^2.27.5", "eslint-plugin-jsdoc": "^40.0.0", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-sonarjs": "^0.18.0", From 5e043628736b9c6206ac9e36a542c6ae5c39ee5e Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Mon, 27 Feb 2023 14:20:54 -0700 Subject: [PATCH 46/53] update test --- demo/test/snapshots/linting-config.test.js.md | 32 +----------------- .../snapshots/linting-config.test.js.snap | Bin 13487 -> 13400 bytes 2 files changed, 1 insertion(+), 31 deletions(-) diff --git a/demo/test/snapshots/linting-config.test.js.md b/demo/test/snapshots/linting-config.test.js.md index 99ccc69..eb635e8 100644 --- a/demo/test/snapshots/linting-config.test.js.md +++ b/demo/test/snapshots/linting-config.test.js.md @@ -37,6 +37,7 @@ Generated by [AVA](https://ava.li). "react",␊ "jsx-a11y",␊ "react-hooks",␊ + "import",␊ "@babel",␊ "json",␊ "you-dont-need-lodash-underscore",␊ @@ -44,7 +45,6 @@ Generated by [AVA](https://ava.li). "sonarjs",␊ "promise",␊ "jsdoc",␊ - "import",␊ "html",␊ "deprecate",␊ "bestpractices",␊ @@ -660,15 +660,9 @@ Generated by [AVA](https://ava.li). "init-declarations": [␊ "off"␊ ],␊ - "jsdoc/check-access": [␊ - "off"␊ - ],␊ "jsdoc/check-alignment": [␊ "warn"␊ ],␊ - "jsdoc/check-indentation": [␊ - "off"␊ - ],␊ "jsdoc/check-param-names": [␊ "warn"␊ ],␊ @@ -687,33 +681,12 @@ Generated by [AVA](https://ava.li). "jsdoc/match-description": [␊ "warn"␊ ],␊ - "jsdoc/newline-after-description": [␊ - "off"␊ - ],␊ - "jsdoc/no-types": [␊ - "off"␊ - ],␊ - "jsdoc/no-undefined-types": [␊ - "off"␊ - ],␊ "jsdoc/require-description": [␊ "warn"␊ ],␊ - "jsdoc/require-description-complete-sentence": [␊ - "off"␊ - ],␊ - "jsdoc/require-example": [␊ - "off"␊ - ],␊ - "jsdoc/require-file-overview": [␊ - "off"␊ - ],␊ "jsdoc/require-hyphen-before-param-description": [␊ "warn"␊ ],␊ - "jsdoc/require-jsdoc": [␊ - "off"␊ - ],␊ "jsdoc/require-param": [␊ "warn"␊ ],␊ @@ -738,9 +711,6 @@ Generated by [AVA](https://ava.li). "jsdoc/require-returns-type": [␊ "warn"␊ ],␊ - "jsdoc/require-throws": [␊ - "off"␊ - ],␊ "jsdoc/valid-types": [␊ "warn"␊ ],␊ diff --git a/demo/test/snapshots/linting-config.test.js.snap b/demo/test/snapshots/linting-config.test.js.snap index f72cd36ed0a738897f8198204eb84da6c4dc9d25..db9d5dde873f063e109f01ae2d8c5b052f133c8b 100644 GIT binary patch delta 13291 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∓{-nDH`1^E`iA6#M|mSgI#1 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 Date: Mon, 27 Feb 2023 14:22:12 -0700 Subject: [PATCH 47/53] remove remaining off rules to be comments instead --- demo/test/snapshots/linting-config.test.js.md | 6 ------ .../snapshots/linting-config.test.js.snap | Bin 13400 -> 13375 bytes es6.js | 4 ++-- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/demo/test/snapshots/linting-config.test.js.md b/demo/test/snapshots/linting-config.test.js.md index eb635e8..2e8de0f 100644 --- a/demo/test/snapshots/linting-config.test.js.md +++ b/demo/test/snapshots/linting-config.test.js.md @@ -2095,9 +2095,6 @@ Generated by [AVA](https://ava.li). "promise/no-callback-in-promise": [␊ "warn"␊ ],␊ - "promise/no-native": [␊ - "off"␊ - ],␊ "promise/no-nesting": [␊ "warn"␊ ],␊ @@ -2735,9 +2732,6 @@ Generated by [AVA](https://ava.li). "sonarjs/no-identical-functions": [␊ "warn"␊ ],␊ - "sonarjs/no-inverted-boolean-check": [␊ - "off"␊ - ],␊ "sonarjs/no-nested-switch": [␊ "warn"␊ ],␊ diff --git a/demo/test/snapshots/linting-config.test.js.snap b/demo/test/snapshots/linting-config.test.js.snap index db9d5dde873f063e109f01ae2d8c5b052f133c8b..fec8b8fa7645fe2623df579a80700ac7b3ed30b5 100644 GIT binary patch delta 12755 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 delta 12781 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 diff --git a/es6.js b/es6.js index f3f8010..dde7019 100644 --- a/es6.js +++ b/es6.js @@ -26,7 +26,7 @@ module.exports = { 'promise/no-return-wrap': 'warn', 'promise/param-names': 'warn', 'promise/catch-or-return': ['warn', { allowFinally: true }], - 'promise/no-native': 'off', + // promise/no-native 'promise/no-nesting': 'warn', 'promise/no-promise-in-callback': 'warn', 'promise/no-callback-in-promise': 'warn', @@ -50,7 +50,7 @@ module.exports = { 'sonarjs/no-identical-expressions': 'warn', 'sonarjs/no-identical-functions': 'warn', // sonarjs/no-ignored-return - 'sonarjs/no-inverted-boolean-check': 'off', + // sonarjs/no-inverted-boolean-check 'sonarjs/no-nested-switch': 'warn', 'sonarjs/no-nested-template-literals': 'warn', 'sonarjs/no-one-iteration-loop': 'warn', From 55480f0efa486fe77d8dec696750a1946428454b Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Mon, 27 Feb 2023 14:23:48 -0700 Subject: [PATCH 48/53] removing mocha. let me know if we should add it back in --- demo/test/snapshots/linting-config.test.js.md | 1 - .../snapshots/linting-config.test.js.snap | Bin 13375 -> 13368 bytes es6.js | 3 --- index.js | 3 --- 4 files changed, 7 deletions(-) diff --git a/demo/test/snapshots/linting-config.test.js.md b/demo/test/snapshots/linting-config.test.js.md index 2e8de0f..71587de 100644 --- a/demo/test/snapshots/linting-config.test.js.md +++ b/demo/test/snapshots/linting-config.test.js.md @@ -10,7 +10,6 @@ Generated by [AVA](https://ava.li). `{␊ "env": {␊ - "mocha": true,␊ "es2021": true,␊ "es6": true,␊ "node": true,␊ diff --git a/demo/test/snapshots/linting-config.test.js.snap b/demo/test/snapshots/linting-config.test.js.snap index fec8b8fa7645fe2623df579a80700ac7b3ed30b5..69f173c88729678a8af151cf1728e7bcbd6d734d 100644 GIT binary patch delta 12443 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 Z-6GQ+xYwxg&XuZkU-bwjR5Ck9J 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 Date: Mon, 6 Mar 2023 09:30:10 -0700 Subject: [PATCH 49/53] Updates Update documentation. Update configuration: add back in plugin prefixes; enable test-selectors/onSubmit; disable *all* test-selectors in test files. --- .gitignore | 1 - README.md | 69 +++++------------- demo/test/snapshots/linting-config.test.js.md | 9 +++ .../snapshots/linting-config.test.js.snap | Bin 13368 -> 13380 bytes es6.js | 34 ++++++--- index.js | 6 +- 6 files changed, 57 insertions(+), 62 deletions(-) diff --git a/.gitignore b/.gitignore index f246e76..9c677f4 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,5 @@ .vscode/* **/node_modules /reports/** -analysis.json npm-debug.log /demo/test/snapshots/local* diff --git a/README.md b/README.md index 43baf62..7647728 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,9 @@ This central configuration is a potential breaking point for _all_ of our code i - The tests should likely fail. Verify your expectations against the current [snapshot](/demo/test/snapshots/linting-config.test.js.md) file. 1. After you have your results how you want them, run `npm run test:update`. - The tests should now pass. -1. If you want see how your changes would impact a codebase, you can either `npm link` or copy+paste the contents of `local-linting-final-config.json` temporarily into the target `.eslintrc` file. -> TODO: Update the documentation below to be current, and not include things like Code Climate + Why extra rules? Because we believe in linting, and we have become converted to the additional rules enforced by the following plugins: @@ -23,12 +23,11 @@ Why extra rules? Because we believe in linting, and we have become converted to - [eslint-plugin-deprecate](https://github.com/AlexMost/eslint-plugin-deprecate) - [eslint-plugin-html](https://github.com/BenoitZugmeyer/eslint-plugin-html) - [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) - - [eslint-plugin-json](https://github.com/azeemba/eslint-plugin-json) + - [eslint-plugin-json](https://github.com/azeemba/eslint-plugin-json) (adopted by Frontier) - [eslint-plugin-promise](https://github.com/xjamundx/eslint-plugin-promise) - [eslint-plugin-sonarjs](https://github.com/SonarSource/eslint-plugin-sonarjs) - - [eslint-config-standard](https://github.com/standard/eslint-config-standard) -> POTENTIALLY WORTH CONSIDERING IN THE FUTURE (MAY NOT WORK BECAUSE OF NEEDING SOMETHING LIKE BABEL?): +> POTENTIALLY WORTH CONSIDERING IN THE FUTURE (MAY NOT WORK BECAUSE OF NEEDING SOMETHING EXTRA?): > - 'eslint-plugin-i18next' // SEEMS LIKE TOO MANY FALSE POSITIVES > - 'eslint-plugin-json-format' // DOESN'T SEEM TO WORK @@ -39,51 +38,17 @@ Why extra rules? Because we believe in linting, and we have become converted to ## Usage: - 1. Add either `eslint-config-frontier` or `eslint-config-frontier-react` as a devDependency. - 1. Add this repository as a package devDependency: - > "eslint-config-tree": "github:fs-webdev/eslint-config-tree#semver:^4", + > "eslint-config-tree": "github:fs-webdev/eslint-config-tree#semver:^6", - 1. In your `eslintrc.js` file, put the following: + 1. Add an `eslintrc.js` file, with the following:
module.exports = {
   extends: [
-    'eslint-config-frontier', // or '@fs/eslint-config-frontier-react'
     'eslint-config-tree'
-  ],
-  plugins: [
-    'eslint-plugin-bestpractices',
-    'eslint-plugin-deprecate',
-    'eslint-plugin-promise',
-    'eslint-plugin-sonarjs',
-    'eslint-plugin-test-selectors'
-  ]
-}
- - 1. Add a `.codeclimate.eslintrc.js` -
module.exports = {
-  extends: [
-    './eslint-config-frontier.js', // or '@fs/eslint-config-frontier-react'
-    './eslint-config-tree.js'
   ]
 }
- 1. Add both `tree` and the frontier eslint configuration of your choice as Code Climate `prepare` resources (see: [extended eslint docs](https://www.familysearch.org/frontier/legacy/ui-components/eslint-config-frontier/)). - - 1. Set this simplified eslint configuration as the chosen config in your Code Climate's `plugins`. -
plugins:
-		eslint:
-			enabled: true
-			channel: "eslint-6"
-			config:
-				config: .codeclimate.eslintrc.js
-			extensions:
-				- .html
-				- .js
-				- .json
-			ignore_warnings: true
- 
- 1. Enjoy. ## HOWTOs: @@ -126,7 +91,7 @@ Utilize a file linting config modifier like so: ``` -Note that `--` comments are permitted and a good idea to include. +Note that `--` comments are permitted and a very good idea to include.

Wi$(L-u^L#$HW$TYnSrO^9LpM9~q5q5wj- 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 T0h6<@H7@}Oj!G1ZwK4$!X@C$} delta 11758 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 Qtu-$J2+=6{o3=6m00 Date: Thu, 23 Feb 2023 18:39:21 -0700 Subject: [PATCH 29/53] testing-library/no-node-access is already turned off in frontier --- index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/index.js b/index.js index f54299a..20aaf05 100644 --- a/index.js +++ b/index.js @@ -186,7 +186,6 @@ module.exports = { 'test-selectors/onChange': 'off', 'test-selectors/onClick': 'off', 'import/prefer-default-export': 'off', - 'testing-library/no-node-access': 'off', // We will use querySelectors if we want to, since it matches us more closely with our acceptance testing */ }, }, ], From 302e2aacf2605d46d4e9e5e736c23dfaee2a2f92 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Thu, 23 Feb 2023 18:48:14 -0700 Subject: [PATCH 30/53] Move things around so non-react apps can use es6 --- demo/test/snapshots/lint-output.js.md | 19 +-- demo/test/snapshots/lint-output.js.snap | Bin 14052 -> 14032 bytes es6.js | 190 ++++++++++++++++++++++++ index.js | 187 +---------------------- 4 files changed, 201 insertions(+), 195 deletions(-) create mode 100644 es6.js diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 98fe723..0b75e0d 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -40,12 +40,7 @@ Generated by [AVA](https://ava.li). "react-hooks",␊ "@babel",␊ "json",␊ - "jest",␊ - "jest-dom",␊ - "testing-library",␊ - "@fs/zion",␊ "you-dont-need-lodash-underscore",␊ - "prettier",␊ "test-selectors",␊ "sonarjs",␊ "promise",␊ @@ -53,7 +48,12 @@ Generated by [AVA](https://ava.li). "import",␊ "html",␊ "deprecate",␊ - "bestpractices"␊ + "bestpractices",␊ + "jest",␊ + "jest-dom",␊ + "testing-library",␊ + "@fs/zion",␊ + "prettier"␊ ],␊ "rules": {␊ "@babel/no-unused-expressions": [␊ @@ -3694,9 +3694,6 @@ Generated by [AVA](https://ava.li). 18:96 warning Delete `;` prettier/prettier␊ 20:2 warning Delete `;` prettier/prettier␊ ␊ - /home/vetaz/fs-webdev/eslint-config-tree/index.js␊ - 46:5 warning Delete `⏎····` prettier/prettier␊ - ␊ - ✖ 74 problems (34 errors, 40 warnings)␊ - 4 errors and 7 warnings potentially fixable with the `--fix` option.␊ + ✖ 73 problems (34 errors, 39 warnings)␊ + 4 errors and 6 warnings potentially fixable with the `--fix` option.␊ ` diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 153397ffcd7ad782f68a855cc4ddce5faf407d6a..80adf5ba6f7cce446224713179385a7f805ca301 100644 GIT binary patch delta 13928 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 fIb+|6K$m8 Date: Thu, 23 Feb 2023 18:50:45 -0700 Subject: [PATCH 31/53] Move jest into es6 --- demo/test/snapshots/lint-output.js.md | 8 ++++---- demo/test/snapshots/lint-output.js.snap | Bin 14032 -> 14031 bytes es6.js | 1 + index.js | 7 +------ 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index 0b75e0d..dc33c7f 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -40,6 +40,10 @@ Generated by [AVA](https://ava.li). "react-hooks",␊ "@babel",␊ "json",␊ + "jest",␊ + "jest-dom",␊ + "testing-library",␊ + "@fs/zion",␊ "you-dont-need-lodash-underscore",␊ "test-selectors",␊ "sonarjs",␊ @@ -49,10 +53,6 @@ Generated by [AVA](https://ava.li). "html",␊ "deprecate",␊ "bestpractices",␊ - "jest",␊ - "jest-dom",␊ - "testing-library",␊ - "@fs/zion",␊ "prettier"␊ ],␊ "rules": {␊ diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 80adf5ba6f7cce446224713179385a7f805ca301..0011b09775e8a16ffb31684a81b0b34ede01a831 100644 GIT binary patch delta 390 zcmV;10eSw=ZO?5YK~_N^Q*L2!b7*gLAa*he0szRKrUe_vaaJn-n$8*|0y?oGhYEjI zCZ76lKgw3}H|{^^`U%6C2YFrpXY*qEUEEZ$$tu8t(Z@?fKgpt?SdzgsFTyNmYHfZ2 zt3RYMs7IQPvht_6CT}Q(GnxFsw>bF=)qMHy+MFy4TE5jy-CQIfmtPWJbDYA>WE3OP zTr(>sDrM{@C>JJjE_~mNXn=bB=@MOt+>i6Hip$oLY(Sp#Th{KZsy_#d1&f};=^;To zod%4hpeuyzD9e9;`jz}HKL0@f|FSjkQ$E4{u*#E-U#x==hE?rRHlI&)cm-Rz)$%E_roerHh!@VLSUELqijB(=j43dv$`M+76>01?o&xJ0RWrnvH<`9 diff --git a/es6.js b/es6.js index f3dc09f..9b2142c 100644 --- a/es6.js +++ b/es6.js @@ -8,6 +8,7 @@ module.exports = { extends: [ '@fs/eslint-config-frontier-react/es6', '@fs/eslint-config-frontier-react/json', + '@fs/eslint-config-frontier-react/jest', '@fs/eslint-config-frontier-react/dont-need-lodash', '@fs/eslint-config-frontier-react/typescript', ], diff --git a/index.js b/index.js index dcccfe4..3394e2c 100644 --- a/index.js +++ b/index.js @@ -2,10 +2,5 @@ module.exports = { env: { mocha: true, // Do we really need this? }, - extends: [ - '@fs/eslint-config-frontier-react/react', - './es6', - '@fs/eslint-config-frontier-react/jest', - '@fs/eslint-config-frontier-react/prettierSetup', - ], + extends: ['@fs/eslint-config-frontier-react/react', './es6', '@fs/eslint-config-frontier-react/prettierSetup'], } From 7f831c1ea5d2b6301685b063cfc04425f7b60baf Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Thu, 23 Feb 2023 18:54:55 -0700 Subject: [PATCH 32/53] Move jest into only test files --- demo/test/snapshots/lint-output.js.md | 159 ------------------------ demo/test/snapshots/lint-output.js.snap | Bin 14031 -> 13541 bytes es6.js | 2 +- 3 files changed, 1 insertion(+), 160 deletions(-) diff --git a/demo/test/snapshots/lint-output.js.md b/demo/test/snapshots/lint-output.js.md index dc33c7f..89247c4 100644 --- a/demo/test/snapshots/lint-output.js.md +++ b/demo/test/snapshots/lint-output.js.md @@ -11,7 +11,6 @@ Generated by [AVA](https://ava.li). `{␊ "env": {␊ "mocha": true,␊ - "jest/globals": true,␊ "es2021": true,␊ "es6": true,␊ "node": true,␊ @@ -40,10 +39,6 @@ Generated by [AVA](https://ava.li). "react-hooks",␊ "@babel",␊ "json",␊ - "jest",␊ - "jest-dom",␊ - "testing-library",␊ - "@fs/zion",␊ "you-dont-need-lodash-underscore",␊ "test-selectors",␊ "sonarjs",␊ @@ -71,9 +66,6 @@ Generated by [AVA](https://ava.li). "@babel/semi": [␊ "off"␊ ],␊ - "@fs/zion/prefer-zion-render": [␊ - "off"␊ - ],␊ "@typescript-eslint/brace-style": [␊ "off"␊ ],␊ @@ -668,99 +660,6 @@ Generated by [AVA](https://ava.li). "init-declarations": [␊ "off"␊ ],␊ - "jest-dom/prefer-checked": [␊ - "error"␊ - ],␊ - "jest-dom/prefer-empty": [␊ - "error"␊ - ],␊ - "jest-dom/prefer-enabled-disabled": [␊ - "error"␊ - ],␊ - "jest-dom/prefer-focus": [␊ - "error"␊ - ],␊ - "jest-dom/prefer-in-document": [␊ - "error"␊ - ],␊ - "jest-dom/prefer-required": [␊ - "error"␊ - ],␊ - "jest-dom/prefer-to-have-attribute": [␊ - "error"␊ - ],␊ - "jest-dom/prefer-to-have-class": [␊ - "error"␊ - ],␊ - "jest-dom/prefer-to-have-style": [␊ - "error"␊ - ],␊ - "jest-dom/prefer-to-have-text-content": [␊ - "error"␊ - ],␊ - "jest-dom/prefer-to-have-value": [␊ - "error"␊ - ],␊ - "jest/expect-expect": [␊ - "warn"␊ - ],␊ - "jest/no-alias-methods": [␊ - "error"␊ - ],␊ - "jest/no-commented-out-tests": [␊ - "warn"␊ - ],␊ - "jest/no-conditional-expect": [␊ - "error"␊ - ],␊ - "jest/no-deprecated-functions": [␊ - "error"␊ - ],␊ - "jest/no-disabled-tests": [␊ - "warn"␊ - ],␊ - "jest/no-done-callback": [␊ - "error"␊ - ],␊ - "jest/no-export": [␊ - "error"␊ - ],␊ - "jest/no-focused-tests": [␊ - "error"␊ - ],␊ - "jest/no-identical-title": [␊ - "error"␊ - ],␊ - "jest/no-interpolation-in-snapshots": [␊ - "error"␊ - ],␊ - "jest/no-jasmine-globals": [␊ - "error"␊ - ],␊ - "jest/no-large-snapshots": [␊ - "error"␊ - ],␊ - "jest/no-mocks-import": [␊ - "error"␊ - ],␊ - "jest/no-standalone-expect": [␊ - "error"␊ - ],␊ - "jest/no-test-prefixes": [␊ - "error"␊ - ],␊ - "jest/valid-describe-callback": [␊ - "error"␊ - ],␊ - "jest/valid-expect": [␊ - "error"␊ - ],␊ - "jest/valid-expect-in-promise": [␊ - "error"␊ - ],␊ - "jest/valid-title": [␊ - "error"␊ - ],␊ "jsdoc/check-access": [␊ "off"␊ ],␊ @@ -3111,64 +3010,6 @@ Generated by [AVA](https://ava.li). "testAttribute": "data-testid"␊ }␊ ],␊ - "testing-library/await-async-query": [␊ - "error"␊ - ],␊ - "testing-library/await-async-utils": [␊ - "error"␊ - ],␊ - "testing-library/no-await-sync-query": [␊ - "error"␊ - ],␊ - "testing-library/no-container": [␊ - "error"␊ - ],␊ - "testing-library/no-debugging-utils": [␊ - "off"␊ - ],␊ - "testing-library/no-dom-import": [␊ - "error",␊ - "react"␊ - ],␊ - "testing-library/no-node-access": [␊ - "error"␊ - ],␊ - "testing-library/no-promise-in-fire-event": [␊ - "error"␊ - ],␊ - "testing-library/no-render-in-setup": [␊ - "error"␊ - ],␊ - "testing-library/no-unnecessary-act": [␊ - "error"␊ - ],␊ - "testing-library/no-wait-for-empty-callback": [␊ - "error"␊ - ],␊ - "testing-library/no-wait-for-multiple-assertions": [␊ - "error"␊ - ],␊ - "testing-library/no-wait-for-side-effects": [␊ - "error"␊ - ],␊ - "testing-library/no-wait-for-snapshot": [␊ - "error"␊ - ],␊ - "testing-library/prefer-find-by": [␊ - "error"␊ - ],␊ - "testing-library/prefer-presence-queries": [␊ - "error"␊ - ],␊ - "testing-library/prefer-query-by-disappearance": [␊ - "error"␊ - ],␊ - "testing-library/prefer-screen-queries": [␊ - "error"␊ - ],␊ - "testing-library/render-result-naming-convention": [␊ - "error"␊ - ],␊ "unicode-bom": [␊ "off",␊ "never"␊ diff --git a/demo/test/snapshots/lint-output.js.snap b/demo/test/snapshots/lint-output.js.snap index 0011b09775e8a16ffb31684a81b0b34ede01a831..289998e2e0498e14dcd70364413093e48bc29faa 100644 GIT binary patch literal 13541 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 Date: Fri, 24 Feb 2023 10:07:16 -0700 Subject: [PATCH 33/53] redudant rule --- es6.js | 1 - 1 file changed, 1 deletion(-) diff --git a/es6.js b/es6.js index f163409..77410ce 100644 --- a/es6.js +++ b/es6.js @@ -184,7 +184,6 @@ module.exports = { 'test-selectors/onChange': 'off', 'test-selectors/onClick': 'off', 'import/prefer-default-export': 'off', - 'testing-library/no-node-access': 'off', // We will use querySelectors if we want to, since it matches us more closely with our acceptance testing */ }, }, ], From 63b7b40e1c1147ca80f158d7f2874230d6289e93 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Fri, 24 Feb 2023 10:19:57 -0700 Subject: [PATCH 34/53] Include setuptests for jest --- es6.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/es6.js b/es6.js index 77410ce..410b925 100644 --- a/es6.js +++ b/es6.js @@ -171,7 +171,10 @@ module.exports = { 'jsdoc/valid-types': 'warn', }, }, - { files: ['*.test.*', '**/test/**', '*.spec.*'], extends: ['@fs/eslint-config-frontier-react/jest'] }, + { + files: ['*.test.*', '**/test/**', '*.spec.*', '**/setupTests.*'], + extends: ['@fs/eslint-config-frontier-react/jest'], + }, { files: ['*.stories.*', '*.test.*', '**/test/**', '**/*mock*/**', '*mock*'], rules: { From c616dcb561bc1314f2a00cf78ca66fd98ea7e2d4 Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Fri, 24 Feb 2023 10:23:44 -0700 Subject: [PATCH 35/53] safer to extend jest here --- es6.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/es6.js b/es6.js index 410b925..77c59cf 100644 --- a/es6.js +++ b/es6.js @@ -171,12 +171,9 @@ module.exports = { 'jsdoc/valid-types': 'warn', }, }, - { - files: ['*.test.*', '**/test/**', '*.spec.*', '**/setupTests.*'], - extends: ['@fs/eslint-config-frontier-react/jest'], - }, { files: ['*.stories.*', '*.test.*', '**/test/**', '**/*mock*/**', '*mock*'], + extends: ['@fs/eslint-config-frontier-react/jest'], rules: { 'no-alert': 'off', 'no-console': 'off', From 525c9223331d9469f6246fc6bcdaf9bb5b29171e Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Fri, 24 Feb 2023 10:26:27 -0700 Subject: [PATCH 36/53] Add setuptests for test things --- es6.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es6.js b/es6.js index 77c59cf..0e32945 100644 --- a/es6.js +++ b/es6.js @@ -172,7 +172,7 @@ module.exports = { }, }, { - files: ['*.stories.*', '*.test.*', '**/test/**', '**/*mock*/**', '*mock*'], + files: ['*.stories.*', '*.test.*', '**/test/**', '**/*mock*/**', '*mock*', '**/setupTests.*'], extends: ['@fs/eslint-config-frontier-react/jest'], rules: { 'no-alert': 'off', From 15fcad5c714f9488b52195fb6ff06ae56c24e10e Mon Sep 17 00:00:00 2001 From: Jordi Kloosterboer Date: Fri, 24 Feb 2023 11:13:15 -0700 Subject: [PATCH 37/53] Make it work for all *test* --- es6.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es6.js b/es6.js index 0e32945..381d31d 100644 --- a/es6.js +++ b/es6.js @@ -172,7 +172,7 @@ module.exports = { }, }, { - files: ['*.stories.*', '*.test.*', '**/test/**', '**/*mock*/**', '*mock*', '**/setupTests.*'], + files: ['*.stories.*', '*test*', '**/test/**', '**/*mock*/**', '*mock*', '**/setupTests.*'], extends: ['@fs/eslint-config-frontier-react/jest'], rules: { 'no-alert': 'off', From 4e561c1e55040df18410a31996f4abc096218fca Mon Sep 17 00:00:00 2001 From: Clif Bergmann Date: Fri, 24 Feb 2023 12:08:06 -0700 Subject: [PATCH 38/53] Re-remove removed things & update --- README.md | 10 ++ demo/example.js | 7 -- demo/test/snapshots/linting-config.test.js.md | 102 +++++++++--------- .../snapshots/linting-config.test.js.snap | Bin 13417 -> 13445 bytes format-config.js | 20 ---- 5 files changed, 61 insertions(+), 78 deletions(-) delete mode 100644 format-config.js diff --git a/README.md b/README.md index 3c68033..43baf62 100644 --- a/README.md +++ b/README.md @@ -170,6 +170,16 @@ If there has been a change (say you added a new rule, or there is a new valid vi ## Changelog: +