@venizia/dev-configs 0.2.1 → 0.3.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 (93) hide show
  1. package/README.md +167 -33
  2. package/dist/{compile.d.ts → compilers/bun.d.ts} +1 -1
  3. package/dist/compilers/bun.d.ts.map +1 -0
  4. package/dist/{compile.js → compilers/bun.js} +8 -9
  5. package/dist/compilers/bun.js.map +1 -0
  6. package/dist/compilers/index.d.ts +2 -0
  7. package/dist/compilers/index.d.ts.map +1 -0
  8. package/dist/compilers/index.js +18 -0
  9. package/dist/compilers/index.js.map +1 -0
  10. package/dist/formatters/index.d.ts +3 -0
  11. package/dist/formatters/index.d.ts.map +1 -0
  12. package/dist/formatters/index.js +19 -0
  13. package/dist/formatters/index.js.map +1 -0
  14. package/dist/formatters/oxfmt.d.ts +14 -0
  15. package/dist/formatters/oxfmt.d.ts.map +1 -0
  16. package/dist/formatters/oxfmt.js +24 -0
  17. package/dist/formatters/oxfmt.js.map +1 -0
  18. package/dist/formatters/prettier.d.ts +3 -0
  19. package/dist/formatters/prettier.d.ts.map +1 -0
  20. package/dist/{prettier.js → formatters/prettier.js} +2 -2
  21. package/dist/formatters/prettier.js.map +1 -0
  22. package/dist/index.d.ts +3 -4
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +3 -4
  25. package/dist/index.js.map +1 -1
  26. package/dist/linters/eslint.d.ts +20 -0
  27. package/dist/linters/eslint.d.ts.map +1 -0
  28. package/dist/linters/eslint.js +152 -0
  29. package/dist/linters/eslint.js.map +1 -0
  30. package/dist/linters/index.d.ts +5 -0
  31. package/dist/linters/index.d.ts.map +1 -0
  32. package/dist/linters/index.js +21 -0
  33. package/dist/linters/index.js.map +1 -0
  34. package/dist/linters/oxlint.d.ts +19 -0
  35. package/dist/linters/oxlint.d.ts.map +1 -0
  36. package/dist/linters/oxlint.js +166 -0
  37. package/dist/linters/oxlint.js.map +1 -0
  38. package/dist/linters/react.d.ts +58 -0
  39. package/dist/linters/react.d.ts.map +1 -0
  40. package/dist/linters/react.js +177 -0
  41. package/dist/linters/react.js.map +1 -0
  42. package/dist/linters/rules/common.d.ts +6 -0
  43. package/dist/linters/rules/common.d.ts.map +1 -0
  44. package/dist/linters/rules/common.js +3 -0
  45. package/dist/linters/rules/common.js.map +1 -0
  46. package/dist/linters/rules/eqeqeq.rule.d.ts +10 -0
  47. package/dist/linters/rules/eqeqeq.rule.d.ts.map +1 -0
  48. package/dist/linters/rules/eqeqeq.rule.js +13 -0
  49. package/dist/linters/rules/eqeqeq.rule.js.map +1 -0
  50. package/dist/linters/rules/index.d.ts +9 -0
  51. package/dist/linters/rules/index.d.ts.map +1 -0
  52. package/dist/linters/rules/index.js +25 -0
  53. package/dist/linters/rules/index.js.map +1 -0
  54. package/dist/linters/rules/naming-convention.rule.d.ts +20 -0
  55. package/dist/linters/rules/naming-convention.rule.d.ts.map +1 -0
  56. package/dist/linters/rules/naming-convention.rule.js +64 -0
  57. package/dist/linters/rules/naming-convention.rule.js.map +1 -0
  58. package/dist/linters/rules/no-restricted-imports.rule.d.ts +17 -0
  59. package/dist/linters/rules/no-restricted-imports.rule.d.ts.map +1 -0
  60. package/dist/linters/rules/no-restricted-imports.rule.js +19 -0
  61. package/dist/linters/rules/no-restricted-imports.rule.js.map +1 -0
  62. package/dist/linters/rules/no-restricted-properties.rule.d.ts +22 -0
  63. package/dist/linters/rules/no-restricted-properties.rule.d.ts.map +1 -0
  64. package/dist/linters/rules/no-restricted-properties.rule.js +24 -0
  65. package/dist/linters/rules/no-restricted-properties.rule.js.map +1 -0
  66. package/dist/linters/rules/no-unused-vars.rule.d.ts +12 -0
  67. package/dist/linters/rules/no-unused-vars.rule.d.ts.map +1 -0
  68. package/dist/linters/rules/no-unused-vars.rule.js +13 -0
  69. package/dist/linters/rules/no-unused-vars.rule.js.map +1 -0
  70. package/dist/linters/rules/prefer-nullish-coalescing.rule.d.ts +12 -0
  71. package/dist/linters/rules/prefer-nullish-coalescing.rule.d.ts.map +1 -0
  72. package/dist/linters/rules/prefer-nullish-coalescing.rule.js +13 -0
  73. package/dist/linters/rules/prefer-nullish-coalescing.rule.js.map +1 -0
  74. package/dist/linters/rules/switch-case-braces.rule.d.ts +10 -0
  75. package/dist/linters/rules/switch-case-braces.rule.d.ts.map +1 -0
  76. package/dist/linters/rules/switch-case-braces.rule.js +13 -0
  77. package/dist/linters/rules/switch-case-braces.rule.js.map +1 -0
  78. package/package.json +46 -16
  79. package/{tsconfig → src/tsconfig}/tsconfig.base.json +2 -2
  80. package/{tsconfig → src/tsconfig}/tsconfig.common.json +1 -1
  81. package/dist/compile.d.ts.map +0 -1
  82. package/dist/compile.js.map +0 -1
  83. package/dist/eslint.d.ts +0 -3
  84. package/dist/eslint.d.ts.map +0 -1
  85. package/dist/eslint.js +0 -25
  86. package/dist/eslint.js.map +0 -1
  87. package/dist/prettier.d.ts +0 -3
  88. package/dist/prettier.d.ts.map +0 -1
  89. package/dist/prettier.js.map +0 -1
  90. package/dist/react.d.ts +0 -32
  91. package/dist/react.d.ts.map +0 -1
  92. package/dist/react.js +0 -111
  93. package/dist/react.js.map +0 -1
