@foldkit/oxlint-plugin 0.8.0 → 0.9.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 (62) hide show
  1. package/dist/elementBuilderNames.d.ts +11 -0
  2. package/dist/elementBuilderNames.d.ts.map +1 -0
  3. package/dist/guards.d.ts +29 -0
  4. package/dist/guards.d.ts.map +1 -0
  5. package/dist/index.d.ts +48 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +258 -125
  8. package/dist/message.d.ts +10 -0
  9. package/dist/message.d.ts.map +1 -0
  10. package/dist/rules/command-binding-matches-name.d.ts +6 -0
  11. package/dist/rules/command-binding-matches-name.d.ts.map +1 -0
  12. package/dist/rules/command-define-pascal-const.d.ts +7 -0
  13. package/dist/rules/command-define-pascal-const.d.ts.map +1 -0
  14. package/dist/rules/got-prefix-requires-submodel-payload.d.ts +6 -0
  15. package/dist/rules/got-prefix-requires-submodel-payload.d.ts.map +1 -0
  16. package/dist/rules/got-submodel-message-name.d.ts +6 -0
  17. package/dist/rules/got-submodel-message-name.d.ts.map +1 -0
  18. package/dist/rules/got-wrapper-carries-only-routing.d.ts +6 -0
  19. package/dist/rules/got-wrapper-carries-only-routing.d.ts.map +1 -0
  20. package/dist/rules/keyed-required-for-mapped-rows.d.ts +7 -0
  21. package/dist/rules/keyed-required-for-mapped-rows.d.ts.map +1 -0
  22. package/dist/rules/lazy-view-stable-references.d.ts +7 -0
  23. package/dist/rules/lazy-view-stable-references.d.ts.map +1 -0
  24. package/dist/rules/mount-factory-must-use-element.d.ts +3 -0
  25. package/dist/rules/mount-factory-must-use-element.d.ts.map +1 -0
  26. package/dist/rules/no-array-index-view-keys.d.ts +8 -0
  27. package/dist/rules/no-array-index-view-keys.d.ts.map +1 -0
  28. package/dist/rules/no-child-message-construction-in-root.d.ts +6 -0
  29. package/dist/rules/no-child-message-construction-in-root.d.ts.map +1 -0
  30. package/dist/rules/no-disabling-dev-guardrails.d.ts +3 -0
  31. package/dist/rules/no-disabling-dev-guardrails.d.ts.map +1 -0
  32. package/dist/rules/no-duplicate-onmount-per-element.d.ts +3 -0
  33. package/dist/rules/no-duplicate-onmount-per-element.d.ts.map +1 -0
  34. package/dist/rules/no-empty-children-array.d.ts +3 -0
  35. package/dist/rules/no-empty-children-array.d.ts.map +1 -0
  36. package/dist/rules/no-empty-commands-array.d.ts +6 -0
  37. package/dist/rules/no-empty-commands-array.d.ts.map +1 -0
  38. package/dist/rules/no-empty-object-tagged-call.d.ts +3 -0
  39. package/dist/rules/no-empty-object-tagged-call.d.ts.map +1 -0
  40. package/dist/rules/no-hand-rolled-command-struct.d.ts +6 -0
  41. package/dist/rules/no-hand-rolled-command-struct.d.ts.map +1 -0
  42. package/dist/rules/no-hardcoded-route-strings.d.ts +7 -0
  43. package/dist/rules/no-hardcoded-route-strings.d.ts.map +1 -0
  44. package/dist/rules/no-module-level-mutable-state.d.ts +5 -0
  45. package/dist/rules/no-module-level-mutable-state.d.ts.map +1 -0
  46. package/dist/rules/no-nonportable-server-globals.d.ts +5 -0
  47. package/dist/rules/no-nonportable-server-globals.d.ts.map +1 -0
  48. package/dist/rules/no-noop-message.d.ts +6 -0
  49. package/dist/rules/no-noop-message.d.ts.map +1 -0
  50. package/dist/rules/no-raw-dom-event-attributes.d.ts +8 -0
  51. package/dist/rules/no-raw-dom-event-attributes.d.ts.map +1 -0
  52. package/dist/rules/no-spread-in-evo.d.ts +3 -0
  53. package/dist/rules/no-spread-in-evo.d.ts.map +1 -0
  54. package/dist/rules/prefer-callable-message-constructor.d.ts +6 -0
  55. package/dist/rules/prefer-callable-message-constructor.d.ts.map +1 -0
  56. package/dist/rules/require-rel-for-external-link.d.ts +7 -0
  57. package/dist/rules/require-rel-for-external-link.d.ts.map +1 -0
  58. package/dist/rules/selection-submodel-factory-at-module-scope.d.ts +7 -0
  59. package/dist/rules/selection-submodel-factory-at-module-scope.d.ts.map +1 -0
  60. package/dist/rules/wrap-child-output-in-got-message.d.ts +10 -0
  61. package/dist/rules/wrap-child-output-in-got-message.d.ts.map +1 -0
  62. package/package.json +5 -3
