@astrale-os/sdk 0.4.19 → 0.5.0-beta.2
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/README.md +5 -3
- package/dist/auth/exchange.d.ts +11 -0
- package/dist/auth/exchange.d.ts.map +1 -0
- package/dist/auth/exchange.js +8 -0
- package/dist/auth/exchange.js.map +1 -0
- package/dist/auth/index.d.ts +4 -15
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +3 -10
- package/dist/auth/index.js.map +1 -1
- package/dist/capability/client.d.ts +25 -0
- package/dist/capability/client.d.ts.map +1 -0
- package/dist/capability/client.js +147 -0
- package/dist/capability/client.js.map +1 -0
- package/dist/capability/contract.d.ts +70 -0
- package/dist/capability/contract.d.ts.map +1 -0
- package/dist/capability/contract.js +3 -0
- package/dist/capability/contract.js.map +1 -0
- package/dist/capability/define.d.ts +14 -0
- package/dist/capability/define.d.ts.map +1 -0
- package/dist/capability/define.js +145 -0
- package/dist/capability/define.js.map +1 -0
- package/dist/capability/index.d.ts +3 -0
- package/dist/capability/index.d.ts.map +1 -0
- package/dist/capability/index.js +2 -0
- package/dist/capability/index.js.map +1 -0
- package/dist/cli/arguments.d.ts +21 -0
- package/dist/cli/arguments.d.ts.map +1 -0
- package/dist/cli/arguments.js +220 -0
- package/dist/cli/arguments.js.map +1 -0
- package/dist/cli/dotenv.d.ts +1 -4
- package/dist/cli/dotenv.d.ts.map +1 -1
- package/dist/cli/dotenv.js +6 -15
- package/dist/cli/dotenv.js.map +1 -1
- package/dist/cli/index.d.ts +4 -5
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +4 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/run.d.ts +4 -79
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +47 -326
- package/dist/cli/run.js.map +1 -1
- package/dist/deployment/artifact/bindings.d.ts +7 -0
- package/dist/deployment/artifact/bindings.d.ts.map +1 -0
- package/dist/deployment/artifact/bindings.js +44 -0
- package/dist/deployment/artifact/bindings.js.map +1 -0
- package/dist/deployment/artifact/deployment.d.ts +35 -0
- package/dist/deployment/artifact/deployment.d.ts.map +1 -0
- package/dist/deployment/artifact/deployment.js +91 -0
- package/dist/deployment/artifact/deployment.js.map +1 -0
- package/dist/deployment/artifact/index.d.ts +5 -0
- package/dist/deployment/artifact/index.d.ts.map +1 -0
- package/dist/deployment/artifact/index.js +4 -0
- package/dist/deployment/artifact/index.js.map +1 -0
- package/dist/deployment/check/check.d.ts +8 -0
- package/dist/deployment/check/check.d.ts.map +1 -0
- package/dist/deployment/check/check.js +94 -0
- package/dist/deployment/check/check.js.map +1 -0
- package/dist/deployment/check/contract.d.ts +29 -0
- package/dist/deployment/check/contract.d.ts.map +1 -0
- package/dist/deployment/check/contract.js +2 -0
- package/dist/deployment/check/contract.js.map +1 -0
- package/dist/deployment/check/index.d.ts +3 -0
- package/dist/deployment/check/index.d.ts.map +1 -0
- package/dist/deployment/check/index.js +2 -0
- package/dist/deployment/check/index.js.map +1 -0
- package/dist/deployment/index.d.ts +7 -0
- package/dist/deployment/index.d.ts.map +1 -0
- package/dist/deployment/index.js +4 -0
- package/dist/deployment/index.js.map +1 -0
- package/dist/deployment/provider/adapter.d.ts +56 -0
- package/dist/deployment/provider/adapter.d.ts.map +1 -0
- package/dist/deployment/provider/adapter.js +84 -0
- package/dist/deployment/provider/adapter.js.map +1 -0
- package/dist/deployment/provider/config.d.ts +10 -0
- package/dist/deployment/provider/config.d.ts.map +1 -0
- package/dist/deployment/provider/config.js +8 -0
- package/dist/deployment/provider/config.js.map +1 -0
- package/dist/deployment/provider/index.d.ts +5 -0
- package/dist/deployment/provider/index.d.ts.map +1 -0
- package/dist/deployment/provider/index.js +3 -0
- package/dist/deployment/provider/index.js.map +1 -0
- package/dist/domain/app.d.ts +34 -0
- package/dist/domain/app.d.ts.map +1 -0
- package/dist/domain/app.js +2 -0
- package/dist/domain/app.js.map +1 -0
- package/dist/domain/context.d.ts +68 -0
- package/dist/domain/context.d.ts.map +1 -0
- package/dist/domain/context.js +2 -0
- package/dist/domain/context.js.map +1 -0
- package/dist/domain/define.d.ts +99 -65
- package/dist/domain/define.d.ts.map +1 -1
- package/dist/domain/define.js +78 -60
- package/dist/domain/define.js.map +1 -1
- package/dist/domain/handlers.d.ts +53 -0
- package/dist/domain/handlers.d.ts.map +1 -0
- package/dist/domain/handlers.js +88 -0
- package/dist/domain/handlers.js.map +1 -0
- package/dist/domain/implement.d.ts +5 -0
- package/dist/domain/implement.d.ts.map +1 -0
- package/dist/domain/implement.js +23 -0
- package/dist/domain/implement.js.map +1 -0
- package/dist/domain/index.d.ts +13 -4
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +7 -3
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/requirements.d.ts +26 -0
- package/dist/domain/requirements.d.ts.map +1 -0
- package/dist/domain/requirements.js +98 -0
- package/dist/domain/requirements.js.map +1 -0
- package/dist/graph/class/index.d.ts +3 -0
- package/dist/graph/class/index.d.ts.map +1 -0
- package/dist/graph/class/index.js +3 -0
- package/dist/graph/class/index.js.map +1 -0
- package/dist/graph/edge/index.d.ts +3 -0
- package/dist/graph/edge/index.d.ts.map +1 -0
- package/dist/graph/edge/index.js +3 -0
- package/dist/graph/edge/index.js.map +1 -0
- package/dist/graph/index.d.ts +10 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +9 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/model/index.d.ts +3 -0
- package/dist/graph/model/index.d.ts.map +1 -0
- package/dist/graph/model/index.js +3 -0
- package/dist/graph/model/index.js.map +1 -0
- package/dist/graph/node/index.d.ts +3 -0
- package/dist/graph/node/index.d.ts.map +1 -0
- package/dist/graph/node/index.js +3 -0
- package/dist/graph/node/index.js.map +1 -0
- package/dist/graph/path/index.d.ts +3 -0
- package/dist/graph/path/index.d.ts.map +1 -0
- package/dist/graph/path/index.js +3 -0
- package/dist/graph/path/index.js.map +1 -0
- package/dist/graph/properties/index.d.ts +3 -0
- package/dist/graph/properties/index.d.ts.map +1 -0
- package/dist/graph/properties/index.js +3 -0
- package/dist/graph/properties/index.js.map +1 -0
- package/dist/index.d.ts +20 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -47
- package/dist/index.js.map +1 -1
- package/dist/invocation/handler.d.ts +51 -0
- package/dist/invocation/handler.d.ts.map +1 -0
- package/dist/invocation/handler.js +289 -0
- package/dist/invocation/handler.js.map +1 -0
- package/dist/invocation/index.d.ts +3 -0
- package/dist/invocation/index.d.ts.map +1 -0
- package/dist/invocation/index.js +2 -0
- package/dist/invocation/index.js.map +1 -0
- package/dist/invocation/receiver.d.ts +5 -0
- package/dist/invocation/receiver.d.ts.map +1 -0
- package/dist/invocation/receiver.js +70 -0
- package/dist/invocation/receiver.js.map +1 -0
- package/dist/invocation/result.d.ts +5 -0
- package/dist/invocation/result.d.ts.map +1 -0
- package/dist/invocation/result.js +146 -0
- package/dist/invocation/result.js.map +1 -0
- package/dist/invocation/selection.d.ts +21 -0
- package/dist/invocation/selection.d.ts.map +1 -0
- package/dist/invocation/selection.js +107 -0
- package/dist/invocation/selection.js.map +1 -0
- package/dist/linter/adapters/typescript/discover.d.ts +4 -0
- package/dist/linter/adapters/typescript/discover.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/discover.js +412 -0
- package/dist/linter/adapters/typescript/discover.js.map +1 -0
- package/dist/linter/adapters/typescript/evidence-admission.d.ts +5 -0
- package/dist/linter/adapters/typescript/evidence-admission.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/evidence-admission.js +22 -0
- package/dist/linter/adapters/typescript/evidence-admission.js.map +1 -0
- package/dist/linter/adapters/typescript/imports.d.ts +7 -0
- package/dist/linter/adapters/typescript/imports.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/imports.js +171 -0
- package/dist/linter/adapters/typescript/imports.js.map +1 -0
- package/dist/linter/adapters/typescript/index.d.ts +48 -0
- package/dist/linter/adapters/typescript/index.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/index.js +8 -0
- package/dist/linter/adapters/typescript/index.js.map +1 -0
- package/dist/linter/adapters/typescript/query-observation.d.ts +4 -0
- package/dist/linter/adapters/typescript/query-observation.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/query-observation.js +172 -0
- package/dist/linter/adapters/typescript/query-observation.js.map +1 -0
- package/dist/linter/adapters/typescript/suppression-directives.d.ts +5 -0
- package/dist/linter/adapters/typescript/suppression-directives.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/suppression-directives.js +85 -0
- package/dist/linter/adapters/typescript/suppression-directives.js.map +1 -0
- package/dist/linter/adapters/typescript/syntax.d.ts +39 -0
- package/dist/linter/adapters/typescript/syntax.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/syntax.js +183 -0
- package/dist/linter/adapters/typescript/syntax.js.map +1 -0
- package/dist/linter/adapters/typescript/type-universe.d.ts +2 -0
- package/dist/linter/adapters/typescript/type-universe.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/type-universe.js +265 -0
- package/dist/linter/adapters/typescript/type-universe.js.map +1 -0
- package/dist/linter/catalog/compile.d.ts +3 -0
- package/dist/linter/catalog/compile.d.ts.map +1 -0
- package/dist/linter/catalog/compile.js +111 -0
- package/dist/linter/catalog/compile.js.map +1 -0
- package/dist/linter/catalog/index.d.ts +19 -0
- package/dist/linter/catalog/index.d.ts.map +1 -0
- package/dist/linter/catalog/index.js +3 -0
- package/dist/linter/catalog/index.js.map +1 -0
- package/dist/linter/catalog/revision.d.ts +7 -0
- package/dist/linter/catalog/revision.d.ts.map +1 -0
- package/dist/linter/catalog/revision.js +13 -0
- package/dist/linter/catalog/revision.js.map +1 -0
- package/dist/linter/diagnostics/error.d.ts +10 -0
- package/dist/linter/diagnostics/error.d.ts.map +1 -0
- package/dist/linter/diagnostics/error.js +10 -0
- package/dist/linter/diagnostics/error.js.map +1 -0
- package/dist/linter/diagnostics/index.d.ts +29 -0
- package/dist/linter/diagnostics/index.d.ts.map +1 -0
- package/dist/linter/diagnostics/index.js +3 -0
- package/dist/linter/diagnostics/index.js.map +1 -0
- package/dist/linter/diagnostics/sort.d.ts +3 -0
- package/dist/linter/diagnostics/sort.d.ts.map +1 -0
- package/dist/linter/diagnostics/sort.js +27 -0
- package/dist/linter/diagnostics/sort.js.map +1 -0
- package/dist/linter/evaluation/binding/bind.d.ts +5 -0
- package/dist/linter/evaluation/binding/bind.d.ts.map +1 -0
- package/dist/linter/evaluation/binding/bind.js +356 -0
- package/dist/linter/evaluation/binding/bind.js.map +1 -0
- package/dist/linter/evaluation/binding/diagnostic.d.ts +5 -0
- package/dist/linter/evaluation/binding/diagnostic.d.ts.map +1 -0
- package/dist/linter/evaluation/binding/diagnostic.js +17 -0
- package/dist/linter/evaluation/binding/diagnostic.js.map +1 -0
- package/dist/linter/evaluation/binding/index.d.ts +2 -0
- package/dist/linter/evaluation/binding/index.d.ts.map +1 -0
- package/dist/linter/evaluation/binding/index.js +2 -0
- package/dist/linter/evaluation/binding/index.js.map +1 -0
- package/dist/linter/evaluation/contract/availability.d.ts +28 -0
- package/dist/linter/evaluation/contract/availability.d.ts.map +1 -0
- package/dist/linter/evaluation/contract/availability.js +2 -0
- package/dist/linter/evaluation/contract/availability.js.map +1 -0
- package/dist/linter/evaluation/contract/decision.d.ts +26 -0
- package/dist/linter/evaluation/contract/decision.d.ts.map +1 -0
- package/dist/linter/evaluation/contract/decision.js +2 -0
- package/dist/linter/evaluation/contract/decision.js.map +1 -0
- package/dist/linter/evaluation/contract/evidence.d.ts +12 -0
- package/dist/linter/evaluation/contract/evidence.d.ts.map +1 -0
- package/dist/linter/evaluation/contract/evidence.js +2 -0
- package/dist/linter/evaluation/contract/evidence.js.map +1 -0
- package/dist/linter/evaluation/contract/implementation.d.ts +22 -0
- package/dist/linter/evaluation/contract/implementation.d.ts.map +1 -0
- package/dist/linter/evaluation/contract/implementation.js +2 -0
- package/dist/linter/evaluation/contract/implementation.js.map +1 -0
- package/dist/linter/evaluation/contract/index.d.ts +5 -0
- package/dist/linter/evaluation/contract/index.d.ts.map +1 -0
- package/dist/linter/evaluation/contract/index.js +2 -0
- package/dist/linter/evaluation/contract/index.js.map +1 -0
- package/dist/linter/evaluation/index.d.ts +3 -0
- package/dist/linter/evaluation/index.d.ts.map +1 -0
- package/dist/linter/evaluation/index.js +2 -0
- package/dist/linter/evaluation/index.js.map +1 -0
- package/dist/linter/implementations/source/capabilities.d.ts +3 -0
- package/dist/linter/implementations/source/capabilities.d.ts.map +1 -0
- package/dist/linter/implementations/source/capabilities.js +41 -0
- package/dist/linter/implementations/source/capabilities.js.map +1 -0
- package/dist/linter/implementations/source/contract.d.ts +17 -0
- package/dist/linter/implementations/source/contract.d.ts.map +1 -0
- package/dist/linter/implementations/source/contract.js +53 -0
- package/dist/linter/implementations/source/contract.js.map +1 -0
- package/dist/linter/implementations/source/functions.d.ts +3 -0
- package/dist/linter/implementations/source/functions.d.ts.map +1 -0
- package/dist/linter/implementations/source/functions.js +102 -0
- package/dist/linter/implementations/source/functions.js.map +1 -0
- package/dist/linter/implementations/source/global.d.ts +3 -0
- package/dist/linter/implementations/source/global.d.ts.map +1 -0
- package/dist/linter/implementations/source/global.js +812 -0
- package/dist/linter/implementations/source/global.js.map +1 -0
- package/dist/linter/implementations/source/index.d.ts +4 -0
- package/dist/linter/implementations/source/index.d.ts.map +1 -0
- package/dist/linter/implementations/source/index.js +4 -0
- package/dist/linter/implementations/source/index.js.map +1 -0
- package/dist/linter/implementations/source/integrations.d.ts +3 -0
- package/dist/linter/implementations/source/integrations.d.ts.map +1 -0
- package/dist/linter/implementations/source/integrations.js +186 -0
- package/dist/linter/implementations/source/integrations.js.map +1 -0
- package/dist/linter/implementations/source/migrations.d.ts +3 -0
- package/dist/linter/implementations/source/migrations.d.ts.map +1 -0
- package/dist/linter/implementations/source/migrations.js +115 -0
- package/dist/linter/implementations/source/migrations.js.map +1 -0
- package/dist/linter/implementations/source/mutations.d.ts +3 -0
- package/dist/linter/implementations/source/mutations.d.ts.map +1 -0
- package/dist/linter/implementations/source/mutations.js +185 -0
- package/dist/linter/implementations/source/mutations.js.map +1 -0
- package/dist/linter/implementations/source/queries.d.ts +3 -0
- package/dist/linter/implementations/source/queries.d.ts.map +1 -0
- package/dist/linter/implementations/source/queries.js +1000 -0
- package/dist/linter/implementations/source/queries.js.map +1 -0
- package/dist/linter/implementations/source/rules.d.ts +3 -0
- package/dist/linter/implementations/source/rules.d.ts.map +1 -0
- package/dist/linter/implementations/source/rules.js +141 -0
- package/dist/linter/implementations/source/rules.js.map +1 -0
- package/dist/linter/implementations/source/schema.d.ts +3 -0
- package/dist/linter/implementations/source/schema.d.ts.map +1 -0
- package/dist/linter/implementations/source/schema.js +105 -0
- package/dist/linter/implementations/source/schema.js.map +1 -0
- package/dist/linter/implementations/source/shared.d.ts +42 -0
- package/dist/linter/implementations/source/shared.d.ts.map +1 -0
- package/dist/linter/implementations/source/shared.js +239 -0
- package/dist/linter/implementations/source/shared.js.map +1 -0
- package/dist/linter/implementations/source/states.d.ts +3 -0
- package/dist/linter/implementations/source/states.d.ts.map +1 -0
- package/dist/linter/implementations/source/states.js +2 -0
- package/dist/linter/implementations/source/states.js.map +1 -0
- package/dist/linter/implementations/source/tests.d.ts +3 -0
- package/dist/linter/implementations/source/tests.d.ts.map +1 -0
- package/dist/linter/implementations/source/tests.js +28 -0
- package/dist/linter/implementations/source/tests.js.map +1 -0
- package/dist/linter/implementations/source/ui.d.ts +3 -0
- package/dist/linter/implementations/source/ui.d.ts.map +1 -0
- package/dist/linter/implementations/source/ui.js +21 -0
- package/dist/linter/implementations/source/ui.js.map +1 -0
- package/dist/linter/implementations/source/utils.d.ts +3 -0
- package/dist/linter/implementations/source/utils.d.ts.map +1 -0
- package/dist/linter/implementations/source/utils.js +29 -0
- package/dist/linter/implementations/source/utils.js.map +1 -0
- package/dist/linter/implementations/source/verifiers.d.ts +3 -0
- package/dist/linter/implementations/source/verifiers.d.ts.map +1 -0
- package/dist/linter/implementations/source/verifiers.js +33 -0
- package/dist/linter/implementations/source/verifiers.js.map +1 -0
- package/dist/linter/implementations/source/views.d.ts +3 -0
- package/dist/linter/implementations/source/views.d.ts.map +1 -0
- package/dist/linter/implementations/source/views.js +36 -0
- package/dist/linter/implementations/source/views.js.map +1 -0
- package/dist/linter/implementations/source/workflows.d.ts +3 -0
- package/dist/linter/implementations/source/workflows.d.ts.map +1 -0
- package/dist/linter/implementations/source/workflows.js +308 -0
- package/dist/linter/implementations/source/workflows.js.map +1 -0
- package/dist/linter/index.d.ts +7 -8
- package/dist/linter/index.d.ts.map +1 -1
- package/dist/linter/index.js +2 -4
- package/dist/linter/index.js.map +1 -1
- package/dist/linter/lint.d.ts +22 -8
- package/dist/linter/lint.d.ts.map +1 -1
- package/dist/linter/lint.js +58 -15
- package/dist/linter/lint.js.map +1 -1
- package/dist/linter/oxlint/index.d.ts +4 -0
- package/dist/linter/oxlint/index.d.ts.map +1 -0
- package/dist/linter/oxlint/index.js +2 -0
- package/dist/linter/oxlint/index.js.map +1 -0
- package/dist/linter/oxlint/process.d.ts +6 -6
- package/dist/linter/oxlint/process.d.ts.map +1 -1
- package/dist/linter/oxlint/process.js +1 -1
- package/dist/linter/oxlint/process.js.map +1 -1
- package/dist/linter/oxlint/run.d.ts +5 -5
- package/dist/linter/oxlint/run.d.ts.map +1 -1
- package/dist/linter/oxlint/run.js +140 -20
- package/dist/linter/oxlint/run.js.map +1 -1
- package/dist/linter/oxlint-config/ignore-patterns.d.ts +6 -0
- package/dist/linter/oxlint-config/ignore-patterns.d.ts.map +1 -0
- package/dist/linter/oxlint-config/ignore-patterns.js +10 -0
- package/dist/linter/oxlint-config/ignore-patterns.js.map +1 -0
- package/dist/linter/oxlint-config/index.d.ts +5 -0
- package/dist/linter/oxlint-config/index.d.ts.map +1 -0
- package/dist/linter/oxlint-config/index.js +18 -0
- package/dist/linter/oxlint-config/index.js.map +1 -0
- package/dist/linter/packs/domain.d.ts +3 -0
- package/dist/linter/packs/domain.d.ts.map +1 -0
- package/dist/linter/packs/domain.js +8 -0
- package/dist/linter/packs/domain.js.map +1 -0
- package/dist/linter/packs/index.d.ts +9 -0
- package/dist/linter/packs/index.d.ts.map +1 -0
- package/dist/linter/packs/index.js +2 -0
- package/dist/linter/packs/index.js.map +1 -0
- package/dist/linter/policy/compile.d.ts +3 -0
- package/dist/linter/policy/compile.d.ts.map +1 -0
- package/dist/linter/policy/compile.js +256 -0
- package/dist/linter/policy/compile.js.map +1 -0
- package/dist/linter/policy/generated.d.ts +5 -0
- package/dist/linter/policy/generated.d.ts.map +1 -0
- package/dist/linter/policy/generated.js +764 -0
- package/dist/linter/policy/generated.js.map +1 -0
- package/dist/linter/policy/index.d.ts +43 -0
- package/dist/linter/policy/index.d.ts.map +1 -0
- package/dist/linter/policy/index.js +3 -0
- package/dist/linter/policy/index.js.map +1 -0
- package/dist/linter/qualification/index.d.ts +11 -0
- package/dist/linter/qualification/index.d.ts.map +1 -0
- package/dist/linter/qualification/index.js +3 -0
- package/dist/linter/qualification/index.js.map +1 -0
- package/dist/linter/qualification/query-fixtures.d.ts +3 -0
- package/dist/linter/qualification/query-fixtures.d.ts.map +1 -0
- package/dist/linter/qualification/query-fixtures.js +69 -0
- package/dist/linter/qualification/query-fixtures.js.map +1 -0
- package/dist/linter/qualification/runner.d.ts +4 -0
- package/dist/linter/qualification/runner.d.ts.map +1 -0
- package/dist/linter/qualification/runner.js +7 -0
- package/dist/linter/qualification/runner.js.map +1 -0
- package/dist/linter/report/format.d.ts +4 -0
- package/dist/linter/report/format.d.ts.map +1 -0
- package/dist/linter/report/format.js +33 -0
- package/dist/linter/report/format.js.map +1 -0
- package/dist/linter/report/index.d.ts +3 -0
- package/dist/linter/report/index.d.ts.map +1 -0
- package/dist/linter/report/index.js +2 -0
- package/dist/linter/report/index.js.map +1 -0
- package/dist/linter/requirements/index.d.ts +3 -0
- package/dist/linter/requirements/index.d.ts.map +1 -0
- package/dist/linter/requirements/index.js +2 -0
- package/dist/linter/requirements/index.js.map +1 -0
- package/dist/linter/requirements/model.d.ts +9 -0
- package/dist/linter/requirements/model.d.ts.map +1 -0
- package/dist/linter/requirements/model.js +2 -0
- package/dist/linter/requirements/model.js.map +1 -0
- package/dist/linter/requirements/registry.d.ts +4 -0
- package/dist/linter/requirements/registry.d.ts.map +1 -0
- package/dist/linter/requirements/registry.js +188 -0
- package/dist/linter/requirements/registry.js.map +1 -0
- package/dist/linter/semantics/query/decision.d.ts +5 -0
- package/dist/linter/semantics/query/decision.d.ts.map +1 -0
- package/dist/linter/semantics/query/decision.js +74 -0
- package/dist/linter/semantics/query/decision.js.map +1 -0
- package/dist/linter/semantics/query/index.d.ts +4 -0
- package/dist/linter/semantics/query/index.d.ts.map +1 -0
- package/dist/linter/semantics/query/index.js +3 -0
- package/dist/linter/semantics/query/index.js.map +1 -0
- package/dist/linter/semantics/query/observation.d.ts +36 -0
- package/dist/linter/semantics/query/observation.d.ts.map +1 -0
- package/dist/linter/semantics/query/observation.js +13 -0
- package/dist/linter/semantics/query/observation.js.map +1 -0
- package/dist/linter/suppression/apply.d.ts +4 -0
- package/dist/linter/suppression/apply.d.ts.map +1 -0
- package/dist/linter/suppression/apply.js +48 -0
- package/dist/linter/suppression/apply.js.map +1 -0
- package/dist/linter/suppression/directive.d.ts +11 -0
- package/dist/linter/suppression/directive.d.ts.map +1 -0
- package/dist/linter/suppression/directive.js +2 -0
- package/dist/linter/suppression/directive.js.map +1 -0
- package/dist/linter/suppression/index.d.ts +14 -0
- package/dist/linter/suppression/index.d.ts.map +1 -0
- package/dist/linter/suppression/index.js +2 -0
- package/dist/linter/suppression/index.js.map +1 -0
- package/dist/mutation/contract.d.ts +134 -0
- package/dist/mutation/contract.d.ts.map +1 -0
- package/dist/mutation/contract.js +2 -0
- package/dist/mutation/contract.js.map +1 -0
- package/dist/mutation/define.d.ts +9 -0
- package/dist/mutation/define.d.ts.map +1 -0
- package/dist/mutation/define.js +24 -0
- package/dist/mutation/define.js.map +1 -0
- package/dist/mutation/errors.d.ts +3 -0
- package/dist/mutation/errors.d.ts.map +1 -0
- package/dist/mutation/errors.js +30 -0
- package/dist/mutation/errors.js.map +1 -0
- package/dist/mutation/execute.d.ts +11 -0
- package/dist/mutation/execute.d.ts.map +1 -0
- package/dist/mutation/execute.js +24 -0
- package/dist/mutation/execute.js.map +1 -0
- package/dist/mutation/index.d.ts +8 -0
- package/dist/mutation/index.d.ts.map +1 -0
- package/dist/mutation/index.js +5 -0
- package/dist/mutation/index.js.map +1 -0
- package/dist/mutation/rich.d.ts +4 -0
- package/dist/mutation/rich.d.ts.map +1 -0
- package/dist/mutation/rich.js +147 -0
- package/dist/mutation/rich.js.map +1 -0
- package/dist/query/composite/contract.d.ts +37 -0
- package/dist/query/composite/contract.d.ts.map +1 -0
- package/dist/query/composite/contract.js +2 -0
- package/dist/query/composite/contract.js.map +1 -0
- package/dist/query/composite/errors.d.ts +8 -0
- package/dist/query/composite/errors.d.ts.map +1 -0
- package/dist/query/composite/errors.js +9 -0
- package/dist/query/composite/errors.js.map +1 -0
- package/dist/query/composite/index.d.ts +6 -0
- package/dist/query/composite/index.d.ts.map +1 -0
- package/dist/query/composite/index.js +3 -0
- package/dist/query/composite/index.js.map +1 -0
- package/dist/query/composite/plan.d.ts +38 -0
- package/dist/query/composite/plan.d.ts.map +1 -0
- package/dist/query/composite/plan.js +225 -0
- package/dist/query/composite/plan.js.map +1 -0
- package/dist/query/contract.d.ts +58 -0
- package/dist/query/contract.d.ts.map +1 -0
- package/dist/query/contract.js +2 -0
- package/dist/query/contract.js.map +1 -0
- package/dist/query/define.d.ts +3 -0
- package/dist/query/define.d.ts.map +1 -0
- package/dist/query/define.js +90 -0
- package/dist/query/define.js.map +1 -0
- package/dist/query/definition.d.ts +29 -0
- package/dist/query/definition.d.ts.map +1 -0
- package/dist/query/definition.js +2 -0
- package/dist/query/definition.js.map +1 -0
- package/dist/query/errors.d.ts +9 -0
- package/dist/query/errors.d.ts.map +1 -0
- package/dist/query/errors.js +15 -0
- package/dist/query/errors.js.map +1 -0
- package/dist/query/execute.d.ts +20 -0
- package/dist/query/execute.d.ts.map +1 -0
- package/dist/query/execute.js +97 -0
- package/dist/query/execute.js.map +1 -0
- package/dist/query/index.d.ts +15 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +8 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/node.d.ts +109 -0
- package/dist/query/node.d.ts.map +1 -0
- package/dist/query/node.js +164 -0
- package/dist/query/node.js.map +1 -0
- package/dist/query/result/contract.d.ts +23 -0
- package/dist/query/result/contract.d.ts.map +1 -0
- package/dist/query/result/contract.js +2 -0
- package/dist/query/result/contract.js.map +1 -0
- package/dist/query/result/index.d.ts +3 -0
- package/dist/query/result/index.d.ts.map +1 -0
- package/dist/query/result/index.js +2 -0
- package/dist/query/result/index.js.map +1 -0
- package/dist/query/result/projection.d.ts +3 -0
- package/dist/query/result/projection.d.ts.map +1 -0
- package/dist/query/result/projection.js +100 -0
- package/dist/query/result/projection.js.map +1 -0
- package/dist/query/selection.d.ts +4 -0
- package/dist/query/selection.d.ts.map +1 -0
- package/dist/query/selection.js +25 -0
- package/dist/query/selection.js.map +1 -0
- package/dist/react/compile.d.ts +9 -0
- package/dist/react/compile.d.ts.map +1 -0
- package/dist/react/compile.js +64 -0
- package/dist/react/compile.js.map +1 -0
- package/dist/react/define.d.ts +8 -0
- package/dist/react/define.d.ts.map +1 -0
- package/dist/react/define.js +89 -0
- package/dist/react/define.js.map +1 -0
- package/dist/react/definition.d.ts +69 -0
- package/dist/react/definition.d.ts.map +1 -0
- package/dist/react/definition.js +2 -0
- package/dist/react/definition.js.map +1 -0
- package/dist/react/index.d.ts +4 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +3 -0
- package/dist/react/index.js.map +1 -0
- package/dist/result/index.d.ts +3 -0
- package/dist/result/index.d.ts.map +1 -0
- package/dist/result/index.js +2 -0
- package/dist/result/index.js.map +1 -0
- package/dist/result/result.d.ts +10 -0
- package/dist/result/result.d.ts.map +1 -0
- package/dist/result/result.js +7 -0
- package/dist/result/result.js.map +1 -0
- package/dist/schema/index.d.ts +3 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +3 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/kernel/index.d.ts +3 -0
- package/dist/schema/kernel/index.d.ts.map +1 -0
- package/dist/schema/kernel/index.js +3 -0
- package/dist/schema/kernel/index.js.map +1 -0
- package/dist/schema/v1/index.d.ts +3 -0
- package/dist/schema/v1/index.d.ts.map +1 -0
- package/dist/schema/v1/index.js +3 -0
- package/dist/schema/v1/index.js.map +1 -0
- package/dist/server/application.d.ts +36 -0
- package/dist/server/application.d.ts.map +1 -0
- package/dist/server/application.js +126 -0
- package/dist/server/application.js.map +1 -0
- package/dist/server/index.d.ts +4 -13
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -8
- package/dist/server/index.js.map +1 -1
- package/dist/server/node/index.d.ts +3 -0
- package/dist/server/node/index.d.ts.map +1 -0
- package/dist/server/node/index.js +2 -0
- package/dist/server/node/index.js.map +1 -0
- package/dist/server/node/server.d.ts +14 -0
- package/dist/server/node/server.d.ts.map +1 -0
- package/dist/server/node/server.js +71 -0
- package/dist/server/node/server.js.map +1 -0
- package/dist/server/remote.d.ts +56 -0
- package/dist/server/remote.d.ts.map +1 -0
- package/dist/server/remote.js +798 -0
- package/dist/server/remote.js.map +1 -0
- package/dist/server/source.d.ts +13 -0
- package/dist/server/source.d.ts.map +1 -0
- package/dist/server/source.js +38 -0
- package/dist/server/source.js.map +1 -0
- package/dist/state/index.d.ts +4 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +2 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/machine.d.ts +28 -0
- package/dist/state/machine.d.ts.map +1 -0
- package/dist/state/machine.js +32 -0
- package/dist/state/machine.js.map +1 -0
- package/dist/state/relation.d.ts +28 -0
- package/dist/state/relation.d.ts.map +1 -0
- package/dist/state/relation.js +48 -0
- package/dist/state/relation.js.map +1 -0
- package/dist/value/index.d.ts +3 -0
- package/dist/value/index.d.ts.map +1 -0
- package/dist/value/index.js +3 -0
- package/dist/value/index.js.map +1 -0
- package/dist/view/admission.d.ts +6 -0
- package/dist/view/admission.d.ts.map +1 -0
- package/dist/view/admission.js +43 -0
- package/dist/view/admission.js.map +1 -0
- package/dist/view/compile.d.ts +15 -0
- package/dist/view/compile.d.ts.map +1 -0
- package/dist/view/compile.js +189 -0
- package/dist/view/compile.js.map +1 -0
- package/dist/view/define.d.ts +20 -0
- package/dist/view/define.d.ts.map +1 -0
- package/dist/view/define.js +236 -0
- package/dist/view/define.js.map +1 -0
- package/dist/view/definition.d.ts +96 -0
- package/dist/view/definition.d.ts.map +1 -0
- package/dist/view/definition.js +2 -0
- package/dist/view/definition.js.map +1 -0
- package/dist/view/index.d.ts +4 -0
- package/dist/view/index.d.ts.map +1 -0
- package/dist/view/index.js +3 -0
- package/dist/view/index.js.map +1 -0
- package/dist/workflow/binding.d.ts +43 -0
- package/dist/workflow/binding.d.ts.map +1 -0
- package/dist/workflow/binding.js +32 -0
- package/dist/workflow/binding.js.map +1 -0
- package/dist/workflow/contract.d.ts +57 -0
- package/dist/workflow/contract.d.ts.map +1 -0
- package/dist/workflow/contract.js +2 -0
- package/dist/workflow/contract.js.map +1 -0
- package/dist/workflow/define.d.ts +4 -0
- package/dist/workflow/define.d.ts.map +1 -0
- package/dist/workflow/define.js +57 -0
- package/dist/workflow/define.js.map +1 -0
- package/dist/workflow/index.d.ts +7 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +4 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/runner.d.ts +4 -0
- package/dist/workflow/runner.d.ts.map +1 -0
- package/dist/workflow/runner.js +24 -0
- package/dist/workflow/runner.js.map +1 -0
- package/dist/workflow/step/index.d.ts +3 -0
- package/dist/workflow/step/index.d.ts.map +1 -0
- package/dist/workflow/step/index.js +2 -0
- package/dist/workflow/step/index.js.map +1 -0
- package/dist/workflow/step/inline.d.ts +6 -0
- package/dist/workflow/step/inline.d.ts.map +1 -0
- package/dist/workflow/step/inline.js +44 -0
- package/dist/workflow/step/inline.js.map +1 -0
- package/dist/workflow/step/step.d.ts +5 -0
- package/dist/workflow/step/step.d.ts.map +1 -0
- package/dist/workflow/step/step.js +2 -0
- package/dist/workflow/step/step.js.map +1 -0
- package/package.json +117 -24
- package/dist/auth/authenticate.d.ts +0 -24
- package/dist/auth/authenticate.d.ts.map +0 -1
- package/dist/auth/authenticate.js +0 -29
- package/dist/auth/authenticate.js.map +0 -1
- package/dist/auth/check.d.ts +0 -38
- package/dist/auth/check.d.ts.map +0 -1
- package/dist/auth/check.js +0 -50
- package/dist/auth/check.js.map +0 -1
- package/dist/auth/compose.d.ts +0 -41
- package/dist/auth/compose.d.ts.map +0 -1
- package/dist/auth/compose.js +0 -45
- package/dist/auth/compose.js.map +0 -1
- package/dist/auth/errors.d.ts +0 -16
- package/dist/auth/errors.d.ts.map +0 -1
- package/dist/auth/errors.js +0 -26
- package/dist/auth/errors.js.map +0 -1
- package/dist/auth/function-context.d.ts +0 -28
- package/dist/auth/function-context.d.ts.map +0 -1
- package/dist/auth/function-context.js +0 -47
- package/dist/auth/function-context.js.map +0 -1
- package/dist/auth/identity.d.ts +0 -18
- package/dist/auth/identity.d.ts.map +0 -1
- package/dist/auth/identity.js +0 -2
- package/dist/auth/identity.js.map +0 -1
- package/dist/auth/issuer-mint.d.ts +0 -53
- package/dist/auth/issuer-mint.d.ts.map +0 -1
- package/dist/auth/issuer-mint.js +0 -35
- package/dist/auth/issuer-mint.js.map +0 -1
- package/dist/auth/kernel-client.d.ts +0 -37
- package/dist/auth/kernel-client.d.ts.map +0 -1
- package/dist/auth/kernel-client.js +0 -111
- package/dist/auth/kernel-client.js.map +0 -1
- package/dist/auth/resolve.d.ts +0 -19
- package/dist/auth/resolve.d.ts.map +0 -1
- package/dist/auth/resolve.js +0 -43
- package/dist/auth/resolve.js.map +0 -1
- package/dist/auth/sign.d.ts +0 -15
- package/dist/auth/sign.d.ts.map +0 -1
- package/dist/auth/sign.js +0 -24
- package/dist/auth/sign.js.map +0 -1
- package/dist/auth/verify.d.ts +0 -28
- package/dist/auth/verify.d.ts.map +0 -1
- package/dist/auth/verify.js +0 -151
- package/dist/auth/verify.js.map +0 -1
- package/dist/cli/spec.d.ts +0 -19
- package/dist/cli/spec.d.ts.map +0 -1
- package/dist/cli/spec.js +0 -33
- package/dist/cli/spec.js.map +0 -1
- package/dist/config/adapter.d.ts +0 -148
- package/dist/config/adapter.d.ts.map +0 -1
- package/dist/config/adapter.js +0 -40
- package/dist/config/adapter.js.map +0 -1
- package/dist/config/define-domain.d.ts +0 -177
- package/dist/config/define-domain.d.ts.map +0 -1
- package/dist/config/define-domain.js +0 -145
- package/dist/config/define-domain.js.map +0 -1
- package/dist/config/deploy.d.ts +0 -28
- package/dist/config/deploy.d.ts.map +0 -1
- package/dist/config/deploy.js +0 -24
- package/dist/config/deploy.js.map +0 -1
- package/dist/config/index.d.ts +0 -21
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -18
- package/dist/config/index.js.map +0 -1
- package/dist/define/index.d.ts +0 -5
- package/dist/define/index.d.ts.map +0 -1
- package/dist/define/index.js +0 -3
- package/dist/define/index.js.map +0 -1
- package/dist/define/remote-function.d.ts +0 -120
- package/dist/define/remote-function.d.ts.map +0 -1
- package/dist/define/remote-function.js +0 -26
- package/dist/define/remote-function.js.map +0 -1
- package/dist/define/view.d.ts +0 -104
- package/dist/define/view.d.ts.map +0 -1
- package/dist/define/view.js +0 -30
- package/dist/define/view.js.map +0 -1
- package/dist/deploy/check.d.ts +0 -30
- package/dist/deploy/check.d.ts.map +0 -1
- package/dist/deploy/check.js +0 -82
- package/dist/deploy/check.js.map +0 -1
- package/dist/deploy/index.d.ts +0 -3
- package/dist/deploy/index.d.ts.map +0 -1
- package/dist/deploy/index.js +0 -3
- package/dist/deploy/index.js.map +0 -1
- package/dist/deploy/meta.d.ts +0 -29
- package/dist/deploy/meta.d.ts.map +0 -1
- package/dist/deploy/meta.js +0 -45
- package/dist/deploy/meta.js.map +0 -1
- package/dist/dispatch/authorize.d.ts +0 -14
- package/dist/dispatch/authorize.d.ts.map +0 -1
- package/dist/dispatch/authorize.js +0 -24
- package/dist/dispatch/authorize.js.map +0 -1
- package/dist/dispatch/dispatcher.d.ts +0 -59
- package/dist/dispatch/dispatcher.d.ts.map +0 -1
- package/dist/dispatch/dispatcher.js +0 -237
- package/dist/dispatch/dispatcher.js.map +0 -1
- package/dist/dispatch/errors.d.ts +0 -47
- package/dist/dispatch/errors.d.ts.map +0 -1
- package/dist/dispatch/errors.js +0 -76
- package/dist/dispatch/errors.js.map +0 -1
- package/dist/dispatch/execute.d.ts +0 -44
- package/dist/dispatch/execute.d.ts.map +0 -1
- package/dist/dispatch/execute.js +0 -29
- package/dist/dispatch/execute.js.map +0 -1
- package/dist/dispatch/identity.d.ts +0 -75
- package/dist/dispatch/identity.d.ts.map +0 -1
- package/dist/dispatch/identity.js +0 -101
- package/dist/dispatch/identity.js.map +0 -1
- package/dist/dispatch/index.d.ts +0 -7
- package/dist/dispatch/index.d.ts.map +0 -1
- package/dist/dispatch/index.js +0 -7
- package/dist/dispatch/index.js.map +0 -1
- package/dist/dispatch/resolve.d.ts +0 -27
- package/dist/dispatch/resolve.d.ts.map +0 -1
- package/dist/dispatch/resolve.js +0 -65
- package/dist/dispatch/resolve.js.map +0 -1
- package/dist/dispatch/self.d.ts +0 -51
- package/dist/dispatch/self.d.ts.map +0 -1
- package/dist/dispatch/self.js +0 -116
- package/dist/dispatch/self.js.map +0 -1
- package/dist/dispatch/validate.d.ts +0 -35
- package/dist/dispatch/validate.d.ts.map +0 -1
- package/dist/dispatch/validate.js +0 -27
- package/dist/dispatch/validate.js.map +0 -1
- package/dist/domain/binding.d.ts +0 -18
- package/dist/domain/binding.d.ts.map +0 -1
- package/dist/domain/binding.js +0 -29
- package/dist/domain/binding.js.map +0 -1
- package/dist/domain/build-spec.d.ts +0 -37
- package/dist/domain/build-spec.d.ts.map +0 -1
- package/dist/domain/build-spec.js +0 -114
- package/dist/domain/build-spec.js.map +0 -1
- package/dist/domain/contract.d.ts +0 -17
- package/dist/domain/contract.d.ts.map +0 -1
- package/dist/domain/contract.js +0 -26
- package/dist/domain/contract.js.map +0 -1
- package/dist/domain/extend-functions.d.ts +0 -48
- package/dist/domain/extend-functions.d.ts.map +0 -1
- package/dist/domain/extend-functions.js +0 -85
- package/dist/domain/extend-functions.js.map +0 -1
- package/dist/domain/extend-views.d.ts +0 -45
- package/dist/domain/extend-views.d.ts.map +0 -1
- package/dist/domain/extend-views.js +0 -116
- package/dist/domain/extend-views.js.map +0 -1
- package/dist/linter/analyze.d.ts +0 -6
- package/dist/linter/analyze.d.ts.map +0 -1
- package/dist/linter/analyze.js +0 -12
- package/dist/linter/analyze.js.map +0 -1
- package/dist/linter/diagnostic.d.ts +0 -38
- package/dist/linter/diagnostic.d.ts.map +0 -1
- package/dist/linter/diagnostic.js +0 -37
- package/dist/linter/diagnostic.js.map +0 -1
- package/dist/linter/oxlint/config.d.ts +0 -15
- package/dist/linter/oxlint/config.d.ts.map +0 -1
- package/dist/linter/oxlint/config.js +0 -23
- package/dist/linter/oxlint/config.js.map +0 -1
- package/dist/linter/oxlint/ignore-patterns.d.ts +0 -9
- package/dist/linter/oxlint/ignore-patterns.d.ts.map +0 -1
- package/dist/linter/oxlint/ignore-patterns.js +0 -18
- package/dist/linter/oxlint/ignore-patterns.js.map +0 -1
- package/dist/linter/oxlint/plugin.d.ts +0 -13
- package/dist/linter/oxlint/plugin.d.ts.map +0 -1
- package/dist/linter/oxlint/plugin.js +0 -14
- package/dist/linter/oxlint/plugin.js.map +0 -1
- package/dist/linter/preflight.d.ts +0 -2
- package/dist/linter/preflight.d.ts.map +0 -1
- package/dist/linter/preflight.js +0 -162
- package/dist/linter/preflight.js.map +0 -1
- package/dist/linter/project.d.ts +0 -18
- package/dist/linter/project.d.ts.map +0 -1
- package/dist/linter/project.js +0 -150
- package/dist/linter/project.js.map +0 -1
- package/dist/linter/report.d.ts +0 -4
- package/dist/linter/report.d.ts.map +0 -1
- package/dist/linter/report.js +0 -22
- package/dist/linter/report.js.map +0 -1
- package/dist/linter/rules/catalog.d.ts +0 -56
- package/dist/linter/rules/catalog.d.ts.map +0 -1
- package/dist/linter/rules/catalog.js +0 -53
- package/dist/linter/rules/catalog.js.map +0 -1
- package/dist/linter/rules/core-has-no-async.d.ts +0 -3
- package/dist/linter/rules/core-has-no-async.d.ts.map +0 -1
- package/dist/linter/rules/core-has-no-async.js +0 -43
- package/dist/linter/rules/core-has-no-async.js.map +0 -1
- package/dist/linter/rules/core-is-pure.d.ts +0 -3
- package/dist/linter/rules/core-is-pure.d.ts.map +0 -1
- package/dist/linter/rules/core-is-pure.js +0 -74
- package/dist/linter/rules/core-is-pure.js.map +0 -1
- package/dist/linter/rules/no-nested-steps.d.ts +0 -3
- package/dist/linter/rules/no-nested-steps.d.ts.map +0 -1
- package/dist/linter/rules/no-nested-steps.js +0 -32
- package/dist/linter/rules/no-nested-steps.js.map +0 -1
- package/dist/linter/rules/no-read-inside-mutate.d.ts +0 -3
- package/dist/linter/rules/no-read-inside-mutate.d.ts.map +0 -1
- package/dist/linter/rules/no-read-inside-mutate.js +0 -64
- package/dist/linter/rules/no-read-inside-mutate.js.map +0 -1
- package/dist/linter/rules/one-remote-definition-per-file.d.ts +0 -3
- package/dist/linter/rules/one-remote-definition-per-file.d.ts.map +0 -1
- package/dist/linter/rules/one-remote-definition-per-file.js +0 -23
- package/dist/linter/rules/one-remote-definition-per-file.js.map +0 -1
- package/dist/linter/rules/oxlint-ast.d.ts +0 -30
- package/dist/linter/rules/oxlint-ast.d.ts.map +0 -1
- package/dist/linter/rules/oxlint-ast.js +0 -104
- package/dist/linter/rules/oxlint-ast.js.map +0 -1
- package/dist/linter/rules/oxlint-rule.d.ts +0 -45
- package/dist/linter/rules/oxlint-rule.d.ts.map +0 -1
- package/dist/linter/rules/oxlint-rule.js +0 -2
- package/dist/linter/rules/oxlint-rule.js.map +0 -1
- package/dist/linter/rules/project-rule.d.ts +0 -10
- package/dist/linter/rules/project-rule.d.ts.map +0 -1
- package/dist/linter/rules/project-rule.js +0 -24
- package/dist/linter/rules/project-rule.js.map +0 -1
- package/dist/linter/rules/thin-schema-composition-root.d.ts +0 -3
- package/dist/linter/rules/thin-schema-composition-root.d.ts.map +0 -1
- package/dist/linter/rules/thin-schema-composition-root.js +0 -23
- package/dist/linter/rules/thin-schema-composition-root.js.map +0 -1
- package/dist/linter/source.d.ts +0 -24
- package/dist/linter/source.d.ts.map +0 -1
- package/dist/linter/source.js +0 -279
- package/dist/linter/source.js.map +0 -1
- package/dist/linter/suppression.d.ts +0 -3
- package/dist/linter/suppression.d.ts.map +0 -1
- package/dist/linter/suppression.js +0 -11
- package/dist/linter/suppression.js.map +0 -1
- package/dist/method/class.d.ts +0 -71
- package/dist/method/class.d.ts.map +0 -1
- package/dist/method/class.js +0 -26
- package/dist/method/class.js.map +0 -1
- package/dist/method/context.d.ts +0 -99
- package/dist/method/context.d.ts.map +0 -1
- package/dist/method/context.js +0 -11
- package/dist/method/context.js.map +0 -1
- package/dist/method/index.d.ts +0 -6
- package/dist/method/index.d.ts.map +0 -1
- package/dist/method/index.js +0 -3
- package/dist/method/index.js.map +0 -1
- package/dist/method/single.d.ts +0 -81
- package/dist/method/single.d.ts.map +0 -1
- package/dist/method/single.js +0 -8
- package/dist/method/single.js.map +0 -1
- package/dist/server/auxiliary-routes.d.ts +0 -48
- package/dist/server/auxiliary-routes.d.ts.map +0 -1
- package/dist/server/auxiliary-routes.js +0 -322
- package/dist/server/auxiliary-routes.js.map +0 -1
- package/dist/server/config.d.ts +0 -83
- package/dist/server/config.d.ts.map +0 -1
- package/dist/server/config.js +0 -8
- package/dist/server/config.js.map +0 -1
- package/dist/server/create.d.ts +0 -8
- package/dist/server/create.d.ts.map +0 -1
- package/dist/server/create.js +0 -171
- package/dist/server/create.js.map +0 -1
- package/dist/server/domain-entry.d.ts +0 -77
- package/dist/server/domain-entry.d.ts.map +0 -1
- package/dist/server/domain-entry.js +0 -60
- package/dist/server/domain-entry.js.map +0 -1
- package/dist/server/handle.d.ts +0 -35
- package/dist/server/handle.d.ts.map +0 -1
- package/dist/server/handle.js +0 -9
- package/dist/server/handle.js.map +0 -1
- package/dist/server/jwks.d.ts +0 -11
- package/dist/server/jwks.d.ts.map +0 -1
- package/dist/server/jwks.js +0 -15
- package/dist/server/jwks.js.map +0 -1
- package/dist/server/require-env.d.ts +0 -15
- package/dist/server/require-env.d.ts.map +0 -1
- package/dist/server/require-env.js +0 -21
- package/dist/server/require-env.js.map +0 -1
- package/dist/server/service-entry.d.ts +0 -32
- package/dist/server/service-entry.d.ts.map +0 -1
- package/dist/server/service-entry.js +0 -150
- package/dist/server/service-entry.js.map +0 -1
- package/dist/server/serving-url.d.ts +0 -14
- package/dist/server/serving-url.d.ts.map +0 -1
- package/dist/server/serving-url.js +0 -28
- package/dist/server/serving-url.js.map +0 -1
- package/dist/server/start.d.ts +0 -11
- package/dist/server/start.d.ts.map +0 -1
- package/dist/server/start.js +0 -34
- package/dist/server/start.js.map +0 -1
- package/dist/server/worker-entry.d.ts +0 -157
- package/dist/server/worker-entry.d.ts.map +0 -1
- package/dist/server/worker-entry.js +0 -201
- package/dist/server/worker-entry.js.map +0 -1
- package/dist/service/functions.d.ts +0 -148
- package/dist/service/functions.d.ts.map +0 -1
- package/dist/service/functions.js +0 -115
- package/dist/service/functions.js.map +0 -1
- package/dist/service/index.d.ts +0 -3
- package/dist/service/index.d.ts.map +0 -1
- package/dist/service/index.js +0 -2
- package/dist/service/index.js.map +0 -1
- package/dist/step/index.d.ts +0 -5
- package/dist/step/index.d.ts.map +0 -1
- package/dist/step/index.js +0 -3
- package/dist/step/index.js.map +0 -1
- package/dist/step/inline.d.ts +0 -8
- package/dist/step/inline.d.ts.map +0 -1
- package/dist/step/inline.js +0 -22
- package/dist/step/inline.js.map +0 -1
- package/dist/step/step.d.ts +0 -28
- package/dist/step/step.d.ts.map +0 -1
- package/dist/step/step.js +0 -53
- package/dist/step/step.js.map +0 -1
- package/src/auth/authenticate.ts +0 -51
- package/src/auth/check.ts +0 -69
- package/src/auth/compose.ts +0 -56
- package/src/auth/errors.ts +0 -32
- package/src/auth/function-context.ts +0 -108
- package/src/auth/identity.ts +0 -17
- package/src/auth/index.ts +0 -19
- package/src/auth/issuer-mint.ts +0 -76
- package/src/auth/kernel-client.ts +0 -153
- package/src/auth/resolve.ts +0 -63
- package/src/auth/sign.ts +0 -36
- package/src/auth/verify.ts +0 -199
- package/src/cli/bin.ts +0 -15
- package/src/cli/dotenv.ts +0 -65
- package/src/cli/index.ts +0 -15
- package/src/cli/log.ts +0 -18
- package/src/cli/publish.ts +0 -341
- package/src/cli/run.ts +0 -769
- package/src/cli/spec.ts +0 -44
- package/src/config/adapter.ts +0 -177
- package/src/config/define-domain.ts +0 -354
- package/src/config/deploy.ts +0 -35
- package/src/config/index.ts +0 -31
- package/src/define/index.ts +0 -10
- package/src/define/remote-function.ts +0 -184
- package/src/define/view.ts +0 -112
- package/src/deploy/check.ts +0 -124
- package/src/deploy/index.ts +0 -2
- package/src/deploy/meta.ts +0 -50
- package/src/dispatch/authorize.ts +0 -29
- package/src/dispatch/dispatcher.ts +0 -321
- package/src/dispatch/errors.ts +0 -94
- package/src/dispatch/execute.ts +0 -67
- package/src/dispatch/identity.ts +0 -143
- package/src/dispatch/index.ts +0 -16
- package/src/dispatch/resolve.ts +0 -78
- package/src/dispatch/self.ts +0 -198
- package/src/dispatch/validate.ts +0 -41
- package/src/domain/binding.ts +0 -37
- package/src/domain/build-spec.ts +0 -156
- package/src/domain/contract.ts +0 -41
- package/src/domain/define.ts +0 -162
- package/src/domain/extend-functions.ts +0 -110
- package/src/domain/extend-views.ts +0 -151
- package/src/domain/index.ts +0 -4
- package/src/index.ts +0 -165
- package/src/linter/analyze.ts +0 -17
- package/src/linter/diagnostic.ts +0 -85
- package/src/linter/docs/DIAGNOSTICS.md +0 -47
- package/src/linter/docs/JUDGMENT.md +0 -81
- package/src/linter/docs/PRINCIPLES.md +0 -97
- package/src/linter/docs/README.md +0 -38
- package/src/linter/docs/RULE-AUTHORING.md +0 -144
- package/src/linter/docs/RULES.md +0 -153
- package/src/linter/index.ts +0 -15
- package/src/linter/lint.ts +0 -34
- package/src/linter/oxlint/astrale-ox.d.ts +0 -5
- package/src/linter/oxlint/config.ts +0 -24
- package/src/linter/oxlint/ignore-patterns.ts +0 -17
- package/src/linter/oxlint/plugin.js +0 -16
- package/src/linter/oxlint/process.ts +0 -219
- package/src/linter/oxlint/run.ts +0 -175
- package/src/linter/preflight.ts +0 -182
- package/src/linter/project.ts +0 -190
- package/src/linter/report.ts +0 -25
- package/src/linter/rules/catalog.ts +0 -67
- package/src/linter/rules/core-has-no-async.js +0 -43
- package/src/linter/rules/core-is-pure.ts +0 -103
- package/src/linter/rules/no-nested-steps.js +0 -37
- package/src/linter/rules/no-read-inside-mutate.js +0 -72
- package/src/linter/rules/one-remote-definition-per-file.ts +0 -29
- package/src/linter/rules/oxlint-ast.js +0 -110
- package/src/linter/rules/oxlint-rule.ts +0 -35
- package/src/linter/rules/project-rule.ts +0 -37
- package/src/linter/rules/thin-schema-composition-root.ts +0 -26
- package/src/linter/source.ts +0 -323
- package/src/linter/suppression.ts +0 -11
- package/src/method/class.ts +0 -163
- package/src/method/context.ts +0 -135
- package/src/method/index.ts +0 -19
- package/src/method/single.ts +0 -166
- package/src/server/auxiliary-routes.ts +0 -456
- package/src/server/config.ts +0 -85
- package/src/server/create.ts +0 -210
- package/src/server/domain-entry.ts +0 -125
- package/src/server/handle.ts +0 -37
- package/src/server/index.ts +0 -19
- package/src/server/jwks.ts +0 -18
- package/src/server/require-env.ts +0 -19
- package/src/server/service-entry.ts +0 -209
- package/src/server/serving-url.ts +0 -28
- package/src/server/start.ts +0 -42
- package/src/server/worker-entry.ts +0 -286
- package/src/service/functions.ts +0 -164
- package/src/service/index.ts +0 -18
- package/src/step/index.ts +0 -4
- package/src/step/inline.ts +0 -38
- package/src/step/step.ts +0 -95
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { lstat, readdir, readFile, realpath, stat } from 'node:fs/promises';
|
|
3
|
+
import { dirname, extname, join, relative, resolve } from 'node:path';
|
|
4
|
+
import ts from 'typescript';
|
|
5
|
+
import { LinterToolError } from '../../diagnostics/index.js';
|
|
6
|
+
import { collectDependencyIssues, collectImports } from './imports.js';
|
|
7
|
+
const IGNORED = new Set([
|
|
8
|
+
'.astrale',
|
|
9
|
+
'.dist',
|
|
10
|
+
'.domain-studio',
|
|
11
|
+
'.git',
|
|
12
|
+
'.output',
|
|
13
|
+
'.turbo',
|
|
14
|
+
'.wrangler',
|
|
15
|
+
'coverage',
|
|
16
|
+
'dist',
|
|
17
|
+
'dist-client',
|
|
18
|
+
'node_modules',
|
|
19
|
+
]);
|
|
20
|
+
const EXTENSIONS = new Set(['.cjs', '.cts', '.js', '.jsx', '.mjs', '.mts', '.ts', '.tsx']);
|
|
21
|
+
const MAX_DEPTH = 32;
|
|
22
|
+
const MAX_FILES = 20_000;
|
|
23
|
+
const MAX_FILE_BYTES = 2 * 1024 * 1024;
|
|
24
|
+
const MAX_TOTAL_BYTES = 128 * 1024 * 1024;
|
|
25
|
+
const READ_CONCURRENCY = 32;
|
|
26
|
+
const MAX_CONFIG_BYTES = 1024 * 1024;
|
|
27
|
+
export async function discoverProject(root, policy, signal) {
|
|
28
|
+
ensureActive(signal);
|
|
29
|
+
const requestedRoot = resolve(root);
|
|
30
|
+
let projectRoot;
|
|
31
|
+
try {
|
|
32
|
+
if ((await lstat(requestedRoot)).isSymbolicLink()) {
|
|
33
|
+
invalidProject(`Domain project root must not be a symbolic link: ${root}.`);
|
|
34
|
+
}
|
|
35
|
+
projectRoot = await realpath(requestedRoot);
|
|
36
|
+
}
|
|
37
|
+
catch (cause) {
|
|
38
|
+
throw new LinterToolError(`Cannot resolve Domain project root ${root}.`, {
|
|
39
|
+
code: 'LINTER_PROJECT_INVALID',
|
|
40
|
+
cause,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
const configuration = await readConfiguration(projectRoot, signal);
|
|
44
|
+
const toolingPaths = new Set(policy.rootFiles.filter(({ role }) => role === 'tooling').map(({ sourcePath }) => sourcePath));
|
|
45
|
+
const layerPaths = policy.layers.map(({ sourcePath }) => sourcePath.replace(/\/$/, ''));
|
|
46
|
+
const paths = [];
|
|
47
|
+
try {
|
|
48
|
+
await collect(projectRoot, projectRoot, paths, configuration.workspacePatterns, layerPaths, toolingPaths, 0, signal);
|
|
49
|
+
}
|
|
50
|
+
catch (cause) {
|
|
51
|
+
if (cause instanceof LinterToolError)
|
|
52
|
+
throw cause;
|
|
53
|
+
throw new LinterToolError(`Cannot read Domain project at ${projectRoot}.`, {
|
|
54
|
+
code: 'LINTER_PROJECT_INVALID',
|
|
55
|
+
cause,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
paths.sort();
|
|
59
|
+
let metadata;
|
|
60
|
+
try {
|
|
61
|
+
metadata = await mapBounded(paths, READ_CONCURRENCY, async (path) => {
|
|
62
|
+
ensureActive(signal);
|
|
63
|
+
return { path, size: (await stat(path)).size };
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
catch (cause) {
|
|
67
|
+
if (cause instanceof LinterToolError)
|
|
68
|
+
throw cause;
|
|
69
|
+
throw new LinterToolError(`Cannot inspect Domain project at ${projectRoot}.`, {
|
|
70
|
+
code: 'LINTER_PROJECT_INVALID',
|
|
71
|
+
cause,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
const oversized = metadata.find(({ size }) => size > MAX_FILE_BYTES);
|
|
75
|
+
if (oversized) {
|
|
76
|
+
invalidProject(`Domain source ${relative(projectRoot, oversized.path)} is ${oversized.size} bytes; maximum is ${MAX_FILE_BYTES}.`);
|
|
77
|
+
}
|
|
78
|
+
const totalBytes = metadata.reduce((total, { size }) => total + size, 0);
|
|
79
|
+
if (totalBytes > MAX_TOTAL_BYTES) {
|
|
80
|
+
invalidProject(`Domain source snapshot is ${totalBytes} bytes; maximum is ${MAX_TOTAL_BYTES}.`);
|
|
81
|
+
}
|
|
82
|
+
let files;
|
|
83
|
+
try {
|
|
84
|
+
files = await mapBounded(metadata, READ_CONCURRENCY, ({ path }) => {
|
|
85
|
+
ensureActive(signal);
|
|
86
|
+
return admitFile(projectRoot, path, policy);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
catch (cause) {
|
|
90
|
+
if (cause instanceof LinterToolError)
|
|
91
|
+
throw cause;
|
|
92
|
+
throw new LinterToolError(`Cannot read Domain source at ${projectRoot}.`, {
|
|
93
|
+
code: 'LINTER_PROJECT_INVALID',
|
|
94
|
+
cause,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
const syntaxFailures = files.flatMap((file) => (file.source
|
|
98
|
+
.parseDiagnostics ?? []).map((diagnostic) => {
|
|
99
|
+
const position = diagnostic.start === undefined
|
|
100
|
+
? undefined
|
|
101
|
+
: file.source.getLineAndCharacterOfPosition(diagnostic.start);
|
|
102
|
+
return `${file.path}${position ? `:${position.line + 1}:${position.character + 1}` : ''}: ${ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n')}`;
|
|
103
|
+
}));
|
|
104
|
+
if (syntaxFailures.length > 0) {
|
|
105
|
+
throw new LinterToolError(`Domain project contains TypeScript syntax errors:\n${syntaxFailures.slice(0, 20).join('\n')}`, { code: 'LINTER_PROJECT_INVALID' });
|
|
106
|
+
}
|
|
107
|
+
return Object.freeze({
|
|
108
|
+
root: projectRoot,
|
|
109
|
+
sourceSnapshotDigest: sourceSnapshotDigest(files),
|
|
110
|
+
policy,
|
|
111
|
+
configuration,
|
|
112
|
+
files: Object.freeze(files),
|
|
113
|
+
filesByPath: new Map(files.map((file) => [file.path, file])),
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
function sourceSnapshotDigest(files) {
|
|
117
|
+
const hash = createHash('sha256');
|
|
118
|
+
for (const file of files) {
|
|
119
|
+
digestField(hash, Buffer.from(file.path, 'utf8'));
|
|
120
|
+
digestField(hash, Buffer.from(file.text, 'utf8'));
|
|
121
|
+
}
|
|
122
|
+
return hash.digest('hex');
|
|
123
|
+
}
|
|
124
|
+
function digestField(hash, value) {
|
|
125
|
+
const length = Buffer.allocUnsafe(8);
|
|
126
|
+
length.writeBigUInt64BE(BigInt(value.length));
|
|
127
|
+
hash.update(length);
|
|
128
|
+
hash.update(value);
|
|
129
|
+
}
|
|
130
|
+
async function collect(root, directory, output, workspacePatterns, layerPaths, toolingPaths, depth, signal) {
|
|
131
|
+
ensureActive(signal);
|
|
132
|
+
const entries = await readdir(directory, { withFileTypes: true });
|
|
133
|
+
for (const entry of entries) {
|
|
134
|
+
const path = join(directory, entry.name);
|
|
135
|
+
const projectPath = normalize(relative(root, path));
|
|
136
|
+
if (entry.isSymbolicLink()) {
|
|
137
|
+
if (!IGNORED.has(entry.name)) {
|
|
138
|
+
invalidProject(`Domain compilation scope contains symbolic link ${relative(root, path)}.`);
|
|
139
|
+
}
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
if (entry.isDirectory()) {
|
|
143
|
+
if (entry.name === '.spec') {
|
|
144
|
+
invalidProject(`Domain projects cannot own .spec directories; Kernel is the specification owner (${projectPath}).`);
|
|
145
|
+
}
|
|
146
|
+
if (!IGNORED.has(entry.name)) {
|
|
147
|
+
if (await isWorkspaceMember(path, projectPath, workspacePatterns, layerPaths, signal))
|
|
148
|
+
continue;
|
|
149
|
+
if (depth >= MAX_DEPTH) {
|
|
150
|
+
invalidProject(`Domain source tree exceeds maximum depth ${MAX_DEPTH} at ${path}.`);
|
|
151
|
+
}
|
|
152
|
+
await collect(root, path, output, workspacePatterns, layerPaths, toolingPaths, depth + 1, signal);
|
|
153
|
+
}
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
if (!entry.isFile() || !EXTENSIONS.has(extname(entry.name)) || toolingPaths.has(projectPath))
|
|
157
|
+
continue;
|
|
158
|
+
output.push(path);
|
|
159
|
+
if (output.length > MAX_FILES) {
|
|
160
|
+
invalidProject(`Domain source tree exceeds maximum file count ${MAX_FILES}.`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
async function isWorkspaceMember(directory, projectPath, workspacePatterns, layerPaths, signal) {
|
|
165
|
+
if (!workspacePatterns.some((pattern) => glob(pattern).test(projectPath)))
|
|
166
|
+
return false;
|
|
167
|
+
if (layerPaths.some((layer) => projectPath === layer || projectPath.startsWith(`${layer}/`))) {
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
ensureActive(signal);
|
|
171
|
+
const manifestPath = join(directory, 'package.json');
|
|
172
|
+
let metadata;
|
|
173
|
+
try {
|
|
174
|
+
metadata = await lstat(manifestPath);
|
|
175
|
+
}
|
|
176
|
+
catch (cause) {
|
|
177
|
+
if (cause.code === 'ENOENT')
|
|
178
|
+
return false;
|
|
179
|
+
throw cause;
|
|
180
|
+
}
|
|
181
|
+
if (metadata.isSymbolicLink()) {
|
|
182
|
+
invalidProject(`Workspace package manifest must not be a symbolic link: ${projectPath}/package.json.`);
|
|
183
|
+
}
|
|
184
|
+
if (!metadata.isFile())
|
|
185
|
+
return false;
|
|
186
|
+
if (metadata.size > MAX_CONFIG_BYTES) {
|
|
187
|
+
invalidProject(`Workspace package manifest ${projectPath}/package.json exceeds ${MAX_CONFIG_BYTES} config bytes.`);
|
|
188
|
+
}
|
|
189
|
+
const source = await readFile(manifestPath, 'utf8');
|
|
190
|
+
parsePackage(manifestPath, source);
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
193
|
+
async function admitFile(root, absolutePath, policy) {
|
|
194
|
+
const path = relative(root, absolutePath).replaceAll('\\', '/');
|
|
195
|
+
const bytes = await readFile(absolutePath);
|
|
196
|
+
let text;
|
|
197
|
+
try {
|
|
198
|
+
text = new TextDecoder('utf-8', { fatal: true }).decode(bytes);
|
|
199
|
+
}
|
|
200
|
+
catch (cause) {
|
|
201
|
+
throw new LinterToolError(`Domain source ${path} is not valid UTF-8.`, {
|
|
202
|
+
code: 'LINTER_PROJECT_INVALID',
|
|
203
|
+
cause,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
const source = ts.createSourceFile(absolutePath, text, ts.ScriptTarget.Latest, true, scriptKind(absolutePath));
|
|
207
|
+
const layer = policy.layers.find(({ sourcePath }) => path.startsWith(sourcePath));
|
|
208
|
+
const remainder = layer ? path.slice(layer.sourcePath.length) : undefined;
|
|
209
|
+
const first = remainder?.split('/')[0];
|
|
210
|
+
const role = sourceRole(path, layer?.id);
|
|
211
|
+
return Object.freeze({
|
|
212
|
+
absolutePath,
|
|
213
|
+
path,
|
|
214
|
+
text,
|
|
215
|
+
source,
|
|
216
|
+
role,
|
|
217
|
+
...(layer ? { layer: layer.id } : {}),
|
|
218
|
+
...(first && remainder?.includes('/') && first !== '__tests__' ? { submodule: first } : {}),
|
|
219
|
+
imports: Object.freeze(collectImports(source)),
|
|
220
|
+
dependencyIssues: Object.freeze(collectDependencyIssues(source)),
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
function sourceRole(path, layer) {
|
|
224
|
+
const segments = path.split('/');
|
|
225
|
+
if (segments.includes('__tests__') || /\.(?:test|spec|bench|perf)\.[cm]?[jt]sx?$/.test(path)) {
|
|
226
|
+
return layer === 'tests' ? 'system-test' : 'focused-test';
|
|
227
|
+
}
|
|
228
|
+
return layer === 'tests' ? 'system-test' : 'production';
|
|
229
|
+
}
|
|
230
|
+
async function readConfiguration(root, signal) {
|
|
231
|
+
ensureActive(signal);
|
|
232
|
+
const entries = (await readdir(root, { withFileTypes: true })).map(({ name }) => name).sort();
|
|
233
|
+
const packagePath = join(root, 'package.json');
|
|
234
|
+
const tsconfigPath = join(root, 'tsconfig.json');
|
|
235
|
+
const workspacePath = join(root, 'pnpm-workspace.yaml');
|
|
236
|
+
const packageJson = await readOptionalConfig(packagePath, signal);
|
|
237
|
+
const tsconfigText = await readOptionalConfig(tsconfigPath, signal);
|
|
238
|
+
const workspaceText = await readOptionalConfig(workspacePath, signal);
|
|
239
|
+
const packageValue = packageJson === undefined ? undefined : parsePackage(packagePath, packageJson);
|
|
240
|
+
const tsconfigValue = tsconfigText === undefined ? undefined : parseTsconfig(tsconfigPath, tsconfigText);
|
|
241
|
+
return Object.freeze({
|
|
242
|
+
rootEntries: Object.freeze(entries),
|
|
243
|
+
typescriptAliases: freezeRecord(readTypescriptAliases(tsconfigValue)),
|
|
244
|
+
packageAliases: freezeRecord(readPackageAliases(packageValue)),
|
|
245
|
+
workspacePatterns: Object.freeze([
|
|
246
|
+
...new Set([
|
|
247
|
+
...readWorkspacePatterns(packageValue),
|
|
248
|
+
...readPnpmWorkspacePatterns(workspaceText),
|
|
249
|
+
]),
|
|
250
|
+
]),
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
async function readOptionalConfig(path, signal) {
|
|
254
|
+
ensureActive(signal);
|
|
255
|
+
let metadata;
|
|
256
|
+
try {
|
|
257
|
+
metadata = await stat(path);
|
|
258
|
+
}
|
|
259
|
+
catch (cause) {
|
|
260
|
+
if (cause.code === 'ENOENT')
|
|
261
|
+
return undefined;
|
|
262
|
+
throw cause;
|
|
263
|
+
}
|
|
264
|
+
if (metadata.size > MAX_CONFIG_BYTES) {
|
|
265
|
+
invalidProject(`${relative(dirname(path), path)} exceeds ${MAX_CONFIG_BYTES} config bytes.`);
|
|
266
|
+
}
|
|
267
|
+
return readFile(path, 'utf8');
|
|
268
|
+
}
|
|
269
|
+
function parsePackage(path, text) {
|
|
270
|
+
try {
|
|
271
|
+
const value = JSON.parse(text);
|
|
272
|
+
if (!record(value))
|
|
273
|
+
throw new TypeError('package.json root must be an object');
|
|
274
|
+
return value;
|
|
275
|
+
}
|
|
276
|
+
catch (cause) {
|
|
277
|
+
throw new LinterToolError(`Cannot parse Domain package manifest ${path}.`, {
|
|
278
|
+
code: 'LINTER_PROJECT_INVALID',
|
|
279
|
+
cause,
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
function parseTsconfig(path, text) {
|
|
284
|
+
const parsed = ts.parseConfigFileTextToJson(path, text);
|
|
285
|
+
if (parsed.error) {
|
|
286
|
+
invalidProject(`Cannot parse Domain TypeScript configuration ${path}: ${ts.flattenDiagnosticMessageText(parsed.error.messageText, '\n')}`);
|
|
287
|
+
}
|
|
288
|
+
if (!record(parsed.config))
|
|
289
|
+
invalidProject(`Domain TypeScript configuration ${path} is not an object.`);
|
|
290
|
+
return parsed.config;
|
|
291
|
+
}
|
|
292
|
+
function readTypescriptAliases(config) {
|
|
293
|
+
const compilerOptions = record(config?.compilerOptions) ? config.compilerOptions : undefined;
|
|
294
|
+
const paths = record(compilerOptions?.paths) ? compilerOptions.paths : undefined;
|
|
295
|
+
if (!paths)
|
|
296
|
+
return {};
|
|
297
|
+
return Object.fromEntries(Object.entries(paths).map(([specifier, value]) => [
|
|
298
|
+
specifier,
|
|
299
|
+
Array.isArray(value) && value.every((target) => typeof target === 'string')
|
|
300
|
+
? Object.freeze([...value])
|
|
301
|
+
: null,
|
|
302
|
+
]));
|
|
303
|
+
}
|
|
304
|
+
function readPackageAliases(manifest) {
|
|
305
|
+
const imports = record(manifest?.imports) ? manifest.imports : undefined;
|
|
306
|
+
if (!imports)
|
|
307
|
+
return {};
|
|
308
|
+
return Object.fromEntries(Object.entries(imports).map(([specifier, target]) => [
|
|
309
|
+
specifier,
|
|
310
|
+
typeof target === 'string' ? target : null,
|
|
311
|
+
]));
|
|
312
|
+
}
|
|
313
|
+
function readWorkspacePatterns(manifest) {
|
|
314
|
+
const workspaces = manifest?.workspaces;
|
|
315
|
+
const values = Array.isArray(workspaces)
|
|
316
|
+
? workspaces
|
|
317
|
+
: record(workspaces) && Array.isArray(workspaces.packages)
|
|
318
|
+
? workspaces.packages
|
|
319
|
+
: [];
|
|
320
|
+
return values.flatMap((value) => typeof value === 'string' && validWorkspacePattern(value) ? [normalize(value)] : []);
|
|
321
|
+
}
|
|
322
|
+
function readPnpmWorkspacePatterns(source) {
|
|
323
|
+
if (source === undefined)
|
|
324
|
+
return [];
|
|
325
|
+
const patterns = [];
|
|
326
|
+
let inPackages = false;
|
|
327
|
+
for (const rawLine of source.split(/\r?\n/)) {
|
|
328
|
+
const line = rawLine.replace(/\s+#.*$/, '');
|
|
329
|
+
if (/^packages:\s*\[\s*\]\s*$/.test(line)) {
|
|
330
|
+
inPackages = false;
|
|
331
|
+
continue;
|
|
332
|
+
}
|
|
333
|
+
if (/^packages:\s*$/.test(line)) {
|
|
334
|
+
inPackages = true;
|
|
335
|
+
continue;
|
|
336
|
+
}
|
|
337
|
+
if (inPackages && /^\S/.test(line))
|
|
338
|
+
break;
|
|
339
|
+
if (!inPackages)
|
|
340
|
+
continue;
|
|
341
|
+
const match = /^\s+-\s+(.+?)\s*$/.exec(line);
|
|
342
|
+
if (!match)
|
|
343
|
+
continue;
|
|
344
|
+
const value = unquoteYaml(match[1]);
|
|
345
|
+
if (validWorkspacePattern(value))
|
|
346
|
+
patterns.push(normalize(value));
|
|
347
|
+
}
|
|
348
|
+
return patterns;
|
|
349
|
+
}
|
|
350
|
+
function unquoteYaml(value) {
|
|
351
|
+
if (value.length >= 2 &&
|
|
352
|
+
((value.startsWith("'") && value.endsWith("'")) ||
|
|
353
|
+
(value.startsWith('"') && value.endsWith('"')))) {
|
|
354
|
+
return value.slice(1, -1);
|
|
355
|
+
}
|
|
356
|
+
return value;
|
|
357
|
+
}
|
|
358
|
+
function validWorkspacePattern(value) {
|
|
359
|
+
return (value.length > 0 &&
|
|
360
|
+
value.length <= 512 &&
|
|
361
|
+
!value.startsWith('/') &&
|
|
362
|
+
!value.includes('\\') &&
|
|
363
|
+
!value.split('/').includes('..'));
|
|
364
|
+
}
|
|
365
|
+
function glob(pattern) {
|
|
366
|
+
const expression = pattern
|
|
367
|
+
.split('*')
|
|
368
|
+
.map((part) => part.replace(/[|\\{}()[\]^$+?.]/g, '\\$&'))
|
|
369
|
+
.join('[^/]*');
|
|
370
|
+
return new RegExp(`^${expression.replace(/\/$/, '')}$`);
|
|
371
|
+
}
|
|
372
|
+
function freezeRecord(value) {
|
|
373
|
+
return Object.freeze({ ...value });
|
|
374
|
+
}
|
|
375
|
+
function record(value) {
|
|
376
|
+
return Boolean(value && typeof value === 'object' && !Array.isArray(value));
|
|
377
|
+
}
|
|
378
|
+
function normalize(path) {
|
|
379
|
+
return path.replaceAll('\\', '/');
|
|
380
|
+
}
|
|
381
|
+
function scriptKind(path) {
|
|
382
|
+
if (/\.tsx$|\.jsx$/.test(path))
|
|
383
|
+
return ts.ScriptKind.TSX;
|
|
384
|
+
if (/\.js$|\.mjs$|\.cjs$/.test(path))
|
|
385
|
+
return ts.ScriptKind.JS;
|
|
386
|
+
return ts.ScriptKind.TS;
|
|
387
|
+
}
|
|
388
|
+
async function mapBounded(values, concurrency, transform) {
|
|
389
|
+
const output = [];
|
|
390
|
+
let cursor = 0;
|
|
391
|
+
const worker = async () => {
|
|
392
|
+
while (cursor < values.length) {
|
|
393
|
+
const index = cursor;
|
|
394
|
+
cursor += 1;
|
|
395
|
+
output[index] = await transform(values[index]);
|
|
396
|
+
}
|
|
397
|
+
};
|
|
398
|
+
await Promise.all(Array.from({ length: Math.min(concurrency, values.length) }, () => worker()));
|
|
399
|
+
return output;
|
|
400
|
+
}
|
|
401
|
+
function invalidProject(message) {
|
|
402
|
+
throw new LinterToolError(message, { code: 'LINTER_PROJECT_INVALID' });
|
|
403
|
+
}
|
|
404
|
+
function ensureActive(signal) {
|
|
405
|
+
if (signal?.aborted) {
|
|
406
|
+
throw new LinterToolError('Domain lint was cancelled.', {
|
|
407
|
+
code: 'LINTER_CANCELLED',
|
|
408
|
+
cause: signal.reason,
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
//# sourceMappingURL=discover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../../src/linter/adapters/typescript/discover.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RuleEvidenceAdmission } from '../../evaluation/index.js';
|
|
2
|
+
import type { SourceProject } from './index.js';
|
|
3
|
+
/** Verifies that portable evidence locations belong to the admitted TypeScript source snapshot. */
|
|
4
|
+
export declare const sourceEvidenceAdmission: RuleEvidenceAdmission<SourceProject>;
|
|
5
|
+
//# sourceMappingURL=evidence-admission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-admission.d.ts","sourceRoot":"","sources":["../../../../src/linter/adapters/typescript/evidence-admission.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAI/C,mGAAmG;AACnG,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,CAAC,aAAa,CAavE,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LinterToolError } from '../../diagnostics/index.js';
|
|
2
|
+
/** Verifies that portable evidence locations belong to the admitted TypeScript source snapshot. */
|
|
3
|
+
export const sourceEvidenceAdmission = Object.freeze({
|
|
4
|
+
assertLocation(id, location, project) {
|
|
5
|
+
const file = project.filesByPath.get(location.path);
|
|
6
|
+
if (!file)
|
|
7
|
+
ruleFailure(`Implementation ${id} located evidence outside the source snapshot.`);
|
|
8
|
+
if (location.offset === undefined)
|
|
9
|
+
return;
|
|
10
|
+
if (location.offset + location.length > file.text.length) {
|
|
11
|
+
ruleFailure(`Implementation ${id} returned an out-of-range span.`);
|
|
12
|
+
}
|
|
13
|
+
const actual = file.source.getLineAndCharacterOfPosition(location.offset);
|
|
14
|
+
if (actual.line + 1 !== location.line || actual.character + 1 !== location.column) {
|
|
15
|
+
ruleFailure(`Implementation ${id} returned an incoherent span.`);
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
function ruleFailure(message) {
|
|
20
|
+
throw new LinterToolError(message, { code: 'LINTER_RULE_FAILED' });
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=evidence-admission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence-admission.js","sourceRoot":"","sources":["../../../../src/linter/adapters/typescript/evidence-admission.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAE5D,mGAAmG;AACnG,MAAM,CAAC,MAAM,uBAAuB,GAAyC,MAAM,CAAC,MAAM,CAAC;IACzF,cAAc,CAAC,EAAU,EAAE,QAA4B,EAAE,OAAsB;QAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACnD,IAAI,CAAC,IAAI;YAAE,WAAW,CAAC,kBAAkB,EAAE,gDAAgD,CAAC,CAAA;QAC5F,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;YAAE,OAAM;QACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1D,WAAW,CAAC,kBAAkB,EAAE,iCAAiC,CAAC,CAAA;QACpE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACzE,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClF,WAAW,CAAC,kBAAkB,EAAE,+BAA+B,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;CACF,CAAC,CAAA;AAEF,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAA;AACpE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
import type { SourceProject, SourceDependencyIssue, SourceFile, SourceImport } from './index.js';
|
|
3
|
+
export declare function collectImports(source: ts.SourceFile): SourceImport[];
|
|
4
|
+
export declare function collectDependencyIssues(source: ts.SourceFile): SourceDependencyIssue[];
|
|
5
|
+
export declare function resolveProjectImport(project: SourceProject, importer: SourceFile, specifier: string): SourceFile | undefined;
|
|
6
|
+
export declare function isWithin(directory: string, path: string): boolean;
|
|
7
|
+
//# sourceMappingURL=imports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../../../src/linter/adapters/typescript/imports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAIhG,wBAAgB,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,YAAY,EAAE,CAgFpE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,qBAAqB,EAAE,CAsCtF;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,MAAM,GAChB,UAAU,GAAG,SAAS,CA0BxB;AAyBD,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjE"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { dirname, extname, isAbsolute, join, relative, resolve } from 'node:path';
|
|
2
|
+
import ts from 'typescript';
|
|
3
|
+
import { isLocallyDeclared } from './syntax.js';
|
|
4
|
+
export function collectImports(source) {
|
|
5
|
+
const imports = [];
|
|
6
|
+
for (const statement of source.statements) {
|
|
7
|
+
if (ts.isImportDeclaration(statement) && ts.isStringLiteral(statement.moduleSpecifier)) {
|
|
8
|
+
const bindings = new Map();
|
|
9
|
+
let namespace;
|
|
10
|
+
const clause = statement.importClause;
|
|
11
|
+
if (clause?.name)
|
|
12
|
+
bindings.set('default', clause.name.text);
|
|
13
|
+
if (clause?.namedBindings && ts.isNamespaceImport(clause.namedBindings)) {
|
|
14
|
+
namespace = clause.namedBindings.name.text;
|
|
15
|
+
}
|
|
16
|
+
else if (clause?.namedBindings && ts.isNamedImports(clause.namedBindings)) {
|
|
17
|
+
for (const element of clause.namedBindings.elements) {
|
|
18
|
+
bindings.set(element.propertyName?.text ?? element.name.text, element.name.text);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const namedBindings = clause?.namedBindings;
|
|
22
|
+
const allNamedTypeOnly = namedBindings !== undefined &&
|
|
23
|
+
ts.isNamedImports(namedBindings) &&
|
|
24
|
+
namedBindings.elements.length > 0 &&
|
|
25
|
+
namedBindings.elements.every(({ isTypeOnly }) => isTypeOnly);
|
|
26
|
+
imports.push({
|
|
27
|
+
specifier: statement.moduleSpecifier.text,
|
|
28
|
+
typeOnly: clause?.isTypeOnly === true || allNamedTypeOnly === true,
|
|
29
|
+
dynamic: false,
|
|
30
|
+
bindings,
|
|
31
|
+
...(namespace ? { namespace } : {}),
|
|
32
|
+
node: statement,
|
|
33
|
+
});
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (ts.isExportDeclaration(statement) &&
|
|
37
|
+
statement.moduleSpecifier &&
|
|
38
|
+
ts.isStringLiteral(statement.moduleSpecifier)) {
|
|
39
|
+
imports.push({
|
|
40
|
+
specifier: statement.moduleSpecifier.text,
|
|
41
|
+
typeOnly: statement.isTypeOnly,
|
|
42
|
+
dynamic: false,
|
|
43
|
+
bindings: new Map(),
|
|
44
|
+
node: statement,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const collectDynamic = (node) => {
|
|
49
|
+
if (ts.isImportTypeNode(node)) {
|
|
50
|
+
const argument = node.argument;
|
|
51
|
+
if (ts.isLiteralTypeNode(argument) &&
|
|
52
|
+
(ts.isStringLiteral(argument.literal) ||
|
|
53
|
+
ts.isNoSubstitutionTemplateLiteral(argument.literal))) {
|
|
54
|
+
imports.push({
|
|
55
|
+
specifier: argument.literal.text,
|
|
56
|
+
typeOnly: true,
|
|
57
|
+
dynamic: false,
|
|
58
|
+
bindings: new Map(),
|
|
59
|
+
node,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (ts.isCallExpression(node) &&
|
|
64
|
+
node.expression.kind === ts.SyntaxKind.ImportKeyword &&
|
|
65
|
+
node.arguments.length === 1 &&
|
|
66
|
+
ts.isStringLiteral(node.arguments[0])) {
|
|
67
|
+
imports.push({
|
|
68
|
+
specifier: node.arguments[0].text,
|
|
69
|
+
typeOnly: false,
|
|
70
|
+
dynamic: true,
|
|
71
|
+
bindings: new Map(),
|
|
72
|
+
node,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
node.forEachChild(collectDynamic);
|
|
76
|
+
};
|
|
77
|
+
source.forEachChild(collectDynamic);
|
|
78
|
+
return imports;
|
|
79
|
+
}
|
|
80
|
+
export function collectDependencyIssues(source) {
|
|
81
|
+
const issues = [];
|
|
82
|
+
visit(source, (node) => {
|
|
83
|
+
if (ts.isImportEqualsDeclaration(node)) {
|
|
84
|
+
issues.push({ kind: 'import-equals', node });
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (ts.isImportTypeNode(node)) {
|
|
88
|
+
const argument = node.argument;
|
|
89
|
+
if (!ts.isLiteralTypeNode(argument) ||
|
|
90
|
+
(!ts.isStringLiteral(argument.literal) &&
|
|
91
|
+
!ts.isNoSubstitutionTemplateLiteral(argument.literal))) {
|
|
92
|
+
issues.push({ kind: 'nonliteral-import', node });
|
|
93
|
+
}
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (!ts.isCallExpression(node))
|
|
97
|
+
return;
|
|
98
|
+
if (node.expression.kind === ts.SyntaxKind.ImportKeyword) {
|
|
99
|
+
if (node.arguments.length !== 1 ||
|
|
100
|
+
(!ts.isStringLiteral(node.arguments[0]) &&
|
|
101
|
+
!ts.isNoSubstitutionTemplateLiteral(node.arguments[0]))) {
|
|
102
|
+
issues.push({ kind: 'nonliteral-import', node });
|
|
103
|
+
}
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if (ts.isIdentifier(node.expression) &&
|
|
107
|
+
node.expression.text === 'require' &&
|
|
108
|
+
!isLocallyDeclared(node.expression)) {
|
|
109
|
+
issues.push({ kind: 'require', node });
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
return issues;
|
|
113
|
+
}
|
|
114
|
+
export function resolveProjectImport(project, importer, specifier) {
|
|
115
|
+
let target;
|
|
116
|
+
if (specifier.startsWith('.')) {
|
|
117
|
+
target = normalize(relative(project.root, resolve(dirname(importer.absolutePath), specifier)));
|
|
118
|
+
}
|
|
119
|
+
else if (specifier.startsWith('#')) {
|
|
120
|
+
const exact = project.policy.aliases.find(({ specifier: candidate }) => candidate === specifier);
|
|
121
|
+
if (exact) {
|
|
122
|
+
target = exact.typescriptTarget.replace(/^\.\//, '');
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
const wildcard = project.policy.aliases.find(({ specifier: candidate }) => {
|
|
126
|
+
if (!candidate.endsWith('/*'))
|
|
127
|
+
return false;
|
|
128
|
+
return specifier.startsWith(candidate.slice(0, -1));
|
|
129
|
+
});
|
|
130
|
+
if (!wildcard)
|
|
131
|
+
return undefined;
|
|
132
|
+
target = wildcard.typescriptTarget
|
|
133
|
+
.replace(/^\.\//, '')
|
|
134
|
+
.replace('*', specifier.slice(wildcard.specifier.length - 1));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
return undefined;
|
|
139
|
+
}
|
|
140
|
+
for (const candidate of importCandidates(target)) {
|
|
141
|
+
const file = project.filesByPath.get(candidate);
|
|
142
|
+
if (file)
|
|
143
|
+
return file;
|
|
144
|
+
}
|
|
145
|
+
return undefined;
|
|
146
|
+
}
|
|
147
|
+
function importCandidates(path) {
|
|
148
|
+
const extension = extname(path);
|
|
149
|
+
const candidates = [path];
|
|
150
|
+
if (['.js', '.jsx', '.mjs', '.cjs'].includes(extension)) {
|
|
151
|
+
const stem = path.slice(0, -extension.length);
|
|
152
|
+
candidates.push(`${stem}.ts`, `${stem}.tsx`, `${stem}.mts`, `${stem}.cts`);
|
|
153
|
+
}
|
|
154
|
+
if (!extension) {
|
|
155
|
+
candidates.push(`${path}.ts`, `${path}.tsx`, `${path}.mts`, `${path}.cts`);
|
|
156
|
+
candidates.push(join(path, 'index.ts'), join(path, 'index.tsx'));
|
|
157
|
+
}
|
|
158
|
+
return candidates.map(normalize);
|
|
159
|
+
}
|
|
160
|
+
function normalize(path) {
|
|
161
|
+
return path.replaceAll('\\', '/');
|
|
162
|
+
}
|
|
163
|
+
function visit(node, callback) {
|
|
164
|
+
callback(node);
|
|
165
|
+
node.forEachChild((child) => visit(child, callback));
|
|
166
|
+
}
|
|
167
|
+
export function isWithin(directory, path) {
|
|
168
|
+
const child = relative(directory, path);
|
|
169
|
+
return child === '' || (!child.startsWith('..') && !isAbsolute(child));
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=imports.js.map
|