package/dist/react.d.ts DELETED
@@ -1,32 +0,0 @@
1
- import type { ESLint, Linter } from "eslint";
2
- /** Without `configs`: each plugin types its presets its own way, and only the rules are used here. */
3
- type TRulesPlugin = Omit<ESLint.Plugin, "configs">;
4
- export interface IReactEslintPlugins {
5
- react: TRulesPlugin;
6
- reactHooks: TRulesPlugin;
7
- jsxA11y: TRulesPlugin;
8
- }
9
- /**
10
- * The base preset plus what a React frontend needs on top: the React, hooks and accessibility rules,
11
- * and the base rules a UI relaxes on purpose. The plugins come in as options, so a backend that
12
- * never calls this installs none of them.
13
- *
14
- * ```js
15
- * import react from 'eslint-plugin-react';
16
- * import reactHooks from 'eslint-plugin-react-hooks';
17
- * import jsxA11y from 'eslint-plugin-jsx-a11y';
18
- *
19
- * export default ReactEslintConfigs.create({ plugins: { react, reactHooks, jsxA11y } });
20
- * ```
21
- *
22
- * `reactVersion` defaults to `detect`. Under ESLint 10, eslint-plugin-react 7 cannot detect it and
23
- * aborts, so pass the version there (`reactVersion: '19.2'`).
24
- */
25
- export declare class ReactEslintConfigs {
26
- static create(opts: {
27
- plugins: IReactEslintPlugins;
28
- reactVersion?: string;
29
- }): Linter.Config[];
30
- }
31
- export {};
32
- //# sourceMappingURL=react.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAG7C,sGAAsG;AACtG,KAAK,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,YAAY,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;CACvB;AAID;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,mBAAmB,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,MAAM,CAAC,MAAM,EAAE;CA+FpB"}
package/dist/react.js DELETED
@@ -1,111 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReactEslintConfigs = void 0;
4
- const eslint_1 = require("./eslint");
5
- const NAMING_CONVENTION = "@typescript-eslint/naming-convention";
6
- /**
7
- * The base preset plus what a React frontend needs on top: the React, hooks and accessibility rules,
8
- * and the base rules a UI relaxes on purpose. The plugins come in as options, so a backend that
9
- * never calls this installs none of them.
10
- *
11
- * ```js
12
- * import react from 'eslint-plugin-react';
13
- * import reactHooks from 'eslint-plugin-react-hooks';
14
- * import jsxA11y from 'eslint-plugin-jsx-a11y';
15
- *
16
- * export default ReactEslintConfigs.create({ plugins: { react, reactHooks, jsxA11y } });
17
- * ```
18
- *
19
- * `reactVersion` defaults to `detect`. Under ESLint 10, eslint-plugin-react 7 cannot detect it and
20
- * aborts, so pass the version there (`reactVersion: '19.2'`).
21
- */
22
- class ReactEslintConfigs {
23
- static create(opts) {
24
- const { react, reactHooks, jsxA11y } = opts.plugins;
25
- const { reactVersion = "detect" } = opts;
26
- // The last config that sets it wins, as in ESLint itself.
27
- const baseNaming = [...eslint_1.eslintConfigs]
28
- .reverse()
29
- .find((config) => config.rules?.[NAMING_CONVENTION])?.rules?.[NAMING_CONVENTION];
30
- // A bare severity carries no selectors; nothing to extend then but the severity.
31
- const [severity, ...selectors] = Array.isArray(baseNaming) ? baseNaming : [baseNaming ?? "error"];
32
- return [
33
- ...eslint_1.eslintConfigs,
34
- {
35
- files: ["**/*.{jsx,tsx}"],
36
- plugins: { react, "jsx-a11y": jsxA11y },
37
- settings: { react: { version: reactVersion } },
38
- rules: {
39
- // The base naming rule, plus PascalCase functions: a component declared as `function App()`.
40
- [NAMING_CONVENTION]: [
41
- severity,
42
- ...selectors,
43
- { selector: "function", format: ["camelCase", "PascalCase"] },
44
- ],
45
- // Correctness rules from react's recommended set. Left out: what the automatic JSX runtime or
46
- // tsc already covers (react-in-jsx-scope, jsx-uses-react, prop-types, jsx-no-undef,
47
- // jsx-no-duplicate-props, no-unknown-property).
48
- "react/display-name": "error",
49
- "react/jsx-boolean-value": "error",
50
- "react/jsx-key": "error",
51
- "react/jsx-no-comment-textnodes": "error",
52
- "react/jsx-no-target-blank": "error",
53
- "react/no-children-prop": "error",
54
- "react/no-danger-with-children": "error",
55
- "react/no-deprecated": "error",
56
- "react/no-direct-mutation-state": "error",
57
- "react/no-find-dom-node": "error",
58
- "react/no-is-mounted": "error",
59
- "react/no-render-return-value": "error",
60
- "react/no-string-refs": "error",
61
- "react/require-render-return": "error",
62
- "jsx-a11y/alt-text": "error",
63
- "jsx-a11y/anchor-has-content": "error",
64
- "jsx-a11y/aria-props": "error",
65
- "jsx-a11y/aria-proptypes": "error",
66
- "jsx-a11y/aria-role": "error",
67
- "jsx-a11y/aria-unsupported-elements": "error",
68
- "jsx-a11y/role-has-required-aria-props": "error",
69
- "jsx-a11y/role-supports-aria-props": "error",
70
- "jsx-a11y/tabindex-no-positive": "error",
71
- },
72
- },
73
- {
74
- // Custom hooks live in .ts files too.
75
- files: ["**/*.{js,jsx,ts,tsx}"],
76
- plugins: { "react-hooks": reactHooks },
77
- rules: {
78
- "react-hooks/rules-of-hooks": "error",
79
- "react-hooks/exhaustive-deps": "warn",
80
- },
81
- },
82
- {
83
- rules: {
84
- "@typescript-eslint/consistent-type-imports": [
85
- "error",
86
- { prefer: "type-imports" },
87
- ],
88
- // A UI hands promises to event handlers and effects that do not await them.
89
- "@typescript-eslint/no-floating-promises": "off",
90
- "no-void": "off",
91
- // Function components, not classes; a component may be used above its declaration.
92
- "@typescript-eslint/no-invalid-this": "off",
93
- "@typescript-eslint/no-use-before-define": "off",
94
- "@typescript-eslint/no-explicit-any": "warn",
95
- "@typescript-eslint/no-shadow": "warn",
96
- "@typescript-eslint/no-unused-vars": [
97
- "warn",
98
- {
99
- argsIgnorePattern: "^_",
100
- varsIgnorePattern: "^_",
101
- caughtErrorsIgnorePattern: "^_",
102
- ignoreRestSiblings: true,
103
- },
104
- ],
105
- },
106
- },
107
- ];
108
- }
109
- }
110
- exports.ReactEslintConfigs = ReactEslintConfigs;
111
- //# sourceMappingURL=react.js.map
package/dist/react.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}