@rootreeweb/linting 4.2.1

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 (82) hide show
  1. package/README.md +100 -0
  2. package/dist/esm/eslint/astro.d.ts +3 -0
  3. package/dist/esm/eslint/astro.d.ts.map +1 -0
  4. package/dist/esm/eslint/astro.js +29 -0
  5. package/dist/esm/eslint/astro.js.map +1 -0
  6. package/dist/esm/eslint/basic.d.ts +3 -0
  7. package/dist/esm/eslint/basic.d.ts.map +1 -0
  8. package/dist/esm/eslint/basic.js +155 -0
  9. package/dist/esm/eslint/basic.js.map +1 -0
  10. package/dist/esm/eslint/index.d.ts +15 -0
  11. package/dist/esm/eslint/index.d.ts.map +1 -0
  12. package/dist/esm/eslint/index.js +23 -0
  13. package/dist/esm/eslint/index.js.map +1 -0
  14. package/dist/esm/eslint/jsdoc.d.ts +3 -0
  15. package/dist/esm/eslint/jsdoc.d.ts.map +1 -0
  16. package/dist/esm/eslint/jsdoc.js +33 -0
  17. package/dist/esm/eslint/jsdoc.js.map +1 -0
  18. package/dist/esm/eslint/next.d.ts +3 -0
  19. package/dist/esm/eslint/next.d.ts.map +1 -0
  20. package/dist/esm/eslint/next.js +15 -0
  21. package/dist/esm/eslint/next.js.map +1 -0
  22. package/dist/esm/eslint/patches/index.d.ts +10 -0
  23. package/dist/esm/eslint/patches/index.d.ts.map +1 -0
  24. package/dist/esm/eslint/patches/index.js +16 -0
  25. package/dist/esm/eslint/patches/index.js.map +1 -0
  26. package/dist/esm/eslint/patches/sonarjs.d.ts +14 -0
  27. package/dist/esm/eslint/patches/sonarjs.d.ts.map +1 -0
  28. package/dist/esm/eslint/patches/sonarjs.js +83 -0
  29. package/dist/esm/eslint/patches/sonarjs.js.map +1 -0
  30. package/dist/esm/eslint/patches/types.d.ts +30 -0
  31. package/dist/esm/eslint/patches/types.d.ts.map +1 -0
  32. package/dist/esm/eslint/patches/types.js +2 -0
  33. package/dist/esm/eslint/patches/types.js.map +1 -0
  34. package/dist/esm/eslint/plugins.d.ts +3 -0
  35. package/dist/esm/eslint/plugins.d.ts.map +1 -0
  36. package/dist/esm/eslint/plugins.js +3 -0
  37. package/dist/esm/eslint/plugins.js.map +1 -0
  38. package/dist/esm/eslint/react.d.ts +3 -0
  39. package/dist/esm/eslint/react.d.ts.map +1 -0
  40. package/dist/esm/eslint/react.js +59 -0
  41. package/dist/esm/eslint/react.js.map +1 -0
  42. package/dist/esm/eslint/tailwind.d.ts +7 -0
  43. package/dist/esm/eslint/tailwind.d.ts.map +1 -0
  44. package/dist/esm/eslint/tailwind.js +69 -0
  45. package/dist/esm/eslint/tailwind.js.map +1 -0
  46. package/dist/esm/eslint/turbo.d.ts +3 -0
  47. package/dist/esm/eslint/turbo.d.ts.map +1 -0
  48. package/dist/esm/eslint/turbo.js +5 -0
  49. package/dist/esm/eslint/turbo.js.map +1 -0
  50. package/dist/esm/eslint/utils.d.ts +11 -0
  51. package/dist/esm/eslint/utils.d.ts.map +1 -0
  52. package/dist/esm/eslint/utils.js +32 -0
  53. package/dist/esm/eslint/utils.js.map +1 -0
  54. package/dist/esm/index.d.ts +6 -0
  55. package/dist/esm/index.d.ts.map +1 -0
  56. package/dist/esm/index.js +6 -0
  57. package/dist/esm/index.js.map +1 -0
  58. package/dist/esm/knip.d.ts +20 -0
  59. package/dist/esm/knip.d.ts.map +1 -0
  60. package/dist/esm/knip.js +25 -0
  61. package/dist/esm/knip.js.map +1 -0
  62. package/dist/esm/lintStaged.d.ts +32 -0
  63. package/dist/esm/lintStaged.d.ts.map +1 -0
  64. package/dist/esm/lintStaged.js +88 -0
  65. package/dist/esm/lintStaged.js.map +1 -0
  66. package/dist/esm/prettier.d.ts +28 -0
  67. package/dist/esm/prettier.d.ts.map +1 -0
  68. package/dist/esm/prettier.js +62 -0
  69. package/dist/esm/prettier.js.map +1 -0
  70. package/dist/esm/stylelint/basic.d.ts +5 -0
  71. package/dist/esm/stylelint/basic.d.ts.map +1 -0
  72. package/dist/esm/stylelint/basic.js +17 -0
  73. package/dist/esm/stylelint/basic.js.map +1 -0
  74. package/dist/esm/stylelint/index.d.ts +3 -0
  75. package/dist/esm/stylelint/index.d.ts.map +1 -0
  76. package/dist/esm/stylelint/index.js +3 -0
  77. package/dist/esm/stylelint/index.js.map +1 -0
  78. package/dist/esm/stylelint/tailwind.d.ts +3 -0
  79. package/dist/esm/stylelint/tailwind.d.ts.map +1 -0
  80. package/dist/esm/stylelint/tailwind.js +37 -0
  81. package/dist/esm/stylelint/tailwind.js.map +1 -0
  82. package/package.json +107 -0
