@astryxdesign/cli 0.7.2-canary.fe2c655 → 0.7.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/CHANGELOG.md +119 -0
- package/README.md +175 -154
- package/api/build/_adapter.d.mts +8 -0
- package/api/build/_adapter.mjs +12 -1
- package/api/build/build.doc.mjs +4 -0
- package/api/build/help/help.mjs +1 -1
- package/api/build/kit/kit.mjs +3 -11
- package/api/component/_adapter.d.mts +72 -1
- package/api/component/_adapter.mjs +212 -18
- package/api/component/component.doc.mjs +6 -1
- package/api/component/component.mjs +82 -15
- package/api/component/component.test.mjs +80 -0
- package/api/component/doc-links.test.mjs +386 -0
- package/api/component/integration-export-name.test.mjs +644 -0
- package/api/component/list/list.mjs +42 -4
- package/api/discover/_adapter.d.mts +132 -12
- package/api/discover/_adapter.mjs +488 -27
- package/api/discover/_adapter.test.mjs +599 -17
- package/api/discover/_catalog-view.d.mts +16 -5
- package/api/discover/_catalog-view.mjs +32 -8
- package/api/discover/detail/doc/doc.mjs +9 -1
- package/api/discover/discover.d.mts +11 -0
- package/api/discover/discover.doc.mjs +9 -7
- package/api/discover/discover.mjs +121 -19
- package/api/discover/discover.type.d.mts +20 -7
- package/api/discover/discover.type.mjs +17 -7
- package/api/discover/list/list.d.mts +4 -3
- package/api/discover/list/list.mjs +17 -10
- package/api/docs/_adapter.d.mts +74 -0
- package/api/docs/_adapter.mjs +553 -16
- package/api/docs/docs.doc.mjs +2 -1
- package/api/docs/docs.mjs +2 -1
- package/api/docs/docs.test.mjs +5 -2
- package/api/docs/integration-tree.test.mjs +22 -0
- package/api/docs/integrationDocs.test.mjs +124 -0
- package/api/docs/list/list.mjs +12 -2
- package/api/docs/reference-blocks.test.mjs +1 -3
- package/api/doctor/_adapter.d.mts +108 -0
- package/api/doctor/_adapter.mjs +223 -4
- package/api/doctor/doctor.d.mts +199 -0
- package/api/doctor/doctor.doc.mjs +3 -2
- package/api/doctor/doctor.mjs +530 -34
- package/api/doctor/doctor.test.mjs +180 -14
- package/api/doctor/release-checks.test.mjs +156 -0
- package/api/doctor/theme-checks.mjs +17 -4
- package/api/doctor/theme-checks.test.mjs +223 -7
- package/api/error.d.mts +10 -0
- package/api/error.mjs +25 -0
- package/api/gap-report/gap-report.d.mts +3 -0
- package/api/gap-report/gap-report.doc.mjs +11 -3
- package/api/gap-report/gap-report.mjs +219 -52
- package/api/gap-report/gap-report.test.mjs +233 -0
- package/api/gap-report/gap-report.type.d.mts +41 -0
- package/api/gap-report/gap-report.type.mjs +18 -0
- package/api/hook/_adapter.mjs +3 -11
- package/api/hook/hook.doc.mjs +4 -0
- package/api/hook/list/list.d.mts +1 -1
- package/api/index.d.mts +2 -0
- package/api/index.mjs +2 -0
- package/api/init/_adapter.d.mts +22 -0
- package/api/init/_adapter.mjs +59 -0
- package/api/init/init.d.mts +7 -5
- package/api/init/init.doc.mjs +28 -7
- package/api/init/init.mjs +28 -4
- package/api/init/init.type.d.mts +48 -3
- package/api/init/init.type.mjs +37 -3
- package/api/init/run/run.d.mts +1 -1
- package/api/init/run/run.mjs +17 -6
- package/api/init/user/user.d.mts +14 -0
- package/api/init/user/user.mjs +87 -0
- package/api/init/user/user.test.mjs +232 -0
- package/api/integration/_adapter.d.mts +45 -0
- package/api/integration/_adapter.mjs +112 -0
- package/api/integration/add-contribution.component-names.test.mjs +66 -0
- package/api/integration/add-contribution.mjs +8 -4
- package/api/integration/add-contribution.test.mjs +4 -2
- package/api/integration/authoring-checks.mjs +110 -6
- package/api/integration/authoring-checks.test.mjs +808 -0
- package/api/integration/authoring-checks.type.d.mts +143 -0
- package/api/integration/authoring-checks.type.mjs +74 -2
- package/api/integration/check/check.d.mts +96 -0
- package/api/integration/check/check.mjs +357 -0
- package/api/integration/check/check.test.mjs +489 -0
- package/api/integration/integration-check.type.d.mts +118 -0
- package/api/integration/integration-check.type.mjs +84 -0
- package/api/integration/integrationCheck.doc.d.mts +10 -0
- package/api/integration/integrationCheck.doc.mjs +73 -0
- package/api/integration/integrationComponentConflicts.doc.mjs +45 -6
- package/api/integration/integrationDocConflicts.doc.mjs +22 -5
- package/api/integration/pack-check.mjs +364 -120
- package/api/integration/pack-check.test.mjs +730 -10
- package/api/integration/validate-integration-fixes.test.mjs +67 -0
- package/api/integration/validate-integration.d.mts +8 -0
- package/api/integration/validate-integration.mjs +63 -9
- package/api/integration/validate-integration.test.mjs +88 -8
- package/api/integration/validate-integration.type.d.mts +16 -0
- package/api/integration/validate-integration.type.mjs +14 -1
- package/api/integration/validate-unread-theme-folders.test.mjs +3 -2
- package/api/integration/validateIntegration.doc.mjs +19 -3
- package/api/search/_adapter.d.mts +11 -0
- package/api/search/_adapter.mjs +25 -0
- package/api/search/search.d.mts +82 -13
- package/api/search/search.doc.mjs +8 -3
- package/api/search/search.domain-priority.test.mjs +108 -18
- package/api/search/search.integration-check.test.mjs +24 -0
- package/api/search/search.mjs +645 -64
- package/api/search/search.test.mjs +179 -1
- package/api/search/search.type.d.mts +14 -1
- package/api/search/search.type.mjs +6 -1
- package/api/swizzle/_adapter.mjs +2 -2
- package/api/swizzle/copy/copy.mjs +29 -15
- package/api/template/template-integration.test.mjs +1 -1
- package/api/template/template.test.mjs +120 -3
- package/api/theme/_adapter.d.mts +16 -0
- package/api/theme/_adapter.mjs +32 -5
- package/api/theme/build/build.d.mts +2 -1
- package/api/theme/build/build.family.test.mjs +64 -0
- package/api/theme/build/build.mjs +250 -38
- package/api/theme/build/build.packed-old-core.test.mjs +20 -3
- package/api/theme/build/font-warning.mjs +5 -3
- package/api/theme/build/font-warning.test.mjs +2 -1
- package/api/theme/remove/remove.test.mjs +2 -2
- package/api/theme/targets/targets.mjs +3 -10
- package/api/theme/themeBuild.doc.mjs +4 -4
- package/api/theme/themeTargets.doc.mjs +4 -0
- package/api/theme/use/use.test.mjs +1 -1
- package/api/upgrade/_adapter.d.mts +40 -2
- package/api/upgrade/_adapter.mjs +118 -5
- package/api/upgrade/run/cli-behind-core.test.mjs +438 -0
- package/api/upgrade/run/run.mjs +35 -2
- package/api/upgrade/status/status.d.mts +21 -5
- package/api/upgrade/status/status.mjs +45 -8
- package/api/upgrade/upgrade.doc.mjs +6 -3
- package/api/upgrade/upgrade.mjs +5 -1
- package/api/upgrade/upgrade.type.d.mts +23 -0
- package/api/upgrade/upgrade.type.mjs +16 -1
- package/assets/codemods/__tests__/registry.test.mjs +1 -0
- package/assets/codemods/registry.mjs +1 -0
- package/assets/codemods/runner.mjs +7 -1
- package/assets/codemods/transforms/v0.7.2/__tests__/migrate-list-edge-compensation-to-edge.test.mjs +120 -0
- package/assets/codemods/transforms/v0.7.2/index.mjs +20 -0
- package/assets/codemods/transforms/v0.7.2/migrate-list-edge-compensation-to-edge.mjs +198 -0
- package/assets/discover/official-packages.json +367 -0
- package/assets/docs/README.md +10 -0
- package/assets/docs/author-a-theme.doc.mjs +3 -3
- package/assets/docs/browser-support.doc.mjs +1 -1
- package/assets/docs/getting-started.doc.mjs +26 -6
- package/assets/docs/styling-overview.doc.mjs +1 -1
- package/assets/docs/theme.doc.dense.mjs +1 -1
- package/assets/docs/theme.doc.mjs +2 -2
- package/assets/docs/theme.doc.zh.mjs +1 -1
- package/assets/docs/tree/add-a-component.doc.mjs +22 -2
- package/assets/docs/tree/add-a-theme.doc.mjs +13 -3
- package/assets/docs/tree/add-a-topic.doc.mjs +54 -9
- package/assets/docs/tree/agent-guidance.doc.mjs +19 -5
- package/assets/docs/tree/block-template.doc.mjs +8 -20
- package/assets/docs/tree/build-the-template.doc.mjs +1 -1
- package/assets/docs/tree/building-blocks.doc.mjs +4 -0
- package/assets/docs/tree/check-the-props.doc.mjs +201 -0
- package/assets/docs/tree/check-your-docs.doc.mjs +69 -11
- package/assets/docs/tree/checks.doc.mjs +32 -24
- package/assets/docs/tree/ci-and-containers.doc.mjs +88 -0
- package/assets/docs/tree/cli-command.doc.mjs +142 -0
- package/assets/docs/tree/cli.doc.mjs +6 -0
- package/assets/docs/tree/codemods.doc.mjs +17 -7
- package/assets/docs/tree/commands.doc.mjs +7 -1
- package/assets/docs/tree/component-family.doc.mjs +8 -6
- package/assets/docs/tree/component-imports.doc.mjs +21 -3
- package/assets/docs/tree/components.doc.mjs +7 -1
- package/assets/docs/tree/computer-agent-guide.doc.mjs +160 -0
- package/assets/docs/tree/computer-integrations.doc.mjs +93 -0
- package/assets/docs/tree/configuration.doc.mjs +7 -3
- package/assets/docs/tree/debug-and-gap-reports.doc.mjs +41 -22
- package/assets/docs/tree/define-the-theme.doc.mjs +6 -5
- package/assets/docs/tree/describe-the-component.doc.mjs +3 -3
- package/assets/docs/tree/docs.doc.mjs +9 -3
- package/assets/docs/tree/document-the-template.doc.mjs +1 -1
- package/assets/docs/tree/document-the-theme.doc.mjs +3 -3
- package/assets/docs/tree/export-template-assets.doc.mjs +1 -1
- package/assets/docs/tree/extend-or-replace.doc.mjs +19 -9
- package/assets/docs/tree/fonts-and-assets.doc.mjs +2 -2
- package/assets/docs/tree/generate-a-palette.doc.mjs +7 -5
- package/assets/docs/tree/global-integrations.doc.mjs +124 -0
- package/assets/docs/tree/global.doc.mjs +131 -0
- package/assets/docs/tree/grade-template-with-agent.doc.mjs +5 -5
- package/assets/docs/tree/install-once.doc.mjs +105 -0
- package/assets/docs/tree/integrations.doc.mjs +13 -1
- package/assets/docs/tree/layout-spacing.doc.mjs +2 -3
- package/assets/docs/tree/layout.doc.mjs +6 -6
- package/assets/docs/tree/links.doc.mjs +7 -6
- package/assets/docs/tree/migration-setup.doc.mjs +3 -2
- package/assets/docs/tree/migration-verification.doc.mjs +0 -1
- package/assets/docs/tree/migration.doc.mjs +0 -1
- package/assets/docs/tree/monorepos.doc.mjs +84 -0
- package/assets/docs/tree/package-and-test.doc.mjs +1 -1
- package/assets/docs/tree/page-template.doc.mjs +4 -8
- package/assets/docs/tree/problems.doc.mjs +205 -0
- package/assets/docs/tree/project-global-or-both.doc.mjs +131 -0
- package/assets/docs/tree/publishing.doc.mjs +6 -6
- package/assets/docs/tree/quick-start.doc.mjs +53 -27
- package/assets/docs/tree/reference.doc.mjs +192 -0
- package/assets/docs/tree/replace-a-core-component.doc.mjs +15 -7
- package/assets/docs/tree/replace-a-core-template.doc.mjs +10 -12
- package/assets/docs/tree/scaffold.doc.mjs +1 -1
- package/assets/docs/tree/sections-and-placement.doc.mjs +9 -11
- package/assets/docs/tree/see-it-in-an-app.doc.mjs +17 -5
- package/assets/docs/tree/short-and-findable.doc.mjs +9 -8
- package/assets/docs/tree/single-component.doc.mjs +15 -6
- package/assets/docs/tree/start-a-template.doc.mjs +18 -8
- package/assets/docs/tree/subcomponent.doc.mjs +6 -6
- package/assets/docs/tree/template-assets.doc.mjs +2 -2
- package/assets/docs/tree/template-doc-overview.doc.mjs +6 -17
- package/assets/docs/tree/template-fonts.doc.mjs +1 -1
- package/assets/docs/tree/template-icons.doc.mjs +1 -1
- package/assets/docs/tree/template-images-media.doc.mjs +1 -1
- package/assets/docs/tree/template-styles.doc.mjs +2 -2
- package/assets/docs/tree/templates.doc.mjs +7 -1
- package/assets/docs/tree/test-in-an-app.doc.mjs +7 -7
- package/assets/docs/tree/test-template-in-app.doc.mjs +5 -5
- package/assets/docs/tree/themes.doc.mjs +4 -0
- package/assets/docs/tree/tokens-and-setup.doc.mjs +19 -15
- package/assets/docs/tree/troubleshooting.doc.mjs +29 -13
- package/assets/docs/tree/type-scale.doc.mjs +3 -3
- package/assets/docs/tree/uninstall.doc.mjs +109 -0
- package/assets/docs/tree/updates.doc.mjs +92 -0
- package/assets/docs/tree/upgrading.doc.mjs +6 -6
- package/assets/docs/tree/use-a-theme-in-an-app.doc.mjs +14 -2
- package/assets/docs/tree/verify-packed-template.doc.mjs +3 -3
- package/assets/docs/tree/versioning.doc.mjs +10 -9
- package/assets/docs/tree/who-answers.doc.mjs +119 -0
- package/assets/docs/tree/write-the-template-file.doc.mjs +7 -6
- package/assets/docs/use-a-theme.doc.mjs +2 -2
- package/assets/docs/working-with-ai.doc.mjs +66 -13
- package/assets/theme.template.ts +1 -1
- package/authoring/codemod/codemod.doc.mjs +7 -3
- package/authoring/config/config.doc.mjs +9 -6
- package/authoring/config/type.ts +4 -2
- package/authoring/debug/parse.d.mts +5 -5
- package/authoring/discover/discover.doc.mjs +7 -1
- package/authoring/doctypes/_schema.d.mts +8 -3
- package/authoring/doctypes/_schema.mjs +1 -0
- package/authoring/doctypes/base/graph-fields.doc.mjs +6 -4
- package/authoring/doctypes/command/command.doc.mjs +20 -12
- package/authoring/doctypes/command/type.ts +14 -0
- package/authoring/doctypes/component/component.doc.mjs +30 -27
- package/authoring/doctypes/component/type.ts +21 -8
- package/authoring/doctypes/enum/enum.doc.mjs +7 -4
- package/authoring/doctypes/function/function.doc.mjs +9 -8
- package/authoring/doctypes/hook/hook.doc.mjs +5 -4
- package/authoring/doctypes/hook/type.ts +4 -0
- package/authoring/doctypes/namespace/namespace.doc.mjs +7 -6
- package/authoring/doctypes/reference/reference.doc.mjs +12 -11
- package/authoring/doctypes/schema/schema.doc.mjs +9 -9
- package/authoring/doctypes/template/integration-template.doc.d.mts +11 -0
- package/authoring/doctypes/template/integration-template.doc.mjs +49 -0
- package/authoring/doctypes/template/parse.d.mts +6 -2
- package/authoring/doctypes/template/parse.mjs +3 -1
- package/authoring/doctypes/template/template.doc.mjs +3 -3
- package/authoring/doctypes/template/type.ts +22 -0
- package/authoring/doctypes/theme/theme.doc.mjs +2 -2
- package/authoring/gap-report/gap-report.doc.mjs +2 -2
- package/authoring/identity/identity.doc.mjs +3 -3
- package/authoring/index.d.ts +2 -0
- package/authoring/integration/integration.doc.mjs +30 -6
- package/authoring/integration/parse.test.mjs +21 -0
- package/authoring/integration/schema.d.mts +16 -3
- package/authoring/integration/schema.mjs +34 -2
- package/authoring/integration/type.ts +12 -0
- package/clients/cli/bin/astryx.mjs +20 -3
- package/clients/cli/cli-command.test.mjs +166 -0
- package/clients/cli/commands/blog.doc.mjs +1 -0
- package/clients/cli/commands/build-theme.batch-report.test.mjs +17 -3
- package/clients/cli/commands/build-theme.font-warning.test.mjs +3 -3
- package/clients/cli/commands/build-theme.mjs +26 -13
- package/clients/cli/commands/build-theme.path-safety.test.mjs +224 -6
- package/clients/cli/commands/build-theme.registry.test.mjs +5 -2
- package/clients/cli/commands/build.doc.mjs +1 -0
- package/clients/cli/commands/build.exit-codes-doc.test.mjs +4 -0
- package/clients/cli/commands/cli-postinstall.test.mjs +49 -1
- package/clients/cli/commands/component.doc.mjs +1 -0
- package/clients/cli/commands/discover.broken-integration.test.mjs +11 -7
- package/clients/cli/commands/discover.doc.mjs +9 -1
- package/clients/cli/commands/discover.mjs +144 -93
- package/clients/cli/commands/discover.no-source.test.mjs +448 -33
- package/clients/cli/commands/discover.sources.test.mjs +20 -1
- package/clients/cli/commands/docs.doc.mjs +1 -0
- package/clients/cli/commands/docs.mjs +49 -19
- package/clients/cli/commands/docs.test.mjs +2 -2
- package/clients/cli/commands/doctor-integration-components.doc.mjs +19 -4
- package/clients/cli/commands/doctor-integration-docs.doc.mjs +20 -5
- package/clients/cli/commands/doctor-integration-templates.doc.mjs +1 -0
- package/clients/cli/commands/doctor-integration-validate.doc.mjs +22 -2
- package/clients/cli/commands/doctor-integration.test.mjs +888 -3
- package/clients/cli/commands/doctor.doc.mjs +12 -2
- package/clients/cli/commands/doctor.mjs +292 -7
- package/clients/cli/commands/doctor.test.mjs +10 -4
- package/clients/cli/commands/gap-report.doc.mjs +15 -2
- package/clients/cli/commands/gap-report.mjs +24 -2
- package/clients/cli/commands/gap-report.test.mjs +79 -0
- package/clients/cli/commands/hook.doc.mjs +1 -0
- package/clients/cli/commands/init.behavior.test.mjs +5 -0
- package/clients/cli/commands/init.doc.mjs +29 -3
- package/clients/cli/commands/integration-add.doc.mjs +7 -0
- package/clients/cli/commands/integration-authoring.test.mjs +49 -3
- package/clients/cli/commands/integration-check.doc.mjs +93 -0
- package/clients/cli/commands/integration-check.test.mjs +441 -0
- package/clients/cli/commands/integration-pack.doc.mjs +8 -1
- package/clients/cli/commands/integration-verify.doc.mjs +8 -1
- package/clients/cli/commands/integration.doc.mjs +6 -2
- package/clients/cli/commands/integration.mjs +119 -7
- package/clients/cli/commands/json-contract.test.mjs +11 -2
- package/clients/cli/commands/manifest.doc.mjs +1 -0
- package/clients/cli/commands/outside-project.test.mjs +774 -0
- package/clients/cli/commands/search.doc.mjs +1 -0
- package/clients/cli/commands/search.mjs +16 -11
- package/clients/cli/commands/search.test.mjs +429 -296
- package/clients/cli/commands/setup-nudge.test.mjs +102 -2
- package/clients/cli/commands/swizzle.doc.mjs +7 -0
- package/clients/cli/commands/swizzle.mjs +5 -3
- package/clients/cli/commands/swizzle.routing.test.mjs +19 -2
- package/clients/cli/commands/template.doc.mjs +1 -0
- package/clients/cli/commands/text-json-parity.test.mjs +5 -0
- package/clients/cli/commands/theme-add-lifecycle.test.mjs +3 -3
- package/clients/cli/commands/theme-add.doc.mjs +8 -1
- package/clients/cli/commands/theme-build.doc.mjs +3 -2
- package/clients/cli/commands/theme-eject.doc.mjs +1 -0
- package/clients/cli/commands/theme-list.behavior.test.mjs +6 -0
- package/clients/cli/commands/theme-list.doc.mjs +1 -0
- package/clients/cli/commands/theme-palette-generate.doc.mjs +1 -0
- package/clients/cli/commands/theme-remove.doc.mjs +7 -0
- package/clients/cli/commands/theme-targets.doc.mjs +1 -0
- package/clients/cli/commands/theme-template.doc.mjs +1 -0
- package/clients/cli/commands/theme-use.doc.mjs +7 -0
- package/clients/cli/commands/upgrade.config-ordering.test.mjs +2 -1
- package/clients/cli/commands/upgrade.doc.mjs +22 -1
- package/clients/cli/commands/upgrade.file-protection.test.mjs +3 -2
- package/clients/cli/commands/upgrade.hook-output.test.mjs +2 -1
- package/clients/cli/commands/upgrade.older-cli.test.mjs +160 -0
- package/clients/cli/index.mjs +112 -16
- package/clients/cli/lib/cli-error.mjs +4 -1
- package/clients/cli/lib/component-format.test.mjs +1 -1
- package/clients/cli/lib/define-command.mjs +2 -2
- package/clients/cli/lib/json-shim.mjs +3 -1
- package/clients/cli/lib/manifest.d.ts +9 -0
- package/clients/cli/lib/manifest.mjs +17 -1
- package/clients/cli/lib/manifest.test.mjs +25 -0
- package/foundation/agent-docs/agent-doc-state.d.mts +35 -6
- package/foundation/agent-docs/agent-doc-state.mjs +66 -6
- package/foundation/agent-docs/agent-docs.d.mts +4 -3
- package/foundation/agent-docs/agent-docs.mjs +11 -9
- package/foundation/agent-docs/computer-agent-text.d.mts +133 -0
- package/foundation/agent-docs/computer-agent-text.mjs +623 -0
- package/foundation/agent-docs/computer-agent-text.test.mjs +602 -0
- package/foundation/config/project.d.mts +35 -3
- package/foundation/config/project.mjs +226 -7
- package/foundation/config/project.test.mjs +66 -0
- package/foundation/config/theme-state.mjs +5 -4
- package/foundation/discovery/authoring-self-docs.mjs +2 -1
- package/foundation/discovery/cli-self-docs.mjs +20 -3
- package/foundation/discovery/cli-self-docs.test.mjs +3 -2
- package/foundation/discovery/component-discovery.d.mts +190 -10
- package/foundation/discovery/component-discovery.export-names.test.mjs +760 -0
- package/foundation/discovery/component-discovery.mjs +864 -56
- package/foundation/discovery/component-discovery.test.mjs +96 -0
- package/foundation/discovery/component-replacement.mjs +20 -1
- package/foundation/discovery/component-replacement.test.mjs +40 -0
- package/foundation/discovery/copied-passages.d.mts +216 -0
- package/foundation/discovery/copied-passages.mjs +720 -0
- package/foundation/discovery/copied-passages.test.mjs +124 -0
- package/foundation/discovery/doc-consistency.d.mts +34 -0
- package/foundation/discovery/doc-consistency.mjs +513 -0
- package/foundation/discovery/doc-consistency.test.mjs +347 -0
- package/foundation/discovery/doc-fluff.d.mts +112 -0
- package/foundation/discovery/doc-fluff.mjs +328 -0
- package/foundation/discovery/doc-fluff.test.mjs +142 -0
- package/foundation/discovery/doc-types.d.mts +157 -0
- package/foundation/discovery/doc-types.mjs +1231 -0
- package/foundation/discovery/doc-types.test.mjs +744 -0
- package/foundation/discovery/docs-discovery.d.mts +88 -0
- package/foundation/discovery/docs-discovery.mjs +83 -2
- package/foundation/discovery/integration-doc-files.d.mts +22 -0
- package/foundation/discovery/integration-doc-files.mjs +231 -0
- package/foundation/discovery/integration-doc-files.test.mjs +246 -0
- package/foundation/discovery/module-exports.d.mts +27 -0
- package/foundation/discovery/module-exports.mjs +356 -31
- package/foundation/discovery/module-exports.test.mjs +172 -0
- package/foundation/discovery/package-tsconfig.d.mts +14 -0
- package/foundation/discovery/package-tsconfig.mjs +228 -0
- package/foundation/discovery/package-tsconfig.test.mjs +210 -0
- package/foundation/discovery/project-typescript.d.mts +32 -0
- package/foundation/discovery/project-typescript.mjs +89 -0
- package/foundation/discovery/prop-drift.d.mts +297 -0
- package/foundation/discovery/prop-drift.mjs +2428 -0
- package/foundation/discovery/prop-drift.test.mjs +2337 -0
- package/foundation/discovery/runner-allowlist.d.mts +40 -0
- package/foundation/discovery/runner-allowlist.mjs +53 -0
- package/foundation/discovery/stray-pointers.d.mts +52 -0
- package/foundation/discovery/stray-pointers.mjs +293 -0
- package/foundation/discovery/stray-pointers.test.mjs +86 -0
- package/foundation/discovery/template-adapter.mjs +74 -5
- package/foundation/discovery/template-needs.mjs +5 -2
- package/foundation/discovery/theme-imports.mjs +8 -4
- package/foundation/discovery/theme-imports.test.mjs +1 -1
- package/foundation/discovery/type-match.d.mts +53 -0
- package/foundation/discovery/type-match.mjs +660 -0
- package/foundation/discovery/type-match.test.mjs +169 -0
- package/foundation/discovery/type-text.d.mts +68 -0
- package/foundation/discovery/type-text.mjs +658 -0
- package/foundation/discovery/type-text.test.mjs +196 -0
- package/foundation/discovery/unresolved-references.d.mts +62 -0
- package/foundation/discovery/unresolved-references.mjs +790 -0
- package/foundation/discovery/unresolved-references.test.mjs +567 -0
- package/foundation/doc-compiler/doc-loads.test.mjs +51 -1
- package/foundation/doc-compiler/inputs.mjs +27 -1
- package/foundation/doc-compiler/inputs.test.mjs +0 -1
- package/foundation/doc-compiler/links.d.mts +41 -5
- package/foundation/doc-compiler/links.mjs +167 -28
- package/foundation/doc-compiler/links.test.mjs +97 -4
- package/foundation/doc-compiler/read.d.mts +1 -1
- package/foundation/doc-compiler/tree.mjs +30 -1
- package/foundation/doc-compiler/tree.test.mjs +8 -1
- package/foundation/env/cli-command.d.mts +83 -0
- package/foundation/env/cli-command.mjs +152 -0
- package/foundation/env/cli-command.test.mjs +129 -0
- package/foundation/env/node-version.test.mjs +15 -3
- package/foundation/env/package-manager.d.mts +93 -9
- package/foundation/env/package-manager.global.test.mjs +66 -0
- package/foundation/env/package-manager.mjs +184 -13
- package/foundation/env/package-manager.test.mjs +341 -15
- package/foundation/env/project-scope.d.mts +9 -0
- package/foundation/env/project-scope.mjs +33 -0
- package/foundation/env/search-path.d.mts +42 -0
- package/foundation/env/search-path.mjs +205 -0
- package/foundation/env/search-path.test.mjs +122 -0
- package/foundation/env/user-dirs.d.mts +39 -0
- package/foundation/env/user-dirs.mjs +93 -0
- package/foundation/env/user-dirs.test.mjs +72 -0
- package/foundation/env/user-settings.d.mts +46 -0
- package/foundation/env/user-settings.mjs +106 -0
- package/foundation/env/user-settings.test.mjs +64 -0
- package/foundation/fs/file-protection.mjs +15 -1
- package/foundation/fs/module-loader.d.mts +2 -1
- package/foundation/fs/module-loader.mjs +60 -4
- package/foundation/fs/module-loader.stdout.test.mjs +3 -2
- package/foundation/fs/module-loader.test.mjs +194 -0
- package/foundation/fs/path-compare.d.mts +33 -0
- package/foundation/fs/path-compare.mjs +73 -0
- package/foundation/fs/paths.d.mts +57 -1
- package/foundation/fs/paths.mjs +131 -3
- package/foundation/fs/paths.test.mjs +10 -1
- package/foundation/integrations/computer-integrations.d.mts +78 -0
- package/foundation/integrations/computer-integrations.mjs +316 -0
- package/foundation/integrations/computer-integrations.test.mjs +292 -0
- package/foundation/integrations/contribution-inventory.d.mts +11 -0
- package/foundation/integrations/contribution-inventory.mjs +56 -3
- package/foundation/integrations/integration-warnings.mjs +3 -2
- package/foundation/integrations/integration-warnings.test.mjs +8 -9
- package/foundation/integrations/integrations.d.mts +25 -1
- package/foundation/integrations/integrations.mjs +46 -3
- package/foundation/integrations/issue.ts +6 -0
- package/foundation/integrations/validate-contributions.d.mts +2 -0
- package/foundation/integrations/validate-contributions.mjs +41 -1
- package/foundation/release/agent-text-worker.d.mts +4 -0
- package/foundation/release/agent-text-worker.mjs +52 -0
- package/foundation/release/cache.d.mts +310 -0
- package/foundation/release/cache.mjs +1216 -0
- package/foundation/release/cache.test.mjs +920 -0
- package/foundation/release/choose.d.mts +207 -0
- package/foundation/release/choose.mjs +677 -0
- package/foundation/release/choose.test.mjs +427 -0
- package/foundation/release/core-worker.d.mts +4 -0
- package/foundation/release/core-worker.mjs +38 -0
- package/foundation/release/global-state.d.mts +259 -0
- package/foundation/release/global-state.mjs +472 -0
- package/foundation/release/global-state.test.mjs +381 -0
- package/foundation/release/handoff.d.mts +60 -0
- package/foundation/release/handoff.e2e.test.mjs +278 -0
- package/foundation/release/handoff.mjs +357 -0
- package/foundation/release/lock-lease.d.mts +23 -0
- package/foundation/release/lock-lease.mjs +80 -0
- package/foundation/release/notices.d.mts +253 -0
- package/foundation/release/notices.mjs +596 -0
- package/foundation/release/notices.test.mjs +565 -0
- package/foundation/release/npm-guard.d.mts +4 -0
- package/foundation/release/npm-guard.mjs +126 -0
- package/foundation/release/project.d.mts +141 -0
- package/foundation/release/project.mjs +466 -0
- package/foundation/release/project.test.mjs +288 -0
- package/foundation/release/refresh-worker.d.mts +4 -0
- package/foundation/release/refresh-worker.mjs +27 -0
- package/foundation/release/run-context.d.mts +47 -0
- package/foundation/release/run-context.mjs +149 -0
- package/foundation/release/update-notice-env.d.mts +28 -0
- package/foundation/release/update-notice-env.mjs +39 -0
- package/foundation/response/base.d.ts +26 -3
- package/foundation/response/error-codes.d.mts +3 -1
- package/foundation/response/error-codes.doc.mjs +12 -0
- package/foundation/response/error-codes.mjs +17 -0
- package/foundation/response/error-codes.test.mjs +2 -0
- package/foundation/response/json-contract.test.mjs +7 -2
- package/foundation/response/json.mjs +4 -1
- package/foundation/response/response-types.doc.mjs +22 -11
- package/foundation/response/response-types.doc.test.mjs +46 -0
- package/foundation/response/response.doc.mjs +3 -3
- package/foundation/xle/browser-imports.test.mjs +74 -0
- package/foundation/xle/registry.mjs +4 -0
- package/foundation/xle/registry.test.mjs +28 -0
- package/package.json +11 -11
- package/scripts/postinstall.mjs +24 -5
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @file The lease on a release install's lock in the per-user cache (spec
|
|
5
|
+
* AST-081 FR11).
|
|
6
|
+
*
|
|
7
|
+
* A lock folder records its holder in `owner.json`: the process id and the
|
|
8
|
+
* computer's name. On the same computer a waiting run checks whether that
|
|
9
|
+
* process still runs. A cache shared between computers cannot check another
|
|
10
|
+
* computer's processes, so the holder renews its record every
|
|
11
|
+
* `LEASE_RENEW_MS` while the package manager works, and a waiting run takes
|
|
12
|
+
* a lock from another computer over once it has seen the record go unrenewed
|
|
13
|
+
* for `LEASE_SILENCE_MS`. The waiting run judges by change it observes, never
|
|
14
|
+
* by comparing clocks, so computers whose clocks differ agree.
|
|
15
|
+
*
|
|
16
|
+
* @input the lock folder
|
|
17
|
+
* @output the renewed record, and whether a foreign record has gone silent
|
|
18
|
+
* @position foundation/release — renewed by npm-guard.mjs, read by cache.mjs.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import * as fs from 'node:fs';
|
|
22
|
+
import * as path from 'node:path';
|
|
23
|
+
|
|
24
|
+
/** How often the holder renews its record while the package manager works. */
|
|
25
|
+
export const LEASE_RENEW_MS = 10_000;
|
|
26
|
+
|
|
27
|
+
/** How long a record from another computer may go unrenewed, as observed. */
|
|
28
|
+
export const LEASE_SILENCE_MS = 60_000;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Renew the holder's record: the same process and computer, with a counter
|
|
32
|
+
* that changes on every renewal. Never throws.
|
|
33
|
+
* @param {string} lockDir
|
|
34
|
+
*/
|
|
35
|
+
export function renewLock(lockDir) {
|
|
36
|
+
const file = path.join(lockDir, 'owner.json');
|
|
37
|
+
try {
|
|
38
|
+
const owner = JSON.parse(fs.readFileSync(file, 'utf-8'));
|
|
39
|
+
const next = {...owner, beat: (Number(owner.beat) || 0) + 1};
|
|
40
|
+
const tmp = `${file}.${process.pid}.tmp`;
|
|
41
|
+
fs.writeFileSync(tmp, JSON.stringify(next));
|
|
42
|
+
fs.renameSync(tmp, file);
|
|
43
|
+
} catch {
|
|
44
|
+
// A lock that was taken over or removed has no record to renew.
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* What this process last saw of each foreign lock: the record's text and
|
|
50
|
+
* when that text was first seen.
|
|
51
|
+
* @type {Map<string, {text: string, since: number}>}
|
|
52
|
+
*/
|
|
53
|
+
const observed = new Map();
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Whether a lock held from another computer has gone silent: its record has
|
|
57
|
+
* not changed for `LEASE_SILENCE_MS` of this process's own observation.
|
|
58
|
+
* @param {string} lockDir
|
|
59
|
+
* @param {number} [now]
|
|
60
|
+
* @returns {boolean}
|
|
61
|
+
*/
|
|
62
|
+
export function foreignLockIsSilent(lockDir, now = Date.now()) {
|
|
63
|
+
let text;
|
|
64
|
+
try {
|
|
65
|
+
text = fs.readFileSync(path.join(lockDir, 'owner.json'), 'utf-8');
|
|
66
|
+
} catch {
|
|
67
|
+
text = '';
|
|
68
|
+
}
|
|
69
|
+
const seen = observed.get(lockDir);
|
|
70
|
+
if (!seen || seen.text !== text) {
|
|
71
|
+
observed.set(lockDir, {text, since: now});
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
return now - seen.since >= LEASE_SILENCE_MS;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/** Forget what this process observed (tests). */
|
|
78
|
+
export function forgetObservedLocks() {
|
|
79
|
+
observed.clear();
|
|
80
|
+
}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
// @generated by scripts/sync-api-types.mjs from the JSDoc in foundation/**/*.mjs.
|
|
2
|
+
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Whether notice `key` may print now; when it may, its time is recorded
|
|
6
|
+
* first, and a time that cannot be recorded keeps it from printing.
|
|
7
|
+
* @param {string} key
|
|
8
|
+
* @param {{stateDir?: string, now?: number}} [options]
|
|
9
|
+
* @returns {boolean}
|
|
10
|
+
*/
|
|
11
|
+
export function takeNotice(key: string, { stateDir, now }?: {
|
|
12
|
+
stateDir?: string;
|
|
13
|
+
now?: number;
|
|
14
|
+
}): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Record why notice `key` did not print (state `noticeSkips`), for diagnosis
|
|
17
|
+
* only. It adds to a state file that already exists and never creates one, so
|
|
18
|
+
* a run that keeps no state (a project's own CLI before any check) writes
|
|
19
|
+
* nothing. It is written only while this run holds the state file's lock:
|
|
20
|
+
* when the lock stays taken or the file cannot be written, nothing is
|
|
21
|
+
* recorded, and a run never fails because of it.
|
|
22
|
+
* @param {string} key
|
|
23
|
+
* @param {import('./global-state.mjs').NoticeSkip['reason']} reason
|
|
24
|
+
* @param {{stateDir?: string, now?: number}} [options]
|
|
25
|
+
*/
|
|
26
|
+
export function recordNoticeSkip(key: string, reason: import("./global-state.mjs").NoticeSkip["reason"], { stateDir, now }?: {
|
|
27
|
+
stateDir?: string;
|
|
28
|
+
now?: number;
|
|
29
|
+
}): void;
|
|
30
|
+
/**
|
|
31
|
+
* The newest notice skip the state file records, with the notice it was for.
|
|
32
|
+
* @param {{stateDir?: string}} [options]
|
|
33
|
+
* @returns {({key: string} & import('./global-state.mjs').NoticeSkip) | null}
|
|
34
|
+
*/
|
|
35
|
+
export function lastNoticeSkip({ stateDir }?: {
|
|
36
|
+
stateDir?: string;
|
|
37
|
+
}): ({
|
|
38
|
+
key: string;
|
|
39
|
+
} & import("./global-state.mjs").NoticeSkip) | null;
|
|
40
|
+
/**
|
|
41
|
+
* The command that upgrades a CLI installed for the computer, by the package
|
|
42
|
+
* manager whose global folder holds it (the Vercel CLI reads it the same
|
|
43
|
+
* way); npm when none is recognized. A CLI that npm installed under a prefix
|
|
44
|
+
* of its own (`npm i -g --prefix ~/.local`, `NPM_CONFIG_PREFIX`, or `prefix=`
|
|
45
|
+
* in an `.npmrc`) is upgraded into that same prefix, named with `--prefix`,
|
|
46
|
+
* so the upgrade lands where the running copy is whatever npm's settings are
|
|
47
|
+
* when it runs. pnpm, Yarn, and Bun read their global folder from their own
|
|
48
|
+
* settings, so their plain command reinstalls in place.
|
|
49
|
+
* @param {string} cliRoot the CLI package's folder
|
|
50
|
+
* @param {{execPath?: string, home?: string, platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv}} [where]
|
|
51
|
+
* @returns {string}
|
|
52
|
+
*/
|
|
53
|
+
export function globalUpgradeCommand(cliRoot: string, where?: {
|
|
54
|
+
execPath?: string;
|
|
55
|
+
home?: string;
|
|
56
|
+
platform?: NodeJS.Platform;
|
|
57
|
+
env?: NodeJS.ProcessEnv;
|
|
58
|
+
}): string;
|
|
59
|
+
/**
|
|
60
|
+
* The second line of a notice: the command, after the Node it needs when the
|
|
61
|
+
* computer runs an older one.
|
|
62
|
+
* @param {string} command
|
|
63
|
+
* @param {string | null} node the Node range the newest release declares
|
|
64
|
+
* @param {string} [nodeVersion]
|
|
65
|
+
* @returns {string}
|
|
66
|
+
*/
|
|
67
|
+
export function upgradeLine(command: string, node: string | null, nodeVersion?: string): string;
|
|
68
|
+
/**
|
|
69
|
+
* The first line of a newer-release notice.
|
|
70
|
+
* @param {string} current
|
|
71
|
+
* @param {string} newest
|
|
72
|
+
* @returns {string}
|
|
73
|
+
*/
|
|
74
|
+
export function availableLine(current: string, newest: string): string;
|
|
75
|
+
/**
|
|
76
|
+
* @typedef {object} GlobalBehind
|
|
77
|
+
* @property {string} current the global copy's version
|
|
78
|
+
* @property {string} newest the newest release known
|
|
79
|
+
* @property {string | null} node the Node range it declares
|
|
80
|
+
* @property {string} command the command that upgrades the global copy
|
|
81
|
+
*/
|
|
82
|
+
/**
|
|
83
|
+
* Whether the global copy is older than the newest release known.
|
|
84
|
+
* @param {{self: {version: string, root: string}, stateDir?: string}} options
|
|
85
|
+
* @returns {GlobalBehind | null}
|
|
86
|
+
*/
|
|
87
|
+
export function globalBehind({ self, stateDir }: {
|
|
88
|
+
self: {
|
|
89
|
+
version: string;
|
|
90
|
+
root: string;
|
|
91
|
+
};
|
|
92
|
+
stateDir?: string;
|
|
93
|
+
}): GlobalBehind | null;
|
|
94
|
+
/**
|
|
95
|
+
* The commands that bring a project's own CLI and Core to one release, with
|
|
96
|
+
* the project's package manager: when the CLI is newer, Core up to it and then
|
|
97
|
+
* the codemods from Core's release; otherwise the CLI to Core's release.
|
|
98
|
+
* @param {{cwd: string, cli: string, core: string}} options
|
|
99
|
+
* @returns {string}
|
|
100
|
+
*/
|
|
101
|
+
export function alignCliAndCore({ cwd, cli, core }: {
|
|
102
|
+
cwd: string;
|
|
103
|
+
cli: string;
|
|
104
|
+
core: string;
|
|
105
|
+
}): string;
|
|
106
|
+
/**
|
|
107
|
+
* The hint for a project with no CLI of its own, answered by `answered` while
|
|
108
|
+
* its Core is `core`: the command that adds the CLI at Core's version, with
|
|
109
|
+
* the project's package manager.
|
|
110
|
+
* @param {{cwd: string, answered: string, core: string}} options
|
|
111
|
+
* @returns {{root: string, line: string}}
|
|
112
|
+
*/
|
|
113
|
+
export function noCliHint({ cwd, answered, core }: {
|
|
114
|
+
cwd: string;
|
|
115
|
+
answered: string;
|
|
116
|
+
core: string;
|
|
117
|
+
}): {
|
|
118
|
+
root: string;
|
|
119
|
+
line: string;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* The hint's text.
|
|
123
|
+
* @param {string} answered
|
|
124
|
+
* @param {string} core
|
|
125
|
+
* @param {string} command the command that adds the CLI at Core's version
|
|
126
|
+
* @returns {string}
|
|
127
|
+
*/
|
|
128
|
+
export function noCliHintLine(answered: string, core: string, command: string): string;
|
|
129
|
+
/**
|
|
130
|
+
* The command that installs the CLI at `version` in the project at `root`,
|
|
131
|
+
* with its package manager.
|
|
132
|
+
* @param {string} root
|
|
133
|
+
* @param {string} version
|
|
134
|
+
* @returns {string}
|
|
135
|
+
*/
|
|
136
|
+
export function addCliCommand(root: string, version: string): string;
|
|
137
|
+
/**
|
|
138
|
+
* Whether the project's release is older than the newest release known, and
|
|
139
|
+
* the commands that upgrade it.
|
|
140
|
+
* @param {{cwd: string, current: string, stateDir?: string}} options
|
|
141
|
+
* @returns {ProjectLag | null}
|
|
142
|
+
*/
|
|
143
|
+
export function projectLag({ cwd, current, stateDir }: {
|
|
144
|
+
cwd: string;
|
|
145
|
+
current: string;
|
|
146
|
+
stateDir?: string;
|
|
147
|
+
}): ProjectLag | null;
|
|
148
|
+
/**
|
|
149
|
+
* The first `astryx` on the search path, when it is an Astryx CLI release
|
|
150
|
+
* that predates the hand-off and is not the running copy.
|
|
151
|
+
* @param {{selfRoot?: string, searchPath?: string, platform?: NodeJS.Platform}} [options]
|
|
152
|
+
* @returns {{file: string, version: string | null, command: string} | null}
|
|
153
|
+
*/
|
|
154
|
+
export function oldGlobalCommand({ selfRoot, ...options }?: {
|
|
155
|
+
selfRoot?: string;
|
|
156
|
+
searchPath?: string;
|
|
157
|
+
platform?: NodeJS.Platform;
|
|
158
|
+
}): {
|
|
159
|
+
file: string;
|
|
160
|
+
version: string | null;
|
|
161
|
+
command: string;
|
|
162
|
+
} | null;
|
|
163
|
+
/**
|
|
164
|
+
* The two lines about a global copy that predates the hand-off.
|
|
165
|
+
* @param {{version: string | null, command: string}} old
|
|
166
|
+
* @returns {string[]}
|
|
167
|
+
*/
|
|
168
|
+
export function oldGlobalLines(old: {
|
|
169
|
+
version: string | null;
|
|
170
|
+
command: string;
|
|
171
|
+
}): string[];
|
|
172
|
+
/**
|
|
173
|
+
* The notice lines to print after a command, each notice recorded as shown.
|
|
174
|
+
* Empty in machine-readable runs and when the environment turns notices off.
|
|
175
|
+
* Never throws.
|
|
176
|
+
* @param {{
|
|
177
|
+
* cwd: string,
|
|
178
|
+
* self: {version: string, root: string},
|
|
179
|
+
* choice: {inProject: boolean, version: string, copy?: string, coreVersion?: string | null},
|
|
180
|
+
* json?: boolean,
|
|
181
|
+
* stateDir?: string,
|
|
182
|
+
* cacheDir?: string,
|
|
183
|
+
* now?: number,
|
|
184
|
+
* env?: Record<string, string | undefined>,
|
|
185
|
+
* searchPath?: string,
|
|
186
|
+
* }} options
|
|
187
|
+
* @returns {string[]}
|
|
188
|
+
*/
|
|
189
|
+
export function noticeLines({ cwd, self, choice, json, stateDir, cacheDir, now, env, searchPath, }: {
|
|
190
|
+
cwd: string;
|
|
191
|
+
self: {
|
|
192
|
+
version: string;
|
|
193
|
+
root: string;
|
|
194
|
+
};
|
|
195
|
+
choice: {
|
|
196
|
+
inProject: boolean;
|
|
197
|
+
version: string;
|
|
198
|
+
copy?: string;
|
|
199
|
+
coreVersion?: string | null;
|
|
200
|
+
};
|
|
201
|
+
json?: boolean;
|
|
202
|
+
stateDir?: string;
|
|
203
|
+
cacheDir?: string;
|
|
204
|
+
now?: number;
|
|
205
|
+
env?: Record<string, string | undefined>;
|
|
206
|
+
searchPath?: string;
|
|
207
|
+
}): string[];
|
|
208
|
+
/** A notice prints at most once in this long. */
|
|
209
|
+
export const NOTICE_INTERVAL_MS: number;
|
|
210
|
+
export type GlobalBehind = {
|
|
211
|
+
/**
|
|
212
|
+
* the global copy's version
|
|
213
|
+
*/
|
|
214
|
+
current: string;
|
|
215
|
+
/**
|
|
216
|
+
* the newest release known
|
|
217
|
+
*/
|
|
218
|
+
newest: string;
|
|
219
|
+
/**
|
|
220
|
+
* the Node range it declares
|
|
221
|
+
*/
|
|
222
|
+
node: string | null;
|
|
223
|
+
/**
|
|
224
|
+
* the command that upgrades the global copy
|
|
225
|
+
*/
|
|
226
|
+
command: string;
|
|
227
|
+
};
|
|
228
|
+
export type ProjectLag = {
|
|
229
|
+
/**
|
|
230
|
+
* the project's folder
|
|
231
|
+
*/
|
|
232
|
+
root: string;
|
|
233
|
+
/**
|
|
234
|
+
* the release that answers it
|
|
235
|
+
*/
|
|
236
|
+
current: string;
|
|
237
|
+
/**
|
|
238
|
+
* the newest release known
|
|
239
|
+
*/
|
|
240
|
+
newest: string;
|
|
241
|
+
/**
|
|
242
|
+
* the Node range the newest release declares
|
|
243
|
+
*/
|
|
244
|
+
node: string | null;
|
|
245
|
+
/**
|
|
246
|
+
* the command that installs the newest release
|
|
247
|
+
*/
|
|
248
|
+
install: string;
|
|
249
|
+
/**
|
|
250
|
+
* the command that migrates the project
|
|
251
|
+
*/
|
|
252
|
+
upgrade: string;
|
|
253
|
+
};
|