@wp-typia/project-tools 0.24.3 → 0.24.5
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 +4 -1
- package/dist/runtime/ability-spec.d.ts +1 -90
- package/dist/runtime/ability-spec.js +1 -51
- package/dist/runtime/add/ability-spec.d.ts +90 -0
- package/dist/runtime/add/ability-spec.js +51 -0
- package/dist/runtime/add/ai-feature-artifacts.d.ts +85 -0
- package/dist/runtime/add/ai-feature-artifacts.js +140 -0
- package/dist/runtime/add/ai-feature-capability.d.ts +114 -0
- package/dist/runtime/add/ai-feature-capability.js +139 -0
- package/dist/runtime/add/alternate-render-targets.d.ts +5 -0
- package/dist/runtime/add/alternate-render-targets.js +29 -0
- package/dist/runtime/add/block-targets.d.ts +53 -0
- package/dist/runtime/add/block-targets.js +81 -0
- package/dist/runtime/add/cli-add-block-config.d.ts +6 -0
- package/dist/runtime/add/cli-add-block-config.js +144 -0
- package/dist/runtime/add/cli-add-block-json.d.ts +31 -0
- package/dist/runtime/add/cli-add-block-json.js +70 -0
- package/dist/runtime/add/cli-add-block-legacy-validator.d.ts +4 -0
- package/dist/runtime/add/cli-add-block-legacy-validator.js +168 -0
- package/dist/runtime/add/cli-add-block.d.ts +41 -0
- package/dist/runtime/add/cli-add-block.js +428 -0
- package/dist/runtime/add/cli-add-collision.d.ts +154 -0
- package/dist/runtime/add/cli-add-collision.js +454 -0
- package/dist/runtime/add/cli-add-filesystem.d.ts +29 -0
- package/dist/runtime/add/cli-add-filesystem.js +64 -0
- package/dist/runtime/add/cli-add-help.d.ts +4 -0
- package/dist/runtime/add/cli-add-help.js +55 -0
- package/dist/runtime/add/cli-add-kind-ids.d.ts +11 -0
- package/dist/runtime/add/cli-add-kind-ids.js +24 -0
- package/dist/runtime/add/cli-add-shared.d.ts +7 -0
- package/dist/runtime/add/cli-add-shared.js +7 -0
- package/dist/runtime/add/cli-add-types.d.ts +409 -0
- package/dist/runtime/add/cli-add-types.js +89 -0
- package/dist/runtime/add/cli-add-validation.d.ts +183 -0
- package/dist/runtime/add/cli-add-validation.js +459 -0
- package/dist/runtime/add/cli-add-workspace-ability-anchors.d.ts +24 -0
- package/dist/runtime/add/cli-add-workspace-ability-anchors.js +294 -0
- package/dist/runtime/add/cli-add-workspace-ability-registry.d.ts +10 -0
- package/dist/runtime/add/cli-add-workspace-ability-registry.js +51 -0
- package/dist/runtime/add/cli-add-workspace-ability-scaffold.d.ts +7 -0
- package/dist/runtime/add/cli-add-workspace-ability-scaffold.js +86 -0
- package/dist/runtime/add/cli-add-workspace-ability-templates.d.ts +34 -0
- package/dist/runtime/add/cli-add-workspace-ability-templates.js +500 -0
- package/dist/runtime/add/cli-add-workspace-ability-types.d.ts +27 -0
- package/dist/runtime/add/cli-add-workspace-ability-types.js +14 -0
- package/dist/runtime/add/cli-add-workspace-ability.d.ts +12 -0
- package/dist/runtime/add/cli-add-workspace-ability.js +28 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-scaffold.d.ts +9 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-scaffold.js +294 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-source.d.ts +12 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-source.js +94 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-templates-core-data.d.ts +34 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-templates-core-data.js +483 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-templates-default.d.ts +30 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-templates-default.js +310 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-templates-rest.d.ts +25 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-templates-rest.js +124 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-templates-settings.d.ts +34 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-templates-settings.js +370 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-templates-shared.d.ts +49 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-templates-shared.js +259 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-templates.d.ts +32 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-templates.js +51 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-types.d.ts +48 -0
- package/dist/runtime/add/cli-add-workspace-admin-view-types.js +48 -0
- package/dist/runtime/add/cli-add-workspace-admin-view.d.ts +10 -0
- package/dist/runtime/add/cli-add-workspace-admin-view.js +35 -0
- package/dist/runtime/add/cli-add-workspace-ai-anchors.d.ts +22 -0
- package/dist/runtime/add/cli-add-workspace-ai-anchors.js +118 -0
- package/dist/runtime/add/cli-add-workspace-ai-scaffold.d.ts +21 -0
- package/dist/runtime/add/cli-add-workspace-ai-scaffold.js +97 -0
- package/dist/runtime/add/cli-add-workspace-ai-source-emitters.d.ts +21 -0
- package/dist/runtime/add/cli-add-workspace-ai-source-emitters.js +302 -0
- package/dist/runtime/add/cli-add-workspace-ai-sync-rest-anchors.d.ts +5 -0
- package/dist/runtime/add/cli-add-workspace-ai-sync-rest-anchors.js +236 -0
- package/dist/runtime/add/cli-add-workspace-ai-sync-script-source.d.ts +4 -0
- package/dist/runtime/add/cli-add-workspace-ai-sync-script-source.js +145 -0
- package/dist/runtime/add/cli-add-workspace-ai-templates.d.ts +4 -0
- package/dist/runtime/add/cli-add-workspace-ai-templates.js +607 -0
- package/dist/runtime/add/cli-add-workspace-ai.d.ts +14 -0
- package/dist/runtime/add/cli-add-workspace-ai.js +32 -0
- package/dist/runtime/add/cli-add-workspace-assets.d.ts +9 -0
- package/dist/runtime/add/cli-add-workspace-assets.js +9 -0
- package/dist/runtime/add/cli-add-workspace-binding-source-anchors.d.ts +23 -0
- package/dist/runtime/add/cli-add-workspace-binding-source-anchors.js +112 -0
- package/dist/runtime/add/cli-add-workspace-binding-source-source-emitters.d.ts +33 -0
- package/dist/runtime/add/cli-add-workspace-binding-source-source-emitters.js +436 -0
- package/dist/runtime/add/cli-add-workspace-binding-source-types.d.ts +20 -0
- package/dist/runtime/add/cli-add-workspace-binding-source-types.js +1 -0
- package/dist/runtime/add/cli-add-workspace-binding-source.d.ts +40 -0
- package/dist/runtime/add/cli-add-workspace-binding-source.js +275 -0
- package/dist/runtime/add/cli-add-workspace-block-style.d.ts +22 -0
- package/dist/runtime/add/cli-add-workspace-block-style.js +148 -0
- package/dist/runtime/add/cli-add-workspace-block-transform.d.ts +32 -0
- package/dist/runtime/add/cli-add-workspace-block-transform.js +197 -0
- package/dist/runtime/add/cli-add-workspace-contract-source-emitters.d.ts +15 -0
- package/dist/runtime/add/cli-add-workspace-contract-source-emitters.js +42 -0
- package/dist/runtime/add/cli-add-workspace-contract.d.ts +15 -0
- package/dist/runtime/add/cli-add-workspace-contract.js +65 -0
- package/dist/runtime/add/cli-add-workspace-core-variation.d.ts +22 -0
- package/dist/runtime/add/cli-add-workspace-core-variation.js +429 -0
- package/dist/runtime/add/cli-add-workspace-editor-plugin-anchors.d.ts +37 -0
- package/dist/runtime/add/cli-add-workspace-editor-plugin-anchors.js +206 -0
- package/dist/runtime/add/cli-add-workspace-editor-plugin-source-emitters.d.ts +47 -0
- package/dist/runtime/add/cli-add-workspace-editor-plugin-source-emitters.js +219 -0
- package/dist/runtime/add/cli-add-workspace-editor-plugin.d.ts +22 -0
- package/dist/runtime/add/cli-add-workspace-editor-plugin.js +78 -0
- package/dist/runtime/add/cli-add-workspace-hooked-block.d.ts +23 -0
- package/dist/runtime/add/cli-add-workspace-hooked-block.js +57 -0
- package/dist/runtime/add/cli-add-workspace-integration-env-files.d.ts +33 -0
- package/dist/runtime/add/cli-add-workspace-integration-env-files.js +65 -0
- package/dist/runtime/add/cli-add-workspace-integration-env-package-json.d.ts +38 -0
- package/dist/runtime/add/cli-add-workspace-integration-env-package-json.js +122 -0
- package/dist/runtime/add/cli-add-workspace-integration-env-source-emitters.d.ts +44 -0
- package/dist/runtime/add/cli-add-workspace-integration-env-source-emitters.js +262 -0
- package/dist/runtime/add/cli-add-workspace-integration-env.d.ts +26 -0
- package/dist/runtime/add/cli-add-workspace-integration-env.js +88 -0
- package/dist/runtime/add/cli-add-workspace-mutation.d.ts +30 -0
- package/dist/runtime/add/cli-add-workspace-mutation.js +60 -0
- package/dist/runtime/add/cli-add-workspace-pattern-anchors.d.ts +10 -0
- package/dist/runtime/add/cli-add-workspace-pattern-anchors.js +95 -0
- package/dist/runtime/add/cli-add-workspace-pattern-options.d.ts +20 -0
- package/dist/runtime/add/cli-add-workspace-pattern-options.js +125 -0
- package/dist/runtime/add/cli-add-workspace-pattern-source-emitters.d.ts +20 -0
- package/dist/runtime/add/cli-add-workspace-pattern-source-emitters.js +57 -0
- package/dist/runtime/add/cli-add-workspace-pattern.d.ts +42 -0
- package/dist/runtime/add/cli-add-workspace-pattern.js +99 -0
- package/dist/runtime/add/cli-add-workspace-post-meta-anchors.d.ts +23 -0
- package/dist/runtime/add/cli-add-workspace-post-meta-anchors.js +244 -0
- package/dist/runtime/add/cli-add-workspace-post-meta-source-emitters.d.ts +63 -0
- package/dist/runtime/add/cli-add-workspace-post-meta-source-emitters.js +179 -0
- package/dist/runtime/add/cli-add-workspace-post-meta.d.ts +15 -0
- package/dist/runtime/add/cli-add-workspace-post-meta.js +107 -0
- package/dist/runtime/add/cli-add-workspace-registration-hooks.d.ts +50 -0
- package/dist/runtime/add/cli-add-workspace-registration-hooks.js +162 -0
- package/dist/runtime/add/cli-add-workspace-rest-anchors.d.ts +9 -0
- package/dist/runtime/add/cli-add-workspace-rest-anchors.js +9 -0
- package/dist/runtime/add/cli-add-workspace-rest-bootstrap-anchors.d.ts +17 -0
- package/dist/runtime/add/cli-add-workspace-rest-bootstrap-anchors.js +108 -0
- package/dist/runtime/add/cli-add-workspace-rest-contract-sync-anchors.d.ts +9 -0
- package/dist/runtime/add/cli-add-workspace-rest-contract-sync-anchors.js +142 -0
- package/dist/runtime/add/cli-add-workspace-rest-generated-source-emitters.d.ts +51 -0
- package/dist/runtime/add/cli-add-workspace-rest-generated-source-emitters.js +415 -0
- package/dist/runtime/add/cli-add-workspace-rest-generated.d.ts +9 -0
- package/dist/runtime/add/cli-add-workspace-rest-generated.js +160 -0
- package/dist/runtime/add/cli-add-workspace-rest-manual-source-emitters.d.ts +80 -0
- package/dist/runtime/add/cli-add-workspace-rest-manual-source-emitters.js +238 -0
- package/dist/runtime/add/cli-add-workspace-rest-manual.d.ts +8 -0
- package/dist/runtime/add/cli-add-workspace-rest-manual.js +266 -0
- package/dist/runtime/add/cli-add-workspace-rest-php-templates.d.ts +18 -0
- package/dist/runtime/add/cli-add-workspace-rest-php-templates.js +359 -0
- package/dist/runtime/add/cli-add-workspace-rest-resource-php-routing-template.d.ts +33 -0
- package/dist/runtime/add/cli-add-workspace-rest-resource-php-routing-template.js +145 -0
- package/dist/runtime/add/cli-add-workspace-rest-resource-sync-anchors.d.ts +9 -0
- package/dist/runtime/add/cli-add-workspace-rest-resource-sync-anchors.js +162 -0
- package/dist/runtime/add/cli-add-workspace-rest-schema-helper-php-template.d.ts +7 -0
- package/dist/runtime/add/cli-add-workspace-rest-schema-helper-php-template.js +193 -0
- package/dist/runtime/add/cli-add-workspace-rest-source-emitters.d.ts +8 -0
- package/dist/runtime/add/cli-add-workspace-rest-source-emitters.js +8 -0
- package/dist/runtime/add/cli-add-workspace-rest-source-utils.d.ts +17 -0
- package/dist/runtime/add/cli-add-workspace-rest-source-utils.js +50 -0
- package/dist/runtime/add/cli-add-workspace-rest-sync-script-shared.d.ts +56 -0
- package/dist/runtime/add/cli-add-workspace-rest-sync-script-shared.js +122 -0
- package/dist/runtime/add/cli-add-workspace-rest-types.d.ts +108 -0
- package/dist/runtime/add/cli-add-workspace-rest-types.js +1 -0
- package/dist/runtime/add/cli-add-workspace-rest.d.ts +10 -0
- package/dist/runtime/add/cli-add-workspace-rest.js +51 -0
- package/dist/runtime/add/cli-add-workspace-variation.d.ts +22 -0
- package/dist/runtime/add/cli-add-workspace-variation.js +162 -0
- package/dist/runtime/add/cli-add-workspace.d.ts +71 -0
- package/dist/runtime/add/cli-add-workspace.js +71 -0
- package/dist/runtime/add/cli-add.d.ts +15 -0
- package/dist/runtime/add/cli-add.js +13 -0
- package/dist/runtime/add/compound-inner-blocks.d.ts +78 -0
- package/dist/runtime/add/compound-inner-blocks.js +88 -0
- package/dist/runtime/add/contract-artifacts.d.ts +14 -0
- package/dist/runtime/add/contract-artifacts.js +15 -0
- package/dist/runtime/add/hooked-blocks.d.ts +17 -0
- package/dist/runtime/add/hooked-blocks.js +13 -0
- package/dist/runtime/add/pattern-catalog-section-roles.d.ts +101 -0
- package/dist/runtime/add/pattern-catalog-section-roles.js +276 -0
- package/dist/runtime/add/pattern-catalog.d.ts +68 -0
- package/dist/runtime/add/pattern-catalog.js +225 -0
- package/dist/runtime/add/persistence-rest-artifacts.d.ts +76 -0
- package/dist/runtime/add/persistence-rest-artifacts.js +99 -0
- package/dist/runtime/add/post-meta-binding-fields.d.ts +46 -0
- package/dist/runtime/add/post-meta-binding-fields.js +135 -0
- package/dist/runtime/add/rest-resource-artifacts.d.ts +91 -0
- package/dist/runtime/add/rest-resource-artifacts.js +254 -0
- package/dist/runtime/ai-artifacts.d.ts +1 -39
- package/dist/runtime/ai-artifacts.js +1 -67
- package/dist/runtime/ai-feature-artifacts.d.ts +1 -85
- package/dist/runtime/ai-feature-artifacts.js +1 -140
- package/dist/runtime/ai-feature-capability.d.ts +1 -114
- package/dist/runtime/ai-feature-capability.js +1 -139
- package/dist/runtime/alternate-render-targets.d.ts +1 -5
- package/dist/runtime/alternate-render-targets.js +1 -29
- package/dist/runtime/block-generator-service-core.d.ts +1 -8
- package/dist/runtime/block-generator-service-core.js +1 -279
- package/dist/runtime/block-generator-service-spec.d.ts +1 -118
- package/dist/runtime/block-generator-service-spec.js +1 -419
- package/dist/runtime/block-generator-service.d.ts +1 -2
- package/dist/runtime/block-generator-service.js +1 -2
- package/dist/runtime/block-generator-tool-contract.d.ts +1 -93
- package/dist/runtime/block-generator-tool-contract.js +1 -157
- package/dist/runtime/block-targets.d.ts +1 -40
- package/dist/runtime/block-targets.js +1 -71
- package/dist/runtime/built-in-block-artifact-documents.d.ts +1 -3
- package/dist/runtime/built-in-block-artifact-documents.js +1 -2
- package/dist/runtime/built-in-block-artifact-types.d.ts +1 -51
- package/dist/runtime/built-in-block-artifact-types.js +1 -316
- package/dist/runtime/built-in-block-artifacts.d.ts +1 -37
- package/dist/runtime/built-in-block-artifacts.js +1 -223
- package/dist/runtime/built-in-block-attribute-emitters.d.ts +1 -71
- package/dist/runtime/built-in-block-attribute-emitters.js +1 -176
- package/dist/runtime/built-in-block-attribute-specs.d.ts +1 -38
- package/dist/runtime/built-in-block-attribute-specs.js +1 -359
- package/dist/runtime/built-in-block-code-artifacts.d.ts +1 -31
- package/dist/runtime/built-in-block-code-artifacts.js +1 -208
- package/dist/runtime/built-in-block-code-templates/basic.d.ts +1 -4
- package/dist/runtime/built-in-block-code-templates/basic.js +1 -249
- package/dist/runtime/built-in-block-code-templates/compound-child.d.ts +1 -4
- package/dist/runtime/built-in-block-code-templates/compound-child.js +1 -171
- package/dist/runtime/built-in-block-code-templates/compound-parent.d.ts +1 -6
- package/dist/runtime/built-in-block-code-templates/compound-parent.js +1 -404
- package/dist/runtime/built-in-block-code-templates/compound-persistence.d.ts +1 -4
- package/dist/runtime/built-in-block-code-templates/compound-persistence.js +1 -481
- package/dist/runtime/built-in-block-code-templates/compound.d.ts +1 -3
- package/dist/runtime/built-in-block-code-templates/compound.js +1 -3
- package/dist/runtime/built-in-block-code-templates/interactivity.d.ts +1 -6
- package/dist/runtime/built-in-block-code-templates/interactivity.js +1 -708
- package/dist/runtime/built-in-block-code-templates/persistence.d.ts +1 -5
- package/dist/runtime/built-in-block-code-templates/persistence.js +1 -550
- package/dist/runtime/built-in-block-code-templates/query-loop.d.ts +1 -1
- package/dist/runtime/built-in-block-code-templates/query-loop.js +1 -70
- package/dist/runtime/built-in-block-code-templates/shared.d.ts +1 -16
- package/dist/runtime/built-in-block-code-templates/shared.js +1 -53
- package/dist/runtime/built-in-block-code-templates.d.ts +1 -10
- package/dist/runtime/built-in-block-code-templates.js +1 -10
- package/dist/runtime/built-in-block-non-ts-artifacts.d.ts +1 -18
- package/dist/runtime/built-in-block-non-ts-artifacts.js +1 -30
- package/dist/runtime/built-in-block-non-ts-basic-artifacts.d.ts +1 -9
- package/dist/runtime/built-in-block-non-ts-basic-artifacts.js +1 -84
- package/dist/runtime/built-in-block-non-ts-compound-artifacts.d.ts +1 -9
- package/dist/runtime/built-in-block-non-ts-compound-artifacts.js +1 -36
- package/dist/runtime/built-in-block-non-ts-compound-templates.d.ts +1 -23
- package/dist/runtime/built-in-block-non-ts-compound-templates.js +1 -453
- package/dist/runtime/built-in-block-non-ts-family-artifacts.d.ts +1 -12
- package/dist/runtime/built-in-block-non-ts-family-artifacts.js +1 -12
- package/dist/runtime/built-in-block-non-ts-interactivity-artifacts.d.ts +1 -9
- package/dist/runtime/built-in-block-non-ts-interactivity-artifacts.js +1 -83
- package/dist/runtime/built-in-block-non-ts-persistence-artifacts.d.ts +1 -9
- package/dist/runtime/built-in-block-non-ts-persistence-artifacts.js +1 -33
- package/dist/runtime/built-in-block-non-ts-persistence-templates.d.ts +1 -23
- package/dist/runtime/built-in-block-non-ts-persistence-templates.js +1 -395
- package/dist/runtime/built-in-block-non-ts-render-utils.d.ts +1 -27
- package/dist/runtime/built-in-block-non-ts-render-utils.js +1 -53
- package/dist/runtime/cli/cli-core.d.ts +47 -0
- package/dist/runtime/cli/cli-core.js +41 -0
- package/dist/runtime/cli/cli-diagnostics.d.ts +171 -0
- package/dist/runtime/cli/cli-diagnostics.js +393 -0
- package/dist/runtime/cli/cli-help.d.ts +9 -0
- package/dist/runtime/cli/cli-help.js +84 -0
- package/dist/runtime/cli/cli-init-apply.d.ts +15 -0
- package/dist/runtime/cli/cli-init-apply.js +99 -0
- package/dist/runtime/cli/cli-init-package-json.d.ts +19 -0
- package/dist/runtime/cli/cli-init-package-json.js +193 -0
- package/dist/runtime/cli/cli-init-plan-presentation.d.ts +16 -0
- package/dist/runtime/cli/cli-init-plan-presentation.js +74 -0
- package/dist/runtime/cli/cli-init-plan.d.ts +39 -0
- package/dist/runtime/cli/cli-init-plan.js +303 -0
- package/dist/runtime/cli/cli-init-templates.d.ts +27 -0
- package/dist/runtime/cli/cli-init-templates.js +254 -0
- package/dist/runtime/cli/cli-init-types.d.ts +84 -0
- package/dist/runtime/cli/cli-init-types.js +3 -0
- package/dist/runtime/cli/cli-init.d.ts +17 -0
- package/dist/runtime/cli/cli-init.js +21 -0
- package/dist/runtime/cli/cli-prompt.d.ts +60 -0
- package/dist/runtime/cli/cli-prompt.js +141 -0
- package/dist/runtime/cli/cli-validation.d.ts +66 -0
- package/dist/runtime/cli/cli-validation.js +93 -0
- package/dist/runtime/cli-add-block-config.d.ts +1 -6
- package/dist/runtime/cli-add-block-config.js +1 -144
- package/dist/runtime/cli-add-block-json.d.ts +1 -31
- package/dist/runtime/cli-add-block-json.js +1 -70
- package/dist/runtime/cli-add-block-legacy-validator.d.ts +1 -4
- package/dist/runtime/cli-add-block-legacy-validator.js +1 -168
- package/dist/runtime/cli-add-block.d.ts +1 -41
- package/dist/runtime/cli-add-block.js +1 -428
- package/dist/runtime/cli-add-collision.d.ts +1 -154
- package/dist/runtime/cli-add-collision.js +1 -454
- package/dist/runtime/cli-add-filesystem.d.ts +1 -29
- package/dist/runtime/cli-add-filesystem.js +1 -64
- package/dist/runtime/cli-add-help.d.ts +1 -4
- package/dist/runtime/cli-add-help.js +1 -55
- package/dist/runtime/cli-add-kind-ids.d.ts +1 -11
- package/dist/runtime/cli-add-kind-ids.js +1 -24
- package/dist/runtime/cli-add-shared.d.ts +1 -7
- package/dist/runtime/cli-add-shared.js +1 -7
- package/dist/runtime/cli-add-types.d.ts +1 -405
- package/dist/runtime/cli-add-types.js +1 -89
- package/dist/runtime/cli-add-validation.d.ts +1 -183
- package/dist/runtime/cli-add-validation.js +1 -459
- package/dist/runtime/cli-add-workspace-ability-anchors.d.ts +1 -24
- package/dist/runtime/cli-add-workspace-ability-anchors.js +1 -294
- package/dist/runtime/cli-add-workspace-ability-registry.d.ts +1 -10
- package/dist/runtime/cli-add-workspace-ability-registry.js +1 -51
- package/dist/runtime/cli-add-workspace-ability-scaffold.d.ts +1 -7
- package/dist/runtime/cli-add-workspace-ability-scaffold.js +1 -86
- package/dist/runtime/cli-add-workspace-ability-templates.d.ts +1 -34
- package/dist/runtime/cli-add-workspace-ability-templates.js +1 -500
- package/dist/runtime/cli-add-workspace-ability-types.d.ts +1 -27
- package/dist/runtime/cli-add-workspace-ability-types.js +1 -14
- package/dist/runtime/cli-add-workspace-ability.d.ts +1 -12
- package/dist/runtime/cli-add-workspace-ability.js +1 -28
- package/dist/runtime/cli-add-workspace-admin-view-scaffold.d.ts +1 -9
- package/dist/runtime/cli-add-workspace-admin-view-scaffold.js +1 -294
- package/dist/runtime/cli-add-workspace-admin-view-source.d.ts +1 -12
- package/dist/runtime/cli-add-workspace-admin-view-source.js +1 -94
- package/dist/runtime/cli-add-workspace-admin-view-templates-core-data.d.ts +1 -34
- package/dist/runtime/cli-add-workspace-admin-view-templates-core-data.js +1 -483
- package/dist/runtime/cli-add-workspace-admin-view-templates-default.d.ts +1 -30
- package/dist/runtime/cli-add-workspace-admin-view-templates-default.js +1 -310
- package/dist/runtime/cli-add-workspace-admin-view-templates-rest.d.ts +1 -25
- package/dist/runtime/cli-add-workspace-admin-view-templates-rest.js +1 -124
- package/dist/runtime/cli-add-workspace-admin-view-templates-settings.d.ts +1 -34
- package/dist/runtime/cli-add-workspace-admin-view-templates-settings.js +1 -370
- package/dist/runtime/cli-add-workspace-admin-view-templates-shared.d.ts +1 -49
- package/dist/runtime/cli-add-workspace-admin-view-templates-shared.js +1 -259
- package/dist/runtime/cli-add-workspace-admin-view-templates.d.ts +1 -32
- package/dist/runtime/cli-add-workspace-admin-view-templates.js +1 -51
- package/dist/runtime/cli-add-workspace-admin-view-types.d.ts +1 -48
- package/dist/runtime/cli-add-workspace-admin-view-types.js +1 -48
- package/dist/runtime/cli-add-workspace-admin-view.d.ts +1 -10
- package/dist/runtime/cli-add-workspace-admin-view.js +1 -35
- package/dist/runtime/cli-add-workspace-ai-anchors.d.ts +1 -22
- package/dist/runtime/cli-add-workspace-ai-anchors.js +1 -118
- package/dist/runtime/cli-add-workspace-ai-scaffold.d.ts +1 -21
- package/dist/runtime/cli-add-workspace-ai-scaffold.js +1 -97
- package/dist/runtime/cli-add-workspace-ai-source-emitters.d.ts +1 -21
- package/dist/runtime/cli-add-workspace-ai-source-emitters.js +1 -302
- package/dist/runtime/cli-add-workspace-ai-sync-rest-anchors.d.ts +1 -5
- package/dist/runtime/cli-add-workspace-ai-sync-rest-anchors.js +1 -236
- package/dist/runtime/cli-add-workspace-ai-sync-script-source.d.ts +1 -4
- package/dist/runtime/cli-add-workspace-ai-sync-script-source.js +1 -145
- package/dist/runtime/cli-add-workspace-ai-templates.d.ts +1 -4
- package/dist/runtime/cli-add-workspace-ai-templates.js +1 -607
- package/dist/runtime/cli-add-workspace-ai.d.ts +1 -14
- package/dist/runtime/cli-add-workspace-ai.js +1 -32
- package/dist/runtime/cli-add-workspace-assets.d.ts +1 -9
- package/dist/runtime/cli-add-workspace-assets.js +1 -9
- package/dist/runtime/cli-add-workspace-binding-source-anchors.d.ts +1 -23
- package/dist/runtime/cli-add-workspace-binding-source-anchors.js +1 -112
- package/dist/runtime/cli-add-workspace-binding-source-source-emitters.d.ts +1 -33
- package/dist/runtime/cli-add-workspace-binding-source-source-emitters.js +1 -436
- package/dist/runtime/cli-add-workspace-binding-source-types.d.ts +1 -20
- package/dist/runtime/cli-add-workspace-binding-source-types.js +1 -1
- package/dist/runtime/cli-add-workspace-binding-source.d.ts +1 -40
- package/dist/runtime/cli-add-workspace-binding-source.js +1 -275
- package/dist/runtime/cli-add-workspace-block-style.d.ts +1 -22
- package/dist/runtime/cli-add-workspace-block-style.js +1 -148
- package/dist/runtime/cli-add-workspace-block-transform.d.ts +1 -32
- package/dist/runtime/cli-add-workspace-block-transform.js +1 -197
- package/dist/runtime/cli-add-workspace-contract-source-emitters.d.ts +1 -15
- package/dist/runtime/cli-add-workspace-contract-source-emitters.js +1 -42
- package/dist/runtime/cli-add-workspace-contract.d.ts +1 -15
- package/dist/runtime/cli-add-workspace-contract.js +1 -65
- package/dist/runtime/cli-add-workspace-core-variation.d.ts +1 -22
- package/dist/runtime/cli-add-workspace-core-variation.js +1 -429
- package/dist/runtime/cli-add-workspace-editor-plugin-anchors.d.ts +1 -37
- package/dist/runtime/cli-add-workspace-editor-plugin-anchors.js +1 -206
- package/dist/runtime/cli-add-workspace-editor-plugin-source-emitters.d.ts +1 -47
- package/dist/runtime/cli-add-workspace-editor-plugin-source-emitters.js +1 -219
- package/dist/runtime/cli-add-workspace-editor-plugin.d.ts +1 -22
- package/dist/runtime/cli-add-workspace-editor-plugin.js +1 -78
- package/dist/runtime/cli-add-workspace-hooked-block.d.ts +1 -23
- package/dist/runtime/cli-add-workspace-hooked-block.js +1 -57
- package/dist/runtime/cli-add-workspace-integration-env-files.d.ts +1 -33
- package/dist/runtime/cli-add-workspace-integration-env-files.js +1 -65
- package/dist/runtime/cli-add-workspace-integration-env-package-json.d.ts +1 -38
- package/dist/runtime/cli-add-workspace-integration-env-package-json.js +1 -122
- package/dist/runtime/cli-add-workspace-integration-env-source-emitters.d.ts +1 -44
- package/dist/runtime/cli-add-workspace-integration-env-source-emitters.js +1 -262
- package/dist/runtime/cli-add-workspace-integration-env.d.ts +1 -26
- package/dist/runtime/cli-add-workspace-integration-env.js +1 -88
- package/dist/runtime/cli-add-workspace-mutation.d.ts +1 -30
- package/dist/runtime/cli-add-workspace-mutation.js +1 -60
- package/dist/runtime/cli-add-workspace-pattern-anchors.d.ts +1 -10
- package/dist/runtime/cli-add-workspace-pattern-anchors.js +1 -95
- package/dist/runtime/cli-add-workspace-pattern-options.d.ts +1 -20
- package/dist/runtime/cli-add-workspace-pattern-options.js +1 -125
- package/dist/runtime/cli-add-workspace-pattern-source-emitters.d.ts +1 -20
- package/dist/runtime/cli-add-workspace-pattern-source-emitters.js +1 -57
- package/dist/runtime/cli-add-workspace-pattern.d.ts +1 -42
- package/dist/runtime/cli-add-workspace-pattern.js +1 -99
- package/dist/runtime/cli-add-workspace-post-meta-anchors.d.ts +1 -23
- package/dist/runtime/cli-add-workspace-post-meta-anchors.js +1 -244
- package/dist/runtime/cli-add-workspace-post-meta-source-emitters.d.ts +1 -63
- package/dist/runtime/cli-add-workspace-post-meta-source-emitters.js +1 -179
- package/dist/runtime/cli-add-workspace-post-meta.d.ts +1 -15
- package/dist/runtime/cli-add-workspace-post-meta.js +1 -107
- package/dist/runtime/cli-add-workspace-registration-hooks.d.ts +1 -50
- package/dist/runtime/cli-add-workspace-registration-hooks.js +1 -162
- package/dist/runtime/cli-add-workspace-rest-anchors.d.ts +1 -9
- package/dist/runtime/cli-add-workspace-rest-anchors.js +1 -9
- package/dist/runtime/cli-add-workspace-rest-bootstrap-anchors.d.ts +1 -17
- package/dist/runtime/cli-add-workspace-rest-bootstrap-anchors.js +1 -108
- package/dist/runtime/cli-add-workspace-rest-contract-sync-anchors.d.ts +1 -9
- package/dist/runtime/cli-add-workspace-rest-contract-sync-anchors.js +1 -142
- package/dist/runtime/cli-add-workspace-rest-generated-source-emitters.d.ts +1 -51
- package/dist/runtime/cli-add-workspace-rest-generated-source-emitters.js +1 -415
- package/dist/runtime/cli-add-workspace-rest-generated.d.ts +1 -9
- package/dist/runtime/cli-add-workspace-rest-generated.js +1 -160
- package/dist/runtime/cli-add-workspace-rest-manual-source-emitters.d.ts +1 -80
- package/dist/runtime/cli-add-workspace-rest-manual-source-emitters.js +1 -238
- package/dist/runtime/cli-add-workspace-rest-manual.d.ts +1 -8
- package/dist/runtime/cli-add-workspace-rest-manual.js +1 -266
- package/dist/runtime/cli-add-workspace-rest-php-templates.d.ts +1 -18
- package/dist/runtime/cli-add-workspace-rest-php-templates.js +1 -359
- package/dist/runtime/cli-add-workspace-rest-resource-php-routing-template.d.ts +1 -33
- package/dist/runtime/cli-add-workspace-rest-resource-php-routing-template.js +1 -145
- package/dist/runtime/cli-add-workspace-rest-resource-sync-anchors.d.ts +1 -9
- package/dist/runtime/cli-add-workspace-rest-resource-sync-anchors.js +1 -162
- package/dist/runtime/cli-add-workspace-rest-schema-helper-php-template.d.ts +1 -7
- package/dist/runtime/cli-add-workspace-rest-schema-helper-php-template.js +1 -193
- package/dist/runtime/cli-add-workspace-rest-source-emitters.d.ts +1 -8
- package/dist/runtime/cli-add-workspace-rest-source-emitters.js +1 -8
- package/dist/runtime/cli-add-workspace-rest-source-utils.d.ts +1 -17
- package/dist/runtime/cli-add-workspace-rest-source-utils.js +1 -50
- package/dist/runtime/cli-add-workspace-rest-sync-script-shared.d.ts +1 -56
- package/dist/runtime/cli-add-workspace-rest-sync-script-shared.js +1 -122
- package/dist/runtime/cli-add-workspace-rest-types.d.ts +1 -108
- package/dist/runtime/cli-add-workspace-rest-types.js +1 -1
- package/dist/runtime/cli-add-workspace-rest.d.ts +1 -10
- package/dist/runtime/cli-add-workspace-rest.js +1 -51
- package/dist/runtime/cli-add-workspace-variation.d.ts +1 -22
- package/dist/runtime/cli-add-workspace-variation.js +1 -162
- package/dist/runtime/cli-add-workspace.d.ts +1 -71
- package/dist/runtime/cli-add-workspace.js +1 -71
- package/dist/runtime/cli-add.d.ts +1 -15
- package/dist/runtime/cli-add.js +1 -13
- package/dist/runtime/cli-core.d.ts +1 -47
- package/dist/runtime/cli-core.js +1 -41
- package/dist/runtime/cli-diagnostics.d.ts +1 -171
- package/dist/runtime/cli-diagnostics.js +1 -394
- package/dist/runtime/cli-doctor-environment.d.ts +1 -12
- package/dist/runtime/cli-doctor-environment.js +1 -121
- package/dist/runtime/cli-doctor-workspace-bindings.d.ts +1 -11
- package/dist/runtime/cli-doctor-workspace-bindings.js +1 -195
- package/dist/runtime/cli-doctor-workspace-block-addons.d.ts +1 -12
- package/dist/runtime/cli-doctor-workspace-block-addons.js +1 -162
- package/dist/runtime/cli-doctor-workspace-block-iframe.d.ts +1 -9
- package/dist/runtime/cli-doctor-workspace-block-iframe.js +1 -228
- package/dist/runtime/cli-doctor-workspace-block-metadata.d.ts +1 -11
- package/dist/runtime/cli-doctor-workspace-block-metadata.js +1 -111
- package/dist/runtime/cli-doctor-workspace-blocks.d.ts +1 -11
- package/dist/runtime/cli-doctor-workspace-blocks.js +1 -20
- package/dist/runtime/cli-doctor-workspace-features-abilities.d.ts +1 -11
- package/dist/runtime/cli-doctor-workspace-features-abilities.js +1 -112
- package/dist/runtime/cli-doctor-workspace-features-admin-views.d.ts +1 -11
- package/dist/runtime/cli-doctor-workspace-features-admin-views.js +1 -128
- package/dist/runtime/cli-doctor-workspace-features-ai.d.ts +1 -11
- package/dist/runtime/cli-doctor-workspace-features-ai.js +1 -57
- package/dist/runtime/cli-doctor-workspace-features-editor-plugins.d.ts +1 -11
- package/dist/runtime/cli-doctor-workspace-features-editor-plugins.js +1 -80
- package/dist/runtime/cli-doctor-workspace-features-post-meta.d.ts +1 -11
- package/dist/runtime/cli-doctor-workspace-features-post-meta.js +1 -77
- package/dist/runtime/cli-doctor-workspace-features-rest.d.ts +1 -11
- package/dist/runtime/cli-doctor-workspace-features-rest.js +1 -120
- package/dist/runtime/cli-doctor-workspace-features.d.ts +1 -11
- package/dist/runtime/cli-doctor-workspace-features.js +1 -23
- package/dist/runtime/cli-doctor-workspace-package.d.ts +1 -40
- package/dist/runtime/cli-doctor-workspace-package.js +1 -81
- package/dist/runtime/cli-doctor-workspace-shared.d.ts +1 -79
- package/dist/runtime/cli-doctor-workspace-shared.js +1 -102
- package/dist/runtime/cli-doctor-workspace.d.ts +1 -18
- package/dist/runtime/cli-doctor-workspace.js +1 -97
- package/dist/runtime/cli-doctor.d.ts +1 -90
- package/dist/runtime/cli-doctor.js +1 -130
- package/dist/runtime/cli-help.d.ts +1 -9
- package/dist/runtime/cli-help.js +1 -84
- package/dist/runtime/cli-init-apply.d.ts +1 -15
- package/dist/runtime/cli-init-apply.js +1 -99
- package/dist/runtime/cli-init-package-json.d.ts +1 -19
- package/dist/runtime/cli-init-package-json.js +1 -193
- package/dist/runtime/cli-init-plan-presentation.d.ts +1 -16
- package/dist/runtime/cli-init-plan-presentation.js +1 -74
- package/dist/runtime/cli-init-plan.d.ts +1 -39
- package/dist/runtime/cli-init-plan.js +1 -303
- package/dist/runtime/cli-init-templates.d.ts +1 -27
- package/dist/runtime/cli-init-templates.js +1 -254
- package/dist/runtime/cli-init-types.d.ts +1 -84
- package/dist/runtime/cli-init-types.js +1 -3
- package/dist/runtime/cli-init.d.ts +1 -17
- package/dist/runtime/cli-init.js +1 -21
- package/dist/runtime/cli-prompt.d.ts +1 -60
- package/dist/runtime/cli-prompt.js +1 -141
- package/dist/runtime/cli-scaffold-emission.d.ts +1 -124
- package/dist/runtime/cli-scaffold-emission.js +1 -45
- package/dist/runtime/cli-scaffold-files.d.ts +1 -22
- package/dist/runtime/cli-scaffold-files.js +1 -69
- package/dist/runtime/cli-scaffold-output.d.ts +1 -79
- package/dist/runtime/cli-scaffold-output.js +1 -49
- package/dist/runtime/cli-scaffold-validation.d.ts +1 -82
- package/dist/runtime/cli-scaffold-validation.js +1 -190
- package/dist/runtime/cli-scaffold.d.ts +1 -70
- package/dist/runtime/cli-scaffold.js +1 -194
- package/dist/runtime/cli-templates.d.ts +1 -30
- package/dist/runtime/cli-templates.js +1 -166
- package/dist/runtime/cli-validation.d.ts +1 -66
- package/dist/runtime/cli-validation.js +1 -93
- package/dist/runtime/compound-inner-blocks.d.ts +1 -78
- package/dist/runtime/compound-inner-blocks.js +1 -88
- package/dist/runtime/contract-artifacts.d.ts +1 -14
- package/dist/runtime/contract-artifacts.js +1 -15
- package/dist/runtime/create-template-validation.d.ts +1 -10
- package/dist/runtime/create-template-validation.js +1 -95
- package/dist/runtime/doctor/cli-doctor-environment.d.ts +12 -0
- package/dist/runtime/doctor/cli-doctor-environment.js +121 -0
- package/dist/runtime/doctor/cli-doctor-workspace-bindings.d.ts +11 -0
- package/dist/runtime/doctor/cli-doctor-workspace-bindings.js +195 -0
- package/dist/runtime/doctor/cli-doctor-workspace-block-addons.d.ts +12 -0
- package/dist/runtime/doctor/cli-doctor-workspace-block-addons.js +162 -0
- package/dist/runtime/doctor/cli-doctor-workspace-block-iframe.d.ts +9 -0
- package/dist/runtime/doctor/cli-doctor-workspace-block-iframe.js +228 -0
- package/dist/runtime/doctor/cli-doctor-workspace-block-metadata.d.ts +11 -0
- package/dist/runtime/doctor/cli-doctor-workspace-block-metadata.js +111 -0
- package/dist/runtime/doctor/cli-doctor-workspace-blocks.d.ts +11 -0
- package/dist/runtime/doctor/cli-doctor-workspace-blocks.js +20 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features-abilities.d.ts +11 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features-abilities.js +112 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features-admin-views.d.ts +11 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features-admin-views.js +128 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features-ai.d.ts +11 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features-ai.js +57 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features-editor-plugins.d.ts +11 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features-editor-plugins.js +80 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features-post-meta.d.ts +11 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features-post-meta.js +77 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features-rest.d.ts +11 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features-rest.js +120 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features.d.ts +11 -0
- package/dist/runtime/doctor/cli-doctor-workspace-features.js +23 -0
- package/dist/runtime/doctor/cli-doctor-workspace-package.d.ts +40 -0
- package/dist/runtime/doctor/cli-doctor-workspace-package.js +81 -0
- package/dist/runtime/doctor/cli-doctor-workspace-shared.d.ts +79 -0
- package/dist/runtime/doctor/cli-doctor-workspace-shared.js +102 -0
- package/dist/runtime/doctor/cli-doctor-workspace.d.ts +18 -0
- package/dist/runtime/doctor/cli-doctor-workspace.js +97 -0
- package/dist/runtime/doctor/cli-doctor.d.ts +90 -0
- package/dist/runtime/doctor/cli-doctor.js +130 -0
- package/dist/runtime/external-layer-selection.d.ts +1 -20
- package/dist/runtime/external-layer-selection.js +1 -34
- package/dist/runtime/external-template-guards.d.ts +1 -31
- package/dist/runtime/external-template-guards.js +1 -130
- package/dist/runtime/fs-async.d.ts +1 -35
- package/dist/runtime/fs-async.js +1 -62
- package/dist/runtime/hooked-blocks.d.ts +1 -17
- package/dist/runtime/hooked-blocks.js +1 -13
- package/dist/runtime/id-suggestions.d.ts +1 -21
- package/dist/runtime/id-suggestions.js +1 -48
- package/dist/runtime/json-utils.d.ts +1 -62
- package/dist/runtime/json-utils.js +1 -78
- package/dist/runtime/local-dev-presets.d.ts +1 -26
- package/dist/runtime/local-dev-presets.js +1 -151
- package/dist/runtime/metadata-analysis.d.ts +1 -7
- package/dist/runtime/metadata-analysis.js +1 -7
- package/dist/runtime/metadata-model.d.ts +1 -7
- package/dist/runtime/metadata-model.js +1 -7
- package/dist/runtime/metadata-parser.d.ts +1 -7
- package/dist/runtime/metadata-parser.js +1 -7
- package/dist/runtime/metadata-php-render.d.ts +1 -7
- package/dist/runtime/metadata-php-render.js +1 -7
- package/dist/runtime/metadata-projection.d.ts +1 -7
- package/dist/runtime/metadata-projection.js +1 -7
- package/dist/runtime/migration/migration-command-surface.d.ts +67 -0
- package/dist/runtime/migration/migration-command-surface.js +191 -0
- package/dist/runtime/migration/migration-constants.d.ts +15 -0
- package/dist/runtime/migration/migration-constants.js +16 -0
- package/dist/runtime/migration/migration-diff-rename.d.ts +13 -0
- package/dist/runtime/migration/migration-diff-rename.js +192 -0
- package/dist/runtime/migration/migration-diff-transform.d.ts +14 -0
- package/dist/runtime/migration/migration-diff-transform.js +105 -0
- package/dist/runtime/migration/migration-diff.d.ts +2 -0
- package/dist/runtime/migration/migration-diff.js +252 -0
- package/dist/runtime/migration/migration-fixtures.d.ts +8 -0
- package/dist/runtime/migration/migration-fixtures.js +94 -0
- package/dist/runtime/migration/migration-fuzz-plan.d.ts +2 -0
- package/dist/runtime/migration/migration-fuzz-plan.js +50 -0
- package/dist/runtime/migration/migration-generated-artifacts.d.ts +3 -0
- package/dist/runtime/migration/migration-generated-artifacts.js +41 -0
- package/dist/runtime/migration/migration-maintenance-fixtures.d.ts +23 -0
- package/dist/runtime/migration/migration-maintenance-fixtures.js +126 -0
- package/dist/runtime/migration/migration-maintenance-verify.d.ts +26 -0
- package/dist/runtime/migration/migration-maintenance-verify.js +267 -0
- package/dist/runtime/migration/migration-maintenance.d.ts +2 -0
- package/dist/runtime/migration/migration-maintenance.js +2 -0
- package/dist/runtime/migration/migration-manifest.d.ts +19 -0
- package/dist/runtime/migration/migration-manifest.js +129 -0
- package/dist/runtime/migration/migration-planning.d.ts +23 -0
- package/dist/runtime/migration/migration-planning.js +131 -0
- package/dist/runtime/migration/migration-project-config-source.d.ts +6 -0
- package/dist/runtime/migration/migration-project-config-source.js +424 -0
- package/dist/runtime/migration/migration-project-layout-discovery.d.ts +61 -0
- package/dist/runtime/migration/migration-project-layout-discovery.js +337 -0
- package/dist/runtime/migration/migration-project-layout-paths.d.ts +135 -0
- package/dist/runtime/migration/migration-project-layout-paths.js +288 -0
- package/dist/runtime/migration/migration-project-layout.d.ts +3 -0
- package/dist/runtime/migration/migration-project-layout.js +2 -0
- package/dist/runtime/migration/migration-project-workspace.d.ts +47 -0
- package/dist/runtime/migration/migration-project-workspace.js +212 -0
- package/dist/runtime/migration/migration-project.d.ts +4 -0
- package/dist/runtime/migration/migration-project.js +3 -0
- package/dist/runtime/migration/migration-render-diff-rule.d.ts +5 -0
- package/dist/runtime/migration/migration-render-diff-rule.js +120 -0
- package/dist/runtime/migration/migration-render-execution.d.ts +3 -0
- package/dist/runtime/migration/migration-render-execution.js +428 -0
- package/dist/runtime/migration/migration-render-generated.d.ts +27 -0
- package/dist/runtime/migration/migration-render-generated.js +234 -0
- package/dist/runtime/migration/migration-render-support.d.ts +3 -0
- package/dist/runtime/migration/migration-render-support.js +16 -0
- package/dist/runtime/migration/migration-render.d.ts +3 -0
- package/dist/runtime/migration/migration-render.js +3 -0
- package/dist/runtime/migration/migration-risk.d.ts +4 -0
- package/dist/runtime/migration/migration-risk.js +52 -0
- package/dist/runtime/migration/migration-types.d.ts +205 -0
- package/dist/runtime/migration/migration-types.js +1 -0
- package/dist/runtime/migration/migration-ui-capability.d.ts +17 -0
- package/dist/runtime/migration/migration-ui-capability.js +202 -0
- package/dist/runtime/migration/migration-utils.d.ts +71 -0
- package/dist/runtime/migration/migration-utils.js +244 -0
- package/dist/runtime/migration/migrations.d.ts +152 -0
- package/dist/runtime/migration/migrations.js +418 -0
- package/dist/runtime/migration-command-surface.d.ts +1 -67
- package/dist/runtime/migration-command-surface.js +1 -191
- package/dist/runtime/migration-constants.d.ts +1 -15
- package/dist/runtime/migration-constants.js +1 -16
- package/dist/runtime/migration-diff-rename.d.ts +1 -13
- package/dist/runtime/migration-diff-rename.js +1 -192
- package/dist/runtime/migration-diff-transform.d.ts +1 -14
- package/dist/runtime/migration-diff-transform.js +1 -105
- package/dist/runtime/migration-diff.d.ts +1 -2
- package/dist/runtime/migration-diff.js +1 -252
- package/dist/runtime/migration-fixtures.d.ts +1 -8
- package/dist/runtime/migration-fixtures.js +1 -94
- package/dist/runtime/migration-fuzz-plan.d.ts +1 -2
- package/dist/runtime/migration-fuzz-plan.js +1 -50
- package/dist/runtime/migration-generated-artifacts.d.ts +1 -3
- package/dist/runtime/migration-generated-artifacts.js +1 -41
- package/dist/runtime/migration-maintenance-fixtures.d.ts +1 -23
- package/dist/runtime/migration-maintenance-fixtures.js +1 -126
- package/dist/runtime/migration-maintenance-verify.d.ts +1 -26
- package/dist/runtime/migration-maintenance-verify.js +1 -267
- package/dist/runtime/migration-maintenance.d.ts +1 -2
- package/dist/runtime/migration-maintenance.js +1 -2
- package/dist/runtime/migration-manifest.d.ts +1 -19
- package/dist/runtime/migration-manifest.js +1 -129
- package/dist/runtime/migration-planning.d.ts +1 -23
- package/dist/runtime/migration-planning.js +1 -131
- package/dist/runtime/migration-project-config-source.d.ts +1 -6
- package/dist/runtime/migration-project-config-source.js +1 -424
- package/dist/runtime/migration-project-layout-discovery.d.ts +1 -61
- package/dist/runtime/migration-project-layout-discovery.js +1 -337
- package/dist/runtime/migration-project-layout-paths.d.ts +1 -135
- package/dist/runtime/migration-project-layout-paths.js +1 -288
- package/dist/runtime/migration-project-layout.d.ts +1 -3
- package/dist/runtime/migration-project-layout.js +1 -2
- package/dist/runtime/migration-project-workspace.d.ts +1 -47
- package/dist/runtime/migration-project-workspace.js +1 -212
- package/dist/runtime/migration-project.d.ts +1 -4
- package/dist/runtime/migration-project.js +1 -3
- package/dist/runtime/migration-render-diff-rule.d.ts +1 -5
- package/dist/runtime/migration-render-diff-rule.js +1 -120
- package/dist/runtime/migration-render-execution.d.ts +1 -3
- package/dist/runtime/migration-render-execution.js +1 -428
- package/dist/runtime/migration-render-generated.d.ts +1 -27
- package/dist/runtime/migration-render-generated.js +1 -234
- package/dist/runtime/migration-render-support.d.ts +1 -3
- package/dist/runtime/migration-render-support.js +1 -16
- package/dist/runtime/migration-render.d.ts +1 -3
- package/dist/runtime/migration-render.js +1 -3
- package/dist/runtime/migration-risk.d.ts +1 -4
- package/dist/runtime/migration-risk.js +1 -52
- package/dist/runtime/migration-types.d.ts +1 -205
- package/dist/runtime/migration-types.js +1 -1
- package/dist/runtime/migration-ui-capability.d.ts +1 -17
- package/dist/runtime/migration-ui-capability.js +1 -202
- package/dist/runtime/migration-utils.d.ts +1 -71
- package/dist/runtime/migration-utils.js +1 -244
- package/dist/runtime/migrations.d.ts +1 -152
- package/dist/runtime/migrations.js +1 -418
- package/dist/runtime/object-utils.d.ts +1 -19
- package/dist/runtime/object-utils.js +1 -31
- package/dist/runtime/package-json-types.d.ts +1 -12
- package/dist/runtime/package-json-types.js +1 -1
- package/dist/runtime/package-managers.d.ts +1 -55
- package/dist/runtime/package-managers.js +1 -236
- package/dist/runtime/package-versions.d.ts +1 -63
- package/dist/runtime/package-versions.js +1 -259
- package/dist/runtime/pattern-catalog-section-roles.d.ts +1 -101
- package/dist/runtime/pattern-catalog-section-roles.js +1 -276
- package/dist/runtime/pattern-catalog.d.ts +1 -68
- package/dist/runtime/pattern-catalog.js +1 -225
- package/dist/runtime/persistence-rest-artifacts.d.ts +1 -76
- package/dist/runtime/persistence-rest-artifacts.js +1 -99
- package/dist/runtime/php-utils.d.ts +1 -32
- package/dist/runtime/php-utils.js +1 -382
- package/dist/runtime/post-meta-binding-fields.d.ts +1 -46
- package/dist/runtime/post-meta-binding-fields.js +1 -135
- package/dist/runtime/rest-resource-artifacts.d.ts +1 -91
- package/dist/runtime/rest-resource-artifacts.js +1 -254
- package/dist/runtime/scaffold-answer-resolution.d.ts +1 -37
- package/dist/runtime/scaffold-answer-resolution.js +1 -155
- package/dist/runtime/scaffold-apply-utils.d.ts +1 -53
- package/dist/runtime/scaffold-apply-utils.js +1 -285
- package/dist/runtime/scaffold-bootstrap.d.ts +1 -60
- package/dist/runtime/scaffold-bootstrap.js +1 -214
- package/dist/runtime/scaffold-compatibility.d.ts +1 -79
- package/dist/runtime/scaffold-compatibility.js +1 -159
- package/dist/runtime/scaffold-documents.d.ts +1 -34
- package/dist/runtime/scaffold-documents.js +1 -197
- package/dist/runtime/scaffold-identifiers.d.ts +1 -51
- package/dist/runtime/scaffold-identifiers.js +1 -105
- package/dist/runtime/scaffold-onboarding.d.ts +1 -49
- package/dist/runtime/scaffold-onboarding.js +1 -217
- package/dist/runtime/scaffold-package-manager-files.d.ts +1 -35
- package/dist/runtime/scaffold-package-manager-files.js +1 -89
- package/dist/runtime/scaffold-repository-reference.d.ts +1 -22
- package/dist/runtime/scaffold-repository-reference.js +1 -117
- package/dist/runtime/scaffold-template-assertions.d.ts +1 -6
- package/dist/runtime/scaffold-template-assertions.js +1 -33
- package/dist/runtime/scaffold-template-variable-groups.d.ts +1 -158
- package/dist/runtime/scaffold-template-variable-groups.js +1 -20
- package/dist/runtime/scaffold-template-variables.d.ts +1 -9
- package/dist/runtime/scaffold-template-variables.js +1 -203
- package/dist/runtime/scaffold.d.ts +1 -205
- package/dist/runtime/scaffold.js +1 -255
- package/dist/runtime/schema/ai-artifacts.d.ts +39 -0
- package/dist/runtime/schema/ai-artifacts.js +67 -0
- package/dist/runtime/schema/metadata-analysis.d.ts +7 -0
- package/dist/runtime/schema/metadata-analysis.js +7 -0
- package/dist/runtime/schema/metadata-model.d.ts +7 -0
- package/dist/runtime/schema/metadata-model.js +7 -0
- package/dist/runtime/schema/metadata-parser.d.ts +7 -0
- package/dist/runtime/schema/metadata-parser.js +7 -0
- package/dist/runtime/schema/metadata-php-render.d.ts +7 -0
- package/dist/runtime/schema/metadata-php-render.js +7 -0
- package/dist/runtime/schema/metadata-projection.d.ts +7 -0
- package/dist/runtime/schema/metadata-projection.js +7 -0
- package/dist/runtime/schema/schema-core.d.ts +7 -0
- package/dist/runtime/schema/schema-core.js +7 -0
- package/dist/runtime/schema/typia-llm-json-schema.d.ts +24 -0
- package/dist/runtime/schema/typia-llm-json-schema.js +33 -0
- package/dist/runtime/schema/typia-llm-openapi-constraints.d.ts +20 -0
- package/dist/runtime/schema/typia-llm-openapi-constraints.js +254 -0
- package/dist/runtime/schema/typia-llm-projection.d.ts +25 -0
- package/dist/runtime/schema/typia-llm-projection.js +58 -0
- package/dist/runtime/schema/typia-llm-render.d.ts +21 -0
- package/dist/runtime/schema/typia-llm-render.js +252 -0
- package/dist/runtime/schema/typia-llm-sync.d.ts +10 -0
- package/dist/runtime/schema/typia-llm-sync.js +63 -0
- package/dist/runtime/schema/typia-llm-types.d.ts +197 -0
- package/dist/runtime/schema/typia-llm-types.js +1 -0
- package/dist/runtime/schema/typia-llm.d.ts +12 -0
- package/dist/runtime/schema/typia-llm.js +5 -0
- package/dist/runtime/schema/typia-tags.d.ts +1 -0
- package/dist/runtime/schema/typia-tags.js +1 -0
- package/dist/runtime/schema/wordpress-ai.d.ts +122 -0
- package/dist/runtime/schema/wordpress-ai.js +177 -0
- package/dist/runtime/schema-core.d.ts +1 -7
- package/dist/runtime/schema-core.js +1 -7
- package/dist/runtime/shared/fs-async.d.ts +35 -0
- package/dist/runtime/shared/fs-async.js +62 -0
- package/dist/runtime/shared/id-suggestions.d.ts +21 -0
- package/dist/runtime/shared/id-suggestions.js +48 -0
- package/dist/runtime/shared/json-utils.d.ts +62 -0
- package/dist/runtime/shared/json-utils.js +78 -0
- package/dist/runtime/shared/object-utils.d.ts +19 -0
- package/dist/runtime/shared/object-utils.js +31 -0
- package/dist/runtime/shared/package-json-types.d.ts +12 -0
- package/dist/runtime/shared/package-json-types.js +1 -0
- package/dist/runtime/shared/package-managers.d.ts +55 -0
- package/dist/runtime/shared/package-managers.js +236 -0
- package/dist/runtime/shared/package-versions.d.ts +63 -0
- package/dist/runtime/shared/package-versions.js +259 -0
- package/dist/runtime/shared/php-utils.d.ts +32 -0
- package/dist/runtime/shared/php-utils.js +382 -0
- package/dist/runtime/shared/string-case.d.ts +46 -0
- package/dist/runtime/shared/string-case.js +140 -0
- package/dist/runtime/shared/temp-roots.d.ts +44 -0
- package/dist/runtime/shared/temp-roots.js +132 -0
- package/dist/runtime/shared/ts-property-names.d.ts +11 -0
- package/dist/runtime/shared/ts-property-names.js +16 -0
- package/dist/runtime/shared/ts-source-masking.d.ts +28 -0
- package/dist/runtime/shared/ts-source-masking.js +104 -0
- package/dist/runtime/shared/version-floor.d.ts +26 -0
- package/dist/runtime/shared/version-floor.js +62 -0
- package/dist/runtime/starter-manifests.d.ts +1 -26
- package/dist/runtime/starter-manifests.js +1 -33
- package/dist/runtime/string-case.d.ts +1 -46
- package/dist/runtime/string-case.js +1 -140
- package/dist/runtime/temp-roots.d.ts +1 -44
- package/dist/runtime/temp-roots.js +1 -132
- package/dist/runtime/template-builtins.d.ts +1 -57
- package/dist/runtime/template-builtins.js +1 -196
- package/dist/runtime/template-defaults.d.ts +1 -82
- package/dist/runtime/template-defaults.js +1 -69
- package/dist/runtime/template-layers.d.ts +1 -37
- package/dist/runtime/template-layers.js +1 -187
- package/dist/runtime/template-registry.d.ts +1 -67
- package/dist/runtime/template-registry.js +1 -191
- package/dist/runtime/template-render.d.ts +1 -58
- package/dist/runtime/template-render.js +1 -196
- package/dist/runtime/template-source-cache-markers.d.ts +1 -37
- package/dist/runtime/template-source-cache-markers.js +1 -130
- package/dist/runtime/template-source-cache-policy.d.ts +1 -53
- package/dist/runtime/template-source-cache-policy.js +1 -135
- package/dist/runtime/template-source-cache.d.ts +1 -143
- package/dist/runtime/template-source-cache.js +1 -481
- package/dist/runtime/template-source-contracts.d.ts +1 -94
- package/dist/runtime/template-source-contracts.js +1 -1
- package/dist/runtime/template-source-external.d.ts +1 -34
- package/dist/runtime/template-source-external.js +1 -241
- package/dist/runtime/template-source-locators.d.ts +1 -4
- package/dist/runtime/template-source-locators.js +1 -72
- package/dist/runtime/template-source-normalization.d.ts +1 -7
- package/dist/runtime/template-source-normalization.js +1 -58
- package/dist/runtime/template-source-remote.d.ts +1 -52
- package/dist/runtime/template-source-remote.js +1 -494
- package/dist/runtime/template-source-seeds.d.ts +1 -25
- package/dist/runtime/template-source-seeds.js +1 -586
- package/dist/runtime/template-source.d.ts +1 -6
- package/dist/runtime/template-source.js +1 -133
- package/dist/runtime/templates/block-generator-service-core.d.ts +8 -0
- package/dist/runtime/templates/block-generator-service-core.js +279 -0
- package/dist/runtime/templates/block-generator-service-spec.d.ts +118 -0
- package/dist/runtime/templates/block-generator-service-spec.js +419 -0
- package/dist/runtime/templates/block-generator-service.d.ts +2 -0
- package/dist/runtime/templates/block-generator-service.js +2 -0
- package/dist/runtime/templates/block-generator-tool-contract.d.ts +93 -0
- package/dist/runtime/templates/block-generator-tool-contract.js +157 -0
- package/dist/runtime/templates/built-in-block-artifact-documents.d.ts +3 -0
- package/dist/runtime/templates/built-in-block-artifact-documents.js +2 -0
- package/dist/runtime/templates/built-in-block-artifact-types.d.ts +51 -0
- package/dist/runtime/templates/built-in-block-artifact-types.js +316 -0
- package/dist/runtime/templates/built-in-block-artifacts.d.ts +37 -0
- package/dist/runtime/templates/built-in-block-artifacts.js +223 -0
- package/dist/runtime/templates/built-in-block-attribute-emitters.d.ts +71 -0
- package/dist/runtime/templates/built-in-block-attribute-emitters.js +176 -0
- package/dist/runtime/templates/built-in-block-attribute-specs.d.ts +38 -0
- package/dist/runtime/templates/built-in-block-attribute-specs.js +359 -0
- package/dist/runtime/templates/built-in-block-code-artifacts.d.ts +31 -0
- package/dist/runtime/templates/built-in-block-code-artifacts.js +208 -0
- package/dist/runtime/templates/built-in-block-code-templates/basic.d.ts +4 -0
- package/dist/runtime/templates/built-in-block-code-templates/basic.js +249 -0
- package/dist/runtime/templates/built-in-block-code-templates/compound-child.d.ts +4 -0
- package/dist/runtime/templates/built-in-block-code-templates/compound-child.js +171 -0
- package/dist/runtime/templates/built-in-block-code-templates/compound-parent.d.ts +6 -0
- package/dist/runtime/templates/built-in-block-code-templates/compound-parent.js +404 -0
- package/dist/runtime/templates/built-in-block-code-templates/compound-persistence.d.ts +4 -0
- package/dist/runtime/templates/built-in-block-code-templates/compound-persistence.js +481 -0
- package/dist/runtime/templates/built-in-block-code-templates/compound.d.ts +3 -0
- package/dist/runtime/templates/built-in-block-code-templates/compound.js +3 -0
- package/dist/runtime/templates/built-in-block-code-templates/interactivity.d.ts +6 -0
- package/dist/runtime/templates/built-in-block-code-templates/interactivity.js +708 -0
- package/dist/runtime/templates/built-in-block-code-templates/persistence.d.ts +5 -0
- package/dist/runtime/templates/built-in-block-code-templates/persistence.js +550 -0
- package/dist/runtime/templates/built-in-block-code-templates/query-loop.d.ts +1 -0
- package/dist/runtime/templates/built-in-block-code-templates/query-loop.js +70 -0
- package/dist/runtime/templates/built-in-block-code-templates/shared.d.ts +16 -0
- package/dist/runtime/templates/built-in-block-code-templates/shared.js +53 -0
- package/dist/runtime/templates/built-in-block-code-templates.d.ts +10 -0
- package/dist/runtime/templates/built-in-block-code-templates.js +10 -0
- package/dist/runtime/templates/built-in-block-non-ts-artifacts.d.ts +18 -0
- package/dist/runtime/templates/built-in-block-non-ts-artifacts.js +30 -0
- package/dist/runtime/templates/built-in-block-non-ts-basic-artifacts.d.ts +9 -0
- package/dist/runtime/templates/built-in-block-non-ts-basic-artifacts.js +84 -0
- package/dist/runtime/templates/built-in-block-non-ts-compound-artifacts.d.ts +9 -0
- package/dist/runtime/templates/built-in-block-non-ts-compound-artifacts.js +36 -0
- package/dist/runtime/templates/built-in-block-non-ts-compound-templates.d.ts +23 -0
- package/dist/runtime/templates/built-in-block-non-ts-compound-templates.js +453 -0
- package/dist/runtime/templates/built-in-block-non-ts-family-artifacts.d.ts +12 -0
- package/dist/runtime/templates/built-in-block-non-ts-family-artifacts.js +12 -0
- package/dist/runtime/templates/built-in-block-non-ts-interactivity-artifacts.d.ts +9 -0
- package/dist/runtime/templates/built-in-block-non-ts-interactivity-artifacts.js +83 -0
- package/dist/runtime/templates/built-in-block-non-ts-persistence-artifacts.d.ts +9 -0
- package/dist/runtime/templates/built-in-block-non-ts-persistence-artifacts.js +33 -0
- package/dist/runtime/templates/built-in-block-non-ts-persistence-templates.d.ts +23 -0
- package/dist/runtime/templates/built-in-block-non-ts-persistence-templates.js +395 -0
- package/dist/runtime/templates/built-in-block-non-ts-render-utils.d.ts +27 -0
- package/dist/runtime/templates/built-in-block-non-ts-render-utils.js +53 -0
- package/dist/runtime/templates/cli-scaffold-emission.d.ts +124 -0
- package/dist/runtime/templates/cli-scaffold-emission.js +45 -0
- package/dist/runtime/templates/cli-scaffold-files.d.ts +22 -0
- package/dist/runtime/templates/cli-scaffold-files.js +69 -0
- package/dist/runtime/templates/cli-scaffold-output.d.ts +79 -0
- package/dist/runtime/templates/cli-scaffold-output.js +49 -0
- package/dist/runtime/templates/cli-scaffold-validation.d.ts +82 -0
- package/dist/runtime/templates/cli-scaffold-validation.js +190 -0
- package/dist/runtime/templates/cli-scaffold.d.ts +70 -0
- package/dist/runtime/templates/cli-scaffold.js +194 -0
- package/dist/runtime/templates/cli-templates.d.ts +30 -0
- package/dist/runtime/templates/cli-templates.js +166 -0
- package/dist/runtime/templates/create-template-validation.d.ts +10 -0
- package/dist/runtime/templates/create-template-validation.js +95 -0
- package/dist/runtime/templates/external-layer-selection.d.ts +20 -0
- package/dist/runtime/templates/external-layer-selection.js +34 -0
- package/dist/runtime/templates/external-template-guards.d.ts +31 -0
- package/dist/runtime/templates/external-template-guards.js +130 -0
- package/dist/runtime/templates/local-dev-presets.d.ts +26 -0
- package/dist/runtime/templates/local-dev-presets.js +151 -0
- package/dist/runtime/templates/scaffold-answer-resolution.d.ts +37 -0
- package/dist/runtime/templates/scaffold-answer-resolution.js +155 -0
- package/dist/runtime/templates/scaffold-apply-utils.d.ts +53 -0
- package/dist/runtime/templates/scaffold-apply-utils.js +283 -0
- package/dist/runtime/templates/scaffold-bootstrap.d.ts +60 -0
- package/dist/runtime/templates/scaffold-bootstrap.js +214 -0
- package/dist/runtime/templates/scaffold-compatibility.d.ts +79 -0
- package/dist/runtime/templates/scaffold-compatibility.js +159 -0
- package/dist/runtime/templates/scaffold-documents.d.ts +34 -0
- package/dist/runtime/templates/scaffold-documents.js +197 -0
- package/dist/runtime/templates/scaffold-identifiers.d.ts +51 -0
- package/dist/runtime/templates/scaffold-identifiers.js +105 -0
- package/dist/runtime/templates/scaffold-onboarding.d.ts +49 -0
- package/dist/runtime/templates/scaffold-onboarding.js +217 -0
- package/dist/runtime/templates/scaffold-package-manager-files.d.ts +35 -0
- package/dist/runtime/templates/scaffold-package-manager-files.js +89 -0
- package/dist/runtime/templates/scaffold-repository-reference.d.ts +22 -0
- package/dist/runtime/templates/scaffold-repository-reference.js +117 -0
- package/dist/runtime/templates/scaffold-template-assertions.d.ts +6 -0
- package/dist/runtime/templates/scaffold-template-assertions.js +33 -0
- package/dist/runtime/templates/scaffold-template-variable-groups.d.ts +158 -0
- package/dist/runtime/templates/scaffold-template-variable-groups.js +20 -0
- package/dist/runtime/templates/scaffold-template-variables.d.ts +9 -0
- package/dist/runtime/templates/scaffold-template-variables.js +203 -0
- package/dist/runtime/templates/scaffold.d.ts +205 -0
- package/dist/runtime/templates/scaffold.js +255 -0
- package/dist/runtime/templates/starter-manifests.d.ts +26 -0
- package/dist/runtime/templates/starter-manifests.js +33 -0
- package/dist/runtime/templates/template-builtins.d.ts +57 -0
- package/dist/runtime/templates/template-builtins.js +196 -0
- package/dist/runtime/templates/template-defaults.d.ts +82 -0
- package/dist/runtime/templates/template-defaults.js +69 -0
- package/dist/runtime/templates/template-layers.d.ts +37 -0
- package/dist/runtime/templates/template-layers.js +187 -0
- package/dist/runtime/templates/template-registry.d.ts +67 -0
- package/dist/runtime/templates/template-registry.js +191 -0
- package/dist/runtime/templates/template-render.d.ts +58 -0
- package/dist/runtime/templates/template-render.js +196 -0
- package/dist/runtime/templates/template-source-cache-markers.d.ts +37 -0
- package/dist/runtime/templates/template-source-cache-markers.js +130 -0
- package/dist/runtime/templates/template-source-cache-policy.d.ts +53 -0
- package/dist/runtime/templates/template-source-cache-policy.js +135 -0
- package/dist/runtime/templates/template-source-cache.d.ts +143 -0
- package/dist/runtime/templates/template-source-cache.js +481 -0
- package/dist/runtime/templates/template-source-contracts.d.ts +94 -0
- package/dist/runtime/templates/template-source-contracts.js +1 -0
- package/dist/runtime/templates/template-source-external.d.ts +34 -0
- package/dist/runtime/templates/template-source-external.js +241 -0
- package/dist/runtime/templates/template-source-locators.d.ts +4 -0
- package/dist/runtime/templates/template-source-locators.js +72 -0
- package/dist/runtime/templates/template-source-normalization.d.ts +7 -0
- package/dist/runtime/templates/template-source-normalization.js +58 -0
- package/dist/runtime/templates/template-source-remote.d.ts +52 -0
- package/dist/runtime/templates/template-source-remote.js +494 -0
- package/dist/runtime/templates/template-source-seeds.d.ts +25 -0
- package/dist/runtime/templates/template-source-seeds.js +586 -0
- package/dist/runtime/templates/template-source.d.ts +6 -0
- package/dist/runtime/templates/template-source.js +133 -0
- package/dist/runtime/ts-property-names.d.ts +1 -11
- package/dist/runtime/ts-property-names.js +1 -16
- package/dist/runtime/ts-source-masking.d.ts +1 -28
- package/dist/runtime/ts-source-masking.js +1 -104
- package/dist/runtime/typia-llm-json-schema.d.ts +1 -24
- package/dist/runtime/typia-llm-json-schema.js +1 -33
- package/dist/runtime/typia-llm-openapi-constraints.d.ts +1 -20
- package/dist/runtime/typia-llm-openapi-constraints.js +1 -254
- package/dist/runtime/typia-llm-projection.d.ts +1 -25
- package/dist/runtime/typia-llm-projection.js +1 -58
- package/dist/runtime/typia-llm-render.d.ts +1 -21
- package/dist/runtime/typia-llm-render.js +1 -252
- package/dist/runtime/typia-llm-sync.d.ts +1 -10
- package/dist/runtime/typia-llm-sync.js +1 -63
- package/dist/runtime/typia-llm-types.d.ts +1 -197
- package/dist/runtime/typia-llm-types.js +1 -1
- package/dist/runtime/typia-llm.d.ts +1 -12
- package/dist/runtime/typia-llm.js +1 -5
- package/dist/runtime/typia-tags.d.ts +1 -1
- package/dist/runtime/typia-tags.js +1 -1
- package/dist/runtime/version-floor.d.ts +1 -26
- package/dist/runtime/version-floor.js +1 -62
- package/dist/runtime/wordpress-ai.d.ts +1 -122
- package/dist/runtime/wordpress-ai.js +1 -177
- package/dist/runtime/workspace/workspace-inventory-mutations.d.ts +24 -0
- package/dist/runtime/workspace/workspace-inventory-mutations.js +195 -0
- package/dist/runtime/workspace/workspace-inventory-parser-entries.d.ts +17 -0
- package/dist/runtime/workspace/workspace-inventory-parser-entries.js +157 -0
- package/dist/runtime/workspace/workspace-inventory-parser-validation.d.ts +104 -0
- package/dist/runtime/workspace/workspace-inventory-parser-validation.js +34 -0
- package/dist/runtime/workspace/workspace-inventory-parser.d.ts +11 -0
- package/dist/runtime/workspace/workspace-inventory-parser.js +54 -0
- package/dist/runtime/workspace/workspace-inventory-read.d.ts +51 -0
- package/dist/runtime/workspace/workspace-inventory-read.js +98 -0
- package/dist/runtime/workspace/workspace-inventory-section-descriptors.d.ts +19 -0
- package/dist/runtime/workspace/workspace-inventory-section-descriptors.js +443 -0
- package/dist/runtime/workspace/workspace-inventory-templates.d.ts +50 -0
- package/dist/runtime/workspace/workspace-inventory-templates.js +277 -0
- package/dist/runtime/workspace/workspace-inventory-types.d.ts +229 -0
- package/dist/runtime/workspace/workspace-inventory-types.js +1 -0
- package/dist/runtime/workspace/workspace-inventory.d.ts +5 -0
- package/dist/runtime/workspace/workspace-inventory.js +4 -0
- package/dist/runtime/workspace/workspace-project.d.ts +66 -0
- package/dist/runtime/workspace/workspace-project.js +142 -0
- package/dist/runtime/workspace-inventory-mutations.d.ts +1 -24
- package/dist/runtime/workspace-inventory-mutations.js +1 -195
- package/dist/runtime/workspace-inventory-parser-entries.d.ts +1 -17
- package/dist/runtime/workspace-inventory-parser-entries.js +1 -157
- package/dist/runtime/workspace-inventory-parser-validation.d.ts +1 -104
- package/dist/runtime/workspace-inventory-parser-validation.js +1 -34
- package/dist/runtime/workspace-inventory-parser.d.ts +1 -11
- package/dist/runtime/workspace-inventory-parser.js +1 -54
- package/dist/runtime/workspace-inventory-read.d.ts +1 -51
- package/dist/runtime/workspace-inventory-read.js +1 -98
- package/dist/runtime/workspace-inventory-section-descriptors.d.ts +1 -19
- package/dist/runtime/workspace-inventory-section-descriptors.js +1 -443
- package/dist/runtime/workspace-inventory-templates.d.ts +1 -50
- package/dist/runtime/workspace-inventory-templates.js +1 -277
- package/dist/runtime/workspace-inventory-types.d.ts +1 -229
- package/dist/runtime/workspace-inventory-types.js +1 -1
- package/dist/runtime/workspace-inventory.d.ts +1 -5
- package/dist/runtime/workspace-inventory.js +1 -4
- package/dist/runtime/workspace-project.d.ts +1 -66
- package/dist/runtime/workspace-project.js +1 -142
- package/package.json +5 -5
- package/templates/_shared/base/package.json.mustache +2 -2
- package/templates/_shared/compound/core/package.json.mustache +2 -2
- package/templates/_shared/compound/persistence/package.json.mustache +2 -2
- package/templates/_shared/persistence/core/package.json.mustache +2 -2
- package/templates/interactivity/package.json.mustache +2 -2
- package/templates/query-loop/package.json.mustache +1 -1
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { parseScaffoldBlockMetadata } from "@wp-typia/block-runtime/blocks";
|
|
4
|
+
import { createDoctorCheck } from "./cli-doctor-workspace-shared.js";
|
|
5
|
+
import { readJsonFileSync } from "../shared/json-utils.js";
|
|
6
|
+
import { hasExecutablePattern, maskTypeScriptCommentsAndLiterals, } from "../shared/ts-source-masking.js";
|
|
7
|
+
const WORKSPACE_BLOCK_IFRAME_COMPATIBILITY_DOC_URL = "https://developer.wordpress.org/block-editor/reference-guides/block-api/block-api-versions/block-migration-for-iframe-editor-compatibility/";
|
|
8
|
+
const WORKSPACE_BLOCK_IFRAME_DIAGNOSTIC_CODES = {
|
|
9
|
+
API_VERSION: "wp-typia.workspace.block.iframe.api-version",
|
|
10
|
+
BLOCK_PROPS: "wp-typia.workspace.block.iframe.block-props",
|
|
11
|
+
EDITOR_GLOBALS: "wp-typia.workspace.block.iframe.editor-globals",
|
|
12
|
+
EDITOR_STYLES: "wp-typia.workspace.block.iframe.editor-styles",
|
|
13
|
+
};
|
|
14
|
+
const WORKSPACE_BLOCK_EDITOR_SOURCE_FILE_PATTERN = /\.[cm]?[jt]sx?$/u;
|
|
15
|
+
const WORKSPACE_BLOCK_EDITOR_SOURCE_BASENAMES = new Set([
|
|
16
|
+
"edit",
|
|
17
|
+
"editor",
|
|
18
|
+
"index",
|
|
19
|
+
"save",
|
|
20
|
+
]);
|
|
21
|
+
const WORKSPACE_BLOCK_EDITOR_SOURCE_DIRECTORIES = new Set([
|
|
22
|
+
"components",
|
|
23
|
+
"controls",
|
|
24
|
+
"editor",
|
|
25
|
+
"inspector",
|
|
26
|
+
]);
|
|
27
|
+
const WORKSPACE_BLOCK_LOCAL_STYLE_FILES = [
|
|
28
|
+
"editor.css",
|
|
29
|
+
"editor.scss",
|
|
30
|
+
"index.css",
|
|
31
|
+
"style.css",
|
|
32
|
+
"style.scss",
|
|
33
|
+
];
|
|
34
|
+
const WORKSPACE_BLOCK_IFRAME_GLOBAL_DOM_PATTERN = /\b(?:document|window)\b|\b(?:parent|top)\b(?!\s*:)/gu;
|
|
35
|
+
const WORKSPACE_BLOCK_PROPS_PATTERN = /\buse(?:Block|InnerBlocks)Props(?:\.save)?\s*\(/u;
|
|
36
|
+
function normalizePathSeparators(relativePath) {
|
|
37
|
+
return relativePath.split(path.sep).join("/");
|
|
38
|
+
}
|
|
39
|
+
function hasRegisteredBlockAsset(value) {
|
|
40
|
+
if (typeof value === "string") {
|
|
41
|
+
return value.trim().length > 0;
|
|
42
|
+
}
|
|
43
|
+
if (Array.isArray(value)) {
|
|
44
|
+
return value.some((entry) => hasRegisteredBlockAsset(entry));
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
function readWorkspaceBlockIframeMetadata(projectDir, blockSlug) {
|
|
49
|
+
const blockJsonRelativePath = path.join("src", "blocks", blockSlug, "block.json");
|
|
50
|
+
const blockJsonPath = path.join(projectDir, blockJsonRelativePath);
|
|
51
|
+
if (!fs.existsSync(blockJsonPath)) {
|
|
52
|
+
return {
|
|
53
|
+
blockJsonRelativePath,
|
|
54
|
+
error: `Missing ${blockJsonRelativePath}`,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const document = parseScaffoldBlockMetadata(readJsonFileSync(blockJsonPath, {
|
|
59
|
+
context: "workspace block metadata",
|
|
60
|
+
}));
|
|
61
|
+
return {
|
|
62
|
+
blockJsonRelativePath,
|
|
63
|
+
document,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
return {
|
|
68
|
+
blockJsonRelativePath,
|
|
69
|
+
error: error instanceof Error ? error.message : String(error),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
function isWorkspaceBlockEditorSource(relativePath) {
|
|
74
|
+
if (!WORKSPACE_BLOCK_EDITOR_SOURCE_FILE_PATTERN.test(relativePath)) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
const normalizedRelativePath = normalizePathSeparators(relativePath);
|
|
78
|
+
const normalizedDirName = path.posix.dirname(normalizedRelativePath);
|
|
79
|
+
const normalizedBaseName = path.posix.basename(normalizedRelativePath, path.posix.extname(normalizedRelativePath));
|
|
80
|
+
if (WORKSPACE_BLOCK_EDITOR_SOURCE_BASENAMES.has(normalizedBaseName)) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
const pathSegments = normalizedDirName.split("/");
|
|
84
|
+
return pathSegments.some((segment) => WORKSPACE_BLOCK_EDITOR_SOURCE_DIRECTORIES.has(segment));
|
|
85
|
+
}
|
|
86
|
+
function isWorkspaceBlockSaveSource(relativePath) {
|
|
87
|
+
const normalizedBaseName = path.basename(relativePath, path.extname(relativePath));
|
|
88
|
+
return normalizedBaseName === "save";
|
|
89
|
+
}
|
|
90
|
+
function collectWorkspaceBlockEditorSources(projectDir, blockSlug) {
|
|
91
|
+
const blockDir = path.join(projectDir, "src", "blocks", blockSlug);
|
|
92
|
+
if (!fs.existsSync(blockDir)) {
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
const collected = [];
|
|
96
|
+
const queue = [blockDir];
|
|
97
|
+
while (queue.length > 0) {
|
|
98
|
+
const currentDir = queue.pop();
|
|
99
|
+
if (!currentDir) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
for (const entry of fs.readdirSync(currentDir, { withFileTypes: true })) {
|
|
103
|
+
const absolutePath = path.join(currentDir, entry.name);
|
|
104
|
+
if (entry.isDirectory()) {
|
|
105
|
+
queue.push(absolutePath);
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
if (!entry.isFile()) {
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
const relativePath = path.relative(projectDir, absolutePath);
|
|
112
|
+
if (!isWorkspaceBlockEditorSource(relativePath)) {
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
collected.push({
|
|
116
|
+
relativePath: normalizePathSeparators(relativePath),
|
|
117
|
+
source: fs.readFileSync(absolutePath, "utf8"),
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return collected.sort((left, right) => left.relativePath.localeCompare(right.relativePath));
|
|
122
|
+
}
|
|
123
|
+
function getSourceLineNumber(source, index) {
|
|
124
|
+
let line = 1;
|
|
125
|
+
for (let cursor = 0; cursor < index; cursor += 1) {
|
|
126
|
+
if (source[cursor] === "\n") {
|
|
127
|
+
line += 1;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return line;
|
|
131
|
+
}
|
|
132
|
+
function isGlobalDomAccessCandidate(source, index, identifier) {
|
|
133
|
+
const lineStart = source.lastIndexOf("\n", index - 1) + 1;
|
|
134
|
+
const lineEndCandidate = source.indexOf("\n", index);
|
|
135
|
+
const lineEnd = lineEndCandidate === -1 ? source.length : lineEndCandidate;
|
|
136
|
+
const lineSource = source.slice(lineStart, lineEnd);
|
|
137
|
+
const trimmedLine = lineSource.trimStart();
|
|
138
|
+
if (trimmedLine.startsWith("import ")) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
if (trimmedLine.startsWith("const ") ||
|
|
142
|
+
trimmedLine.startsWith("let ") ||
|
|
143
|
+
trimmedLine.startsWith("var ")) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
if (trimmedLine.startsWith("function ") || trimmedLine.startsWith("class ")) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
const precedingCharacter = index > 0 ? source[index - 1] : "";
|
|
150
|
+
if (precedingCharacter === "." || precedingCharacter === "'" || precedingCharacter === '"') {
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
return (identifier === "document" ||
|
|
154
|
+
identifier === "window" ||
|
|
155
|
+
identifier === "parent" ||
|
|
156
|
+
identifier === "top");
|
|
157
|
+
}
|
|
158
|
+
function findWorkspaceBlockGlobalDomAccesses(editorSources) {
|
|
159
|
+
return editorSources.flatMap(({ relativePath, source }) => {
|
|
160
|
+
const maskedSource = maskTypeScriptCommentsAndLiterals(source);
|
|
161
|
+
const matches = maskedSource.matchAll(WORKSPACE_BLOCK_IFRAME_GLOBAL_DOM_PATTERN);
|
|
162
|
+
const findings = [];
|
|
163
|
+
for (const match of matches) {
|
|
164
|
+
const identifier = match[0];
|
|
165
|
+
const matchIndex = match.index ?? -1;
|
|
166
|
+
if (matchIndex < 0) {
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
if (!isGlobalDomAccessCandidate(source, matchIndex, identifier)) {
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
findings.push(`${relativePath}:${getSourceLineNumber(source, matchIndex)}`);
|
|
173
|
+
}
|
|
174
|
+
return findings;
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Collect iframe/API v3 compatibility checks for one workspace block.
|
|
179
|
+
*
|
|
180
|
+
* @param projectDir Absolute workspace project root.
|
|
181
|
+
* @param blockSlug Block slug from the workspace inventory.
|
|
182
|
+
* @returns Ordered iframe compatibility doctor checks.
|
|
183
|
+
*/
|
|
184
|
+
export function getWorkspaceBlockIframeCompatibilityChecks(projectDir, blockSlug) {
|
|
185
|
+
const metadataResult = readWorkspaceBlockIframeMetadata(projectDir, blockSlug);
|
|
186
|
+
if (!metadataResult.document) {
|
|
187
|
+
return [
|
|
188
|
+
createDoctorCheck(`Block iframe/API v3 ${blockSlug}`, "warn", metadataResult.error ?? `Unable to inspect ${metadataResult.blockJsonRelativePath}`, WORKSPACE_BLOCK_IFRAME_DIAGNOSTIC_CODES.API_VERSION),
|
|
189
|
+
];
|
|
190
|
+
}
|
|
191
|
+
const blockJson = metadataResult.document;
|
|
192
|
+
const apiVersion = typeof blockJson.apiVersion === "number" && Number.isFinite(blockJson.apiVersion)
|
|
193
|
+
? blockJson.apiVersion
|
|
194
|
+
: null;
|
|
195
|
+
const blockDir = path.join(projectDir, "src", "blocks", blockSlug);
|
|
196
|
+
const localStyleFiles = WORKSPACE_BLOCK_LOCAL_STYLE_FILES.filter((fileName) => fs.existsSync(path.join(blockDir, fileName))).map((fileName) => normalizePathSeparators(path.join("src", "blocks", blockSlug, fileName)));
|
|
197
|
+
const hasRegisteredEditorStyles = hasRegisteredBlockAsset(blockJson.style) ||
|
|
198
|
+
hasRegisteredBlockAsset(blockJson.editorStyle);
|
|
199
|
+
const editorSources = collectWorkspaceBlockEditorSources(projectDir, blockSlug);
|
|
200
|
+
const editorWrapperSources = editorSources.filter((source) => !isWorkspaceBlockSaveSource(source.relativePath));
|
|
201
|
+
const globalDomAccesses = findWorkspaceBlockGlobalDomAccesses(editorSources);
|
|
202
|
+
const hasBlockPropsUsage = editorSources.some(({ source }) => hasExecutablePattern(source, WORKSPACE_BLOCK_PROPS_PATTERN));
|
|
203
|
+
const hasEditorBlockPropsUsage = editorWrapperSources.some(({ source }) => hasExecutablePattern(source, WORKSPACE_BLOCK_PROPS_PATTERN));
|
|
204
|
+
const blockWrapperStatus = editorWrapperSources.length === 0 || hasEditorBlockPropsUsage ? "pass" : "warn";
|
|
205
|
+
const blockWrapperDetail = editorSources.length === 0
|
|
206
|
+
? "No editor-facing block source files found; general file checks will report missing entrypoints"
|
|
207
|
+
: editorWrapperSources.length === 0
|
|
208
|
+
? "No editor wrapper source files found; general file checks will report missing entrypoints"
|
|
209
|
+
: hasEditorBlockPropsUsage
|
|
210
|
+
? "Editor-facing sources use block wrapper props"
|
|
211
|
+
: hasBlockPropsUsage
|
|
212
|
+
? "Only save-facing useBlockProps.save() usage was detected. Confirm the editor wrapper also receives useBlockProps() or useInnerBlocksProps() before relying on iframe editor rendering."
|
|
213
|
+
: "No useBlockProps(), useBlockProps.save(), or useInnerBlocksProps() usage was detected in editor-facing sources. Confirm the block wrapper receives WordPress block editor props before relying on iframe editor rendering.";
|
|
214
|
+
return [
|
|
215
|
+
createDoctorCheck(`Block iframe API version ${blockSlug}`, apiVersion !== null && apiVersion >= 3 ? "pass" : "warn", apiVersion !== null && apiVersion >= 3
|
|
216
|
+
? "block.json declares apiVersion 3 for iframe editor readiness"
|
|
217
|
+
: `Set ${metadataResult.blockJsonRelativePath} apiVersion to 3 after testing the block in iframe-enabled Post Editor and Site Editor contexts. WordPress recommends API v3 for iframe editor compatibility. See ${WORKSPACE_BLOCK_IFRAME_COMPATIBILITY_DOC_URL}`, WORKSPACE_BLOCK_IFRAME_DIAGNOSTIC_CODES.API_VERSION),
|
|
218
|
+
createDoctorCheck(`Block iframe styles ${blockSlug}`, localStyleFiles.length === 0 || hasRegisteredEditorStyles ? "pass" : "warn", localStyleFiles.length === 0
|
|
219
|
+
? "No local block stylesheet source files found to register"
|
|
220
|
+
: hasRegisteredEditorStyles
|
|
221
|
+
? "block.json registers block styles for iframe editor loading"
|
|
222
|
+
: `Found stylesheet source files (${localStyleFiles.join(", ")}) but block.json does not declare style or editorStyle. Register block content styles so iframe editors do not depend on parent admin styles.`, WORKSPACE_BLOCK_IFRAME_DIAGNOSTIC_CODES.EDITOR_STYLES),
|
|
223
|
+
createDoctorCheck(`Block iframe globals ${blockSlug}`, globalDomAccesses.length === 0 ? "pass" : "warn", globalDomAccesses.length === 0
|
|
224
|
+
? "No direct window/document/parent DOM access detected in editor-facing block sources"
|
|
225
|
+
: `Direct global DOM access detected at ${globalDomAccesses.join(", ")}. Prefer element.ownerDocument/defaultView via refs or useRefEffect for iframe editor content.`, WORKSPACE_BLOCK_IFRAME_DIAGNOSTIC_CODES.EDITOR_GLOBALS),
|
|
226
|
+
createDoctorCheck(`Block iframe wrapper ${blockSlug}`, blockWrapperStatus, blockWrapperDetail, WORKSPACE_BLOCK_IFRAME_DIAGNOSTIC_CODES.BLOCK_PROPS),
|
|
227
|
+
];
|
|
228
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DoctorCheck } from "./cli-doctor.js";
|
|
2
|
+
import type { WorkspaceInventory } from "../workspace/workspace-inventory.js";
|
|
3
|
+
import type { WorkspaceProject } from "../workspace/workspace-project.js";
|
|
4
|
+
/**
|
|
5
|
+
* Collect base file, metadata, hook, and collection-import checks for one block.
|
|
6
|
+
*
|
|
7
|
+
* @param workspace Resolved workspace metadata and filesystem paths.
|
|
8
|
+
* @param block Inventory row describing the generated block.
|
|
9
|
+
* @returns Ordered block core doctor checks.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getWorkspaceBlockCoreDoctorChecks(workspace: WorkspaceProject, block: WorkspaceInventory["blocks"][number]): DoctorCheck[];
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { parseScaffoldBlockMetadata } from "@wp-typia/block-runtime/blocks";
|
|
4
|
+
import { checkExistingFiles, createDoctorCheck, WORKSPACE_GENERATED_BLOCK_ARTIFACTS, } from "./cli-doctor-workspace-shared.js";
|
|
5
|
+
import { HOOKED_BLOCK_ANCHOR_PATTERN, HOOKED_BLOCK_POSITION_SET, } from "../add/hooked-blocks.js";
|
|
6
|
+
import { readJsonFileSync } from "../shared/json-utils.js";
|
|
7
|
+
const WORKSPACE_COLLECTION_IMPORT_LINE = "import '../../collection';";
|
|
8
|
+
const WORKSPACE_COLLECTION_IMPORT_PATTERN = /^\s*import\s+["']\.\.\/\.\.\/collection["']\s*;?\s*$/m;
|
|
9
|
+
function getWorkspaceBlockRequiredFiles(block) {
|
|
10
|
+
const blockDir = path.join("src", "blocks", block.slug);
|
|
11
|
+
return Array.from(new Set([
|
|
12
|
+
block.typesFile,
|
|
13
|
+
block.apiTypesFile,
|
|
14
|
+
block.openApiFile,
|
|
15
|
+
path.join(blockDir, "index.tsx"),
|
|
16
|
+
...WORKSPACE_GENERATED_BLOCK_ARTIFACTS.map((fileName) => path.join(blockDir, fileName)),
|
|
17
|
+
].filter((filePath) => typeof filePath === "string")));
|
|
18
|
+
}
|
|
19
|
+
function checkWorkspaceBlockMetadata(projectDir, workspace, block) {
|
|
20
|
+
const blockJsonRelativePath = path.join("src", "blocks", block.slug, "block.json");
|
|
21
|
+
const blockJsonPath = path.join(projectDir, blockJsonRelativePath);
|
|
22
|
+
if (!fs.existsSync(blockJsonPath)) {
|
|
23
|
+
return createDoctorCheck(`Block metadata ${block.slug}`, "fail", `Missing ${blockJsonRelativePath}`);
|
|
24
|
+
}
|
|
25
|
+
let blockJson;
|
|
26
|
+
try {
|
|
27
|
+
blockJson = parseScaffoldBlockMetadata(readJsonFileSync(blockJsonPath, {
|
|
28
|
+
context: "workspace block metadata",
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
return createDoctorCheck(`Block metadata ${block.slug}`, "fail", error instanceof Error ? error.message : String(error));
|
|
33
|
+
}
|
|
34
|
+
const expectedName = `${workspace.workspace.namespace}/${block.slug}`;
|
|
35
|
+
const issues = [];
|
|
36
|
+
if (blockJson.name !== expectedName) {
|
|
37
|
+
issues.push(`block.json name must equal "${expectedName}"`);
|
|
38
|
+
}
|
|
39
|
+
if (blockJson.textdomain !== workspace.workspace.textDomain) {
|
|
40
|
+
issues.push(`block.json textdomain must equal "${workspace.workspace.textDomain}"`);
|
|
41
|
+
}
|
|
42
|
+
return createDoctorCheck(`Block metadata ${block.slug}`, issues.length === 0 ? "pass" : "fail", issues.length === 0
|
|
43
|
+
? `block.json matches ${expectedName} and ${workspace.workspace.textDomain}`
|
|
44
|
+
: issues.join("; "));
|
|
45
|
+
}
|
|
46
|
+
function checkWorkspaceBlockHooks(projectDir, blockSlug) {
|
|
47
|
+
const blockJsonRelativePath = path.join("src", "blocks", blockSlug, "block.json");
|
|
48
|
+
const blockJsonPath = path.join(projectDir, blockJsonRelativePath);
|
|
49
|
+
if (!fs.existsSync(blockJsonPath)) {
|
|
50
|
+
return createDoctorCheck(`Block hooks ${blockSlug}`, "fail", `Missing ${blockJsonRelativePath}`);
|
|
51
|
+
}
|
|
52
|
+
let blockJson;
|
|
53
|
+
try {
|
|
54
|
+
blockJson = parseScaffoldBlockMetadata(readJsonFileSync(blockJsonPath, {
|
|
55
|
+
context: "workspace block metadata",
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
return createDoctorCheck(`Block hooks ${blockSlug}`, "fail", error instanceof Error ? error.message : String(error));
|
|
60
|
+
}
|
|
61
|
+
const blockHooks = blockJson.blockHooks;
|
|
62
|
+
if (blockHooks === undefined) {
|
|
63
|
+
return createDoctorCheck(`Block hooks ${blockSlug}`, "pass", "No blockHooks metadata configured");
|
|
64
|
+
}
|
|
65
|
+
if (!blockHooks || typeof blockHooks !== "object" || Array.isArray(blockHooks)) {
|
|
66
|
+
return createDoctorCheck(`Block hooks ${blockSlug}`, "fail", `${blockJsonRelativePath} must define blockHooks as an object when present.`);
|
|
67
|
+
}
|
|
68
|
+
const blockName = typeof blockJson.name === "string" && blockJson.name.trim().length > 0
|
|
69
|
+
? blockJson.name.trim()
|
|
70
|
+
: null;
|
|
71
|
+
const invalidEntries = Object.entries(blockHooks).filter(([anchor, position]) => (blockName !== null && anchor.trim() === blockName) ||
|
|
72
|
+
anchor.trim().length === 0 ||
|
|
73
|
+
anchor !== anchor.trim() ||
|
|
74
|
+
!HOOKED_BLOCK_ANCHOR_PATTERN.test(anchor) ||
|
|
75
|
+
typeof position !== "string" ||
|
|
76
|
+
!HOOKED_BLOCK_POSITION_SET.has(position));
|
|
77
|
+
return createDoctorCheck(`Block hooks ${blockSlug}`, invalidEntries.length === 0 ? "pass" : "fail", invalidEntries.length === 0
|
|
78
|
+
? `blockHooks metadata is valid${Object.keys(blockHooks).length > 0
|
|
79
|
+
? ` (${Object.keys(blockHooks).join(", ")})`
|
|
80
|
+
: ""}`
|
|
81
|
+
: `Invalid blockHooks entries: ${invalidEntries
|
|
82
|
+
.map(([anchor, position]) => `${anchor || "<empty>"} => ${String(position)}`)
|
|
83
|
+
.join(", ")}`);
|
|
84
|
+
}
|
|
85
|
+
function checkWorkspaceBlockCollectionImport(projectDir, blockSlug) {
|
|
86
|
+
const entryRelativePath = path.join("src", "blocks", blockSlug, "index.tsx");
|
|
87
|
+
const entryPath = path.join(projectDir, entryRelativePath);
|
|
88
|
+
if (!fs.existsSync(entryPath)) {
|
|
89
|
+
return createDoctorCheck(`Block collection ${blockSlug}`, "fail", `Missing ${entryRelativePath}`);
|
|
90
|
+
}
|
|
91
|
+
const source = fs.readFileSync(entryPath, "utf8");
|
|
92
|
+
const hasCollectionImport = WORKSPACE_COLLECTION_IMPORT_PATTERN.test(source);
|
|
93
|
+
return createDoctorCheck(`Block collection ${blockSlug}`, hasCollectionImport ? "pass" : "fail", hasCollectionImport
|
|
94
|
+
? "Shared block collection import is present"
|
|
95
|
+
: `Missing a shared collection import like ${WORKSPACE_COLLECTION_IMPORT_LINE}`);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Collect base file, metadata, hook, and collection-import checks for one block.
|
|
99
|
+
*
|
|
100
|
+
* @param workspace Resolved workspace metadata and filesystem paths.
|
|
101
|
+
* @param block Inventory row describing the generated block.
|
|
102
|
+
* @returns Ordered block core doctor checks.
|
|
103
|
+
*/
|
|
104
|
+
export function getWorkspaceBlockCoreDoctorChecks(workspace, block) {
|
|
105
|
+
return [
|
|
106
|
+
checkExistingFiles(workspace.projectDir, `Block ${block.slug}`, getWorkspaceBlockRequiredFiles(block)),
|
|
107
|
+
checkWorkspaceBlockMetadata(workspace.projectDir, workspace, block),
|
|
108
|
+
checkWorkspaceBlockHooks(workspace.projectDir, block.slug),
|
|
109
|
+
checkWorkspaceBlockCollectionImport(workspace.projectDir, block.slug),
|
|
110
|
+
];
|
|
111
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DoctorCheck } from "./cli-doctor.js";
|
|
2
|
+
import type { WorkspaceInventory } from "../workspace/workspace-inventory.js";
|
|
3
|
+
import type { WorkspaceProject } from "../workspace/workspace-project.js";
|
|
4
|
+
/**
|
|
5
|
+
* Collect block-, variation-, transform-, and pattern-related workspace doctor checks.
|
|
6
|
+
*
|
|
7
|
+
* @param workspace Resolved workspace metadata and filesystem paths.
|
|
8
|
+
* @param inventory Parsed workspace inventory from `scripts/block-config.ts`.
|
|
9
|
+
* @returns Ordered `DoctorCheck[]` rows for extracted block diagnostics.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getWorkspaceBlockDoctorChecks(workspace: WorkspaceProject, inventory: WorkspaceInventory): DoctorCheck[];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { getWorkspaceBlockAddonDoctorChecks, } from "./cli-doctor-workspace-block-addons.js";
|
|
2
|
+
import { getWorkspaceBlockIframeCompatibilityChecks, } from "./cli-doctor-workspace-block-iframe.js";
|
|
3
|
+
import { getWorkspaceBlockCoreDoctorChecks, } from "./cli-doctor-workspace-block-metadata.js";
|
|
4
|
+
/**
|
|
5
|
+
* Collect block-, variation-, transform-, and pattern-related workspace doctor checks.
|
|
6
|
+
*
|
|
7
|
+
* @param workspace Resolved workspace metadata and filesystem paths.
|
|
8
|
+
* @param inventory Parsed workspace inventory from `scripts/block-config.ts`.
|
|
9
|
+
* @returns Ordered `DoctorCheck[]` rows for extracted block diagnostics.
|
|
10
|
+
*/
|
|
11
|
+
export function getWorkspaceBlockDoctorChecks(workspace, inventory) {
|
|
12
|
+
const checks = [];
|
|
13
|
+
for (const block of inventory.blocks) {
|
|
14
|
+
checks.push(...getWorkspaceBlockCoreDoctorChecks(workspace, block));
|
|
15
|
+
checks.push(...getWorkspaceBlockIframeCompatibilityChecks(workspace.projectDir, block.slug));
|
|
16
|
+
}
|
|
17
|
+
const registeredBlockSlugs = new Set(inventory.blocks.map((block) => block.slug));
|
|
18
|
+
checks.push(...getWorkspaceBlockAddonDoctorChecks(workspace, inventory, registeredBlockSlugs));
|
|
19
|
+
return checks;
|
|
20
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DoctorCheck } from "./cli-doctor.js";
|
|
2
|
+
import type { WorkspaceInventory } from "../workspace/workspace-inventory.js";
|
|
3
|
+
import type { WorkspaceProject } from "../workspace/workspace-project.js";
|
|
4
|
+
/**
|
|
5
|
+
* Collect ability workspace doctor checks while preserving existing row order.
|
|
6
|
+
*
|
|
7
|
+
* @param workspace Resolved workspace metadata and filesystem paths.
|
|
8
|
+
* @param abilities Ability entries parsed from the workspace inventory.
|
|
9
|
+
* @returns Ordered ability doctor checks.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getWorkspaceAbilityDoctorChecks(workspace: WorkspaceProject, abilities: WorkspaceInventory["abilities"]): DoctorCheck[];
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { checkExistingFiles, createDoctorCheck, resolveWorkspaceBootstrapPath, WORKSPACE_ABILITY_EDITOR_ASSET, WORKSPACE_ABILITY_EDITOR_SCRIPT, WORKSPACE_ABILITY_GLOB, } from "./cli-doctor-workspace-shared.js";
|
|
4
|
+
import { readJsonFileSync } from "../shared/json-utils.js";
|
|
5
|
+
import { escapeRegex } from "../shared/php-utils.js";
|
|
6
|
+
function getWorkspaceAbilityRequiredFiles(ability) {
|
|
7
|
+
return Array.from(new Set([
|
|
8
|
+
ability.clientFile,
|
|
9
|
+
ability.configFile,
|
|
10
|
+
ability.dataFile,
|
|
11
|
+
ability.inputSchemaFile,
|
|
12
|
+
ability.outputSchemaFile,
|
|
13
|
+
ability.phpFile,
|
|
14
|
+
ability.typesFile,
|
|
15
|
+
]));
|
|
16
|
+
}
|
|
17
|
+
function checkWorkspaceAbilityConfig(projectDir, ability) {
|
|
18
|
+
const configPath = path.join(projectDir, ability.configFile);
|
|
19
|
+
if (!fs.existsSync(configPath)) {
|
|
20
|
+
return createDoctorCheck(`Ability config ${ability.slug}`, "fail", `Missing ${ability.configFile}`);
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const config = readJsonFileSync(configPath, {
|
|
24
|
+
context: "workspace ability config",
|
|
25
|
+
});
|
|
26
|
+
const abilityId = typeof config.abilityId === "string" ? config.abilityId.trim() : "";
|
|
27
|
+
const categorySlug = typeof config.category?.slug === "string"
|
|
28
|
+
? config.category.slug.trim()
|
|
29
|
+
: "";
|
|
30
|
+
const hasValidAbilityId = /^[a-z0-9-]+\/[a-z0-9-]+$/u.test(abilityId);
|
|
31
|
+
const hasValidCategorySlug = /^[a-z0-9-]+$/u.test(categorySlug);
|
|
32
|
+
return createDoctorCheck(`Ability config ${ability.slug}`, hasValidAbilityId && hasValidCategorySlug ? "pass" : "fail", hasValidAbilityId && hasValidCategorySlug
|
|
33
|
+
? `Ability id ${abilityId} in category ${categorySlug} is valid`
|
|
34
|
+
: "Ability config must define a valid abilityId (`namespace/ability-name`) and category.slug.");
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
return createDoctorCheck(`Ability config ${ability.slug}`, "fail", error instanceof Error ? error.message : String(error));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function checkWorkspaceAbilityBootstrap(projectDir, packageName, phpPrefix) {
|
|
41
|
+
const bootstrapPath = resolveWorkspaceBootstrapPath(projectDir, packageName);
|
|
42
|
+
if (!fs.existsSync(bootstrapPath)) {
|
|
43
|
+
return createDoctorCheck("Ability bootstrap", "fail", `Missing ${path.basename(bootstrapPath)}`);
|
|
44
|
+
}
|
|
45
|
+
const source = fs.readFileSync(bootstrapPath, "utf8");
|
|
46
|
+
const loadFunctionName = `${phpPrefix}_load_workflow_abilities`;
|
|
47
|
+
const enqueueFunctionName = `${phpPrefix}_enqueue_workflow_abilities`;
|
|
48
|
+
const loadHook = `add_action( 'plugins_loaded', '${loadFunctionName}' );`;
|
|
49
|
+
const adminEnqueueHook = `add_action( 'admin_enqueue_scripts', '${enqueueFunctionName}' );`;
|
|
50
|
+
const editorEnqueueHook = `add_action( 'enqueue_block_editor_assets', '${enqueueFunctionName}' );`;
|
|
51
|
+
const hasLoaderHook = source.includes(loadHook);
|
|
52
|
+
const hasAdminEnqueueHook = source.includes(adminEnqueueHook);
|
|
53
|
+
const hasEditorEnqueueHook = source.includes(editorEnqueueHook);
|
|
54
|
+
const hasServerGlob = source.includes(WORKSPACE_ABILITY_GLOB);
|
|
55
|
+
const hasEditorScript = source.includes(WORKSPACE_ABILITY_EDITOR_SCRIPT);
|
|
56
|
+
const hasEditorAsset = source.includes(WORKSPACE_ABILITY_EDITOR_ASSET);
|
|
57
|
+
const hasScriptModuleEnqueue = source.includes("wp_enqueue_script_module");
|
|
58
|
+
return createDoctorCheck("Ability bootstrap", hasLoaderHook &&
|
|
59
|
+
hasAdminEnqueueHook &&
|
|
60
|
+
hasEditorEnqueueHook &&
|
|
61
|
+
hasServerGlob &&
|
|
62
|
+
hasEditorScript &&
|
|
63
|
+
hasEditorAsset &&
|
|
64
|
+
hasScriptModuleEnqueue
|
|
65
|
+
? "pass"
|
|
66
|
+
: "fail", hasLoaderHook &&
|
|
67
|
+
hasAdminEnqueueHook &&
|
|
68
|
+
hasEditorEnqueueHook &&
|
|
69
|
+
hasServerGlob &&
|
|
70
|
+
hasEditorScript &&
|
|
71
|
+
hasEditorAsset &&
|
|
72
|
+
hasScriptModuleEnqueue
|
|
73
|
+
? "Ability loader and admin/editor script-module bootstrap hooks are present"
|
|
74
|
+
: "Missing ability loader hook, script-module enqueue, or build/abilities asset references");
|
|
75
|
+
}
|
|
76
|
+
function checkWorkspaceAbilityIndex(projectDir, abilities) {
|
|
77
|
+
const indexRelativePath = [
|
|
78
|
+
path.join("src", "abilities", "index.ts"),
|
|
79
|
+
path.join("src", "abilities", "index.js"),
|
|
80
|
+
].find((relativePath) => fs.existsSync(path.join(projectDir, relativePath)));
|
|
81
|
+
if (!indexRelativePath) {
|
|
82
|
+
return createDoctorCheck("Abilities index", "fail", "Missing src/abilities/index.ts or src/abilities/index.js");
|
|
83
|
+
}
|
|
84
|
+
const indexPath = path.join(projectDir, indexRelativePath);
|
|
85
|
+
const source = fs.readFileSync(indexPath, "utf8");
|
|
86
|
+
const missingExports = abilities.filter((ability) => {
|
|
87
|
+
const exportPattern = new RegExp(`^\\s*export\\s+(?:\\*\\s+from|\\{[^}]+\\}\\s+from)\\s+['"\`]\\./${escapeRegex(ability.slug)}\\/client['"\`]`, "mu");
|
|
88
|
+
return !exportPattern.test(source);
|
|
89
|
+
});
|
|
90
|
+
return createDoctorCheck("Abilities index", missingExports.length === 0 ? "pass" : "fail", missingExports.length === 0
|
|
91
|
+
? "Ability client helpers are aggregated"
|
|
92
|
+
: `Missing ability exports for: ${missingExports.map((entry) => entry.slug).join(", ")}`);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Collect ability workspace doctor checks while preserving existing row order.
|
|
96
|
+
*
|
|
97
|
+
* @param workspace Resolved workspace metadata and filesystem paths.
|
|
98
|
+
* @param abilities Ability entries parsed from the workspace inventory.
|
|
99
|
+
* @returns Ordered ability doctor checks.
|
|
100
|
+
*/
|
|
101
|
+
export function getWorkspaceAbilityDoctorChecks(workspace, abilities) {
|
|
102
|
+
const checks = [];
|
|
103
|
+
if (abilities.length > 0) {
|
|
104
|
+
checks.push(checkWorkspaceAbilityBootstrap(workspace.projectDir, workspace.packageName, workspace.workspace.phpPrefix));
|
|
105
|
+
checks.push(checkWorkspaceAbilityIndex(workspace.projectDir, abilities));
|
|
106
|
+
}
|
|
107
|
+
for (const ability of abilities) {
|
|
108
|
+
checks.push(checkWorkspaceAbilityConfig(workspace.projectDir, ability));
|
|
109
|
+
checks.push(checkExistingFiles(workspace.projectDir, `Ability ${ability.slug}`, getWorkspaceAbilityRequiredFiles(ability)));
|
|
110
|
+
}
|
|
111
|
+
return checks;
|
|
112
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DoctorCheck } from "./cli-doctor.js";
|
|
2
|
+
import type { WorkspaceInventory } from "../workspace/workspace-inventory.js";
|
|
3
|
+
import type { WorkspaceProject } from "../workspace/workspace-project.js";
|
|
4
|
+
/**
|
|
5
|
+
* Collect admin view workspace doctor checks while preserving existing row order.
|
|
6
|
+
*
|
|
7
|
+
* @param workspace Resolved workspace metadata and filesystem paths.
|
|
8
|
+
* @param inventory Parsed workspace inventory from `scripts/block-config.ts`.
|
|
9
|
+
* @returns Ordered admin view doctor checks.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getWorkspaceAdminViewDoctorChecks(workspace: WorkspaceProject, inventory: WorkspaceInventory): DoctorCheck[];
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { hasAdminViewManualSettingsRouteParameters, isAdminViewManualSettingsRestResource, } from "../add/cli-add-workspace-admin-view-types.js";
|
|
4
|
+
import { checkExistingFiles, createDoctorCheck, resolveWorkspaceBootstrapPath, WORKSPACE_ADMIN_VIEW_ASSET, WORKSPACE_ADMIN_VIEW_GLOB, WORKSPACE_ADMIN_VIEW_SCRIPT, WORKSPACE_ADMIN_VIEW_STYLE, } from "./cli-doctor-workspace-shared.js";
|
|
5
|
+
import { escapeRegex } from "../shared/php-utils.js";
|
|
6
|
+
function getWorkspaceAdminViewRequiredFiles(adminView) {
|
|
7
|
+
const adminViewDir = path.join("src", "admin-views", adminView.slug);
|
|
8
|
+
return Array.from(new Set([
|
|
9
|
+
adminView.file,
|
|
10
|
+
adminView.phpFile,
|
|
11
|
+
path.join(adminViewDir, "Screen.tsx"),
|
|
12
|
+
path.join(adminViewDir, "config.ts"),
|
|
13
|
+
path.join(adminViewDir, "data.ts"),
|
|
14
|
+
path.join(adminViewDir, "style.scss"),
|
|
15
|
+
path.join(adminViewDir, "types.ts"),
|
|
16
|
+
]));
|
|
17
|
+
}
|
|
18
|
+
function checkWorkspaceAdminViewConfig(adminView, inventory) {
|
|
19
|
+
if (adminView.source === undefined) {
|
|
20
|
+
return createDoctorCheck(`Admin view config ${adminView.slug}`, "pass", "Admin view uses a replaceable local fetcher");
|
|
21
|
+
}
|
|
22
|
+
const source = adminView.source.trim();
|
|
23
|
+
const restSourceMatch = /^rest-resource:([a-z][a-z0-9-]*)$/u.exec(source);
|
|
24
|
+
const coreDataSourceMatch = /^core-data:(postType|taxonomy)\/([a-z0-9][a-z0-9_-]*)$/u.exec(source);
|
|
25
|
+
const restResourceSlug = restSourceMatch?.[1];
|
|
26
|
+
const restResource = restResourceSlug
|
|
27
|
+
? inventory.restResources.find((entry) => entry.slug === restResourceSlug)
|
|
28
|
+
: undefined;
|
|
29
|
+
const isListCapableRestResource = Boolean(restResource?.methods.includes("list"));
|
|
30
|
+
const isManualSettingsRestResource = isAdminViewManualSettingsRestResource(restResource);
|
|
31
|
+
const hasManualSettingsRouteParameters = isManualSettingsRestResource &&
|
|
32
|
+
hasAdminViewManualSettingsRouteParameters(restResource);
|
|
33
|
+
const isValid = isListCapableRestResource ||
|
|
34
|
+
(isManualSettingsRestResource && !hasManualSettingsRouteParameters) ||
|
|
35
|
+
Boolean(coreDataSourceMatch);
|
|
36
|
+
const failDetail = hasManualSettingsRouteParameters
|
|
37
|
+
? `Admin view source ${source} uses route parameters or regex groups and cannot scaffold a singleton settings form`
|
|
38
|
+
: "Admin view source must use rest-resource:<slug> with a list-capable REST resource, a manual settings contract with a body type, or core-data:<postType|taxonomy>/<name>";
|
|
39
|
+
return createDoctorCheck(`Admin view config ${adminView.slug}`, isValid ? "pass" : "fail", isValid
|
|
40
|
+
? `Admin view source ${source} is ${isManualSettingsRestResource
|
|
41
|
+
? "settings-form capable"
|
|
42
|
+
: coreDataSourceMatch
|
|
43
|
+
? "core-data capable"
|
|
44
|
+
: "list-capable"}`
|
|
45
|
+
: failDetail);
|
|
46
|
+
}
|
|
47
|
+
function checkWorkspaceAdminViewBootstrap(projectDir, packageName, phpPrefix) {
|
|
48
|
+
const bootstrapPath = resolveWorkspaceBootstrapPath(projectDir, packageName);
|
|
49
|
+
if (!fs.existsSync(bootstrapPath)) {
|
|
50
|
+
return createDoctorCheck("Admin view bootstrap", "fail", `Missing ${path.basename(bootstrapPath)}`);
|
|
51
|
+
}
|
|
52
|
+
const source = fs.readFileSync(bootstrapPath, "utf8");
|
|
53
|
+
const loadFunctionName = `${phpPrefix}_load_admin_views`;
|
|
54
|
+
const loadHook = `add_action( 'plugins_loaded', '${loadFunctionName}' );`;
|
|
55
|
+
const hasLoaderHook = source.includes(loadHook);
|
|
56
|
+
const hasServerGlob = source.includes(WORKSPACE_ADMIN_VIEW_GLOB);
|
|
57
|
+
return createDoctorCheck("Admin view bootstrap", hasLoaderHook && hasServerGlob ? "pass" : "fail", hasLoaderHook && hasServerGlob
|
|
58
|
+
? "Admin view PHP loader hook is present"
|
|
59
|
+
: "Missing admin view PHP require glob or plugins_loaded hook");
|
|
60
|
+
}
|
|
61
|
+
function checkWorkspaceAdminViewIndex(projectDir, adminViews) {
|
|
62
|
+
const indexRelativePath = [
|
|
63
|
+
path.join("src", "admin-views", "index.ts"),
|
|
64
|
+
path.join("src", "admin-views", "index.js"),
|
|
65
|
+
].find((relativePath) => fs.existsSync(path.join(projectDir, relativePath)));
|
|
66
|
+
if (!indexRelativePath) {
|
|
67
|
+
return createDoctorCheck("Admin views index", "fail", "Missing src/admin-views/index.ts or src/admin-views/index.js");
|
|
68
|
+
}
|
|
69
|
+
const indexPath = path.join(projectDir, indexRelativePath);
|
|
70
|
+
const source = fs.readFileSync(indexPath, "utf8");
|
|
71
|
+
const missingImports = adminViews.filter((adminView) => {
|
|
72
|
+
const importPattern = new RegExp(`['"\`]\\./${escapeRegex(adminView.slug)}(?:/[^'"\`]*)?['"\`]`, "u");
|
|
73
|
+
return !importPattern.test(source);
|
|
74
|
+
});
|
|
75
|
+
return createDoctorCheck("Admin views index", missingImports.length === 0 ? "pass" : "fail", missingImports.length === 0
|
|
76
|
+
? "Admin view registrations are aggregated"
|
|
77
|
+
: `Missing admin view imports for: ${missingImports
|
|
78
|
+
.map((entry) => entry.slug)
|
|
79
|
+
.join(", ")}`);
|
|
80
|
+
}
|
|
81
|
+
function checkWorkspaceAdminViewPhp(projectDir, adminView) {
|
|
82
|
+
const phpPath = path.join(projectDir, adminView.phpFile);
|
|
83
|
+
if (!fs.existsSync(phpPath)) {
|
|
84
|
+
return createDoctorCheck(`Admin view PHP ${adminView.slug}`, "fail", `Missing ${adminView.phpFile}`);
|
|
85
|
+
}
|
|
86
|
+
const source = fs.readFileSync(phpPath, "utf8");
|
|
87
|
+
const hasAdminMenu = source.includes("add_submenu_page");
|
|
88
|
+
const hasAdminEnqueue = source.includes("admin_enqueue_scripts");
|
|
89
|
+
const hasScript = source.includes(WORKSPACE_ADMIN_VIEW_SCRIPT);
|
|
90
|
+
const hasAsset = source.includes(WORKSPACE_ADMIN_VIEW_ASSET);
|
|
91
|
+
const hasStyle = source.includes(WORKSPACE_ADMIN_VIEW_STYLE);
|
|
92
|
+
const hasComponentsStyleDependency = /['"]wp-components['"]/u.test(source);
|
|
93
|
+
return createDoctorCheck(`Admin view PHP ${adminView.slug}`, hasAdminMenu &&
|
|
94
|
+
hasAdminEnqueue &&
|
|
95
|
+
hasScript &&
|
|
96
|
+
hasAsset &&
|
|
97
|
+
hasStyle &&
|
|
98
|
+
hasComponentsStyleDependency
|
|
99
|
+
? "pass"
|
|
100
|
+
: "fail", hasAdminMenu &&
|
|
101
|
+
hasAdminEnqueue &&
|
|
102
|
+
hasScript &&
|
|
103
|
+
hasAsset &&
|
|
104
|
+
hasStyle &&
|
|
105
|
+
hasComponentsStyleDependency
|
|
106
|
+
? "Admin menu, script, style, and wp-components style dependency are wired"
|
|
107
|
+
: "Missing admin menu, enqueue hook, build/admin-views asset reference, or wp-components style dependency");
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Collect admin view workspace doctor checks while preserving existing row order.
|
|
111
|
+
*
|
|
112
|
+
* @param workspace Resolved workspace metadata and filesystem paths.
|
|
113
|
+
* @param inventory Parsed workspace inventory from `scripts/block-config.ts`.
|
|
114
|
+
* @returns Ordered admin view doctor checks.
|
|
115
|
+
*/
|
|
116
|
+
export function getWorkspaceAdminViewDoctorChecks(workspace, inventory) {
|
|
117
|
+
const checks = [];
|
|
118
|
+
if (inventory.adminViews.length > 0) {
|
|
119
|
+
checks.push(checkWorkspaceAdminViewBootstrap(workspace.projectDir, workspace.packageName, workspace.workspace.phpPrefix));
|
|
120
|
+
checks.push(checkWorkspaceAdminViewIndex(workspace.projectDir, inventory.adminViews));
|
|
121
|
+
}
|
|
122
|
+
for (const adminView of inventory.adminViews) {
|
|
123
|
+
checks.push(checkWorkspaceAdminViewConfig(adminView, inventory));
|
|
124
|
+
checks.push(checkExistingFiles(workspace.projectDir, `Admin view ${adminView.slug}`, getWorkspaceAdminViewRequiredFiles(adminView)));
|
|
125
|
+
checks.push(checkWorkspaceAdminViewPhp(workspace.projectDir, adminView));
|
|
126
|
+
}
|
|
127
|
+
return checks;
|
|
128
|
+
}
|