@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,10 @@
1
+ import { type ESTree } from 'effect-oxlint';
2
+ export type MessageCase = Readonly<{
3
+ name: string;
4
+ nameNode: ESTree.Node;
5
+ fields: ESTree.ObjectExpression;
6
+ }>;
7
+ export declare const recordFoldkitMessageUnionBindings: (bindings: Set<string>, node: ESTree.Node) => void;
8
+ export declare const messageCases: (node: ESTree.CallExpression, bindings: ReadonlySet<string>) => ReadonlyArray<MessageCase>;
9
+ export declare const hasMessagePayloadProperty: (fields: ESTree.ObjectExpression) => boolean;
10
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAA;AAM3C,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAA;CAChC,CAAC,CAAA;AAoBF,eAAO,MAAM,iCAAiC,GAC5C,UAAU,GAAG,CAAC,MAAM,CAAC,EACrB,MAAM,MAAM,CAAC,IAAI,KAChB,IA0BF,CAAA;AAED,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,CAAC,cAAc,EAC3B,UAAU,WAAW,CAAC,MAAM,CAAC,KAC5B,aAAa,CAAC,WAAW,CA4B3B,CAAA;AAED,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,CAAC,gBAAgB,KAC9B,OAMA,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Requires a variable bound to Command.define to share the name passed to
3
+ * Command.define.
4
+ */
5
+ export declare const commandBindingMatchesName: import("effect-oxlint").CreateRule;
6
+ //# sourceMappingURL=command-binding-matches-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-binding-matches-name.d.ts","sourceRoot":"","sources":["../../src/rules/command-binding-matches-name.ts"],"names":[],"mappings":"AAuBA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,oCAiCpC,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Requires every Command.define call to name the Command with a literal
3
+ * PascalCase string and to be assigned to a const whose identifier equals
4
+ * that name.
5
+ */
6
+ export declare const commandDefinePascalConst: import("effect-oxlint").CreateRule;
7
+ //# sourceMappingURL=command-define-pascal-const.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-define-pascal-const.d.ts","sourceRoot":"","sources":["../../src/rules/command-define-pascal-const.ts"],"names":[],"mappings":"AA6FA;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,oCAwBnC,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Requires Got-prefixed Messages to carry a { message: Child.Message } Submodel
3
+ * payload.
4
+ */
5
+ export declare const gotPrefixRequiresSubmodelPayload: import("effect-oxlint").CreateRule;
6
+ //# sourceMappingURL=got-prefix-requires-submodel-payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"got-prefix-requires-submodel-payload.d.ts","sourceRoot":"","sources":["../../src/rules/got-prefix-requires-submodel-payload.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,eAAO,MAAM,gCAAgC,oCAoC3C,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Requires Messages that carry a { message } payload to follow the Got*Message
3
+ * naming convention.
4
+ */
5
+ export declare const gotSubmodelMessageName: import("effect-oxlint").CreateRule;
6
+ //# sourceMappingURL=got-submodel-message-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"got-submodel-message-name.d.ts","sourceRoot":"","sources":["../../src/rules/got-submodel-message-name.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,oCAoCjC,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Flags extra payload fields on a Got wrapper Message definition so wrappers
3
+ * carry only the child Message and routing context.
4
+ */
5
+ export declare const gotWrapperCarriesOnlyRouting: import("effect-oxlint").CreateRule;
6
+ //# sourceMappingURL=got-wrapper-carries-only-routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"got-wrapper-carries-only-routing.d.ts","sourceRoot":"","sources":["../../src/rules/got-wrapper-carries-only-routing.ts"],"names":[],"mappings":"AA4CA;;;GAGG;AACH,eAAO,MAAM,4BAA4B,oCAqDvC,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Requires a map callback that returns an identity-bearing row element (one
3
+ * whose callback references the item's id) to wrap that element in keyed, so
4
+ * the runtime patches the right rows when the list reorders or shrinks.
5
+ */
6
+ export declare const keyedRequiredForMappedRows: import("effect-oxlint").CreateRule;
7
+ //# sourceMappingURL=keyed-required-for-mapped-rows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyed-required-for-mapped-rows.d.ts","sourceRoot":"","sources":["../../src/rules/keyed-required-for-mapped-rows.ts"],"names":[],"mappings":"AA8LA;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,oCAqCrC,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Requires `createLazy` and `createKeyedLazy` slots to be direct
3
+ * module-scope `const` initializers, and requires the view function passed
4
+ * at slot call sites to be a stable module-scope reference.
5
+ */
6
+ export declare const lazyViewStableReferences: import("effect-oxlint").CreateRule;
7
+ //# sourceMappingURL=lazy-view-stable-references.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy-view-stable-references.d.ts","sourceRoot":"","sources":["../../src/rules/lazy-view-stable-references.ts"],"names":[],"mappings":"AAwUA;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,oCAqCnC,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** Flags applied Mount.define and Mount.defineStream factories that never use their element parameter. A Mount exists for element-caused, element-targeted work; a factory that ignores the element belongs in a Command, Subscription, or ManagedResource. */
2
+ export declare const mountFactoryMustUseElement: import("effect-oxlint").CreateRule;
3
+ //# sourceMappingURL=mount-factory-must-use-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount-factory-must-use-element.d.ts","sourceRoot":"","sources":["../../src/rules/mount-factory-must-use-element.ts"],"names":[],"mappings":"AA4GA,+PAA+P;AAC/P,eAAO,MAAM,0BAA0B,oCAiCrC,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Disallows using a map callback's array index parameter as the key fed into
3
+ * a keyed element, a Key attribute, a Submodel slotId, or a createKeyedLazy
4
+ * slot call. Array positions shift when a list mutates, so view keys must
5
+ * come from stable Model identifiers.
6
+ */
7
+ export declare const noArrayIndexViewKeys: import("effect-oxlint").CreateRule;
8
+ //# sourceMappingURL=no-array-index-view-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-array-index-view-keys.d.ts","sourceRoot":"","sources":["../../src/rules/no-array-index-view-keys.ts"],"names":[],"mappings":"AA8KA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,oCAuE/B,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Flags direct construction of a child Submodel Message variant from outside
3
+ * the child, such as Chat.Message.ClickedOpen(...).
4
+ */
5
+ export declare const noChildMessageConstructionInRoot: import("effect-oxlint").CreateRule;
6
+ //# sourceMappingURL=no-child-message-construction-in-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-child-message-construction-in-root.d.ts","sourceRoot":"","sources":["../../src/rules/no-child-message-construction-in-root.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,eAAO,MAAM,gCAAgC,oCAkD3C,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** Flags `freezeModel: false` and `slow: false` in config objects passed directly to `makeApplication` or `makeElement`. Disabling a dev guardrail hides the problem it would have surfaced; a deliberate disable belongs behind an oxlint-disable comment. */
2
+ export declare const noDisablingDevGuardrails: import("effect-oxlint").CreateRule;
3
+ //# sourceMappingURL=no-disabling-dev-guardrails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-disabling-dev-guardrails.d.ts","sourceRoot":"","sources":["../../src/rules/no-disabling-dev-guardrails.ts"],"names":[],"mappings":"AA4DA,+PAA+P;AAC/P,eAAO,MAAM,wBAAwB,oCAgCnC,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** Flags array literals carrying two or more top-level OnMount attributes. Foldkit installs a single insert hook and tracks a single Mount fiber per element, so a later OnMount silently replaces the earlier one. */
2
+ export declare const noDuplicateOnmountPerElement: import("effect-oxlint").CreateRule;
3
+ //# sourceMappingURL=no-duplicate-onmount-per-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-duplicate-onmount-per-element.d.ts","sourceRoot":"","sources":["../../src/rules/no-duplicate-onmount-per-element.ts"],"names":[],"mappings":"AA0BA,uNAAuN;AACvN,eAAO,MAAM,4BAA4B,oCAmBvC,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** Flags builder calls that pass an inline empty array as children, both `h.div([...], [])` and `h.keyed(tag)(key, [...], [])`. The children argument is optional on both, so an element with no children should omit it rather than spell out `[]`. */
2
+ export declare const noEmptyChildrenArray: import("effect-oxlint").CreateRule;
3
+ //# sourceMappingURL=no-empty-children-array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-empty-children-array.d.ts","sourceRoot":"","sources":["../../src/rules/no-empty-children-array.ts"],"names":[],"mappings":"AAuEA,wPAAwP;AACxP,eAAO,MAAM,oBAAoB,oCA8C/B,CAAA"}
@@ -0,0 +1,6 @@
1
+ /** Flags only a `commands` property whose value is a literal empty array. A
2
+ * producer with statically no Commands omits the property; a producer with a
3
+ * computed Commands collection returns it directly. This syntax-only rule
4
+ * does not determine whether the enclosing object is an update result. */
5
+ export declare const noEmptyCommandsArray: import("effect-oxlint").CreateRule;
6
+ //# sourceMappingURL=no-empty-commands-array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-empty-commands-array.d.ts","sourceRoot":"","sources":["../../src/rules/no-empty-commands-array.ts"],"names":[],"mappings":"AAqDA;;;2EAG2E;AAC3E,eAAO,MAAM,oBAAoB,oCA+D/B,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** Reports no-field variant constructors called with an empty object. */
2
+ export declare const noEmptyObjectTaggedCall: import("effect-oxlint").CreateRule;
3
+ //# sourceMappingURL=no-empty-object-tagged-call.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-empty-object-tagged-call.d.ts","sourceRoot":"","sources":["../../src/rules/no-empty-object-tagged-call.ts"],"names":[],"mappings":"AA+EA,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,oCAkDlC,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Forbids object literals that rebuild the Command struct by hand, either
3
+ * from scratch or by spreading an existing Command and overriding effect.
4
+ */
5
+ export declare const noHandRolledCommandStruct: import("effect-oxlint").CreateRule;
6
+ //# sourceMappingURL=no-hand-rolled-command-struct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-hand-rolled-command-struct.d.ts","sourceRoot":"","sources":["../../src/rules/no-hand-rolled-command-struct.ts"],"names":[],"mappings":"AA8CA;;;GAGG;AACH,eAAO,MAAM,yBAAyB,oCA6BpC,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Forbids hardcoded route strings and route template literals as the first
3
+ * argument of navigation calls. Routers are bidirectional, so URLs come from
4
+ * calling the Router as a printer.
5
+ */
6
+ export declare const noHardcodedRouteStrings: import("effect-oxlint").CreateRule;
7
+ //# sourceMappingURL=no-hardcoded-route-strings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-hardcoded-route-strings.d.ts","sourceRoot":"","sources":["../../src/rules/no-hardcoded-route-strings.ts"],"names":[],"mappings":"AAmEA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,oCA8DlC,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Flags module-level let/var declarations that hold state outside the Model.
3
+ */
4
+ export declare const noModuleLevelMutableState: import("effect-oxlint").CreateRule;
5
+ //# sourceMappingURL=no-module-level-mutable-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-module-level-mutable-state.d.ts","sourceRoot":"","sources":["../../src/rules/no-module-level-mutable-state.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,eAAO,MAAM,yBAAyB,oCA2BpC,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Flags selected browser-only globals in files that run on a server.
3
+ */
4
+ export declare const noNonportableServerGlobals: import("effect-oxlint").CreateRule;
5
+ //# sourceMappingURL=no-nonportable-server-globals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-nonportable-server-globals.d.ts","sourceRoot":"","sources":["../../src/rules/no-nonportable-server-globals.ts"],"names":[],"mappings":"AAuIA;;GAEG;AACH,eAAO,MAAM,0BAA0B,oCAsErC,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Flags generic NoOp Messages (NoOp, Noop, NoOperation) declared with
3
+ * `defineMessageUnion`, steering toward Messages that describe what happened.
4
+ */
5
+ export declare const noNoopMessage: import("effect-oxlint").CreateRule;
6
+ //# sourceMappingURL=no-noop-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-noop-message.d.ts","sourceRoot":"","sources":["../../src/rules/no-noop-message.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,aAAa,oCAmCxB,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Disallows constructing raw DOM event attributes (onclick, oninput, and the
3
+ * rest) through the Attribute and Prop escape hatches. Events must flow
4
+ * through the typed On* attribute constructors so every interaction
5
+ * dispatches a Message through update.
6
+ */
7
+ export declare const noRawDomEventAttributes: import("effect-oxlint").CreateRule;
8
+ //# sourceMappingURL=no-raw-dom-event-attributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-raw-dom-event-attributes.d.ts","sourceRoot":"","sources":["../../src/rules/no-raw-dom-event-attributes.ts"],"names":[],"mappings":"AAuLA;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,oCA+BlC,CAAA"}
@@ -0,0 +1,3 @@
1
+ /** Flags evo field updaters that rebuild a record with an object spread. Nested record updates go through a nested evo so every level of Model evolution stays on the strict update path. */
2
+ export declare const noSpreadInEvo: import("effect-oxlint").CreateRule;
3
+ //# sourceMappingURL=no-spread-in-evo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-spread-in-evo.d.ts","sourceRoot":"","sources":["../../src/rules/no-spread-in-evo.ts"],"names":[],"mappings":"AAqFA,6LAA6L;AAC7L,eAAO,MAAM,aAAa,oCA0BxB,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Flags object literals typed or cast as a Message with a _tag, steering toward
3
+ * the callable Schema constructor.
4
+ */
5
+ export declare const preferCallableMessageConstructor: import("effect-oxlint").CreateRule;
6
+ //# sourceMappingURL=prefer-callable-message-constructor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefer-callable-message-constructor.d.ts","sourceRoot":"","sources":["../../src/rules/prefer-callable-message-constructor.ts"],"names":[],"mappings":"AAsEA;;;GAGG;AACH,eAAO,MAAM,gCAAgC,oCA6C3C,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Requires attribute arrays containing Target('_blank') to also carry a Rel
3
+ * attribute whose value includes noopener or noreferrer, protecting the
4
+ * opener window from tabnabbing and referrer leaks.
5
+ */
6
+ export declare const requireRelForExternalLink: import("effect-oxlint").CreateRule;
7
+ //# sourceMappingURL=require-rel-for-external-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"require-rel-for-external-link.d.ts","sourceRoot":"","sources":["../../src/rules/require-rel-for-external-link.ts"],"names":[],"mappings":"AAkDA;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,oCAkEpC,CAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Requires every Foldkit UI selection component factory call, such as
3
+ * Listbox.create or Combobox.Multi.create, to be the direct initializer of a
4
+ * module-scope variable.
5
+ */
6
+ export declare const selectionSubmodelFactoryAtModuleScope: import("effect-oxlint").CreateRule;
7
+ //# sourceMappingURL=selection-submodel-factory-at-module-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-submodel-factory-at-module-scope.d.ts","sourceRoot":"","sources":["../../src/rules/selection-submodel-factory-at-module-scope.ts"],"names":[],"mappings":"AA6KA;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,oCA+BhD,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Requires inline Command mappers and Subscription.lift toParentMessage
3
+ * mappers to wrap child Submodel output in a Got*Message constructor.
4
+ *
5
+ * NOTE: only inline arrow mappers are analyzed. A mapper extracted to a named
6
+ * helper is out of scope and passes, so this catches the common inline mistake
7
+ * rather than every possible one.
8
+ */
9
+ export declare const wrapChildOutputInGotMessage: import("effect-oxlint").CreateRule;
10
+ //# sourceMappingURL=wrap-child-output-in-got-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap-child-output-in-got-message.d.ts","sourceRoot":"","sources":["../../src/rules/wrap-child-output-in-got-message.ts"],"names":[],"mappings":"AA0MA;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,oCA4CtC,CAAA"}
package/package.json CHANGED
@@ -1,12 +1,14 @@
1
1
  {
2
2
  "name": "@foldkit/oxlint-plugin",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "Oxlint rules for Foldkit applications",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
8
9
  "exports": {
9
10
  ".": {
11
+ "types": "./dist/index.d.ts",
10
12
  "import": "./dist/index.js"
11
13
  },
12
14
  "./recommended.json": "./recommended.json",
@@ -17,7 +19,7 @@
17
19
  },
18
20
  "devDependencies": {
19
21
  "@types/node": "^25.9.3",
20
- "effect": "4.0.0-rc.111",
22
+ "effect": "4.0.0-rc.112",
21
23
  "esbuild": "^0.28.1",
22
24
  "rimraf": "^6.1.3",
23
25
  "typescript": "^6.0.3",
@@ -49,7 +51,7 @@
49
51
  },
50
52
  "scripts": {
51
53
  "clean": "rimraf dist recommended.json all.json *.tsbuildinfo",
52
- "build": "pnpm run clean && esbuild src/index.ts --bundle --platform=node --format=esm --outfile=dist/index.js && node scripts/generate-presets.mjs",
54
+ "build": "pnpm run clean && esbuild src/index.ts --bundle --platform=node --format=esm --outfile=dist/index.js && tsc -b tsconfig.build.json && node scripts/generate-presets.mjs",
53
55
  "test": "vitest run",
54
56
  "typecheck": "tsc --noEmit"
55
57
  }