@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/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":"yCAAA,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,44 @@
1
+ {
2
+ "name": "@anoliab/lint-staged-config-group",
3
+ "version": "0.0.0",
4
+ "description": "Shareable Lint-Staged Config for any project.",
5
+ "license": "MIT",
6
+ "exports": {
7
+ "./group/eslint": {
8
+ "types": "./../dist/groups/eslint/index.d.ts",
9
+ "require": "./../dist/groups/eslint/index.js",
10
+ "import": "./../dist/groups/eslint/index.mjs"
11
+ },
12
+ "./group/json": {
13
+ "types": "./../dist/groups/json.d.ts",
14
+ "require": "./../dist/groups/json.js",
15
+ "import": "./../dist/groups/json.mjs"
16
+ },
17
+ "./group/markdown": {
18
+ "types": "./../dist/groups/markdown.d.ts",
19
+ "require": "./../dist/groups/markdown.js",
20
+ "import": "./../dist/groups/markdown.mjs"
21
+ },
22
+ "./group/secretlint": {
23
+ "types": "./../dist/groups/secretlint.d.ts",
24
+ "require": "./../dist/groups/secretlint.js",
25
+ "import": "./../dist/groups/secretlint.mjs"
26
+ },
27
+ "./group/stylesheets": {
28
+ "types": "./../dist/groups/stylesheets.d.ts",
29
+ "require": "./../dist/groups/stylesheets.js",
30
+ "import": "./../dist/groups/stylesheets.mjs"
31
+ },
32
+ "./group/tests": {
33
+ "types": "./../dist/groups/tests.d.ts",
34
+ "require": "./../dist/groups/tests.js",
35
+ "import": "./../dist/groups/tests.mjs"
36
+ },
37
+ "./group/typescript": {
38
+ "types": "./../dist/groups/typescript.d.ts",
39
+ "require": "./../dist/groups/typescript.js",
40
+ "import": "./../dist/groups/typescript.mjs"
41
+ },
42
+ "./package.json": "./package.json"
43
+ }
44
+ }
package/package.json ADDED
@@ -0,0 +1,145 @@
1
+ {
2
+ "name": "@anolilab/lint-staged-config",
3
+ "version": "1.0.0",
4
+ "description": "Shareable Lint-Staged Config for any project.",
5
+ "keywords": [
6
+ "anolilab",
7
+ "lint",
8
+ "lint-staged",
9
+ "config",
10
+ "lint-staged-config"
11
+ ],
12
+ "homepage": "https://anolilab.com/nodejs/packages/lint-staged-config",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/anolilab/javascript-style-guide.git",
16
+ "directory": "packages/lint-staged-config"
17
+ },
18
+ "funding": [
19
+ {
20
+ "type": "github",
21
+ "url": "https://github.com/sponsors/prisis"
22
+ },
23
+ {
24
+ "type": "consulting",
25
+ "url": "https://anolilab.com/support"
26
+ }
27
+ ],
28
+ "license": "MIT",
29
+ "author": {
30
+ "name": "Daniel Bannert",
31
+ "email": "d.bannert@anolilab.de"
32
+ },
33
+ "sideEffects": false,
34
+ "exports": {
35
+ ".": {
36
+ "types": "./dist/index.d.ts",
37
+ "require": "./dist/index.js",
38
+ "import": "./dist/index.mjs"
39
+ },
40
+ "./group/eslint": {
41
+ "types": "./dist/groups/eslint/index.d.ts",
42
+ "require": "./dist/groups/eslint/index.js",
43
+ "import": "./dist/groups/eslint/index.mjs"
44
+ },
45
+ "./group/json": {
46
+ "types": "./dist/groups/json.d.ts",
47
+ "require": "./dist/groups/json.js",
48
+ "import": "./dist/groups/json.mjs"
49
+ },
50
+ "./group/markdown": {
51
+ "types": "./dist/groups/markdown.d.ts",
52
+ "require": "./dist/groups/markdown.js",
53
+ "import": "./dist/groups/markdown.mjs"
54
+ },
55
+ "./group/secretlint": {
56
+ "types": "./dist/groups/secretlint.d.ts",
57
+ "require": "./dist/groups/secretlint.js",
58
+ "import": "./dist/groups/secretlint.mjs"
59
+ },
60
+ "./group/stylesheets": {
61
+ "types": "./dist/groups/stylesheets.d.ts",
62
+ "require": "./dist/groups/stylesheets.js",
63
+ "import": "./dist/groups/stylesheets.mjs"
64
+ },
65
+ "./group/tests": {
66
+ "types": "./dist/groups/tests.d.ts",
67
+ "require": "./dist/groups/tests.js",
68
+ "import": "./dist/groups/tests.mjs"
69
+ },
70
+ "./group/typescript": {
71
+ "types": "./dist/groups/typescript.d.ts",
72
+ "require": "./dist/groups/typescript.js",
73
+ "import": "./dist/groups/typescript.mjs"
74
+ },
75
+ "./package.json": "./package.json"
76
+ },
77
+ "main": "dist/index.js",
78
+ "module": "dist/index.mjs",
79
+ "types": "dist/index.d.ts",
80
+ "files": [
81
+ "dist",
82
+ "group",
83
+ "README.md",
84
+ "CHANGELOG.md",
85
+ "LICENSE.md"
86
+ ],
87
+ "scripts": {
88
+ "build": "cross-env NODE_ENV=development tsup",
89
+ "build:prod": "cross-env NODE_ENV=production tsup",
90
+ "clean": "rimraf node_modules dist",
91
+ "postinstall": "node ./skip.js || node ./dist/postinstall.js",
92
+ "test": "vitest --config ./vitest.config.ts",
93
+ "test:coverage": "vitest --config ./vitest.config.ts --run --coverage"
94
+ },
95
+ "dependencies": {
96
+ "@anolilab/package-json-utils": "1.5.1",
97
+ "cross-env": "^7.0.3",
98
+ "find-up": "5.0.0",
99
+ "shell-quote": "^1.8.1"
100
+ },
101
+ "devDependencies": {
102
+ "@total-typescript/ts-reset": "^0.4.2",
103
+ "@anolilab/semantic-release-preset": "4.0.3",
104
+ "@types/lint-staged": "^13.2.0",
105
+ "@types/shell-quote": "^1.7.1",
106
+ "@vitest/coverage-v8": "^0.32.2",
107
+ "husky": "^8.0.3",
108
+ "lint-staged": "^13.2.3",
109
+ "semantic-release": "^21.0.5",
110
+ "tsup": "^7.1.0",
111
+ "type-fest": "^3.12.0",
112
+ "typescript": "5.1.5",
113
+ "vitest": "^0.32.2"
114
+ },
115
+ "peerDependencies": {
116
+ "husky": "^8.x",
117
+ "lint-staged": "^13.x"
118
+ },
119
+ "optionalDependencies": {
120
+ "eslint": "^8.43.0",
121
+ "jest": "^29.5.0",
122
+ "prettier": "^2.8.8",
123
+ "secretlint": "^6.2.3",
124
+ "stylelint": "^15.9.0",
125
+ "vite": "^4.3.9"
126
+ },
127
+ "engines": {
128
+ "node": ">=16"
129
+ },
130
+ "publishConfig": {
131
+ "access": "public",
132
+ "provenance": true
133
+ },
134
+ "sources": [
135
+ "src/index.ts",
136
+ "src/postinstall.ts",
137
+ "src/groups/eslint/index.ts",
138
+ "src/groups/json.ts",
139
+ "src/groups/markdown.ts",
140
+ "src/groups/secretlint.ts",
141
+ "src/groups/stylesheets.ts",
142
+ "src/groups/tests.ts",
143
+ "src/groups/typescript.ts"
144
+ ]
145
+ }