@@ -0,0 +1,5 @@
1
+ import type { Config } from "stylelint";
2
+ export declare const stylelint: Config & {
3
+ extends: string[];
4
+ };
5
+ //# sourceMappingURL=basic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../src/stylelint/basic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGxC,eAAO,MAAM,SAAS,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAcnD,CAAC"}
@@ -0,0 +1,17 @@
1
+ // The extension of Config is here so that configurations derived from this one know that extends is defined.
2
+ export const stylelint = {
3
+ extends: ["stylelint-config-standard-scss", "stylelint-prettier/recommended"],
4
+ rules: {
5
+ "at-rule-no-deprecated": null,
6
+ "at-rule-no-unknown": null,
7
+ "declaration-no-important": [true, { severity: "warning" }],
8
+ "no-descending-specificity": [
9
+ true,
10
+ { ignore: ["selectors-within-list"], severity: "warning" },
11
+ ],
12
+ "scss/at-rule-no-unknown": [true, { severity: "warning" }],
13
+ "scss/operator-no-newline-after": null,
14
+ "selector-class-pattern": "[a-z][\\d\\w]{3,}",
15
+ },
16
+ };
17
+ //# sourceMappingURL=basic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/stylelint/basic.ts"],"names":[],"mappings":"AAEA,6GAA6G;AAC7G,MAAM,CAAC,MAAM,SAAS,GAAmC;IACxD,OAAO,EAAE,CAAC,gCAAgC,EAAE,gCAAgC,CAAC;IAC7E,KAAK,EAAE;QACN,uBAAuB,EAAE,IAAI;QAC7B,oBAAoB,EAAE,IAAI;QAC1B,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC3D,2BAA2B,EAAE;YAC5B,IAAI;YACJ,EAAE,MAAM,EAAE,CAAC,uBAAuB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE;SAC1D;QACD,yBAAyB,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC1D,gCAAgC,EAAE,IAAI;QACtC,wBAAwB,EAAE,mBAAmB;KAC7C;CACD,CAAC","sourcesContent":["import type { Config } from \"stylelint\";\n\n// The extension of Config is here so that configurations derived from this one know that extends is defined.\nexport const stylelint: Config & { extends: string[] } = {\n\textends: [\"stylelint-config-standard-scss\", \"stylelint-prettier/recommended\"],\n\trules: {\n\t\t\"at-rule-no-deprecated\": null,\n\t\t\"at-rule-no-unknown\": null,\n\t\t\"declaration-no-important\": [true, { severity: \"warning\" }],\n\t\t\"no-descending-specificity\": [\n\t\t\ttrue,\n\t\t\t{ ignore: [\"selectors-within-list\"], severity: \"warning\" },\n\t\t],\n\t\t\"scss/at-rule-no-unknown\": [true, { severity: \"warning\" }],\n\t\t\"scss/operator-no-newline-after\": null,\n\t\t\"selector-class-pattern\": \"[a-z][\\\\d\\\\w]{3,}\",\n\t},\n};\n"]}
@@ -0,0 +1,3 @@
1
+ export * from "./basic.js";
2
+ export * from "./tailwind.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/stylelint/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./basic.js";
2
+ export * from "./tailwind.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/stylelint/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC","sourcesContent":["export * from \"./basic.js\";\nexport * from \"./tailwind.js\";\n"]}
@@ -0,0 +1,3 @@
1
+ import type { Config } from "stylelint";
2
+ export declare const stylelintTailwind: Config;
3
+ //# sourceMappingURL=tailwind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwind.d.ts","sourceRoot":"","sources":["../../../src/stylelint/tailwind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAIxC,eAAO,MAAM,iBAAiB,EAAE,MAkC/B,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { stylelint } from "./basic.js";
2
+ export const stylelintTailwind = {
3
+ ...stylelint,
4
+ rules: {
5
+ ...stylelint.rules,
6
+ "scss/at-rule-no-unknown": [
7
+ true,
8
+ {
9
+ ignoreAtRules: [
10
+ /** Tailwindcss v4 */
11
+ "theme",
12
+ "source",
13
+ "utility",
14
+ "variant",
15
+ "custom-variant",
16
+ "plugin",
17
+ /** Tailwindcss v3 */
18
+ "tailwind",
19
+ "apply",
20
+ "layer",
21
+ "config",
22
+ /** Tailwindcss v1, v2 */
23
+ "variants",
24
+ "responsive",
25
+ "screen",
26
+ ],
27
+ },
28
+ ],
29
+ "scss/function-no-unknown": [
30
+ true,
31
+ {
32
+ ignoreFunctions: ["theme"],
33
+ },
34
+ ],
35
+ },
36
+ };
37
+ //# sourceMappingURL=tailwind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwind.js","sourceRoot":"","sources":["../../../src/stylelint/tailwind.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAW;IACxC,GAAG,SAAS;IACZ,KAAK,EAAE;QACN,GAAG,SAAS,CAAC,KAAK;QAClB,yBAAyB,EAAE;YAC1B,IAAI;YACJ;gBACC,aAAa,EAAE;oBACd,qBAAqB;oBACrB,OAAO;oBACP,QAAQ;oBACR,SAAS;oBACT,SAAS;oBACT,gBAAgB;oBAChB,QAAQ;oBACR,qBAAqB;oBACrB,UAAU;oBACV,OAAO;oBACP,OAAO;oBACP,QAAQ;oBACR,yBAAyB;oBACzB,UAAU;oBACV,YAAY;oBACZ,QAAQ;iBACR;aACD;SACD;QACD,0BAA0B,EAAE;YAC3B,IAAI;YACJ;gBACC,eAAe,EAAE,CAAC,OAAO,CAAC;aAC1B;SACD;KACD;CACD,CAAC","sourcesContent":["import type { Config } from \"stylelint\";\n\nimport { stylelint } from \"./basic.js\";\n\nexport const stylelintTailwind: Config = {\n\t...stylelint,\n\trules: {\n\t\t...stylelint.rules,\n\t\t\"scss/at-rule-no-unknown\": [\n\t\t\ttrue,\n\t\t\t{\n\t\t\t\tignoreAtRules: [\n\t\t\t\t\t/** Tailwindcss v4 */\n\t\t\t\t\t\"theme\",\n\t\t\t\t\t\"source\",\n\t\t\t\t\t\"utility\",\n\t\t\t\t\t\"variant\",\n\t\t\t\t\t\"custom-variant\",\n\t\t\t\t\t\"plugin\",\n\t\t\t\t\t/** Tailwindcss v3 */\n\t\t\t\t\t\"tailwind\",\n\t\t\t\t\t\"apply\",\n\t\t\t\t\t\"layer\",\n\t\t\t\t\t\"config\",\n\t\t\t\t\t/** Tailwindcss v1, v2 */\n\t\t\t\t\t\"variants\",\n\t\t\t\t\t\"responsive\",\n\t\t\t\t\t\"screen\",\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t\t\"scss/function-no-unknown\": [\n\t\t\ttrue,\n\t\t\t{\n\t\t\t\tignoreFunctions: [\"theme\"],\n\t\t\t},\n\t\t],\n\t},\n};\n"]}
package/package.json ADDED
@@ -0,0 +1,107 @@
1
+ {
2
+ "name": "@rootreeweb/linting",
3
+ "version": "4.2.1",
4
+ "description": "Shared configurations for ESLint and Stylelint",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/rootreeweb/linting.git"
8
+ },
9
+ "license": "",
10
+ "author": {
11
+ "name": "Rootree Web",
12
+ "email": "web@rootree.ca"
13
+ },
14
+ "sideEffects": false,
15
+ "type": "module",
16
+ "exports": {
17
+ ".": {
18
+ "import": {
19
+ "types": "./dist/esm/index.d.ts",
20
+ "default": "./dist/esm/index.js"
21
+ }
22
+ }
23
+ },
24
+ "types": "./dist/esm/index.d.ts",
25
+ "files": [
26
+ "dist/**/*"
27
+ ],
28
+ "scripts": {
29
+ "build": "yarn run clean && yarn run build:esm",
30
+ "build:esm": "tsgo -p ./configs/tsconfig.esm.json",
31
+ "check": "tsgo --noEmit",
32
+ "clean": "del-cli ./dist",
33
+ "format": "prettier . --write --cache",
34
+ "lint": "eslint --fix --cache",
35
+ "prepare": "husky",
36
+ "release": "yarn dlx -p @rootreeweb/rt-node-lib release ${0}",
37
+ "test": "vitest run --coverage",
38
+ "test:watch": "vitest --coverage --ui"
39
+ },
40
+ "dependencies": {
41
+ "@eslint/js": "^10.0.1",
42
+ "@ianvs/prettier-plugin-sort-imports": "^4.7.1",
43
+ "@next/eslint-plugin-next": "^16.2.6",
44
+ "@rootreeweb/js-lib": "^4.0.8",
45
+ "@tanstack/eslint-plugin-query": "^5.100.11",
46
+ "@vitest/eslint-plugin": "^1.6.17",
47
+ "eslint-import-resolver-typescript": "^4.4.4",
48
+ "eslint-plugin-astro": "^1.7.0",
49
+ "eslint-plugin-import": "^2.32.0",
50
+ "eslint-plugin-jsdoc": "^62.9.0",
51
+ "eslint-plugin-jsx-a11y": "^6.10.2",
52
+ "eslint-plugin-perfectionist": "^5.9.0",
53
+ "eslint-plugin-promise": "^7.3.0",
54
+ "eslint-plugin-react": "^7.37.5",
55
+ "eslint-plugin-react-compiler": "19.1.0-rc.2",
56
+ "eslint-plugin-react-hooks": "^7.1.1",
57
+ "eslint-plugin-react-you-might-not-need-an-effect": "^0.10.1",
58
+ "eslint-plugin-security": "^4.0.0",
59
+ "eslint-plugin-sonarjs": "^4.0.3",
60
+ "eslint-plugin-tailwindcss": "^4.0.0-alpha.1",
61
+ "eslint-plugin-testing-library": "^7.16.2",
62
+ "eslint-plugin-turbo": "^2.9.14",
63
+ "globals": "^17.6.0",
64
+ "postcss": "^8.5.15",
65
+ "prettier-plugin-astro": "^0.14.1",
66
+ "prettier-plugin-jsdoc": "^1.8.0",
67
+ "prettier-plugin-packagejson": "^3.0.2",
68
+ "prettier-plugin-tailwindcss": "^0.8.0",
69
+ "stylelint-config-standard": "40.0.0",
70
+ "stylelint-config-standard-scss": "17.0.0",
71
+ "stylelint-config-tailwindcss": "1.0.1",
72
+ "stylelint-prettier": "5.0.3",
73
+ "tailwindcss": "^4.3.0",
74
+ "typescript-eslint": "^8.59.4"
75
+ },
76
+ "devDependencies": {
77
+ "@rootreeweb/tsconfigs": "3.3.8",
78
+ "@types/eslint-plugin-jsx-a11y": "^6.10.1",
79
+ "@types/eslint-plugin-security": "^3.0.1",
80
+ "@types/eslint-plugin-tailwindcss": "^3.17.0",
81
+ "@types/node": "^25.9.0",
82
+ "@types/react": "^19.2.14",
83
+ "@typescript/native-preview": "^7.0.0-dev.20260515.1",
84
+ "@vitest/coverage-v8": "^4.1.6",
85
+ "@vitest/ui": "4.1.6",
86
+ "del-cli": "^7.0.0",
87
+ "eslint": "^10.4.0",
88
+ "husky": "^9.1.7",
89
+ "knip": "^6.14.1",
90
+ "prettier": "~3.8.3",
91
+ "react": "^19.2.6",
92
+ "stylelint": "~17.11.1",
93
+ "turbo": "~2.9.14",
94
+ "typescript": "^6.0.3",
95
+ "vitest": "^4.1.6"
96
+ },
97
+ "peerDependencies": {
98
+ "eslint": "*",
99
+ "husky": "~9.1.7",
100
+ "lint-staged": "~17.0.0",
101
+ "prettier": "~3.8.0"
102
+ },
103
+ "optionalDependencies": {
104
+ "stylelint": "~17.11.1",
105
+ "turbo": "~2.9.14"
106
+ }
107
+ }