@@ -0,0 +1,11 @@
1
+ /** Every element builder name on `HtmlBuilder`, mirroring the `HtmlElements` map in
2
+ * `foldkit/html`. Rules match this known set rather than a lowercase-identifier
3
+ * shape, which keeps them off ordinary methods of an unrelated receiver that
4
+ * happens to be named `h`, and off `keyed`, whose children sit in a different
5
+ * argument slot.
6
+ *
7
+ * `elementBuilderNames.test.ts` reads the names straight out of the Foldkit source
8
+ * and fails when the two drift, so a tag added upstream cannot silently fall out
9
+ * of every rule that depends on this. */
10
+ export declare const ELEMENT_BUILDER_NAMES: ReadonlySet<string>;
11
+ //# sourceMappingURL=elementBuilderNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementBuilderNames.d.ts","sourceRoot":"","sources":["../src/elementBuilderNames.ts"],"names":[],"mappings":"AAAA;;;;;;;;0CAQ0C;AAC1C,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAwNpD,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { Option } from 'effect';
2
+ import { type ESTree } from 'effect-oxlint';
3
+ export declare const isIdentifier: (node: unknown, name?: string) => node is Readonly<{
4
+ type: "Identifier";
5
+ name: string;
6
+ }>;
7
+ export declare const isStringLiteral: (node: unknown) => node is ESTree.StringLiteral;
8
+ export declare const isTemplateLiteral: (node: unknown) => node is ESTree.TemplateLiteral;
9
+ export declare const isCallExpression: (node: unknown) => node is ESTree.CallExpression;
10
+ export declare const isMemberExpression: (node: unknown) => node is Readonly<{
11
+ type: "MemberExpression";
12
+ object: unknown;
13
+ property: unknown;
14
+ computed?: boolean;
15
+ }>;
16
+ export declare const isObjectExpression: (node: unknown) => node is ESTree.ObjectExpression;
17
+ export declare const isArrayExpression: (node: unknown) => node is Readonly<{
18
+ type: "ArrayExpression";
19
+ elements: ReadonlyArray<unknown>;
20
+ }>;
21
+ export declare const isSpreadElement: (node: unknown) => boolean;
22
+ export declare const helperCalleeName: (callee: unknown) => Option.Option<string>;
23
+ export declare const calleeMatchesHelperName: (callee: unknown, helperName: string) => boolean;
24
+ export declare const staticStringValue: (node: unknown) => Option.Option<string>;
25
+ export declare const isVariableDeclarator: (node: unknown) => node is ESTree.VariableDeclarator;
26
+ export declare const isVariableDeclaration: (node: unknown) => node is ESTree.VariableDeclaration;
27
+ export declare const isProgram: (node: unknown) => node is ESTree.Program;
28
+ export declare const firstStringArgument: (node: ESTree.CallExpression) => ESTree.StringLiteral | undefined;
29
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../src/guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,YAAY,GACvB,MAAM,OAAO,EACb,OAAO,MAAM,KACZ,IAAI,IAAI,QAAQ,CAAC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAOZ,CAAA;AAE5C,eAAO,MAAM,eAAe,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,MAAM,CAAC,aAM/B,CAAA;AAEhC,eAAO,MAAM,iBAAiB,GAC5B,MAAM,OAAO,KACZ,IAAI,IAAI,MAAM,CAAC,eAIe,CAAA;AAEjC,eAAO,MAAM,gBAAgB,GAC3B,MAAM,OAAO,KACZ,IAAI,IAAI,MAAM,CAAC,cAIc,CAAA;AAEhC,eAAO,MAAM,kBAAkB,GAC7B,MAAM,OAAO,KACZ,IAAI,IAAI,QAAQ,CAAC;IAClB,IAAI,EAAE,kBAAkB,CAAA;IACxB,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAIiC,CAAA;AAElC,eAAO,MAAM,kBAAkB,GAC7B,MAAM,OAAO,KACZ,IAAI,IAAI,MAAM,CAAC,gBAIgB,CAAA;AAElC,eAAO,MAAM,iBAAiB,GAC5B,MAAM,OAAO,KACZ,IAAI,IAAI,QAAQ,CAAC;IAClB,IAAI,EAAE,iBAAiB,CAAA;IACvB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CACjC,CAIgC,CAAA;AAEjC,eAAO,MAAM,eAAe,GAAI,MAAM,OAAO,KAAG,OAIjB,CAAA;AAE/B,eAAO,MAAM,gBAAgB,GAAI,QAAQ,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAYtE,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,QAAQ,OAAO,EACf,YAAY,MAAM,KACjB,OACmE,CAAA;AAEtE,eAAO,MAAM,iBAAiB,GAAI,MAAM,OAAO,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAUrE,CAAA;AAED,eAAO,MAAM,oBAAoB,GAC/B,MAAM,OAAO,KACZ,IAAI,IAAI,MAAM,CAAC,kBAIkB,CAAA;AAEpC,eAAO,MAAM,qBAAqB,GAChC,MAAM,OAAO,KACZ,IAAI,IAAI,MAAM,CAAC,mBAImB,CAAA;AAErC,eAAO,MAAM,SAAS,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,MAAM,CAAC,OAIhC,CAAA;AAEzB,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,CAAC,cAAc,KAC1B,MAAM,CAAC,aAAa,GAAG,SAGzB,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { Plugin } from 'effect-oxlint';
2
+ type Override = Readonly<{
3
+ files: Array<string>;
4
+ excludeFiles?: Array<string>;
5
+ rules: Record<string, Plugin.RuleSeverity>;
6
+ }>;
7
+ type OverriddenConfig = Plugin.OxlintConfig & {
8
+ overrides: Array<Override>;
9
+ };
10
+ declare const _default: {
11
+ configs: {
12
+ recommended: OverriddenConfig;
13
+ all: OverriddenConfig;
14
+ };
15
+ meta: {
16
+ readonly name: string;
17
+ };
18
+ rules: {
19
+ readonly 'command-binding-matches-name': import("effect-oxlint").CreateRule;
20
+ readonly 'command-define-pascal-const': import("effect-oxlint").CreateRule;
21
+ readonly 'got-prefix-requires-submodel-payload': import("effect-oxlint").CreateRule;
22
+ readonly 'got-submodel-message-name': import("effect-oxlint").CreateRule;
23
+ readonly 'got-wrapper-carries-only-routing': import("effect-oxlint").CreateRule;
24
+ readonly 'keyed-required-for-mapped-rows': import("effect-oxlint").CreateRule;
25
+ readonly 'lazy-view-stable-references': import("effect-oxlint").CreateRule;
26
+ readonly 'mount-factory-must-use-element': import("effect-oxlint").CreateRule;
27
+ readonly 'no-array-index-view-keys': import("effect-oxlint").CreateRule;
28
+ readonly 'no-child-message-construction-in-root': import("effect-oxlint").CreateRule;
29
+ readonly 'no-disabling-dev-guardrails': import("effect-oxlint").CreateRule;
30
+ readonly 'no-duplicate-onmount-per-element': import("effect-oxlint").CreateRule;
31
+ readonly 'no-empty-children-array': import("effect-oxlint").CreateRule;
32
+ readonly 'no-empty-commands-array': import("effect-oxlint").CreateRule;
33
+ readonly 'no-empty-object-tagged-call': import("effect-oxlint").CreateRule;
34
+ readonly 'no-hand-rolled-command-struct': import("effect-oxlint").CreateRule;
35
+ readonly 'no-hardcoded-route-strings': import("effect-oxlint").CreateRule;
36
+ readonly 'no-module-level-mutable-state': import("effect-oxlint").CreateRule;
37
+ readonly 'no-nonportable-server-globals': import("effect-oxlint").CreateRule;
38
+ readonly 'no-noop-message': import("effect-oxlint").CreateRule;
39
+ readonly 'no-raw-dom-event-attributes': import("effect-oxlint").CreateRule;
40
+ readonly 'no-spread-in-evo': import("effect-oxlint").CreateRule;
41
+ readonly 'prefer-callable-message-constructor': import("effect-oxlint").CreateRule;
42
+ readonly 'require-rel-for-external-link': import("effect-oxlint").CreateRule;
43
+ readonly 'selection-submodel-factory-at-module-scope': import("effect-oxlint").CreateRule;
44
+ readonly 'wrap-child-output-in-got-message': import("effect-oxlint").CreateRule;
45
+ };
46
+ };
47
+ export default _default;
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AA+DtC,KAAK,QAAQ,GAAG,QAAQ,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;CAC3C,CAAC,CAAA;AAEF,KAAK,gBAAgB,GAAG,MAAM,CAAC,YAAY,GAAG;IAC5C,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;CAC3B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDD,wBAMC"}