@anolilab/lint-staged-config 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +169 -0
  4. package/dist/chunk-4PCPJEEI.js +9 -0
  5. package/dist/chunk-4PCPJEEI.js.map +1 -0
  6. package/dist/chunk-4RVIFLAT.mjs +5 -0
  7. package/dist/chunk-4RVIFLAT.mjs.map +1 -0
  8. package/dist/chunk-6EWZW5LF.js +7 -0
  9. package/dist/chunk-6EWZW5LF.js.map +1 -0
  10. package/dist/chunk-AMNQJNNY.mjs +9 -0
  11. package/dist/chunk-AMNQJNNY.mjs.map +1 -0
  12. package/dist/chunk-BGOY7MBY.mjs +8 -0
  13. package/dist/chunk-BGOY7MBY.mjs.map +1 -0
  14. package/dist/chunk-CRK67F7X.mjs +8 -0
  15. package/dist/chunk-CRK67F7X.mjs.map +1 -0
  16. package/dist/chunk-G7Q3HUT7.js +15 -0
  17. package/dist/chunk-G7Q3HUT7.js.map +1 -0
  18. package/dist/chunk-JTIOAOUE.js +10 -0
  19. package/dist/chunk-JTIOAOUE.js.map +1 -0
  20. package/dist/chunk-L5GFXHVL.js +15 -0
  21. package/dist/chunk-L5GFXHVL.js.map +1 -0
  22. package/dist/chunk-LSR35CMP.js +10 -0
  23. package/dist/chunk-LSR35CMP.js.map +1 -0
  24. package/dist/chunk-OTRYI4YE.mjs +8 -0
  25. package/dist/chunk-OTRYI4YE.mjs.map +1 -0
  26. package/dist/chunk-PT4S7CCV.mjs +12 -0
  27. package/dist/chunk-PT4S7CCV.mjs.map +1 -0
  28. package/dist/chunk-T755FU2I.js +11 -0
  29. package/dist/chunk-T755FU2I.js.map +1 -0
  30. package/dist/chunk-UF7UO5PL.js +10 -0
  31. package/dist/chunk-UF7UO5PL.js.map +1 -0
  32. package/dist/chunk-UHH5GDWT.mjs +8 -0
  33. package/dist/chunk-UHH5GDWT.mjs.map +1 -0
  34. package/dist/chunk-UKLFK6IR.mjs +7 -0
  35. package/dist/chunk-UKLFK6IR.mjs.map +1 -0
  36. package/dist/chunk-VW6R74AT.mjs +8 -0
  37. package/dist/chunk-VW6R74AT.mjs.map +1 -0
  38. package/dist/chunk-ZRW63OZY.js +10 -0
  39. package/dist/chunk-ZRW63OZY.js.map +1 -0
  40. package/dist/groups/eslint/index.d.mts +5 -0
  41. package/dist/groups/eslint/index.d.ts +5 -0
  42. package/dist/groups/eslint/index.js +11 -0
  43. package/dist/groups/eslint/index.js.map +1 -0
  44. package/dist/groups/eslint/index.mjs +5 -0
  45. package/dist/groups/eslint/index.mjs.map +1 -0
  46. package/dist/groups/json.d.mts +5 -0
  47. package/dist/groups/json.d.ts +5 -0
  48. package/dist/groups/json.js +10 -0
  49. package/dist/groups/json.js.map +1 -0
  50. package/dist/groups/json.mjs +4 -0
  51. package/dist/groups/json.mjs.map +1 -0
  52. package/dist/groups/markdown.d.mts +5 -0
  53. package/dist/groups/markdown.d.ts +5 -0
  54. package/dist/groups/markdown.js +10 -0
  55. package/dist/groups/markdown.js.map +1 -0
  56. package/dist/groups/markdown.mjs +4 -0
  57. package/dist/groups/markdown.mjs.map +1 -0
  58. package/dist/groups/secretlint.d.mts +5 -0
  59. package/dist/groups/secretlint.d.ts +5 -0
  60. package/dist/groups/secretlint.js +9 -0
  61. package/dist/groups/secretlint.js.map +1 -0
  62. package/dist/groups/secretlint.mjs +3 -0
  63. package/dist/groups/secretlint.mjs.map +1 -0
  64. package/dist/groups/stylesheets.d.mts +5 -0
  65. package/dist/groups/stylesheets.d.ts +5 -0
  66. package/dist/groups/stylesheets.js +10 -0
  67. package/dist/groups/stylesheets.js.map +1 -0
  68. package/dist/groups/stylesheets.mjs +4 -0
  69. package/dist/groups/stylesheets.mjs.map +1 -0
  70. package/dist/groups/tests.d.mts +5 -0
  71. package/dist/groups/tests.d.ts +5 -0
  72. package/dist/groups/tests.js +10 -0
  73. package/dist/groups/tests.js.map +1 -0
  74. package/dist/groups/tests.mjs +4 -0
  75. package/dist/groups/tests.mjs.map +1 -0
  76. package/dist/groups/typescript.d.mts +5 -0
  77. package/dist/groups/typescript.d.ts +5 -0
  78. package/dist/groups/typescript.js +10 -0
  79. package/dist/groups/typescript.js.map +1 -0
  80. package/dist/groups/typescript.mjs +4 -0
  81. package/dist/groups/typescript.mjs.map +1 -0
  82. package/dist/index.d.mts +5 -0
  83. package/dist/index.d.ts +5 -0
  84. package/dist/index.js +24 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/index.mjs +22 -0
  87. package/dist/index.mjs.map +1 -0
  88. package/dist/postinstall.d.mts +2 -0
  89. package/dist/postinstall.d.ts +2 -0
  90. package/dist/postinstall.js +96 -0
  91. package/dist/postinstall.js.map +1 -0
  92. package/dist/postinstall.mjs +94 -0
  93. package/dist/postinstall.mjs.map +1 -0
  94. package/group/package.json +44 -0
  95. package/package.json +145 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/groups/tests.ts"],"names":["hasDependency","hasDevDependency","hasVitest","hasJest","hasAva","group","filenames","concat_files_default","tests_default"],"mappings":"wCAAA,OAAS,iBAAAA,EAAe,oBAAAC,MAAwB,+BAKhD,IAAMC,EAAYF,EAAc,QAAQ,GAAKC,EAAiB,QAAQ,EAChEE,EAAUH,EAAc,MAAM,GAAKC,EAAiB,MAAM,EAC1DG,EAASJ,EAAc,KAAK,GAAKC,EAAiB,KAAK,EAEvDI,EAAgB,CAClB,GAAIH,GAAa,CAAE,oCAAqC,CAAC,sBAAsB,EAAG,sCAAuC,CAAC,sBAAsB,CAAE,EAClJ,GAAIC,GAAW,CACX,wBAAyB,CAAC,yBAAyB,EACnD,wBAAyB,CAAC,yBAAyB,EACnD,wBAAyB,CAAC,yBAAyB,EACnD,6BAA8B,CAAC,yBAAyB,EACxD,6BAA8B,CAAC,yBAAyB,EACxD,oCAAqC,CAAC,yBAAyB,EAC/D,sCAAuC,CAAC,yBAAyB,CACrE,EACA,GAAIC,GAAU,CACV,aAAeE,GAAwB,CAAC,OAAOC,EAAYD,CAAS,GAAG,EACvE,eAAiBA,GAAwB,CAAC,OAAOC,EAAYD,CAAS,GAAG,EACzE,sBAAwBA,GAAwB,CAAC,OAAOC,EAAYD,CAAS,GAAG,EAChF,oCAAsCA,GAAwB,CAAC,OAAOC,EAAYD,CAAS,GAAG,CAClG,CACJ,EAEOE,EAAQH","sourcesContent":["import { hasDependency, hasDevDependency } from \"@anolilab/package-json-utils\";\nimport type { Config } from \"lint-staged\";\n\nimport concatFiles from \"../utils/concat-files\";\n\nconst hasVitest = hasDependency(\"vitest\") || hasDevDependency(\"vitest\");\nconst hasJest = hasDependency(\"jest\") || hasDevDependency(\"jest\");\nconst hasAva = hasDependency(\"ava\") || hasDevDependency(\"ava\");\n\nconst group: Config = {\n ...(hasVitest && { \"**/__tests__/**/*.?(c|m)[jt]s?(x)\": [\"vitest related --run\"], \"**/?(*.){test,spec}.?(c|m)[jt]s?(x)\": [\"vitest related --run\"] }),\n ...(hasJest && {\n \"**/*.spec.{js,ts,tsx}\": [\"jest --findRelatedTests\"],\n \"**/*.test.{js,ts,tsx}\": [\"jest --findRelatedTests\"],\n \"**/test/*.{js,ts,tsx}\": [\"jest --findRelatedTests\"],\n \"**/__mocks__/*.{js,ts,tsx}\": [\"jest --findRelatedTests\"],\n \"**/__tests__/*.{js,ts,tsx}\": [\"jest --findRelatedTests\"],\n \"**/__tests__/**/*.?(c|m)[jt]s?(x)\": [\"jest --findRelatedTests\"],\n \"**/?(*.){test,spec}.?(c|m)[jt]s?(x)\": [\"jest --findRelatedTests\"],\n }),\n ...(hasAva && {\n \"**/test.js\": (filenames: string[]) => [`ava ${concatFiles(filenames)}`],\n \"**/test-*.js\": (filenames: string[]) => [`ava ${concatFiles(filenames)}`],\n \"**/*.(spec|test).js\": (filenames: string[]) => [`ava ${concatFiles(filenames)}`],\n \"**/(test|tests|__tests__)/**/*.js\": (filenames: string[]) => [`ava ${concatFiles(filenames)}`],\n }),\n};\n\nexport default group;\n"]}
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var chunkG7Q3HUT7_js = require('../../chunk-G7Q3HUT7.js');
4
+ require('../../chunk-L5GFXHVL.js');
5
+ require('../../chunk-T755FU2I.js');
6
+
7
+
8
+
9
+ module.exports = chunkG7Q3HUT7_js.b;
10
+ //# sourceMappingURL=out.js.map
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export { b as default } from '../../chunk-PT4S7CCV.mjs';
2
+ import '../../chunk-AMNQJNNY.mjs';
3
+ import '../../chunk-OTRYI4YE.mjs';
4
+ //# sourceMappingURL=out.js.map
5
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var chunkUF7UO5PL_js = require('../chunk-UF7UO5PL.js');
4
+ require('../chunk-T755FU2I.js');
5
+
6
+
7
+
8
+ module.exports = chunkUF7UO5PL_js.a;
9
+ //# sourceMappingURL=out.js.map
10
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { a as default } from '../chunk-CRK67F7X.mjs';
2
+ import '../chunk-OTRYI4YE.mjs';
3
+ //# sourceMappingURL=out.js.map
4
+ //# sourceMappingURL=json.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var chunkJTIOAOUE_js = require('../chunk-JTIOAOUE.js');
4
+ require('../chunk-T755FU2I.js');
5
+
6
+
7
+
8
+ module.exports = chunkJTIOAOUE_js.a;
9
+ //# sourceMappingURL=out.js.map
10
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { a as default } from '../chunk-VW6R74AT.mjs';
2
+ import '../chunk-OTRYI4YE.mjs';
3
+ //# sourceMappingURL=out.js.map
4
+ //# sourceMappingURL=markdown.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var chunk6EWZW5LF_js = require('../chunk-6EWZW5LF.js');
4
+
5
+
6
+
7
+ module.exports = chunk6EWZW5LF_js.a;
8
+ //# sourceMappingURL=out.js.map
9
+ //# sourceMappingURL=secretlint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { a as default } from '../chunk-4RVIFLAT.mjs';
2
+ //# sourceMappingURL=out.js.map
3
+ //# sourceMappingURL=secretlint.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var chunk4PCPJEEI_js = require('../chunk-4PCPJEEI.js');
4
+ require('../chunk-T755FU2I.js');
5
+
6
+
7
+
8
+ module.exports = chunk4PCPJEEI_js.a;
9
+ //# sourceMappingURL=out.js.map
10
+ //# sourceMappingURL=stylesheets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { a as default } from '../chunk-UKLFK6IR.mjs';
2
+ import '../chunk-OTRYI4YE.mjs';
3
+ //# sourceMappingURL=out.js.map
4
+ //# sourceMappingURL=stylesheets.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var chunkZRW63OZY_js = require('../chunk-ZRW63OZY.js');
4
+ require('../chunk-T755FU2I.js');
5
+
6
+
7
+
8
+ module.exports = chunkZRW63OZY_js.a;
9
+ //# sourceMappingURL=out.js.map
10
+ //# sourceMappingURL=tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { a as default } from '../chunk-BGOY7MBY.mjs';
2
+ import '../chunk-OTRYI4YE.mjs';
3
+ //# sourceMappingURL=out.js.map
4
+ //# sourceMappingURL=tests.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const group: Config;
4
+
5
+ export { group as default };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var chunkLSR35CMP_js = require('../chunk-LSR35CMP.js');
4
+ require('../chunk-L5GFXHVL.js');
5
+
6
+
7
+
8
+ module.exports = chunkLSR35CMP_js.a;
9
+ //# sourceMappingURL=out.js.map
10
+ //# sourceMappingURL=typescript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export { a as default } from '../chunk-UHH5GDWT.mjs';
2
+ import '../chunk-AMNQJNNY.mjs';
3
+ //# sourceMappingURL=out.js.map
4
+ //# sourceMappingURL=typescript.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const loaded: Config;
4
+
5
+ export { loaded as default };
@@ -0,0 +1,5 @@
1
+ import { Config } from 'lint-staged';
2
+
3
+ declare const loaded: Config;
4
+
5
+ export { loaded as default };
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var chunkLSR35CMP_js = require('./chunk-LSR35CMP.js');
4
+ var chunkG7Q3HUT7_js = require('./chunk-G7Q3HUT7.js');
5
+ require('./chunk-L5GFXHVL.js');
6
+ var chunkUF7UO5PL_js = require('./chunk-UF7UO5PL.js');
7
+ var chunkJTIOAOUE_js = require('./chunk-JTIOAOUE.js');
8
+ var chunk6EWZW5LF_js = require('./chunk-6EWZW5LF.js');
9
+ var chunk4PCPJEEI_js = require('./chunk-4PCPJEEI.js');
10
+ var chunkZRW63OZY_js = require('./chunk-ZRW63OZY.js');
11
+ require('./chunk-T755FU2I.js');
12
+ var process = require('process');
13
+ var packageJsonUtils = require('@anolilab/package-json-utils');
14
+
15
+ var N=[{configName:"eslint",config:chunkG7Q3HUT7_js.b,dependencies:["prettier","eslint"]},{configName:"json",config:chunkUF7UO5PL_js.a,dependencies:["prettier","sort-package-json"]},{configName:"markdown",config:chunkJTIOAOUE_js.a,dependencies:["prettier","markdownlint-cli","markdownlint-cli2"]},{configName:"secretlint",config:chunk6EWZW5LF_js.a,dependencies:["secretlint"]},{configName:"stylesheets",config:chunk4PCPJEEI_js.a,dependencies:["stylelint"]},{configName:"tests",config:chunkZRW63OZY_js.a,dependencies:["vite","jest","ava"]},{configName:"typescript",config:chunkLSR35CMP_js.a,dependencies:["typescript"]}],g={},r=[],l={};N.forEach(i=>{let{dependencies:n,config:t,configName:s}=i;if(chunkG7Q3HUT7_js.a?.plugin?.[s]!==!1){let a=[];n.forEach(e=>{(packageJsonUtils.hasDependency(e)||packageJsonUtils.hasDevDependency(e))&&a.push(e);}),a.length>0?(g={...g,...t},r.push(s)):(l[s]={},n.forEach(e=>{l[s][e]=packageJsonUtils.hasDependency(e)||packageJsonUtils.hasDevDependency(e);}));}});var k={...g};var L=()=>{},j=i=>process.env.NO_LOGS?L:n=>console.log(`${i}${n}`),O=j(""),o=O;if(!global.hasAnolilabStagedLintConfigLoaded){process.env.DEBUG&&(o(`
16
+ @anolilab/lint-stage-config loaded the following plugins:
17
+ `),r.forEach(n=>{o(` ${n}`);}));let i=!1;Object.entries(l).forEach(([n,t])=>{Object.values(t).some(Boolean)&&(i=!0,o(`
18
+ Your package.json container dependencies for the "${n}" plugin, please add the following dependencies with your chosen package manager to enable this plugin:`),Object.entries(t).forEach(([a,e])=>{e||o(` ${a}`);}));}),i&&(o(`
19
+ To disable this message, add the following to your package.json:`),o(` "anolilab": { "lint-stage-config": { plugin: { "plugin-name": false } } }
20
+ `)),o('To disable all logging, add the following to your eslint command call "NO_LOGS=true eslint ..."'),global.hasAnolilabStagedLintConfigLoaded=!0;}
21
+
22
+ module.exports = k;
23
+ //# sourceMappingURL=out.js.map
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/config.ts","../src/utils/logger.ts"],"names":["env","hasDependency","hasDevDependency","groups","eslint_default","json_default","markdown_default","secretlint_default","stylesheets_default","tests_default","typescript_default","loadedPlugins","loadedPluginsNames","possiblePlugins","plugin","dependencies","config","configName","lint_staged_config_default","foundDependencies","dependency","loaded","noop","consolePrefix","prefix","message","consoleLog","logger_default","pluginName","hasLogged","installed"],"mappings":"uVAAA,OAAS,OAAAA,MAAW,UCApB,OAAS,iBAAAC,EAAe,oBAAAC,MAAwB,+BAkBhD,IAAMC,EAAiB,CACnB,CACI,WAAY,SACZ,OAAQC,EACR,aAAc,CAAC,WAAY,QAAQ,CACvC,EACA,CACI,WAAY,OACZ,OAAQC,EACR,aAAc,CAAC,WAAY,mBAAmB,CAClD,EACA,CACI,WAAY,WACZ,OAAQC,EACR,aAAc,CAAC,WAAY,mBAAoB,mBAAmB,CACtE,EACA,CACI,WAAY,aACZ,OAAQC,EACR,aAAc,CAAC,YAAY,CAC/B,EACA,CACI,WAAY,cACZ,OAAQC,EACR,aAAc,CAAC,WAAW,CAC9B,EACA,CACI,WAAY,QACZ,OAAQC,EACR,aAAc,CAAC,OAAQ,OAAQ,KAAK,CACxC,EACA,CACI,WAAY,aACZ,OAAQC,EACR,aAAc,CAAC,YAAY,CAC/B,CACJ,EAEIC,EAAwB,CAAC,EACvBC,EAA+B,CAAC,EAEhCC,EAA0E,CAAC,EAEjFV,EAAO,QAASW,GAAW,CACvB,GAAM,CAAE,aAAAC,EAAc,OAAAC,EAAQ,WAAAC,CAAW,EAAIH,EAE7C,GAAKI,GAAkG,SAAYD,CAAU,IAAM,GAAO,CACtI,IAAME,EAAoB,CAAC,EAE3BJ,EAAa,QAASK,GAAe,EAC7BnB,EAAcmB,CAAU,GAAKlB,EAAiBkB,CAAU,IACxDD,EAAkB,KAAKC,CAAU,CAEzC,CAAC,EAEGD,EAAkB,OAAS,GAC3BR,EAAgB,CAAE,GAAGA,EAAe,GAAGK,CAAO,EAC9CJ,EAAmB,KAAKK,CAAU,IAElCJ,EAAgBI,CAAU,EAAI,CAAC,EAE/BF,EAAa,QAASK,GAAe,CAChCP,EAAgBI,CAAU,EAAiCG,CAAU,EAAInB,EAAcmB,CAAU,GAAKlB,EAAiBkB,CAAU,CACtI,CAAC,EAET,CACJ,CAAC,EAED,IAAMC,EAAiB,CAAE,GAAGV,CAAc,ECtF1C,OAAS,OAAAX,MAAW,UAEpB,IAAMsB,EAAO,IAAG,GAEVC,EAAiBC,GAElBxB,EAAI,QAAasB,EAAQG,GAAoB,QAAQ,IAAI,GAAGD,IAASC,GAAS,EAE7EC,EAAaH,EAAc,EAAE,EAE5BI,EAAQD,EFJf,GAAI,CAAC,OAAO,kCAAmC,CACvC1B,EAAI,QACJ2B,EAAW;AAAA;AAAA,CAA+D,EAE1Ef,EAAmB,QAASgB,GAAe,CACvCD,EAAW,OAAOC,GAAY,CAClC,CAAC,GAGL,IAAIC,EAAY,GAEhB,OAAO,QAAQhB,CAAe,EAAE,QAAQ,CAAC,CAACC,EAAQC,CAAY,IAAM,CACvC,OAAO,OAAOA,CAAY,EAAE,KAAK,OAAO,IAG7Dc,EAAY,GACZF,EACI;AAAA,oDAAuDb,0GAC3D,EAEA,OAAO,QAAQC,CAAY,EAAE,QAAQ,CAAC,CAACK,EAAYU,CAAS,IAAM,CACzDA,GACDH,EAAW,OAAOP,GAAY,CAEtC,CAAC,EAET,CAAC,EAEGS,IACAF,EAAW;AAAA,iEAAoE,EAC/EA,EAAW;AAAA,CAAiF,GAGhGA,EAAW,iGAAiG,EAE5G,OAAO,kCAAoC,EAC/C","sourcesContent":["import { env } from \"node:process\";\n\nimport { loadedPluginsNames, possiblePlugins } from \"./config\";\nimport consoleLog from \"./utils/logger\";\n\n// Workaround VS Code trying to run this file twice!\nif (!global.hasAnolilabStagedLintConfigLoaded) {\n if (env[\"DEBUG\"]) {\n consoleLog(\"\\n@anolilab/lint-stage-config loaded the following plugins:\\n\");\n\n loadedPluginsNames.forEach((pluginName) => {\n consoleLog(` ${pluginName}`);\n });\n }\n\n let hasLogged = false;\n\n Object.entries(possiblePlugins).forEach(([plugin, dependencies]) => {\n const hasOneDependency = Object.values(dependencies).some(Boolean);\n\n if (hasOneDependency) {\n hasLogged = true;\n consoleLog(\n `\\nYour package.json container dependencies for the \"${plugin}\" plugin, please add the following dependencies with your chosen package manager to enable this plugin:`,\n );\n\n Object.entries(dependencies).forEach(([dependency, installed]) => {\n if (!installed) {\n consoleLog(` ${dependency}`);\n }\n });\n }\n });\n\n if (hasLogged) {\n consoleLog(\"\\nTo disable this message, add the following to your package.json:\");\n consoleLog(' \"anolilab\": { \"lint-stage-config\": { plugin: { \"plugin-name\": false } } }\\n');\n }\n\n consoleLog('To disable all logging, add the following to your eslint command call \"NO_LOGS=true eslint ...\"');\n\n global.hasAnolilabStagedLintConfigLoaded = true;\n}\n\nexport { loadedPlugins as default } from \"./config\";\n","import { hasDependency, hasDevDependency } from \"@anolilab/package-json-utils\";\nimport type { Config } from \"lint-staged\";\n\nimport eslintConfig from \"./groups/eslint\";\nimport jsonConfig from \"./groups/json\";\nimport markdownConfig from \"./groups/markdown\";\nimport secretlintConfig from \"./groups/secretlint\";\nimport stylesheetsConfig from \"./groups/stylesheets\";\nimport testsConfig from \"./groups/tests\";\nimport typescriptConfig from \"./groups/typescript\";\nimport anolilabLintStagedConfig from \"./utils/lint-staged-config\";\n\ntype Groups = {\n configName: string;\n config: Config;\n dependencies: string[];\n}[];\n\nconst groups: Groups = [\n {\n configName: \"eslint\",\n config: eslintConfig,\n dependencies: [\"prettier\", \"eslint\"],\n },\n {\n configName: \"json\",\n config: jsonConfig,\n dependencies: [\"prettier\", \"sort-package-json\"],\n },\n {\n configName: \"markdown\",\n config: markdownConfig,\n dependencies: [\"prettier\", \"markdownlint-cli\", \"markdownlint-cli2\"],\n },\n {\n configName: \"secretlint\",\n config: secretlintConfig,\n dependencies: [\"secretlint\"],\n },\n {\n configName: \"stylesheets\",\n config: stylesheetsConfig,\n dependencies: [\"stylelint\"],\n },\n {\n configName: \"tests\",\n config: testsConfig,\n dependencies: [\"vite\", \"jest\", \"ava\"],\n },\n {\n configName: \"typescript\",\n config: typescriptConfig,\n dependencies: [\"typescript\"],\n },\n];\n\nlet loadedPlugins: Config = {};\nconst loadedPluginsNames: string[] = [];\n\nconst possiblePlugins: { [rule: string]: { [packageName: string]: boolean } } = {};\n\ngroups.forEach((plugin) => {\n const { dependencies, config, configName } = plugin;\n\n if ((anolilabLintStagedConfig as unknown as { [key: string]: { [key: string]: false | undefined } })?.[\"plugin\"]?.[configName] !== false) {\n const foundDependencies = [];\n\n dependencies.forEach((dependency) => {\n if (hasDependency(dependency) || hasDevDependency(dependency)) {\n foundDependencies.push(dependency);\n }\n });\n\n if (foundDependencies.length > 0) {\n loadedPlugins = { ...loadedPlugins, ...config };\n loadedPluginsNames.push(configName);\n } else {\n possiblePlugins[configName] = {};\n\n dependencies.forEach((dependency) => {\n (possiblePlugins[configName] as { [key: string]: boolean })[dependency] = hasDependency(dependency) || hasDevDependency(dependency);\n });\n }\n }\n});\n\nconst loaded: Config = { ...loadedPlugins };\n\nexport { loaded as loadedPlugins, loadedPluginsNames, possiblePlugins };\n","import { env } from \"node:process\";\n\nconst noop = () => undefined;\n\nconst consolePrefix = (prefix: string) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n (env[\"NO_LOGS\"] ? noop : (message: string) => console.log(`${prefix}${message}`));\n\nconst consoleLog = consolePrefix(\"\");\n\nexport default consoleLog;\n"]}
package/dist/index.mjs ADDED
@@ -0,0 +1,22 @@
1
+ import { a as a$6 } from './chunk-UHH5GDWT.mjs';
2
+ import { a, b } from './chunk-PT4S7CCV.mjs';
3
+ import './chunk-AMNQJNNY.mjs';
4
+ import { a as a$1 } from './chunk-CRK67F7X.mjs';
5
+ import { a as a$2 } from './chunk-VW6R74AT.mjs';
6
+ import { a as a$3 } from './chunk-4RVIFLAT.mjs';
7
+ import { a as a$4 } from './chunk-UKLFK6IR.mjs';
8
+ import { a as a$5 } from './chunk-BGOY7MBY.mjs';
9
+ import './chunk-OTRYI4YE.mjs';
10
+ import { env } from 'process';
11
+ import { hasDependency, hasDevDependency } from '@anolilab/package-json-utils';
12
+
13
+ var N=[{configName:"eslint",config:b,dependencies:["prettier","eslint"]},{configName:"json",config:a$1,dependencies:["prettier","sort-package-json"]},{configName:"markdown",config:a$2,dependencies:["prettier","markdownlint-cli","markdownlint-cli2"]},{configName:"secretlint",config:a$3,dependencies:["secretlint"]},{configName:"stylesheets",config:a$4,dependencies:["stylelint"]},{configName:"tests",config:a$5,dependencies:["vite","jest","ava"]},{configName:"typescript",config:a$6,dependencies:["typescript"]}],g={},r=[],l={};N.forEach(i=>{let{dependencies:n,config:t,configName:s}=i;if(a?.plugin?.[s]!==!1){let a=[];n.forEach(e=>{(hasDependency(e)||hasDevDependency(e))&&a.push(e);}),a.length>0?(g={...g,...t},r.push(s)):(l[s]={},n.forEach(e=>{l[s][e]=hasDependency(e)||hasDevDependency(e);}));}});var k={...g};var L=()=>{},j=i=>env.NO_LOGS?L:n=>console.log(`${i}${n}`),O=j(""),o=O;if(!global.hasAnolilabStagedLintConfigLoaded){env.DEBUG&&(o(`
14
+ @anolilab/lint-stage-config loaded the following plugins:
15
+ `),r.forEach(n=>{o(` ${n}`);}));let i=!1;Object.entries(l).forEach(([n,t])=>{Object.values(t).some(Boolean)&&(i=!0,o(`
16
+ Your package.json container dependencies for the "${n}" plugin, please add the following dependencies with your chosen package manager to enable this plugin:`),Object.entries(t).forEach(([a,e])=>{e||o(` ${a}`);}));}),i&&(o(`
17
+ To disable this message, add the following to your package.json:`),o(` "anolilab": { "lint-stage-config": { plugin: { "plugin-name": false } } }
18
+ `)),o('To disable all logging, add the following to your eslint command call "NO_LOGS=true eslint ..."'),global.hasAnolilabStagedLintConfigLoaded=!0;}
19
+
20
+ export { k as default };
21
+ //# sourceMappingURL=out.js.map
22
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/config.ts","../src/utils/logger.ts"],"names":["env","hasDependency","hasDevDependency","groups","eslint_default","json_default","markdown_default","secretlint_default","stylesheets_default","tests_default","typescript_default","loadedPlugins","loadedPluginsNames","possiblePlugins","plugin","dependencies","config","configName","lint_staged_config_default","foundDependencies","dependency","loaded","noop","consolePrefix","prefix","message","consoleLog","logger_default","pluginName","hasLogged","installed"],"mappings":"gWAAA,OAAS,OAAAA,MAAW,UCApB,OAAS,iBAAAC,EAAe,oBAAAC,MAAwB,+BAkBhD,IAAMC,EAAiB,CACnB,CACI,WAAY,SACZ,OAAQC,EACR,aAAc,CAAC,WAAY,QAAQ,CACvC,EACA,CACI,WAAY,OACZ,OAAQC,EACR,aAAc,CAAC,WAAY,mBAAmB,CAClD,EACA,CACI,WAAY,WACZ,OAAQC,EACR,aAAc,CAAC,WAAY,mBAAoB,mBAAmB,CACtE,EACA,CACI,WAAY,aACZ,OAAQC,EACR,aAAc,CAAC,YAAY,CAC/B,EACA,CACI,WAAY,cACZ,OAAQC,EACR,aAAc,CAAC,WAAW,CAC9B,EACA,CACI,WAAY,QACZ,OAAQC,EACR,aAAc,CAAC,OAAQ,OAAQ,KAAK,CACxC,EACA,CACI,WAAY,aACZ,OAAQC,EACR,aAAc,CAAC,YAAY,CAC/B,CACJ,EAEIC,EAAwB,CAAC,EACvBC,EAA+B,CAAC,EAEhCC,EAA0E,CAAC,EAEjFV,EAAO,QAASW,GAAW,CACvB,GAAM,CAAE,aAAAC,EAAc,OAAAC,EAAQ,WAAAC,CAAW,EAAIH,EAE7C,GAAKI,GAAkG,SAAYD,CAAU,IAAM,GAAO,CACtI,IAAME,EAAoB,CAAC,EAE3BJ,EAAa,QAASK,GAAe,EAC7BnB,EAAcmB,CAAU,GAAKlB,EAAiBkB,CAAU,IACxDD,EAAkB,KAAKC,CAAU,CAEzC,CAAC,EAEGD,EAAkB,OAAS,GAC3BR,EAAgB,CAAE,GAAGA,EAAe,GAAGK,CAAO,EAC9CJ,EAAmB,KAAKK,CAAU,IAElCJ,EAAgBI,CAAU,EAAI,CAAC,EAE/BF,EAAa,QAASK,GAAe,CAChCP,EAAgBI,CAAU,EAAiCG,CAAU,EAAInB,EAAcmB,CAAU,GAAKlB,EAAiBkB,CAAU,CACtI,CAAC,EAET,CACJ,CAAC,EAED,IAAMC,EAAiB,CAAE,GAAGV,CAAc,ECtF1C,OAAS,OAAAX,MAAW,UAEpB,IAAMsB,EAAO,IAAG,GAEVC,EAAiBC,GAElBxB,EAAI,QAAasB,EAAQG,GAAoB,QAAQ,IAAI,GAAGD,IAASC,GAAS,EAE7EC,EAAaH,EAAc,EAAE,EAE5BI,EAAQD,EFJf,GAAI,CAAC,OAAO,kCAAmC,CACvC1B,EAAI,QACJ2B,EAAW;AAAA;AAAA,CAA+D,EAE1Ef,EAAmB,QAASgB,GAAe,CACvCD,EAAW,OAAOC,GAAY,CAClC,CAAC,GAGL,IAAIC,EAAY,GAEhB,OAAO,QAAQhB,CAAe,EAAE,QAAQ,CAAC,CAACC,EAAQC,CAAY,IAAM,CACvC,OAAO,OAAOA,CAAY,EAAE,KAAK,OAAO,IAG7Dc,EAAY,GACZF,EACI;AAAA,oDAAuDb,0GAC3D,EAEA,OAAO,QAAQC,CAAY,EAAE,QAAQ,CAAC,CAACK,EAAYU,CAAS,IAAM,CACzDA,GACDH,EAAW,OAAOP,GAAY,CAEtC,CAAC,EAET,CAAC,EAEGS,IACAF,EAAW;AAAA,iEAAoE,EAC/EA,EAAW;AAAA,CAAiF,GAGhGA,EAAW,iGAAiG,EAE5G,OAAO,kCAAoC,EAC/C","sourcesContent":["import { env } from \"node:process\";\n\nimport { loadedPluginsNames, possiblePlugins } from \"./config\";\nimport consoleLog from \"./utils/logger\";\n\n// Workaround VS Code trying to run this file twice!\nif (!global.hasAnolilabStagedLintConfigLoaded) {\n if (env[\"DEBUG\"]) {\n consoleLog(\"\\n@anolilab/lint-stage-config loaded the following plugins:\\n\");\n\n loadedPluginsNames.forEach((pluginName) => {\n consoleLog(` ${pluginName}`);\n });\n }\n\n let hasLogged = false;\n\n Object.entries(possiblePlugins).forEach(([plugin, dependencies]) => {\n const hasOneDependency = Object.values(dependencies).some(Boolean);\n\n if (hasOneDependency) {\n hasLogged = true;\n consoleLog(\n `\\nYour package.json container dependencies for the \"${plugin}\" plugin, please add the following dependencies with your chosen package manager to enable this plugin:`,\n );\n\n Object.entries(dependencies).forEach(([dependency, installed]) => {\n if (!installed) {\n consoleLog(` ${dependency}`);\n }\n });\n }\n });\n\n if (hasLogged) {\n consoleLog(\"\\nTo disable this message, add the following to your package.json:\");\n consoleLog(' \"anolilab\": { \"lint-stage-config\": { plugin: { \"plugin-name\": false } } }\\n');\n }\n\n consoleLog('To disable all logging, add the following to your eslint command call \"NO_LOGS=true eslint ...\"');\n\n global.hasAnolilabStagedLintConfigLoaded = true;\n}\n\nexport { loadedPlugins as default } from \"./config\";\n","import { hasDependency, hasDevDependency } from \"@anolilab/package-json-utils\";\nimport type { Config } from \"lint-staged\";\n\nimport eslintConfig from \"./groups/eslint\";\nimport jsonConfig from \"./groups/json\";\nimport markdownConfig from \"./groups/markdown\";\nimport secretlintConfig from \"./groups/secretlint\";\nimport stylesheetsConfig from \"./groups/stylesheets\";\nimport testsConfig from \"./groups/tests\";\nimport typescriptConfig from \"./groups/typescript\";\nimport anolilabLintStagedConfig from \"./utils/lint-staged-config\";\n\ntype Groups = {\n configName: string;\n config: Config;\n dependencies: string[];\n}[];\n\nconst groups: Groups = [\n {\n configName: \"eslint\",\n config: eslintConfig,\n dependencies: [\"prettier\", \"eslint\"],\n },\n {\n configName: \"json\",\n config: jsonConfig,\n dependencies: [\"prettier\", \"sort-package-json\"],\n },\n {\n configName: \"markdown\",\n config: markdownConfig,\n dependencies: [\"prettier\", \"markdownlint-cli\", \"markdownlint-cli2\"],\n },\n {\n configName: \"secretlint\",\n config: secretlintConfig,\n dependencies: [\"secretlint\"],\n },\n {\n configName: \"stylesheets\",\n config: stylesheetsConfig,\n dependencies: [\"stylelint\"],\n },\n {\n configName: \"tests\",\n config: testsConfig,\n dependencies: [\"vite\", \"jest\", \"ava\"],\n },\n {\n configName: \"typescript\",\n config: typescriptConfig,\n dependencies: [\"typescript\"],\n },\n];\n\nlet loadedPlugins: Config = {};\nconst loadedPluginsNames: string[] = [];\n\nconst possiblePlugins: { [rule: string]: { [packageName: string]: boolean } } = {};\n\ngroups.forEach((plugin) => {\n const { dependencies, config, configName } = plugin;\n\n if ((anolilabLintStagedConfig as unknown as { [key: string]: { [key: string]: false | undefined } })?.[\"plugin\"]?.[configName] !== false) {\n const foundDependencies = [];\n\n dependencies.forEach((dependency) => {\n if (hasDependency(dependency) || hasDevDependency(dependency)) {\n foundDependencies.push(dependency);\n }\n });\n\n if (foundDependencies.length > 0) {\n loadedPlugins = { ...loadedPlugins, ...config };\n loadedPluginsNames.push(configName);\n } else {\n possiblePlugins[configName] = {};\n\n dependencies.forEach((dependency) => {\n (possiblePlugins[configName] as { [key: string]: boolean })[dependency] = hasDependency(dependency) || hasDevDependency(dependency);\n });\n }\n }\n});\n\nconst loaded: Config = { ...loadedPlugins };\n\nexport { loaded as loadedPlugins, loadedPluginsNames, possiblePlugins };\n","import { env } from \"node:process\";\n\nconst noop = () => undefined;\n\nconst consolePrefix = (prefix: string) =>\n // eslint-disable-next-line implicit-arrow-linebreak\n (env[\"NO_LOGS\"] ? noop : (message: string) => console.log(`${prefix}${message}`));\n\nconst consoleLog = consolePrefix(\"\");\n\nexport default consoleLog;\n"]}
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1,96 @@
1
+ 'use strict';
2
+
3
+ var chunkL5GFXHVL_js = require('./chunk-L5GFXHVL.js');
4
+ var packageJsonUtils = require('@anolilab/package-json-utils');
5
+ var fs = require('fs');
6
+ var path = require('path');
7
+ var util = require('util');
8
+
9
+ process.env.CI&&process.exit(0);var a=util.promisify(fs.writeFile),$=util.promisify(fs.mkdir);console.log("Configuring @anolilab/lint-staged-config",packageJsonUtils.projectPath,`
10
+ `);var e=".lintstagedrc",r=t=>fs.existsSync(t)?(console.warn(`\u26A0\uFE0F ${t} already exists;`),!0):!1,_=()=>{for(let s of [e,`${e}.js`,`${e}.cjs`,`${e}.mjs`,`${e}.json`,`${e}.yaml`,`${e}.yml`,"lint-staged.config.js","lint-staged.config.mjs","lint-staged.config.cjs"])if(r(path.join(packageJsonUtils.projectPath,s)))return Promise.resolve();let t=path.join(packageJsonUtils.projectPath,".lintstagedrc.js");return a(t,`${packageJsonUtils.packageIsTypeModule?'import config from "@anolilab/lint-staged-config"':'const config = require("@anolilab/lint-staged-config")'};
11
+
12
+ ${packageJsonUtils.packageIsTypeModule?"export default":"module.exports ="} {
13
+ ...config,
14
+ };
15
+ `,"utf-8")},I=async()=>{if(!(packageJsonUtils.hasDependency("husky")||packageJsonUtils.hasDevDependency("husky"))){console.warn("\u26A0\uFE0F husky is not installed;");return}let i=path.join(packageJsonUtils.projectPath,".husky");fs.existsSync(i)||await $(i);let s=path.join(i,"common.sh");r(s)||await a(s,`#!/bin/sh
16
+
17
+ command_exists () {
18
+ command -v "$1" >/dev/null 2>&1
19
+ }
20
+
21
+ IS_WINDOWS="false"
22
+
23
+ if [ "$OSTYPE" = "cygwin" ]; then
24
+ IS_WINDOWS="true"
25
+ elif [ "$OSTYPE" = "msys" ]; then
26
+ IS_WINDOWS="true"
27
+ elif [ "$OSTYPE" = "win32" ]; then
28
+ IS_WINDOWS="true"
29
+ fi
30
+
31
+ # Workaround for Windows 10, Git Bash and Yarn
32
+ if [ "$IS_WINDOWS" = "true" ]; then
33
+ if command_exists winpty && test -t 1; then
34
+ exec < /dev/tty
35
+ fi
36
+ fi
37
+ `,"utf-8");let m=path.join(i,"pre-commit"),o=!1;try{o=chunkL5GFXHVL_js.a("pnpm-lock.yaml")!==void 0;}catch{}r(m)||await a(m,`#!/bin/sh
38
+
39
+ . "$(dirname "$0")/_/husky.sh"
40
+ . "$(dirname "$0")/common.sh"
41
+
42
+ # The hook should exit with non-zero status after issuing
43
+ # an appropriate message if it wants to stop the commit.
44
+
45
+ echo --------------------------------------------
46
+ echo Starting Git hook: pre-commit
47
+
48
+ ${o?"pnpx":"npx"} lint-staged --verbose --concurrent false
49
+
50
+ echo Finished Git hook: pre-commit
51
+ echo --------------------------------------------
52
+ `,"utf-8");let h=path.join(i,"prepare-commit-msg");(packageJsonUtils.hasDependency("commitizen")||packageJsonUtils.hasDevDependency("commitizen"))&&!r(h)&&await a(h,`#!/bin/sh
53
+
54
+ . "$(dirname "$0")/_/husky.sh"
55
+ . "$(dirname "$0")/common.sh"
56
+
57
+ echo --------------------------------------------
58
+ echo Starting Git hook: prepare-commit-msg
59
+
60
+ # if we hve a cmd that is running ${o?"pnpx":"npx"} cz that means finalize and commit
61
+ FILE=commit.cmd
62
+ if test -f "$FILE"; then
63
+ echo "$FILE exists."
64
+ rm commit.cmd
65
+ exit 0;
66
+ fi
67
+ # if on Windows, spawn a cmd that will run ${o?"pnpx":"npx"} cz
68
+ case \`uname\` in
69
+ *CYGWIN*|*MINGW*|*MSYS* )
70
+ # Only run commitizen if no commit message was already provided.
71
+ if [ -z "\${2-}" ]; then
72
+ export CZ_TYPE="\${CZ_TYPE:-fix}"
73
+ export CZ_MAX_HEADER_WIDTH=$COMMITLINT_MAX_WIDTH
74
+ export CZ_MAX_LINE_WIDTH=$CZ_MAX_HEADER_WIDTH
75
+ echo "${o?"pnpx":"npx"} cz && exit" > commit.cmd
76
+ start commit.cmd
77
+ exit 1;
78
+ fi
79
+
80
+ exit 0;;
81
+ esac
82
+
83
+ # Only run commitizen if no commit message was already provided.
84
+ if [ -z "\${2-}" ]; then
85
+ export CZ_TYPE="\${CZ_TYPE:-fix}"
86
+ export CZ_MAX_HEADER_WIDTH=$COMMITLINT_MAX_WIDTH
87
+ export CZ_MAX_LINE_WIDTH=$CZ_MAX_HEADER_WIDTH
88
+ # By default git hooks are not interactive. exec < /dev/tty allows a users terminal to interact with commitizen.
89
+ exec < /dev/tty && ${o?"pnpx":"npx"} cz --hook || true
90
+ fi
91
+
92
+ echo Finished Git hook: prepare-commit-msg
93
+ echo --------------------------------------------
94
+ `,"utf-8");};(async()=>{try{await _(),await I(),console.log("\u{1F60E} Everything went well, have fun!"),process.exit(0);}catch(t){console.log("\u{1F62C} something went wrong:"),console.error(t),process.exit(1);}})();
95
+ //# sourceMappingURL=out.js.map
96
+ //# sourceMappingURL=postinstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/postinstall.ts"],"names":["hasDependency","hasDevDependency","packageIsTypeModule","projectPath","existsSync","mkdir","writeFile","join","promisify","writeFileAsync","mkdirAsync","configFile","checkIfFileExists","filename","writeLintstagedRc","lintstagedPath","writeHuskyFiles","huskyFolderPath","commonShPath","preCommitPath","hasPnpm","get_nearest_config_path_default","prepareCommitMessagePath","error"],"mappings":"wCAAA,OACC,iBAAAA,EAAe,oBAAAC,EAAkB,uBAAAC,EAAqB,eAAAC,MAChD,+BACP,OAAS,cAAAC,EAAY,SAAAC,EAAO,aAAAC,MAAiB,KAC7C,OAAS,QAAAC,MAAY,OACrB,OAAS,aAAAC,MAAiB,OAItB,QAAQ,IAAI,IAEZ,QAAQ,KAAK,CAAC,EAGlB,IAAMC,EAAiBD,EAAUF,CAAS,EACpCI,EAAaF,EAAUH,CAAK,EAElC,QAAQ,IAAI,2CAA4CF,EAAa;AAAA,CAAI,EAEzE,IAAMQ,EAAa,gBAEbC,EAAqBC,GACnBT,EAAWS,CAAQ,GACnB,QAAQ,KAAK,iBAAOA,mBAA0B,EAEvC,IAGJ,GAMLC,EAAoB,IAAM,CAE5B,QAAWD,IAAY,CACnBF,EACA,GAAGA,OACH,GAAGA,QACH,GAAGA,QACH,GAAGA,SACH,GAAGA,SACH,GAAGA,QACH,wBACA,yBACA,wBACJ,EACI,GAAIC,EAAkBL,EAAKJ,EAAaU,CAAQ,CAAC,EAC7C,OAAO,QAAQ,QAAQ,EAI/B,IAAME,EAAiBR,EAAKJ,EAAa,kBAAkB,EAS3D,OAAOM,EAAeM,EAPN,GAAGb,EAAsB,oDAAsD;AAAA;AAAA,EAEjGA,EAAsB,iBAAmB;AAAA;AAAA;AAAA,EAKQ,OAAO,CAC1D,EAMMc,EAAkB,SAAY,CAGhC,GAAI,EAFahB,EAAc,OAAO,GAAKC,EAAiB,OAAO,GAEpD,CACX,QAAQ,KAAK,uCAA6B,EAE1C,MACJ,CAEA,IAAMgB,EAAkBV,EAAKJ,EAAa,QAAQ,EAE7CC,EAAWa,CAAe,GAC3B,MAAMP,EAAWO,CAAe,EAGpC,IAAMC,EAAeX,EAAKU,EAAiB,WAAW,EAEjDL,EAAkBM,CAAY,GAC/B,MAAMT,EACFS,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBA,OACJ,EAGJ,IAAMC,EAAgBZ,EAAKU,EAAiB,YAAY,EAEpDG,EAAU,GAEd,GAAI,CACAA,EAAUC,EAAqB,gBAAgB,IAAM,MACzD,MAAE,CAEF,CAEKT,EAAkBO,CAAa,GAChC,MAAMV,EACFU,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWVC,EAAU,OAAS;AAAA;AAAA;AAAA;AAAA,EAKT,OACJ,EAGJ,IAAME,EAA2Bf,EAAKU,EAAiB,oBAAoB,GAC7DjB,EAAc,YAAY,GAAKC,EAAiB,YAAY,IAE7D,CAACW,EAAkBU,CAAwB,GACpD,MAAMb,EACFa,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAQwBF,EAAU,OAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6CAOVA,EAAU,OAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQ5CA,EAAU,OAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAcdA,EAAU,OAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,OACJ,CAER,GAGC,SAAY,CACT,GAAI,CACA,MAAMN,EAAkB,EACxB,MAAME,EAAgB,EAEtB,QAAQ,IAAI,4CAAqC,EAGjD,QAAQ,KAAK,CAAC,CAClB,OAASO,EAAP,CACE,QAAQ,IAAI,kCAA2B,EACvC,QAAQ,MAAMA,CAAK,EAGnB,QAAQ,KAAK,CAAC,CAClB,CACJ,GAAG","sourcesContent":["import {\n hasDependency, hasDevDependency, packageIsTypeModule, projectPath\n} from \"@anolilab/package-json-utils\";\nimport { existsSync, mkdir, writeFile } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { promisify } from \"node:util\";\n\nimport getNearestConfigPath from \"./utils/get-nearest-config-path\";\n\nif (process.env[\"CI\"]) {\n // eslint-disable-next-line unicorn/no-process-exit\n process.exit(0);\n}\n\nconst writeFileAsync = promisify(writeFile);\nconst mkdirAsync = promisify(mkdir);\n\nconsole.log(\"Configuring @anolilab/lint-staged-config\", projectPath, \"\\n\");\n\nconst configFile = \".lintstagedrc\";\n\nconst checkIfFileExists = (filename: string): boolean => {\n if (existsSync(filename)) {\n console.warn(`⚠️ ${filename} already exists;`);\n\n return true;\n }\n\n return false;\n};\n\n/**\n * Writes .lintstagedrc.js if it doesn't exist. Warns if it exists.\n */\nconst writeLintstagedRc = () => {\n // eslint-disable-next-line no-restricted-syntax\n for (const filename of [\n configFile,\n `${configFile}.js`,\n `${configFile}.cjs`,\n `${configFile}.mjs`,\n `${configFile}.json`,\n `${configFile}.yaml`,\n `${configFile}.yml`,\n \"lint-staged.config.js\",\n \"lint-staged.config.mjs\",\n \"lint-staged.config.cjs\",\n ]) {\n if (checkIfFileExists(join(projectPath, filename))) {\n return Promise.resolve();\n }\n }\n\n const lintstagedPath = join(projectPath, \".lintstagedrc.js\");\n\n const content = `${packageIsTypeModule ? 'import config from \"@anolilab/lint-staged-config\"' : 'const config = require(\"@anolilab/lint-staged-config\")'};\n\n${packageIsTypeModule ? \"export default\" : \"module.exports =\"} {\n ...config,\n};\n`;\n\n return writeFileAsync(lintstagedPath, content, \"utf-8\");\n};\n\n/**\n * Adds husky hooks to .husky folder if they don't exist. Warns if they exist.\n */\n// eslint-disable-next-line sonarjs/cognitive-complexity\nconst writeHuskyFiles = async () => {\n const hasHusky = hasDependency(\"husky\") || hasDevDependency(\"husky\");\n\n if (!hasHusky) {\n console.warn(\"⚠️ husky is not installed;\");\n\n return;\n }\n\n const huskyFolderPath = join(projectPath, \".husky\");\n\n if (!existsSync(huskyFolderPath)) {\n await mkdirAsync(huskyFolderPath);\n }\n\n const commonShPath = join(huskyFolderPath, \"common.sh\");\n\n if (!checkIfFileExists(commonShPath)) {\n await writeFileAsync(\n commonShPath,\n `#!/bin/sh\n\ncommand_exists () {\n command -v \"$1\" >/dev/null 2>&1\n}\n\nIS_WINDOWS=\"false\"\n\nif [ \"$OSTYPE\" = \"cygwin\" ]; then\n IS_WINDOWS=\"true\"\nelif [ \"$OSTYPE\" = \"msys\" ]; then\n IS_WINDOWS=\"true\"\nelif [ \"$OSTYPE\" = \"win32\" ]; then\n IS_WINDOWS=\"true\"\nfi\n\n# Workaround for Windows 10, Git Bash and Yarn\nif [ \"$IS_WINDOWS\" = \"true\" ]; then\n if command_exists winpty && test -t 1; then\n exec < /dev/tty\n fi\nfi\n`,\n \"utf-8\",\n );\n }\n\n const preCommitPath = join(huskyFolderPath, \"pre-commit\");\n\n let hasPnpm = false;\n\n try {\n hasPnpm = getNearestConfigPath(\"pnpm-lock.yaml\") !== undefined;\n } catch {\n // ignore\n }\n\n if (!checkIfFileExists(preCommitPath)) {\n await writeFileAsync(\n preCommitPath,\n `#!/bin/sh\n\n. \"$(dirname \"$0\")/_/husky.sh\"\n. \"$(dirname \"$0\")/common.sh\"\n\n# The hook should exit with non-zero status after issuing\n# an appropriate message if it wants to stop the commit.\n\necho --------------------------------------------\necho Starting Git hook: pre-commit\n\n${hasPnpm ? \"pnpx\" : \"npx\"} lint-staged --verbose --concurrent false\n\necho Finished Git hook: pre-commit\necho --------------------------------------------\n`,\n \"utf-8\",\n );\n }\n\n const prepareCommitMessagePath = join(huskyFolderPath, \"prepare-commit-msg\");\n const hasCz = hasDependency(\"commitizen\") || hasDevDependency(\"commitizen\");\n\n if (hasCz && !checkIfFileExists(prepareCommitMessagePath)) {\n await writeFileAsync(\n prepareCommitMessagePath,\n `#!/bin/sh\n\n. \"$(dirname \"$0\")/_/husky.sh\"\n. \"$(dirname \"$0\")/common.sh\"\n\necho --------------------------------------------\necho Starting Git hook: prepare-commit-msg\n\n# if we hve a cmd that is running ${hasPnpm ? \"pnpx\" : \"npx\"} cz that means finalize and commit\nFILE=commit.cmd\nif test -f \"$FILE\"; then\n echo \"$FILE exists.\"\n rm commit.cmd\n exit 0;\nfi\n# if on Windows, spawn a cmd that will run ${hasPnpm ? \"pnpx\" : \"npx\"} cz\ncase \\`uname\\` in\n *CYGWIN*|*MINGW*|*MSYS* )\n # Only run commitizen if no commit message was already provided.\n if [ -z \"\\${2-}\" ]; then\n export CZ_TYPE=\"\\${CZ_TYPE:-fix}\"\n export CZ_MAX_HEADER_WIDTH=$COMMITLINT_MAX_WIDTH\n export CZ_MAX_LINE_WIDTH=$CZ_MAX_HEADER_WIDTH\n echo \"${hasPnpm ? \"pnpx\" : \"npx\"} cz && exit\" > commit.cmd\n start commit.cmd\n exit 1;\n fi\n\n exit 0;;\nesac\n\n# Only run commitizen if no commit message was already provided.\nif [ -z \"\\${2-}\" ]; then\n export CZ_TYPE=\"\\${CZ_TYPE:-fix}\"\n export CZ_MAX_HEADER_WIDTH=$COMMITLINT_MAX_WIDTH\n export CZ_MAX_LINE_WIDTH=$CZ_MAX_HEADER_WIDTH\n # By default git hooks are not interactive. exec < /dev/tty allows a users terminal to interact with commitizen.\n exec < /dev/tty && ${hasPnpm ? \"pnpx\" : \"npx\"} cz --hook || true\nfi\n\necho Finished Git hook: prepare-commit-msg\necho --------------------------------------------\n`,\n \"utf-8\",\n );\n }\n};\n\n// eslint-disable-next-line unicorn/prefer-top-level-await\n(async () => {\n try {\n await writeLintstagedRc();\n await writeHuskyFiles();\n\n console.log(\"😎 Everything went well, have fun!\");\n\n // eslint-disable-next-line unicorn/no-process-exit\n process.exit(0);\n } catch (error) {\n console.log(\"😬 something went wrong:\");\n console.error(error);\n\n // eslint-disable-next-line unicorn/no-process-exit\n process.exit(1);\n }\n})();\n"]}
@@ -0,0 +1,94 @@
1
+ import { a as a$1 } from './chunk-AMNQJNNY.mjs';
2
+ import { projectPath, packageIsTypeModule, hasDependency, hasDevDependency } from '@anolilab/package-json-utils';
3
+ import { writeFile, mkdir, existsSync } from 'fs';
4
+ import { join } from 'path';
5
+ import { promisify } from 'util';
6
+
7
+ process.env.CI&&process.exit(0);var a=promisify(writeFile),$=promisify(mkdir);console.log("Configuring @anolilab/lint-staged-config",projectPath,`
8
+ `);var e=".lintstagedrc",r=t=>existsSync(t)?(console.warn(`\u26A0\uFE0F ${t} already exists;`),!0):!1,_=()=>{for(let s of [e,`${e}.js`,`${e}.cjs`,`${e}.mjs`,`${e}.json`,`${e}.yaml`,`${e}.yml`,"lint-staged.config.js","lint-staged.config.mjs","lint-staged.config.cjs"])if(r(join(projectPath,s)))return Promise.resolve();let t=join(projectPath,".lintstagedrc.js");return a(t,`${packageIsTypeModule?'import config from "@anolilab/lint-staged-config"':'const config = require("@anolilab/lint-staged-config")'};
9
+
10
+ ${packageIsTypeModule?"export default":"module.exports ="} {
11
+ ...config,
12
+ };
13
+ `,"utf-8")},I=async()=>{if(!(hasDependency("husky")||hasDevDependency("husky"))){console.warn("\u26A0\uFE0F husky is not installed;");return}let i=join(projectPath,".husky");existsSync(i)||await $(i);let s=join(i,"common.sh");r(s)||await a(s,`#!/bin/sh
14
+
15
+ command_exists () {
16
+ command -v "$1" >/dev/null 2>&1
17
+ }
18
+
19
+ IS_WINDOWS="false"
20
+
21
+ if [ "$OSTYPE" = "cygwin" ]; then
22
+ IS_WINDOWS="true"
23
+ elif [ "$OSTYPE" = "msys" ]; then
24
+ IS_WINDOWS="true"
25
+ elif [ "$OSTYPE" = "win32" ]; then
26
+ IS_WINDOWS="true"
27
+ fi
28
+
29
+ # Workaround for Windows 10, Git Bash and Yarn
30
+ if [ "$IS_WINDOWS" = "true" ]; then
31
+ if command_exists winpty && test -t 1; then
32
+ exec < /dev/tty
33
+ fi
34
+ fi
35
+ `,"utf-8");let m=join(i,"pre-commit"),o=!1;try{o=a$1("pnpm-lock.yaml")!==void 0;}catch{}r(m)||await a(m,`#!/bin/sh
36
+
37
+ . "$(dirname "$0")/_/husky.sh"
38
+ . "$(dirname "$0")/common.sh"
39
+
40
+ # The hook should exit with non-zero status after issuing
41
+ # an appropriate message if it wants to stop the commit.
42
+
43
+ echo --------------------------------------------
44
+ echo Starting Git hook: pre-commit
45
+
46
+ ${o?"pnpx":"npx"} lint-staged --verbose --concurrent false
47
+
48
+ echo Finished Git hook: pre-commit
49
+ echo --------------------------------------------
50
+ `,"utf-8");let h=join(i,"prepare-commit-msg");(hasDependency("commitizen")||hasDevDependency("commitizen"))&&!r(h)&&await a(h,`#!/bin/sh
51
+
52
+ . "$(dirname "$0")/_/husky.sh"
53
+ . "$(dirname "$0")/common.sh"
54
+
55
+ echo --------------------------------------------
56
+ echo Starting Git hook: prepare-commit-msg
57
+
58
+ # if we hve a cmd that is running ${o?"pnpx":"npx"} cz that means finalize and commit
59
+ FILE=commit.cmd
60
+ if test -f "$FILE"; then
61
+ echo "$FILE exists."
62
+ rm commit.cmd
63
+ exit 0;
64
+ fi
65
+ # if on Windows, spawn a cmd that will run ${o?"pnpx":"npx"} cz
66
+ case \`uname\` in
67
+ *CYGWIN*|*MINGW*|*MSYS* )
68
+ # Only run commitizen if no commit message was already provided.
69
+ if [ -z "\${2-}" ]; then
70
+ export CZ_TYPE="\${CZ_TYPE:-fix}"
71
+ export CZ_MAX_HEADER_WIDTH=$COMMITLINT_MAX_WIDTH
72
+ export CZ_MAX_LINE_WIDTH=$CZ_MAX_HEADER_WIDTH
73
+ echo "${o?"pnpx":"npx"} cz && exit" > commit.cmd
74
+ start commit.cmd
75
+ exit 1;
76
+ fi
77
+
78
+ exit 0;;
79
+ esac
80
+
81
+ # Only run commitizen if no commit message was already provided.
82
+ if [ -z "\${2-}" ]; then
83
+ export CZ_TYPE="\${CZ_TYPE:-fix}"
84
+ export CZ_MAX_HEADER_WIDTH=$COMMITLINT_MAX_WIDTH
85
+ export CZ_MAX_LINE_WIDTH=$CZ_MAX_HEADER_WIDTH
86
+ # By default git hooks are not interactive. exec < /dev/tty allows a users terminal to interact with commitizen.
87
+ exec < /dev/tty && ${o?"pnpx":"npx"} cz --hook || true
88
+ fi
89
+
90
+ echo Finished Git hook: prepare-commit-msg
91
+ echo --------------------------------------------
92
+ `,"utf-8");};(async()=>{try{await _(),await I(),console.log("\u{1F60E} Everything went well, have fun!"),process.exit(0);}catch(t){console.log("\u{1F62C} something went wrong:"),console.error(t),process.exit(1);}})();
93
+ //# sourceMappingURL=out.js.map
94
+ //# sourceMappingURL=postinstall.mjs.map