@thethracian/oxlint-config 0.3.5 → 0.4.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.
- package/CHANGELOG.md +12 -0
- package/README.md +14 -2
- package/dist/codemods/arrow-body-style.d.ts.map +1 -1
- package/dist/codemods/arrow-body-style.js +13 -1
- package/dist/codemods/arrow-body-style.js.map +1 -1
- package/dist/codemods/explicit-return-types.d.ts.map +1 -1
- package/dist/codemods/explicit-return-types.js +15 -3
- package/dist/codemods/explicit-return-types.js.map +1 -1
- package/dist/codemods/function-declarations.d.ts.map +1 -1
- package/dist/codemods/function-declarations.js +7 -0
- package/dist/codemods/function-declarations.js.map +1 -1
- package/dist/codemods/inline-export-lists.d.ts.map +1 -1
- package/dist/codemods/inline-export-lists.js +17 -3
- package/dist/codemods/inline-export-lists.js.map +1 -1
- package/dist/codemods/internal-export-docs.d.ts.map +1 -1
- package/dist/codemods/internal-export-docs.js +17 -5
- package/dist/codemods/internal-export-docs.js.map +1 -1
- package/dist/codemods/no-ternary-variable-initializers.d.ts.map +1 -1
- package/dist/codemods/no-ternary-variable-initializers.js +24 -14
- package/dist/codemods/no-ternary-variable-initializers.js.map +1 -1
- package/dist/codemods/rename-acronyms.d.ts.map +1 -1
- package/dist/codemods/rename-acronyms.js +31 -1
- package/dist/codemods/rename-acronyms.js.map +1 -1
- package/dist/rules/diagnostic-guidance.d.ts.map +1 -1
- package/dist/rules/diagnostic-guidance.js +26 -2
- package/dist/rules/diagnostic-guidance.js.map +1 -1
- package/dist/rules/effect-alias-canonicalization.d.ts +27 -0
- package/dist/rules/effect-alias-canonicalization.d.ts.map +1 -0
- package/dist/rules/effect-alias-canonicalization.js +60 -0
- package/dist/rules/effect-alias-canonicalization.js.map +1 -0
- package/dist/rules/effect-ast-scope.d.ts +25 -0
- package/dist/rules/effect-ast-scope.d.ts.map +1 -0
- package/dist/rules/effect-ast-scope.js +286 -0
- package/dist/rules/effect-ast-scope.js.map +1 -0
- package/dist/rules/effect-ast.d.ts +42 -0
- package/dist/rules/effect-ast.d.ts.map +1 -0
- package/dist/rules/effect-ast.js +74 -0
- package/dist/rules/effect-ast.js.map +1 -0
- package/dist/rules/effect-boundary-ast-shared.d.ts +42 -0
- package/dist/rules/effect-boundary-ast-shared.d.ts.map +1 -0
- package/dist/rules/effect-boundary-ast-shared.js +203 -0
- package/dist/rules/effect-boundary-ast-shared.js.map +1 -0
- package/dist/rules/effect-default-boundary-ast.d.ts +10 -0
- package/dist/rules/effect-default-boundary-ast.d.ts.map +1 -0
- package/dist/rules/effect-default-boundary-ast.js +320 -0
- package/dist/rules/effect-default-boundary-ast.js.map +1 -0
- package/dist/rules/effect-default-compat-rules.d.ts +11 -15
- package/dist/rules/effect-default-compat-rules.d.ts.map +1 -1
- package/dist/rules/effect-default-compat-rules.js +20 -0
- package/dist/rules/effect-default-compat-rules.js.map +1 -1
- package/dist/rules/effect-default-scan-helpers.js +1 -1
- package/dist/rules/effect-default-scan-helpers.js.map +1 -1
- package/dist/rules/effect-default-workflow-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-workflow-helpers.js +7 -29
- package/dist/rules/effect-default-workflow-helpers.js.map +1 -1
- package/dist/rules/effect-default.d.ts +4 -1
- package/dist/rules/effect-default.d.ts.map +1 -1
- package/dist/rules/effect-default.js +14 -5
- package/dist/rules/effect-default.js.map +1 -1
- package/dist/rules/effect-export-binding-patterns.d.ts +9 -0
- package/dist/rules/effect-export-binding-patterns.d.ts.map +1 -0
- package/dist/rules/effect-export-binding-patterns.js +149 -0
- package/dist/rules/effect-export-binding-patterns.js.map +1 -0
- package/dist/rules/effect-export-declaration-boundaries.d.ts +21 -0
- package/dist/rules/effect-export-declaration-boundaries.d.ts.map +1 -0
- package/dist/rules/effect-export-declaration-boundaries.js +119 -0
- package/dist/rules/effect-export-declaration-boundaries.js.map +1 -0
- package/dist/rules/effect-export-default-binding.d.ts +5 -0
- package/dist/rules/effect-export-default-binding.d.ts.map +1 -0
- package/dist/rules/effect-export-default-binding.js +350 -0
- package/dist/rules/effect-export-default-binding.js.map +1 -0
- package/dist/rules/effect-export-segments.d.ts +9 -0
- package/dist/rules/effect-export-segments.d.ts.map +1 -0
- package/dist/rules/effect-export-segments.js +67 -0
- package/dist/rules/effect-export-segments.js.map +1 -0
- package/dist/rules/effect-exported-declarations.d.ts +3 -15
- package/dist/rules/effect-exported-declarations.d.ts.map +1 -1
- package/dist/rules/effect-exported-declarations.js +139 -94
- package/dist/rules/effect-exported-declarations.js.map +1 -1
- package/dist/rules/effect-global-fetch-ast.d.ts +14 -0
- package/dist/rules/effect-global-fetch-ast.d.ts.map +1 -0
- package/dist/rules/effect-global-fetch-ast.js +321 -0
- package/dist/rules/effect-global-fetch-ast.js.map +1 -0
- package/dist/rules/effect-global-fetch-imports.d.ts +29 -0
- package/dist/rules/effect-global-fetch-imports.d.ts.map +1 -0
- package/dist/rules/effect-global-fetch-imports.js +91 -0
- package/dist/rules/effect-global-fetch-imports.js.map +1 -0
- package/dist/rules/effect-import-bindings.d.ts +13 -0
- package/dist/rules/effect-import-bindings.d.ts.map +1 -0
- package/dist/rules/effect-import-bindings.js +133 -0
- package/dist/rules/effect-import-bindings.js.map +1 -0
- package/dist/rules/effect-imported-call-matcher.d.ts +24 -0
- package/dist/rules/effect-imported-call-matcher.d.ts.map +1 -0
- package/dist/rules/effect-imported-call-matcher.js +271 -0
- package/dist/rules/effect-imported-call-matcher.js.map +1 -0
- package/dist/rules/effect-module-source-index.d.ts +44 -0
- package/dist/rules/effect-module-source-index.d.ts.map +1 -0
- package/dist/rules/effect-module-source-index.js +306 -0
- package/dist/rules/effect-module-source-index.js.map +1 -0
- package/dist/rules/effect-native-references.d.ts +66 -0
- package/dist/rules/effect-native-references.d.ts.map +1 -0
- package/dist/rules/effect-native-references.js +164 -0
- package/dist/rules/effect-native-references.js.map +1 -0
- package/dist/rules/effect-object-assign-provenance.d.ts +20 -0
- package/dist/rules/effect-object-assign-provenance.d.ts.map +1 -0
- package/dist/rules/effect-object-assign-provenance.js +37 -0
- package/dist/rules/effect-object-assign-provenance.js.map +1 -0
- package/dist/rules/effect-prefer-map-over-flatmap-succeed.d.ts +4 -0
- package/dist/rules/effect-prefer-map-over-flatmap-succeed.d.ts.map +1 -0
- package/dist/rules/effect-prefer-map-over-flatmap-succeed.js +294 -0
- package/dist/rules/effect-prefer-map-over-flatmap-succeed.js.map +1 -0
- package/dist/rules/effect-prefer-succeed-for-stable-values.d.ts +4 -0
- package/dist/rules/effect-prefer-succeed-for-stable-values.d.ts.map +1 -0
- package/dist/rules/effect-prefer-succeed-for-stable-values.js +292 -0
- package/dist/rules/effect-prefer-succeed-for-stable-values.js.map +1 -0
- package/dist/rules/effect-promise-ast-values.d.ts +26 -0
- package/dist/rules/effect-promise-ast-values.d.ts.map +1 -0
- package/dist/rules/effect-promise-ast-values.js +66 -0
- package/dist/rules/effect-promise-ast-values.js.map +1 -0
- package/dist/rules/effect-promise-callable-declarations.d.ts +22 -0
- package/dist/rules/effect-promise-callable-declarations.d.ts.map +1 -0
- package/dist/rules/effect-promise-callable-declarations.js +255 -0
- package/dist/rules/effect-promise-callable-declarations.js.map +1 -0
- package/dist/rules/effect-promise-callable-lookup.d.ts +40 -0
- package/dist/rules/effect-promise-callable-lookup.d.ts.map +1 -0
- package/dist/rules/effect-promise-callable-lookup.js +99 -0
- package/dist/rules/effect-promise-callable-lookup.js.map +1 -0
- package/dist/rules/effect-promise-callable-scopes.d.ts +16 -0
- package/dist/rules/effect-promise-callable-scopes.d.ts.map +1 -0
- package/dist/rules/effect-promise-callable-scopes.js +43 -0
- package/dist/rules/effect-promise-callable-scopes.js.map +1 -0
- package/dist/rules/effect-promise-callable-types.d.ts +43 -0
- package/dist/rules/effect-promise-callable-types.d.ts.map +1 -0
- package/dist/rules/effect-promise-callable-types.js +5 -0
- package/dist/rules/effect-promise-callable-types.js.map +1 -0
- package/dist/rules/effect-promise-callables.d.ts +5 -0
- package/dist/rules/effect-promise-callables.d.ts.map +1 -0
- package/dist/rules/effect-promise-callables.js +7 -0
- package/dist/rules/effect-promise-callables.js.map +1 -0
- package/dist/rules/effect-promise-collections.d.ts +20 -0
- package/dist/rules/effect-promise-collections.d.ts.map +1 -0
- package/dist/rules/effect-promise-collections.js +199 -0
- package/dist/rules/effect-promise-collections.js.map +1 -0
- package/dist/rules/effect-promise-completion.d.ts +141 -0
- package/dist/rules/effect-promise-completion.d.ts.map +1 -0
- package/dist/rules/effect-promise-completion.js +200 -0
- package/dist/rules/effect-promise-completion.js.map +1 -0
- package/dist/rules/effect-promise-environment-projections.d.ts +23 -0
- package/dist/rules/effect-promise-environment-projections.d.ts.map +1 -0
- package/dist/rules/effect-promise-environment-projections.js +191 -0
- package/dist/rules/effect-promise-environment-projections.js.map +1 -0
- package/dist/rules/effect-promise-environment-types.d.ts +96 -0
- package/dist/rules/effect-promise-environment-types.d.ts.map +1 -0
- package/dist/rules/effect-promise-environment-types.js +10 -0
- package/dist/rules/effect-promise-environment-types.js.map +1 -0
- package/dist/rules/effect-promise-environment-values.d.ts +41 -0
- package/dist/rules/effect-promise-environment-values.d.ts.map +1 -0
- package/dist/rules/effect-promise-environment-values.js +214 -0
- package/dist/rules/effect-promise-environment-values.js.map +1 -0
- package/dist/rules/effect-promise-environments.d.ts +5 -0
- package/dist/rules/effect-promise-environments.d.ts.map +1 -0
- package/dist/rules/effect-promise-environments.js +7 -0
- package/dist/rules/effect-promise-environments.js.map +1 -0
- package/dist/rules/effect-promise-execution-ast.d.ts +12 -0
- package/dist/rules/effect-promise-execution-ast.d.ts.map +1 -0
- package/dist/rules/effect-promise-execution-ast.js +30 -0
- package/dist/rules/effect-promise-execution-ast.js.map +1 -0
- package/dist/rules/effect-promise-execution-engine.d.ts +9 -0
- package/dist/rules/effect-promise-execution-engine.d.ts.map +1 -0
- package/dist/rules/effect-promise-execution-engine.js +280 -0
- package/dist/rules/effect-promise-execution-engine.js.map +1 -0
- package/dist/rules/effect-promise-execution-flow.d.ts +48 -0
- package/dist/rules/effect-promise-execution-flow.d.ts.map +1 -0
- package/dist/rules/effect-promise-execution-flow.js +193 -0
- package/dist/rules/effect-promise-execution-flow.js.map +1 -0
- package/dist/rules/effect-promise-execution-navigation.d.ts +34 -0
- package/dist/rules/effect-promise-execution-navigation.d.ts.map +1 -0
- package/dist/rules/effect-promise-execution-navigation.js +66 -0
- package/dist/rules/effect-promise-execution-navigation.js.map +1 -0
- package/dist/rules/effect-promise-execution-types.d.ts +36 -0
- package/dist/rules/effect-promise-execution-types.d.ts.map +1 -0
- package/dist/rules/effect-promise-execution-types.js +5 -0
- package/dist/rules/effect-promise-execution-types.js.map +1 -0
- package/dist/rules/effect-promise-execution-values.d.ts +40 -0
- package/dist/rules/effect-promise-execution-values.d.ts.map +1 -0
- package/dist/rules/effect-promise-execution-values.js +268 -0
- package/dist/rules/effect-promise-execution-values.js.map +1 -0
- package/dist/rules/effect-promise-expression-flow.d.ts +27 -0
- package/dist/rules/effect-promise-expression-flow.d.ts.map +1 -0
- package/dist/rules/effect-promise-expression-flow.js +80 -0
- package/dist/rules/effect-promise-expression-flow.js.map +1 -0
- package/dist/rules/effect-promise-invocation-memo.d.ts +16 -0
- package/dist/rules/effect-promise-invocation-memo.d.ts.map +1 -0
- package/dist/rules/effect-promise-invocation-memo.js +44 -0
- package/dist/rules/effect-promise-invocation-memo.js.map +1 -0
- package/dist/rules/effect-promise-invocations.d.ts +16 -0
- package/dist/rules/effect-promise-invocations.d.ts.map +1 -0
- package/dist/rules/effect-promise-invocations.js +126 -0
- package/dist/rules/effect-promise-invocations.js.map +1 -0
- package/dist/rules/effect-promise-node-children.d.ts +22 -0
- package/dist/rules/effect-promise-node-children.d.ts.map +1 -0
- package/dist/rules/effect-promise-node-children.js +49 -0
- package/dist/rules/effect-promise-node-children.js.map +1 -0
- package/dist/rules/effect-promise-node-evaluation.d.ts +43 -0
- package/dist/rules/effect-promise-node-evaluation.d.ts.map +1 -0
- package/dist/rules/effect-promise-node-evaluation.js +150 -0
- package/dist/rules/effect-promise-node-evaluation.js.map +1 -0
- package/dist/rules/effect-promise-parameter-bindings.d.ts +28 -0
- package/dist/rules/effect-promise-parameter-bindings.d.ts.map +1 -0
- package/dist/rules/effect-promise-parameter-bindings.js +187 -0
- package/dist/rules/effect-promise-parameter-bindings.js.map +1 -0
- package/dist/rules/effect-promise-pattern-bindings.d.ts +9 -0
- package/dist/rules/effect-promise-pattern-bindings.d.ts.map +1 -0
- package/dist/rules/effect-promise-pattern-bindings.js +54 -0
- package/dist/rules/effect-promise-pattern-bindings.js.map +1 -0
- package/dist/rules/effect-promise-program-traversal.d.ts +40 -0
- package/dist/rules/effect-promise-program-traversal.d.ts.map +1 -0
- package/dist/rules/effect-promise-program-traversal.js +115 -0
- package/dist/rules/effect-promise-program-traversal.js.map +1 -0
- package/dist/rules/effect-promise-rule-bindings.d.ts +23 -0
- package/dist/rules/effect-promise-rule-bindings.d.ts.map +1 -0
- package/dist/rules/effect-promise-rule-bindings.js +41 -0
- package/dist/rules/effect-promise-rule-bindings.js.map +1 -0
- package/dist/rules/effect-promise-runtime-arguments.d.ts +18 -0
- package/dist/rules/effect-promise-runtime-arguments.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-arguments.js +49 -0
- package/dist/rules/effect-promise-runtime-arguments.js.map +1 -0
- package/dist/rules/effect-promise-runtime-call-targets.d.ts +21 -0
- package/dist/rules/effect-promise-runtime-call-targets.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-call-targets.js +55 -0
- package/dist/rules/effect-promise-runtime-call-targets.js.map +1 -0
- package/dist/rules/effect-promise-runtime-callable-properties.d.ts +20 -0
- package/dist/rules/effect-promise-runtime-callable-properties.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-callable-properties.js +30 -0
- package/dist/rules/effect-promise-runtime-callable-properties.js.map +1 -0
- package/dist/rules/effect-promise-runtime-callables.d.ts +51 -0
- package/dist/rules/effect-promise-runtime-callables.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-callables.js +214 -0
- package/dist/rules/effect-promise-runtime-callables.js.map +1 -0
- package/dist/rules/effect-promise-runtime-choice-operations.d.ts +32 -0
- package/dist/rules/effect-promise-runtime-choice-operations.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-choice-operations.js +145 -0
- package/dist/rules/effect-promise-runtime-choice-operations.js.map +1 -0
- package/dist/rules/effect-promise-runtime-choice.d.ts +26 -0
- package/dist/rules/effect-promise-runtime-choice.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-choice.js +95 -0
- package/dist/rules/effect-promise-runtime-choice.js.map +1 -0
- package/dist/rules/effect-promise-runtime-control-branches.d.ts +14 -0
- package/dist/rules/effect-promise-runtime-control-branches.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-control-branches.js +74 -0
- package/dist/rules/effect-promise-runtime-control-branches.js.map +1 -0
- package/dist/rules/effect-promise-runtime-control-completions.d.ts +26 -0
- package/dist/rules/effect-promise-runtime-control-completions.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-control-completions.js +116 -0
- package/dist/rules/effect-promise-runtime-control-completions.js.map +1 -0
- package/dist/rules/effect-promise-runtime-control-flow.d.ts +9 -0
- package/dist/rules/effect-promise-runtime-control-flow.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-control-flow.js +94 -0
- package/dist/rules/effect-promise-runtime-control-flow.js.map +1 -0
- package/dist/rules/effect-promise-runtime-control-patterns.d.ts +15 -0
- package/dist/rules/effect-promise-runtime-control-patterns.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-control-patterns.js +84 -0
- package/dist/rules/effect-promise-runtime-control-patterns.js.map +1 -0
- package/dist/rules/effect-promise-runtime-control-scalars.d.ts +23 -0
- package/dist/rules/effect-promise-runtime-control-scalars.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-control-scalars.js +178 -0
- package/dist/rules/effect-promise-runtime-control-scalars.js.map +1 -0
- package/dist/rules/effect-promise-runtime-expressions.d.ts +22 -0
- package/dist/rules/effect-promise-runtime-expressions.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-expressions.js +265 -0
- package/dist/rules/effect-promise-runtime-expressions.js.map +1 -0
- package/dist/rules/effect-promise-runtime-heap.d.ts +39 -0
- package/dist/rules/effect-promise-runtime-heap.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-heap.js +73 -0
- package/dist/rules/effect-promise-runtime-heap.js.map +1 -0
- package/dist/rules/effect-promise-runtime-interpreter.d.ts +39 -0
- package/dist/rules/effect-promise-runtime-interpreter.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-interpreter.js +260 -0
- package/dist/rules/effect-promise-runtime-interpreter.js.map +1 -0
- package/dist/rules/effect-promise-runtime-intrinsics.d.ts +15 -0
- package/dist/rules/effect-promise-runtime-intrinsics.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-intrinsics.js +54 -0
- package/dist/rules/effect-promise-runtime-intrinsics.js.map +1 -0
- package/dist/rules/effect-promise-runtime-loops.d.ts +9 -0
- package/dist/rules/effect-promise-runtime-loops.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-loops.js +277 -0
- package/dist/rules/effect-promise-runtime-loops.js.map +1 -0
- package/dist/rules/effect-promise-runtime-members.d.ts +28 -0
- package/dist/rules/effect-promise-runtime-members.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-members.js +88 -0
- package/dist/rules/effect-promise-runtime-members.js.map +1 -0
- package/dist/rules/effect-promise-runtime-memo.d.ts +40 -0
- package/dist/rules/effect-promise-runtime-memo.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-memo.js +124 -0
- package/dist/rules/effect-promise-runtime-memo.js.map +1 -0
- package/dist/rules/effect-promise-runtime-model.d.ts +251 -0
- package/dist/rules/effect-promise-runtime-model.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-model.js +84 -0
- package/dist/rules/effect-promise-runtime-model.js.map +1 -0
- package/dist/rules/effect-promise-runtime-mutations.d.ts +17 -0
- package/dist/rules/effect-promise-runtime-mutations.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-mutations.js +165 -0
- package/dist/rules/effect-promise-runtime-mutations.js.map +1 -0
- package/dist/rules/effect-promise-runtime-patterns.d.ts +21 -0
- package/dist/rules/effect-promise-runtime-patterns.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-patterns.js +179 -0
- package/dist/rules/effect-promise-runtime-patterns.js.map +1 -0
- package/dist/rules/effect-promise-runtime-proof.d.ts +74 -0
- package/dist/rules/effect-promise-runtime-proof.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-proof.js +253 -0
- package/dist/rules/effect-promise-runtime-proof.js.map +1 -0
- package/dist/rules/effect-promise-runtime-reporting.d.ts +16 -0
- package/dist/rules/effect-promise-runtime-reporting.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-reporting.js +11 -0
- package/dist/rules/effect-promise-runtime-reporting.js.map +1 -0
- package/dist/rules/effect-promise-runtime-scalar-operations.d.ts +2 -0
- package/dist/rules/effect-promise-runtime-scalar-operations.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-scalar-operations.js +5 -0
- package/dist/rules/effect-promise-runtime-scalar-operations.js.map +1 -0
- package/dist/rules/effect-promise-runtime-scalars.d.ts +24 -0
- package/dist/rules/effect-promise-runtime-scalars.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-scalars.js +125 -0
- package/dist/rules/effect-promise-runtime-scalars.js.map +1 -0
- package/dist/rules/effect-promise-runtime-statements.d.ts +15 -0
- package/dist/rules/effect-promise-runtime-statements.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-statements.js +251 -0
- package/dist/rules/effect-promise-runtime-statements.js.map +1 -0
- package/dist/rules/effect-promise-runtime-store.d.ts +44 -0
- package/dist/rules/effect-promise-runtime-store.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-store.js +186 -0
- package/dist/rules/effect-promise-runtime-store.js.map +1 -0
- package/dist/rules/effect-promise-runtime-structures.d.ts +9 -0
- package/dist/rules/effect-promise-runtime-structures.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-structures.js +181 -0
- package/dist/rules/effect-promise-runtime-structures.js.map +1 -0
- package/dist/rules/effect-promise-runtime-switch.d.ts +9 -0
- package/dist/rules/effect-promise-runtime-switch.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-switch.js +91 -0
- package/dist/rules/effect-promise-runtime-switch.js.map +1 -0
- package/dist/rules/effect-promise-runtime-tasks.d.ts +72 -0
- package/dist/rules/effect-promise-runtime-tasks.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-tasks.js +158 -0
- package/dist/rules/effect-promise-runtime-tasks.js.map +1 -0
- package/dist/rules/effect-promise-runtime-this.d.ts +14 -0
- package/dist/rules/effect-promise-runtime-this.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-this.js +29 -0
- package/dist/rules/effect-promise-runtime-this.js.map +1 -0
- package/dist/rules/effect-promise-runtime-try.d.ts +9 -0
- package/dist/rules/effect-promise-runtime-try.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-try.js +94 -0
- package/dist/rules/effect-promise-runtime-try.js.map +1 -0
- package/dist/rules/effect-promise-runtime-values.d.ts +88 -0
- package/dist/rules/effect-promise-runtime-values.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-values.js +382 -0
- package/dist/rules/effect-promise-runtime-values.js.map +1 -0
- package/dist/rules/effect-promise-value-scopes.d.ts +94 -0
- package/dist/rules/effect-promise-value-scopes.d.ts.map +1 -0
- package/dist/rules/effect-promise-value-scopes.js +218 -0
- package/dist/rules/effect-promise-value-scopes.js.map +1 -0
- package/dist/rules/effect-recursion-ast.d.ts +14 -0
- package/dist/rules/effect-recursion-ast.d.ts.map +1 -0
- package/dist/rules/effect-recursion-ast.js +154 -0
- package/dist/rules/effect-recursion-ast.js.map +1 -0
- package/dist/rules/effect-recursion-execution.d.ts +15 -0
- package/dist/rules/effect-recursion-execution.d.ts.map +1 -0
- package/dist/rules/effect-recursion-execution.js +312 -0
- package/dist/rules/effect-recursion-execution.js.map +1 -0
- package/dist/rules/effect-recursion-generator.d.ts +17 -0
- package/dist/rules/effect-recursion-generator.d.ts.map +1 -0
- package/dist/rules/effect-recursion-generator.js +125 -0
- package/dist/rules/effect-recursion-generator.js.map +1 -0
- package/dist/rules/effect-recursion-local-bindings.d.ts +44 -0
- package/dist/rules/effect-recursion-local-bindings.d.ts.map +1 -0
- package/dist/rules/effect-recursion-local-bindings.js +99 -0
- package/dist/rules/effect-recursion-local-bindings.js.map +1 -0
- package/dist/rules/effect-recursion-phases.d.ts +40 -0
- package/dist/rules/effect-recursion-phases.d.ts.map +1 -0
- package/dist/rules/effect-recursion-phases.js +62 -0
- package/dist/rules/effect-recursion-phases.js.map +1 -0
- package/dist/rules/effect-recursion-source.d.ts +10 -0
- package/dist/rules/effect-recursion-source.d.ts.map +1 -0
- package/dist/rules/effect-recursion-source.js +182 -0
- package/dist/rules/effect-recursion-source.js.map +1 -0
- package/dist/rules/effect-recursion-viability.d.ts +66 -0
- package/dist/rules/effect-recursion-viability.d.ts.map +1 -0
- package/dist/rules/effect-recursion-viability.js +228 -0
- package/dist/rules/effect-recursion-viability.js.map +1 -0
- package/dist/rules/effect-rule-aliases.d.ts +14 -19
- package/dist/rules/effect-rule-aliases.d.ts.map +1 -1
- package/dist/rules/effect-rule-aliases.js +48 -30
- package/dist/rules/effect-rule-aliases.js.map +1 -1
- package/dist/rules/effect-rule-core.d.ts +4 -4
- package/dist/rules/effect-rule-core.d.ts.map +1 -1
- package/dist/rules/effect-rule-core.js +42 -44
- package/dist/rules/effect-rule-core.js.map +1 -1
- package/dist/rules/effect-rule-names.d.ts.map +1 -1
- package/dist/rules/effect-rule-names.js +1 -1
- package/dist/rules/effect-rule-names.js.map +1 -1
- package/dist/rules/effect-source-navigation-lexer.d.ts +13 -0
- package/dist/rules/effect-source-navigation-lexer.d.ts.map +1 -0
- package/dist/rules/effect-source-navigation-lexer.js +228 -0
- package/dist/rules/effect-source-navigation-lexer.js.map +1 -0
- package/dist/rules/effect-source-navigation.d.ts +2 -2
- package/dist/rules/effect-source-navigation.d.ts.map +1 -1
- package/dist/rules/effect-source-navigation.js +104 -101
- package/dist/rules/effect-source-navigation.js.map +1 -1
- package/dist/rules/effect-strict-ast-helpers.d.ts +82 -0
- package/dist/rules/effect-strict-ast-helpers.d.ts.map +1 -0
- package/dist/rules/effect-strict-ast-helpers.js +194 -0
- package/dist/rules/effect-strict-ast-helpers.js.map +1 -0
- package/dist/rules/effect-strict-ast-specs.d.ts.map +1 -1
- package/dist/rules/effect-strict-ast-specs.js +14 -16
- package/dist/rules/effect-strict-ast-specs.js.map +1 -1
- package/dist/rules/effect-strict-internals.d.ts +2 -196
- package/dist/rules/effect-strict-internals.d.ts.map +1 -1
- package/dist/rules/effect-strict-internals.js +2 -417
- package/dist/rules/effect-strict-internals.js.map +1 -1
- package/dist/rules/effect-strict-source-predicates.d.ts +120 -0
- package/dist/rules/effect-strict-source-predicates.d.ts.map +1 -0
- package/dist/rules/effect-strict-source-predicates.js +234 -0
- package/dist/rules/effect-strict-source-predicates.js.map +1 -0
- package/dist/rules/effect-sync-promise-scope-index.d.ts +44 -0
- package/dist/rules/effect-sync-promise-scope-index.d.ts.map +1 -0
- package/dist/rules/effect-sync-promise-scope-index.js +345 -0
- package/dist/rules/effect-sync-promise-scope-index.js.map +1 -0
- package/dist/rules/effect-sync-promise-scopes.d.ts +10 -0
- package/dist/rules/effect-sync-promise-scopes.d.ts.map +1 -0
- package/dist/rules/effect-sync-promise-scopes.js +115 -0
- package/dist/rules/effect-sync-promise-scopes.js.map +1 -0
- package/dist/rules/effect-sync-promise-source.d.ts +2 -0
- package/dist/rules/effect-sync-promise-source.d.ts.map +1 -0
- package/dist/rules/effect-sync-promise-source.js +5 -0
- package/dist/rules/effect-sync-promise-source.js.map +1 -0
- package/dist/rules/plugin-commented-out-code-jsx-scanner.d.ts +21 -0
- package/dist/rules/plugin-commented-out-code-jsx-scanner.d.ts.map +1 -0
- package/dist/rules/plugin-commented-out-code-jsx-scanner.js +200 -0
- package/dist/rules/plugin-commented-out-code-jsx-scanner.js.map +1 -0
- package/dist/rules/plugin-commented-out-code-lexical-primitives.d.ts +139 -0
- package/dist/rules/plugin-commented-out-code-lexical-primitives.d.ts.map +1 -0
- package/dist/rules/plugin-commented-out-code-lexical-primitives.js +244 -0
- package/dist/rules/plugin-commented-out-code-lexical-primitives.js.map +1 -0
- package/dist/rules/plugin-commented-out-code-rule.d.ts +13 -0
- package/dist/rules/plugin-commented-out-code-rule.d.ts.map +1 -1
- package/dist/rules/plugin-commented-out-code-rule.js +174 -82
- package/dist/rules/plugin-commented-out-code-rule.js.map +1 -1
- package/dist/rules/plugin-commented-out-code-source-scanner.d.ts +8 -0
- package/dist/rules/plugin-commented-out-code-source-scanner.d.ts.map +1 -0
- package/dist/rules/plugin-commented-out-code-source-scanner.js +228 -0
- package/dist/rules/plugin-commented-out-code-source-scanner.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/* -------------------------------------------------------------------------- */
|
|
2
|
+
/* Allocation-free lexical primitives for source comment scanning. */
|
|
3
|
+
/* -------------------------------------------------------------------------- */
|
|
4
|
+
import { CHAR_CLASS, CLS_DIGIT, CLS_LOWER, CLS_UNDER, CLS_UPPER } from './char-class.js';
|
|
5
|
+
/**
|
|
6
|
+
* ASCII code point for a backslash.
|
|
7
|
+
*/
|
|
8
|
+
export const BACKSLASH = 92;
|
|
9
|
+
/**
|
|
10
|
+
* ASCII code point for a backtick.
|
|
11
|
+
*/
|
|
12
|
+
export const BACKTICK = 96;
|
|
13
|
+
/**
|
|
14
|
+
* ASCII code point for a closing brace.
|
|
15
|
+
*/
|
|
16
|
+
export const CLOSE_BRACE = 125;
|
|
17
|
+
/**
|
|
18
|
+
* ASCII code point for a closing bracket.
|
|
19
|
+
*/
|
|
20
|
+
export const CLOSE_BRACKET = 93;
|
|
21
|
+
/**
|
|
22
|
+
* ASCII code point for a closing parenthesis.
|
|
23
|
+
*/
|
|
24
|
+
export const CLOSE_PARENTHESIS = 41;
|
|
25
|
+
/**
|
|
26
|
+
* ASCII code point for a dollar sign.
|
|
27
|
+
*/
|
|
28
|
+
export const DOLLAR = 36;
|
|
29
|
+
/**
|
|
30
|
+
* ASCII code point for a double quote.
|
|
31
|
+
*/
|
|
32
|
+
export const DOUBLE_QUOTE = 34;
|
|
33
|
+
/**
|
|
34
|
+
* ASCII code point for an equals sign.
|
|
35
|
+
*/
|
|
36
|
+
export const EQUALS = 61;
|
|
37
|
+
/**
|
|
38
|
+
* ASCII code point for a greater-than sign.
|
|
39
|
+
*/
|
|
40
|
+
export const GREATER_THAN = 62;
|
|
41
|
+
/**
|
|
42
|
+
* ASCII code point for a less-than sign.
|
|
43
|
+
*/
|
|
44
|
+
export const LESS_THAN = 60;
|
|
45
|
+
/**
|
|
46
|
+
* ASCII code point for a minus sign.
|
|
47
|
+
*/
|
|
48
|
+
export const MINUS = 45;
|
|
49
|
+
/**
|
|
50
|
+
* ASCII code point for an opening brace.
|
|
51
|
+
*/
|
|
52
|
+
export const OPEN_BRACE = 123;
|
|
53
|
+
/**
|
|
54
|
+
* ASCII code point for an opening bracket.
|
|
55
|
+
*/
|
|
56
|
+
export const OPEN_BRACKET = 91;
|
|
57
|
+
/**
|
|
58
|
+
* ASCII code point for an opening parenthesis.
|
|
59
|
+
*/
|
|
60
|
+
export const OPEN_PARENTHESIS = 40;
|
|
61
|
+
/**
|
|
62
|
+
* ASCII code point for a plus sign.
|
|
63
|
+
*/
|
|
64
|
+
export const PLUS = 43;
|
|
65
|
+
/**
|
|
66
|
+
* ASCII code point for a semicolon.
|
|
67
|
+
*/
|
|
68
|
+
export const SEMICOLON = 59;
|
|
69
|
+
/**
|
|
70
|
+
* ASCII code point for a single quote.
|
|
71
|
+
*/
|
|
72
|
+
export const SINGLE_QUOTE = 39;
|
|
73
|
+
/**
|
|
74
|
+
* ASCII code point for a slash.
|
|
75
|
+
*/
|
|
76
|
+
export const SLASH = 47;
|
|
77
|
+
/**
|
|
78
|
+
* ASCII code point for an asterisk.
|
|
79
|
+
*/
|
|
80
|
+
export const STAR = 42;
|
|
81
|
+
const CARRIAGE_RETURN = 13;
|
|
82
|
+
const DOLLAR_CODE = 36;
|
|
83
|
+
const EXCLAMATION = 33;
|
|
84
|
+
const FORM_FEED = 12;
|
|
85
|
+
const HASH = 35;
|
|
86
|
+
const LINE_FEED = 10;
|
|
87
|
+
const LINE_SEPARATOR = 8232;
|
|
88
|
+
const PARAGRAPH_SEPARATOR = 8233;
|
|
89
|
+
const SPACE = 32;
|
|
90
|
+
const TAB = 9;
|
|
91
|
+
const VERTICAL_TAB = 11;
|
|
92
|
+
const IDENTIFIER_CLASS = CLS_UPPER | CLS_LOWER | CLS_DIGIT | CLS_UNDER;
|
|
93
|
+
const IDENTIFIER_START_CLASS = CLS_UPPER | CLS_LOWER | CLS_UNDER;
|
|
94
|
+
/**
|
|
95
|
+
* Checks all four ECMAScript line-terminator code points without allocating.
|
|
96
|
+
*/
|
|
97
|
+
export const isECMAScriptLineEnding = (code) => code === LINE_FEED ||
|
|
98
|
+
code === CARRIAGE_RETURN ||
|
|
99
|
+
code === LINE_SEPARATOR ||
|
|
100
|
+
code === PARAGRAPH_SEPARATOR;
|
|
101
|
+
/**
|
|
102
|
+
* Advances across one ECMAScript line terminator while preserving CRLF as a pair.
|
|
103
|
+
*/
|
|
104
|
+
export const indexAfterLineEnding = (source, end) => {
|
|
105
|
+
const code = source.charCodeAt(end);
|
|
106
|
+
if (code === CARRIAGE_RETURN && source.charCodeAt(end + 1) === LINE_FEED) {
|
|
107
|
+
return end + 2;
|
|
108
|
+
}
|
|
109
|
+
if (isECMAScriptLineEnding(code)) {
|
|
110
|
+
return end + 1;
|
|
111
|
+
}
|
|
112
|
+
return end;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Determines whether a code point can begin an ECMAScript identifier.
|
|
116
|
+
*/
|
|
117
|
+
export const isIdentifierStart = (code) => (CHAR_CLASS[code] & IDENTIFIER_START_CLASS) !== 0 ||
|
|
118
|
+
code === DOLLAR_CODE ||
|
|
119
|
+
code >= CHAR_CLASS.length;
|
|
120
|
+
/**
|
|
121
|
+
* Determines whether a code point can continue an ECMAScript identifier.
|
|
122
|
+
*/
|
|
123
|
+
export const isIdentifierPart = (code) => (CHAR_CLASS[code] & IDENTIFIER_CLASS) !== 0 || code === DOLLAR_CODE || code >= CHAR_CLASS.length;
|
|
124
|
+
/**
|
|
125
|
+
* Determines whether a code point is source trivia recognized by the scanner.
|
|
126
|
+
*/
|
|
127
|
+
export const isTrivia = (code) => code === SPACE ||
|
|
128
|
+
code === TAB ||
|
|
129
|
+
code === VERTICAL_TAB ||
|
|
130
|
+
code === FORM_FEED ||
|
|
131
|
+
isECMAScriptLineEnding(code);
|
|
132
|
+
/**
|
|
133
|
+
* Finds the first source index after an identifier token.
|
|
134
|
+
*/
|
|
135
|
+
export const indexAfterIdentifier = (source, start) => {
|
|
136
|
+
let index = start + 1;
|
|
137
|
+
const sourceLength = source.length;
|
|
138
|
+
while (index < sourceLength && isIdentifierPart(source.charCodeAt(index))) {
|
|
139
|
+
index += 1;
|
|
140
|
+
}
|
|
141
|
+
return index;
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Checks whether one source segment exactly matches a listed word.
|
|
145
|
+
*/
|
|
146
|
+
export const isListedWord = (source, start, end, words) => {
|
|
147
|
+
for (const word of words) {
|
|
148
|
+
if (end - start === word.length && source.startsWith(word, start)) {
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return false;
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Finds the first source index after a quoted string, including its closing quote.
|
|
156
|
+
*/
|
|
157
|
+
export const indexAfterQuotedString = (source, start, quote) => {
|
|
158
|
+
let index = start + 1;
|
|
159
|
+
const sourceLength = source.length;
|
|
160
|
+
while (index < sourceLength) {
|
|
161
|
+
const code = source.charCodeAt(index);
|
|
162
|
+
if (code === BACKSLASH) {
|
|
163
|
+
index += 2;
|
|
164
|
+
}
|
|
165
|
+
else if (code === quote) {
|
|
166
|
+
return index + 1;
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
index += 1;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return sourceLength;
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* Finds the first source index after a regular-expression literal and its flags.
|
|
176
|
+
*/
|
|
177
|
+
export const indexAfterREGEX = (source, start) => {
|
|
178
|
+
let isInCharacterClass = false;
|
|
179
|
+
for (let index = start + 1; index < source.length; index += 1) {
|
|
180
|
+
const code = source.charCodeAt(index);
|
|
181
|
+
if (code === BACKSLASH) {
|
|
182
|
+
index += 1;
|
|
183
|
+
}
|
|
184
|
+
else if (isECMAScriptLineEnding(code)) {
|
|
185
|
+
return start + 1;
|
|
186
|
+
}
|
|
187
|
+
else if (code === SLASH && !isInCharacterClass) {
|
|
188
|
+
return indexAfterIdentifier(source, index);
|
|
189
|
+
}
|
|
190
|
+
else if (code === OPEN_BRACKET) {
|
|
191
|
+
isInCharacterClass = true;
|
|
192
|
+
}
|
|
193
|
+
else if (code === CLOSE_BRACKET) {
|
|
194
|
+
isInCharacterClass = false;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return start + 1;
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* Scans a line comment, consumes its boundaries, and returns the next source index.
|
|
201
|
+
*/
|
|
202
|
+
export const scanLineComment = (source, start, consumeComment) => {
|
|
203
|
+
let bodyEnd = start + 2;
|
|
204
|
+
const sourceLength = source.length;
|
|
205
|
+
while (bodyEnd < sourceLength && !isECMAScriptLineEnding(source.charCodeAt(bodyEnd))) {
|
|
206
|
+
bodyEnd += 1;
|
|
207
|
+
}
|
|
208
|
+
consumeComment({ bodyEnd, bodyStart: start + 2, end: bodyEnd, start, type: 'Line' });
|
|
209
|
+
return indexAfterLineEnding(source, bodyEnd);
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* Scans a block comment, consumes its boundaries, and returns the next source index.
|
|
213
|
+
*/
|
|
214
|
+
export const scanBlockComment = (source, start, consumeComment) => {
|
|
215
|
+
const bodyStart = start + 2;
|
|
216
|
+
const bodyEnd = source.indexOf('*/', bodyStart);
|
|
217
|
+
if (bodyEnd === -1) {
|
|
218
|
+
consumeComment({
|
|
219
|
+
bodyEnd: source.length,
|
|
220
|
+
bodyStart,
|
|
221
|
+
end: source.length,
|
|
222
|
+
start,
|
|
223
|
+
type: 'Block',
|
|
224
|
+
});
|
|
225
|
+
return source.length;
|
|
226
|
+
}
|
|
227
|
+
const end = bodyEnd + 2;
|
|
228
|
+
consumeComment({ bodyEnd, bodyStart, end, start, type: 'Block' });
|
|
229
|
+
return end;
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* Finds the first source index after an optional hashbang line.
|
|
233
|
+
*/
|
|
234
|
+
export const indexAfterHashbang = (source) => {
|
|
235
|
+
if (source.charCodeAt(0) !== HASH || source.charCodeAt(1) !== EXCLAMATION) {
|
|
236
|
+
return 0;
|
|
237
|
+
}
|
|
238
|
+
let index = 2;
|
|
239
|
+
while (index < source.length && !isECMAScriptLineEnding(source.charCodeAt(index))) {
|
|
240
|
+
index += 1;
|
|
241
|
+
}
|
|
242
|
+
return indexAfterLineEnding(source, index);
|
|
243
|
+
};
|
|
244
|
+
//# sourceMappingURL=plugin-commented-out-code-lexical-primitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-commented-out-code-lexical-primitives.js","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-lexical-primitives.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAkBtF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAC3B;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC;AAC/B;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAChC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC;AACzB;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC;AACzB;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;AACxB;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAC9B;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;AACvB;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;AACxB;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;AAEvB,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,IAAI,GAAG,EAAE,CAAC;AAChB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,GAAG,GAAG,CAAC,CAAC;AACd,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AACvE,MAAM,sBAAsB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAW,EAAE,CAC9D,IAAI,KAAK,SAAS;IAClB,IAAI,KAAK,eAAe;IACxB,IAAI,KAAK,cAAc;IACvB,IAAI,KAAK,mBAAmB,CAAC;AAE/B;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAE,GAAW,EAAU,EAAE;IAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,eAAe,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACzE,OAAO,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAW,EAAE,CACzD,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC;IACjD,IAAI,KAAK,WAAW;IACpB,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC;AAE5B;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE,CACxD,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC;AAEnG;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAW,EAAE,CAChD,IAAI,KAAK,KAAK;IACd,IAAI,KAAK,GAAG;IACZ,IAAI,KAAK,YAAY;IACrB,IAAI,KAAK,SAAS;IAClB,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,MAAc,EAAE,KAAa,EAAU,EAAE;IAC5E,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IACtB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,OAAO,KAAK,GAAG,YAAY,IAAI,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1E,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAc,EACd,KAAa,EACb,GAAW,EACX,KAAwB,EACf,EAAE;IACX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,GAAG,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,KAAa,EAAU,EAAE;IAC7F,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IACtB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,OAAO,KAAK,GAAG,YAAY,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,KAAK,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,KAAa,EAAU,EAAE;IACvE,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,KAAK,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjD,OAAO,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,kBAAkB,GAAG,IAAI,CAAC;QAC5B,CAAC;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,kBAAkB,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,GAAG,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,MAAc,EACd,KAAa,EACb,cAA+B,EACvB,EAAE;IACV,IAAI,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;IACxB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,OAAO,OAAO,GAAG,YAAY,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IACD,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACrF,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAc,EACd,KAAa,EACb,cAA+B,EACvB,EAAE;IACV,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,cAAc,CAAC;YACb,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,SAAS;YACT,GAAG,EAAE,MAAM,CAAC,MAAM;YAClB,KAAK;YACL,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAU,EAAE;IAC3D,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QAC1E,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAClF,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC,CAAC"}
|
|
@@ -11,9 +11,22 @@ interface ReportDescriptor {
|
|
|
11
11
|
message: string;
|
|
12
12
|
node: object;
|
|
13
13
|
}
|
|
14
|
+
interface CommentToken {
|
|
15
|
+
end?: number;
|
|
16
|
+
range?: readonly number[];
|
|
17
|
+
start?: number;
|
|
18
|
+
type?: string;
|
|
19
|
+
value?: string;
|
|
20
|
+
}
|
|
21
|
+
interface SourceCode {
|
|
22
|
+
getAllComments?: () => readonly CommentToken[];
|
|
23
|
+
getText?: () => string;
|
|
24
|
+
text?: string;
|
|
25
|
+
}
|
|
14
26
|
interface Context {
|
|
15
27
|
report: (descriptor: ReportDescriptor) => void;
|
|
16
28
|
filename?: string;
|
|
29
|
+
sourceCode?: SourceCode;
|
|
17
30
|
}
|
|
18
31
|
declare const noCommentedOutCodeRule: {
|
|
19
32
|
createOnce(context: Context): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-commented-out-code-rule.d.ts","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-rule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-commented-out-code-rule.d.ts","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-rule.ts"],"names":[],"mappings":"AAeA,UAAU,GAAG;IACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,KAAK;IACb,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;CAC3C;AAED,KAAK,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;AAEzC,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,YAAY;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,UAAU;IAClB,cAAc,CAAC,EAAE,MAAM,SAAS,YAAY,EAAE,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,OAAO;IACf,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAoRD,QAAA,MAAM,sBAAsB;wBACN,OAAO;sBAET,MAAM,GAAG,IAAI;;;;;;;sBAFX,OAAO;sBAET,MAAM,GAAG,IAAI;;CAgB/B,CAAC;AAEH,eAAe,sBAAsB,CAAC"}
|
|
@@ -1,100 +1,192 @@
|
|
|
1
1
|
/* -------------------------------------------------------------------------- */
|
|
2
2
|
/* Oxlint plugin rule for removing commented-out code. */
|
|
3
3
|
/* -------------------------------------------------------------------------- */
|
|
4
|
-
import {
|
|
4
|
+
import { CHAR_CLASS, CLS_DIGIT, CLS_LOWER, CLS_UNDER, CLS_UPPER } from './char-class.js';
|
|
5
|
+
import { Match, pipe } from 'effect';
|
|
6
|
+
import { indexAfterLineEnding, isECMAScriptLineEnding, scanSourceComments, } from './plugin-commented-out-code-source-scanner.js';
|
|
5
7
|
import { diagnosticMessage } from './diagnostic-guidance.js';
|
|
6
8
|
import isCommentedOutCode from './no-commented-out-code.js';
|
|
7
9
|
import { readCachedSource } from './source-cache.js';
|
|
8
|
-
const quoteCharacters = HashSet.make("'", '"', '`');
|
|
9
|
-
const scanIndexes = (startIndex, endIndex) => Match.value(startIndex).pipe(Match.when((value) => value > endIndex, () => []), Match.orElse((value) => Array.range(value, endIndex)));
|
|
10
10
|
const readSource = (context) => readCachedSource(context);
|
|
11
11
|
const removeRangeFix = (range) => (fixer) => fixer.removeRange(range);
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
12
|
+
const COMMENT_DIAGNOSTIC = diagnosticMessage({
|
|
13
|
+
example: 'const live = computeValue();',
|
|
14
|
+
fix: 'Delete the commented code. If it is still needed, restore it as live code with tests.',
|
|
15
|
+
summary: 'Commented-out code is dead code and wastes agent context.',
|
|
16
|
+
});
|
|
17
|
+
const CHAR_CODE_FORM_FEED = 12;
|
|
18
|
+
const CHAR_CODE_DOLLAR = 36;
|
|
19
|
+
const CHAR_CODE_DOT = 46;
|
|
20
|
+
const CHAR_CODE_SPACE = 32;
|
|
21
|
+
const CHAR_CODE_STAR = 42;
|
|
22
|
+
const CHAR_CODE_TAB = 9;
|
|
23
|
+
const CHAR_CODE_VERTICAL_TAB = 11;
|
|
24
|
+
const IDENTIFIER_CLASS = CLS_UPPER | CLS_LOWER | CLS_DIGIT | CLS_UNDER;
|
|
25
|
+
const TOKEN_JOINING_PAIRS = new Set([
|
|
26
|
+
'!=',
|
|
27
|
+
'%=',
|
|
28
|
+
'&&',
|
|
29
|
+
'&=',
|
|
30
|
+
'**',
|
|
31
|
+
'*=',
|
|
32
|
+
'++',
|
|
33
|
+
'+=',
|
|
34
|
+
'--',
|
|
35
|
+
'-=',
|
|
36
|
+
'->',
|
|
37
|
+
'/*',
|
|
38
|
+
'//',
|
|
39
|
+
'/=',
|
|
40
|
+
'<<',
|
|
41
|
+
'<=',
|
|
42
|
+
'==',
|
|
43
|
+
'=>',
|
|
44
|
+
'>=',
|
|
45
|
+
'>>',
|
|
46
|
+
'?.',
|
|
47
|
+
'??',
|
|
48
|
+
'^=',
|
|
49
|
+
'|=',
|
|
50
|
+
'||',
|
|
51
|
+
]);
|
|
52
|
+
const lineStartBefore = (source, start) => {
|
|
53
|
+
let index = start;
|
|
54
|
+
while (index > 0) {
|
|
55
|
+
if (isECMAScriptLineEnding(source.charCodeAt(index - 1))) {
|
|
56
|
+
return index;
|
|
57
|
+
}
|
|
58
|
+
index -= 1;
|
|
59
|
+
}
|
|
60
|
+
return 0;
|
|
61
|
+
};
|
|
62
|
+
const isHorizontalWhitespace = (code) => code === CHAR_CODE_TAB ||
|
|
63
|
+
code === CHAR_CODE_VERTICAL_TAB ||
|
|
64
|
+
code === CHAR_CODE_FORM_FEED ||
|
|
65
|
+
code === CHAR_CODE_SPACE;
|
|
66
|
+
const standaloneLineStart = (source, start) => {
|
|
67
|
+
const lineStart = lineStartBefore(source, start);
|
|
68
|
+
for (let index = lineStart; index < start; index += 1) {
|
|
69
|
+
if (!isHorizontalWhitespace(source.charCodeAt(index))) {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return lineStart;
|
|
74
|
+
};
|
|
75
|
+
const lineFixRange = (source, start, end) => {
|
|
76
|
+
const standaloneStart = standaloneLineStart(source, start);
|
|
77
|
+
if (standaloneStart === undefined) {
|
|
78
|
+
return [start, end];
|
|
79
|
+
}
|
|
80
|
+
return [standaloneStart, indexAfterLineEnding(source, end)];
|
|
81
|
+
};
|
|
82
|
+
const isIdentifierLike = (code) => (CHAR_CLASS[code] & IDENTIFIER_CLASS) !== 0 ||
|
|
83
|
+
code === CHAR_CODE_DOLLAR ||
|
|
84
|
+
code >= CHAR_CLASS.length;
|
|
85
|
+
const isDigit = (code) => (CHAR_CLASS[code] & CLS_DIGIT) !== 0;
|
|
86
|
+
const isTokenJoiningOperator = (left, right) => TOKEN_JOINING_PAIRS.has(String.fromCharCode(left, right)) ||
|
|
87
|
+
(left === CHAR_CODE_DOT && isDigit(right)) ||
|
|
88
|
+
(isDigit(left) && right === CHAR_CODE_DOT);
|
|
89
|
+
const wouldMergeTokens = (source, start, end) => {
|
|
90
|
+
if (start === 0 || end === source.length) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
const left = source.charCodeAt(start - 1);
|
|
94
|
+
const right = source.charCodeAt(end);
|
|
95
|
+
return (isIdentifierLike(left) && isIdentifierLike(right)) || isTokenJoiningOperator(left, right);
|
|
96
|
+
};
|
|
97
|
+
const containsLineEnding = (source, start, end) => {
|
|
98
|
+
for (let index = start; index < end; index += 1) {
|
|
99
|
+
if (isECMAScriptLineEnding(source.charCodeAt(index))) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return false;
|
|
104
|
+
};
|
|
105
|
+
const blockFixRange = (source, start, end) => {
|
|
106
|
+
if (containsLineEnding(source, start, end) || wouldMergeTokens(source, start, end)) {
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
return [start, end];
|
|
110
|
+
};
|
|
111
|
+
const reportDescriptor = (node, range) => {
|
|
112
|
+
if (range === undefined) {
|
|
113
|
+
return { message: COMMENT_DIAGNOSTIC, node };
|
|
114
|
+
}
|
|
115
|
+
return { fix: removeRangeFix(range), message: COMMENT_DIAGNOSTIC, node };
|
|
116
|
+
};
|
|
117
|
+
const reportComment = (context, node, body, range) => {
|
|
118
|
+
if (isCommentedOutCode(body)) {
|
|
119
|
+
context.report(reportDescriptor(node, range));
|
|
120
|
+
}
|
|
121
|
+
};
|
|
43
122
|
const withCreateOnce = (rule) => Object.assign(rule, { create: rule.createOnce });
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
123
|
+
const fallbackFixRange = (source, comment) => {
|
|
124
|
+
if (comment.type === 'Line') {
|
|
125
|
+
return lineFixRange(source, comment.start, comment.end);
|
|
126
|
+
}
|
|
127
|
+
return blockFixRange(source, comment.start, comment.end);
|
|
128
|
+
};
|
|
129
|
+
const reportScannedComment = (context, node, source, comment) => {
|
|
130
|
+
reportComment(context, node, source.slice(comment.bodyStart, comment.bodyEnd), fallbackFixRange(source, comment));
|
|
131
|
+
};
|
|
132
|
+
const reportCommentedOutCode = (context, node, source) => {
|
|
133
|
+
scanSourceComments(source, (comment) => {
|
|
134
|
+
reportScannedComment(context, node, source, comment);
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
const tokenBoundary = (directBoundary, rangeBoundary) => directBoundary ?? rangeBoundary;
|
|
138
|
+
const isValidCommentRange = (start, end, sourceLength) => start !== undefined && end !== undefined && start >= 0 && end >= start && end <= sourceLength;
|
|
139
|
+
const isCommentType = (type) => type === 'Block' || type === 'Line';
|
|
140
|
+
const tokenBodyEnd = (source, end, type) => {
|
|
141
|
+
if (type === 'Block' && source.charCodeAt(end - 2) === CHAR_CODE_STAR) {
|
|
142
|
+
return end - 2;
|
|
143
|
+
}
|
|
144
|
+
return end;
|
|
145
|
+
};
|
|
146
|
+
const tokenBody = (source, token, start, end, type) => {
|
|
147
|
+
if (token.value !== undefined) {
|
|
148
|
+
return token.value;
|
|
149
|
+
}
|
|
150
|
+
return source.slice(start + 2, tokenBodyEnd(source, end, type));
|
|
151
|
+
};
|
|
152
|
+
const tokenFixRange = (source, start, end, type) => {
|
|
153
|
+
if (type === 'Line') {
|
|
154
|
+
return lineFixRange(source, start, end);
|
|
155
|
+
}
|
|
156
|
+
return blockFixRange(source, start, end);
|
|
157
|
+
};
|
|
158
|
+
const reportNativeComment = (context, node, source, token) => {
|
|
159
|
+
const start = tokenBoundary(token.start, token.range?.[0]);
|
|
160
|
+
const end = tokenBoundary(token.end, token.range?.[1]);
|
|
161
|
+
if (!isValidCommentRange(start, end, source.length) || end === undefined) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const { type } = token;
|
|
165
|
+
if (!isCommentType(type)) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
reportComment(context, node, tokenBody(source, token, start, end, type), tokenFixRange(source, start, end, type));
|
|
169
|
+
};
|
|
170
|
+
const reportNativeComments = (context, node, source, comments) => {
|
|
171
|
+
for (const token of comments) {
|
|
172
|
+
reportNativeComment(context, node, source, token);
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
const reportAvailableComments = (context, node, source) => {
|
|
176
|
+
const { sourceCode } = context;
|
|
177
|
+
if (sourceCode?.getAllComments === undefined) {
|
|
178
|
+
reportCommentedOutCode(context, node, source);
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
reportNativeComments(context, node, source, sourceCode.getAllComments());
|
|
182
|
+
};
|
|
91
183
|
const noCommentedOutCodeRule = withCreateOnce({
|
|
92
184
|
createOnce(context) {
|
|
93
185
|
return {
|
|
94
186
|
Program(node) {
|
|
95
187
|
const source = readSource(context);
|
|
96
188
|
pipe(Match.value(source), Match.when('', () => undefined), Match.orElse((value) => {
|
|
97
|
-
|
|
189
|
+
reportAvailableComments(context, node, value);
|
|
98
190
|
}));
|
|
99
191
|
},
|
|
100
192
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-commented-out-code-rule.js","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-rule.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin-commented-out-code-rule.js","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-rule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CommentConsumer } from './plugin-commented-out-code-lexical-primitives';
|
|
2
|
+
export { indexAfterLineEnding, isECMAScriptLineEnding, } from './plugin-commented-out-code-lexical-primitives';
|
|
3
|
+
export type { ScannedComment } from './plugin-commented-out-code-lexical-primitives';
|
|
4
|
+
/**
|
|
5
|
+
* Emits genuine comments while treating regex, JSX, hashbangs, and template raw chunks as opaque.
|
|
6
|
+
*/
|
|
7
|
+
export declare const scanSourceComments: (source: string, consumeComment: CommentConsumer) => void;
|
|
8
|
+
//# sourceMappingURL=plugin-commented-out-code-source-scanner.d.ts.map
|