figma-inspect-cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +156 -0
- package/dist/bin/figma-inspect.d.ts +3 -0
- package/dist/bin/figma-inspect.d.ts.map +1 -0
- package/dist/bin/figma-inspect.js +19 -0
- package/dist/bin/figma-inspect.js.map +1 -0
- package/dist/cli/errors.d.ts +3 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/errors.js +3 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/export-component-set.d.ts +21 -0
- package/dist/cli/export-component-set.d.ts.map +1 -0
- package/dist/cli/export-component-set.js +173 -0
- package/dist/cli/export-component-set.js.map +1 -0
- package/dist/cli/export-contract.d.ts +20 -0
- package/dist/cli/export-contract.d.ts.map +1 -0
- package/dist/cli/export-contract.js +48 -0
- package/dist/cli/export-contract.js.map +1 -0
- package/dist/cli/export-node-contract.d.ts +17 -0
- package/dist/cli/export-node-contract.d.ts.map +1 -0
- package/dist/cli/export-node-contract.js +93 -0
- package/dist/cli/export-node-contract.js.map +1 -0
- package/dist/cli/export-result.d.ts +17 -0
- package/dist/cli/export-result.d.ts.map +1 -0
- package/dist/cli/export-result.js +22 -0
- package/dist/cli/export-result.js.map +1 -0
- package/dist/cli/export-team-index.d.ts +18 -0
- package/dist/cli/export-team-index.d.ts.map +1 -0
- package/dist/cli/export-team-index.js +121 -0
- package/dist/cli/export-team-index.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/output.d.ts +13 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +26 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cli/parse-args.d.ts +3 -0
- package/dist/cli/parse-args.d.ts.map +1 -0
- package/dist/cli/parse-args.js +790 -0
- package/dist/cli/parse-args.js.map +1 -0
- package/dist/cli/run-cli.d.ts +3 -0
- package/dist/cli/run-cli.d.ts.map +1 -0
- package/dist/cli/run-cli.js +416 -0
- package/dist/cli/run-cli.js.map +1 -0
- package/dist/cli/types.d.ts +114 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +2 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/usage.d.ts +2 -0
- package/dist/cli/usage.d.ts.map +1 -0
- package/dist/cli/usage.js +75 -0
- package/dist/cli/usage.js.map +1 -0
- package/dist/figma-api/cache/cached-request.d.ts +8 -0
- package/dist/figma-api/cache/cached-request.d.ts.map +1 -0
- package/dist/figma-api/cache/cached-request.js +100 -0
- package/dist/figma-api/cache/cached-request.js.map +1 -0
- package/dist/figma-api/cache/constants.d.ts +5 -0
- package/dist/figma-api/cache/constants.d.ts.map +1 -0
- package/dist/figma-api/cache/constants.js +5 -0
- package/dist/figma-api/cache/constants.js.map +1 -0
- package/dist/figma-api/cache/extract-metadata.d.ts +3 -0
- package/dist/figma-api/cache/extract-metadata.d.ts.map +1 -0
- package/dist/figma-api/cache/extract-metadata.js +13 -0
- package/dist/figma-api/cache/extract-metadata.js.map +1 -0
- package/dist/figma-api/cache/index.d.ts +3 -0
- package/dist/figma-api/cache/index.d.ts.map +1 -0
- package/dist/figma-api/cache/index.js +3 -0
- package/dist/figma-api/cache/index.js.map +1 -0
- package/dist/figma-api/cache/store.d.ts +10 -0
- package/dist/figma-api/cache/store.d.ts.map +1 -0
- package/dist/figma-api/cache/store.js +53 -0
- package/dist/figma-api/cache/store.js.map +1 -0
- package/dist/figma-api/cache/types.d.ts +20 -0
- package/dist/figma-api/cache/types.d.ts.map +1 -0
- package/dist/figma-api/cache/types.js +2 -0
- package/dist/figma-api/cache/types.js.map +1 -0
- package/dist/figma-api/cache/url.d.ts +5 -0
- package/dist/figma-api/cache/url.d.ts.map +1 -0
- package/dist/figma-api/cache/url.js +20 -0
- package/dist/figma-api/cache/url.js.map +1 -0
- package/dist/figma-api/constants.d.ts +2 -0
- package/dist/figma-api/constants.d.ts.map +1 -0
- package/dist/figma-api/constants.js +2 -0
- package/dist/figma-api/constants.js.map +1 -0
- package/dist/figma-api/fetch-with-retry.d.ts +2 -0
- package/dist/figma-api/fetch-with-retry.d.ts.map +1 -0
- package/dist/figma-api/fetch-with-retry.js +48 -0
- package/dist/figma-api/fetch-with-retry.js.map +1 -0
- package/dist/figma-api/figma-api-error.d.ts +4 -0
- package/dist/figma-api/figma-api-error.d.ts.map +1 -0
- package/dist/figma-api/figma-api-error.js +7 -0
- package/dist/figma-api/figma-api-error.js.map +1 -0
- package/dist/figma-api/figma-request.d.ts +2 -0
- package/dist/figma-api/figma-request.d.ts.map +1 -0
- package/dist/figma-api/figma-request.js +21 -0
- package/dist/figma-api/figma-request.js.map +1 -0
- package/dist/figma-api/format-figma-error.d.ts +2 -0
- package/dist/figma-api/format-figma-error.d.ts.map +1 -0
- package/dist/figma-api/format-figma-error.js +24 -0
- package/dist/figma-api/format-figma-error.js.map +1 -0
- package/dist/figma-api/get-component-set.d.ts +4 -0
- package/dist/figma-api/get-component-set.d.ts.map +1 -0
- package/dist/figma-api/get-component-set.js +8 -0
- package/dist/figma-api/get-component-set.js.map +1 -0
- package/dist/figma-api/get-file-images.d.ts +4 -0
- package/dist/figma-api/get-file-images.d.ts.map +1 -0
- package/dist/figma-api/get-file-images.js +45 -0
- package/dist/figma-api/get-file-images.js.map +1 -0
- package/dist/figma-api/get-file-node.d.ts +3 -0
- package/dist/figma-api/get-file-node.d.ts.map +1 -0
- package/dist/figma-api/get-file-node.js +8 -0
- package/dist/figma-api/get-file-node.js.map +1 -0
- package/dist/figma-api/get-file.d.ts +3 -0
- package/dist/figma-api/get-file.d.ts.map +1 -0
- package/dist/figma-api/get-file.js +6 -0
- package/dist/figma-api/get-file.js.map +1 -0
- package/dist/figma-api/index.d.ts +11 -0
- package/dist/figma-api/index.d.ts.map +1 -0
- package/dist/figma-api/index.js +11 -0
- package/dist/figma-api/index.js.map +1 -0
- package/dist/figma-api/list-file-component-sets.d.ts +4 -0
- package/dist/figma-api/list-file-component-sets.d.ts.map +1 -0
- package/dist/figma-api/list-file-component-sets.js +8 -0
- package/dist/figma-api/list-file-component-sets.js.map +1 -0
- package/dist/figma-api/list-file-components.d.ts +5 -0
- package/dist/figma-api/list-file-components.d.ts.map +1 -0
- package/dist/figma-api/list-file-components.js +13 -0
- package/dist/figma-api/list-file-components.js.map +1 -0
- package/dist/figma-api/list-file-pages.d.ts +4 -0
- package/dist/figma-api/list-file-pages.d.ts.map +1 -0
- package/dist/figma-api/list-file-pages.js +10 -0
- package/dist/figma-api/list-file-pages.js.map +1 -0
- package/dist/figma-api/list-project-files.d.ts +4 -0
- package/dist/figma-api/list-project-files.d.ts.map +1 -0
- package/dist/figma-api/list-project-files.js +8 -0
- package/dist/figma-api/list-project-files.js.map +1 -0
- package/dist/figma-api/list-team-component-sets.d.ts +4 -0
- package/dist/figma-api/list-team-component-sets.d.ts.map +1 -0
- package/dist/figma-api/list-team-component-sets.js +19 -0
- package/dist/figma-api/list-team-component-sets.js.map +1 -0
- package/dist/figma-api/list-team-project-files.d.ts +4 -0
- package/dist/figma-api/list-team-project-files.d.ts.map +1 -0
- package/dist/figma-api/list-team-project-files.js +19 -0
- package/dist/figma-api/list-team-project-files.js.map +1 -0
- package/dist/figma-api/list-team-projects.d.ts +4 -0
- package/dist/figma-api/list-team-projects.d.ts.map +1 -0
- package/dist/figma-api/list-team-projects.js +8 -0
- package/dist/figma-api/list-team-projects.js.map +1 -0
- package/dist/figma-api/schemas.d.ts +95 -0
- package/dist/figma-api/schemas.d.ts.map +1 -0
- package/dist/figma-api/schemas.js +154 -0
- package/dist/figma-api/schemas.js.map +1 -0
- package/dist/figma-api/types.d.ts +60 -0
- package/dist/figma-api/types.d.ts.map +1 -0
- package/dist/figma-api/types.js +2 -0
- package/dist/figma-api/types.js.map +1 -0
- package/dist/inspect/component-set-context.d.ts +11 -0
- package/dist/inspect/component-set-context.d.ts.map +1 -0
- package/dist/inspect/component-set-context.js +71 -0
- package/dist/inspect/component-set-context.js.map +1 -0
- package/dist/inspect/component-set-lookup.d.ts +6 -0
- package/dist/inspect/component-set-lookup.d.ts.map +1 -0
- package/dist/inspect/component-set-lookup.js +40 -0
- package/dist/inspect/component-set-lookup.js.map +1 -0
- package/dist/inspect/component-set-pseudocode/asset-backed-contract.d.ts +3 -0
- package/dist/inspect/component-set-pseudocode/asset-backed-contract.d.ts.map +1 -0
- package/dist/inspect/component-set-pseudocode/asset-backed-contract.js +34 -0
- package/dist/inspect/component-set-pseudocode/asset-backed-contract.js.map +1 -0
- package/dist/inspect/component-set-pseudocode/assets-contract.d.ts +9 -0
- package/dist/inspect/component-set-pseudocode/assets-contract.d.ts.map +1 -0
- package/dist/inspect/component-set-pseudocode/assets-contract.js +4 -0
- package/dist/inspect/component-set-pseudocode/assets-contract.js.map +1 -0
- package/dist/inspect/component-set-pseudocode/baseline-contract.d.ts +17 -0
- package/dist/inspect/component-set-pseudocode/baseline-contract.d.ts.map +1 -0
- package/dist/inspect/component-set-pseudocode/baseline-contract.js +67 -0
- package/dist/inspect/component-set-pseudocode/baseline-contract.js.map +1 -0
- package/dist/inspect/component-set-pseudocode/build-pseudocode.d.ts +24 -0
- package/dist/inspect/component-set-pseudocode/build-pseudocode.d.ts.map +1 -0
- package/dist/inspect/component-set-pseudocode/build-pseudocode.js +83 -0
- package/dist/inspect/component-set-pseudocode/build-pseudocode.js.map +1 -0
- package/dist/inspect/component-set-pseudocode/index.d.ts +2 -0
- package/dist/inspect/component-set-pseudocode/index.d.ts.map +1 -0
- package/dist/inspect/component-set-pseudocode/index.js +2 -0
- package/dist/inspect/component-set-pseudocode/index.js.map +1 -0
- package/dist/inspect/component-set-pseudocode/infer.d.ts +4 -0
- package/dist/inspect/component-set-pseudocode/infer.d.ts.map +1 -0
- package/dist/inspect/component-set-pseudocode/infer.js +426 -0
- package/dist/inspect/component-set-pseudocode/infer.js.map +1 -0
- package/dist/inspect/component-set-pseudocode/meta-contract.d.ts +27 -0
- package/dist/inspect/component-set-pseudocode/meta-contract.d.ts.map +1 -0
- package/dist/inspect/component-set-pseudocode/meta-contract.js +136 -0
- package/dist/inspect/component-set-pseudocode/meta-contract.js.map +1 -0
- package/dist/inspect/component-set-pseudocode/slim-node-guards.d.ts +14 -0
- package/dist/inspect/component-set-pseudocode/slim-node-guards.d.ts.map +1 -0
- package/dist/inspect/component-set-pseudocode/slim-node-guards.js +28 -0
- package/dist/inspect/component-set-pseudocode/slim-node-guards.js.map +1 -0
- package/dist/inspect/component-set-pseudocode/structure-contract.d.ts +71 -0
- package/dist/inspect/component-set-pseudocode/structure-contract.d.ts.map +1 -0
- package/dist/inspect/component-set-pseudocode/structure-contract.js +281 -0
- package/dist/inspect/component-set-pseudocode/structure-contract.js.map +1 -0
- package/dist/inspect/component-set-pseudocode/structure-dsl.d.ts +3 -0
- package/dist/inspect/component-set-pseudocode/structure-dsl.d.ts.map +1 -0
- package/dist/inspect/component-set-pseudocode/structure-dsl.js +170 -0
- package/dist/inspect/component-set-pseudocode/structure-dsl.js.map +1 -0
- package/dist/inspect/component-set-pseudocode/types.d.ts +44 -0
- package/dist/inspect/component-set-pseudocode/types.d.ts.map +1 -0
- package/dist/inspect/component-set-pseudocode/types.js +2 -0
- package/dist/inspect/component-set-pseudocode/types.js.map +1 -0
- package/dist/inspect/component-set-pseudocode/universal.d.ts +14 -0
- package/dist/inspect/component-set-pseudocode/universal.d.ts.map +1 -0
- package/dist/inspect/component-set-pseudocode/universal.js +393 -0
- package/dist/inspect/component-set-pseudocode/universal.js.map +1 -0
- package/dist/inspect/component-set-spec/bound-variables.d.ts +14 -0
- package/dist/inspect/component-set-spec/bound-variables.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/bound-variables.js +53 -0
- package/dist/inspect/component-set-spec/bound-variables.js.map +1 -0
- package/dist/inspect/component-set-spec/build-spec.d.ts +9 -0
- package/dist/inspect/component-set-spec/build-spec.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/build-spec.js +102 -0
- package/dist/inspect/component-set-spec/build-spec.js.map +1 -0
- package/dist/inspect/component-set-spec/compact-spec.d.ts +3 -0
- package/dist/inspect/component-set-spec/compact-spec.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/compact-spec.js +357 -0
- package/dist/inspect/component-set-spec/compact-spec.js.map +1 -0
- package/dist/inspect/component-set-spec/extract-slots.d.ts +5 -0
- package/dist/inspect/component-set-spec/extract-slots.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/extract-slots.js +57 -0
- package/dist/inspect/component-set-spec/extract-slots.js.map +1 -0
- package/dist/inspect/component-set-spec/figma-node.d.ts +9 -0
- package/dist/inspect/component-set-spec/figma-node.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/figma-node.js +31 -0
- package/dist/inspect/component-set-spec/figma-node.js.map +1 -0
- package/dist/inspect/component-set-spec/index.d.ts +2 -0
- package/dist/inspect/component-set-spec/index.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/index.js +2 -0
- package/dist/inspect/component-set-spec/index.js.map +1 -0
- package/dist/inspect/component-set-spec/parse-props.d.ts +9 -0
- package/dist/inspect/component-set-spec/parse-props.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/parse-props.js +96 -0
- package/dist/inspect/component-set-spec/parse-props.js.map +1 -0
- package/dist/inspect/component-set-spec/prop-name.d.ts +5 -0
- package/dist/inspect/component-set-spec/prop-name.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/prop-name.js +26 -0
- package/dist/inspect/component-set-spec/prop-name.js.map +1 -0
- package/dist/inspect/component-set-spec/resolve-tokens.d.ts +4 -0
- package/dist/inspect/component-set-spec/resolve-tokens.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/resolve-tokens.js +42 -0
- package/dist/inspect/component-set-spec/resolve-tokens.js.map +1 -0
- package/dist/inspect/component-set-spec/slim-context.d.ts +6 -0
- package/dist/inspect/component-set-spec/slim-context.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/slim-context.js +2 -0
- package/dist/inspect/component-set-spec/slim-context.js.map +1 -0
- package/dist/inspect/component-set-spec/slim-node.d.ts +5 -0
- package/dist/inspect/component-set-spec/slim-node.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/slim-node.js +393 -0
- package/dist/inspect/component-set-spec/slim-node.js.map +1 -0
- package/dist/inspect/component-set-spec/slim-text-export.d.ts +8 -0
- package/dist/inspect/component-set-spec/slim-text-export.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/slim-text-export.js +74 -0
- package/dist/inspect/component-set-spec/slim-text-export.js.map +1 -0
- package/dist/inspect/component-set-spec/team-component-registry.d.ts +19 -0
- package/dist/inspect/component-set-spec/team-component-registry.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/team-component-registry.js +96 -0
- package/dist/inspect/component-set-spec/team-component-registry.js.map +1 -0
- package/dist/inspect/component-set-spec/types.d.ts +127 -0
- package/dist/inspect/component-set-spec/types.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/types.js +2 -0
- package/dist/inspect/component-set-spec/types.js.map +1 -0
- package/dist/inspect/component-set-spec/variable-registry.d.ts +8 -0
- package/dist/inspect/component-set-spec/variable-registry.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/variable-registry.js +74 -0
- package/dist/inspect/component-set-spec/variable-registry.js.map +1 -0
- package/dist/inspect/component-set-spec/variant-axes.d.ts +2 -0
- package/dist/inspect/component-set-spec/variant-axes.d.ts.map +1 -0
- package/dist/inspect/component-set-spec/variant-axes.js +14 -0
- package/dist/inspect/component-set-spec/variant-axes.js.map +1 -0
- package/dist/inspect/contract/contract-format.d.ts +5 -0
- package/dist/inspect/contract/contract-format.d.ts.map +1 -0
- package/dist/inspect/contract/contract-format.js +26 -0
- package/dist/inspect/contract/contract-format.js.map +1 -0
- package/dist/inspect/contract/contract-lock.d.ts +75 -0
- package/dist/inspect/contract/contract-lock.d.ts.map +1 -0
- package/dist/inspect/contract/contract-lock.js +326 -0
- package/dist/inspect/contract/contract-lock.js.map +1 -0
- package/dist/inspect/contract/contract-schema.d.ts +51 -0
- package/dist/inspect/contract/contract-schema.d.ts.map +1 -0
- package/dist/inspect/contract/contract-schema.js +130 -0
- package/dist/inspect/contract/contract-schema.js.map +1 -0
- package/dist/inspect/contract/fingerprint.d.ts +9 -0
- package/dist/inspect/contract/fingerprint.d.ts.map +1 -0
- package/dist/inspect/contract/fingerprint.js +301 -0
- package/dist/inspect/contract/fingerprint.js.map +1 -0
- package/dist/inspect/contract/lock-metadata.d.ts +30 -0
- package/dist/inspect/contract/lock-metadata.d.ts.map +1 -0
- package/dist/inspect/contract/lock-metadata.js +101 -0
- package/dist/inspect/contract/lock-metadata.js.map +1 -0
- package/dist/inspect/contract/stable-stringify.d.ts +2 -0
- package/dist/inspect/contract/stable-stringify.d.ts.map +1 -0
- package/dist/inspect/contract/stable-stringify.js +14 -0
- package/dist/inspect/contract/stable-stringify.js.map +1 -0
- package/dist/inspect/contract/verify-component-contract.d.ts +19 -0
- package/dist/inspect/contract/verify-component-contract.d.ts.map +1 -0
- package/dist/inspect/contract/verify-component-contract.js +126 -0
- package/dist/inspect/contract/verify-component-contract.js.map +1 -0
- package/dist/inspect/errors.d.ts +4 -0
- package/dist/inspect/errors.d.ts.map +1 -0
- package/dist/inspect/errors.js +7 -0
- package/dist/inspect/errors.js.map +1 -0
- package/dist/inspect/export/assert-asset-exportable.d.ts +3 -0
- package/dist/inspect/export/assert-asset-exportable.d.ts.map +1 -0
- package/dist/inspect/export/assert-asset-exportable.js +45 -0
- package/dist/inspect/export/assert-asset-exportable.js.map +1 -0
- package/dist/inspect/export/export-nested-assets.d.ts +94 -0
- package/dist/inspect/export/export-nested-assets.d.ts.map +1 -0
- package/dist/inspect/export/export-nested-assets.js +333 -0
- package/dist/inspect/export/export-nested-assets.js.map +1 -0
- package/dist/inspect/export/export-node-preview.d.ts +24 -0
- package/dist/inspect/export/export-node-preview.d.ts.map +1 -0
- package/dist/inspect/export/export-node-preview.js +34 -0
- package/dist/inspect/export/export-node-preview.js.map +1 -0
- package/dist/inspect/export/export-variant-assets.d.ts +18 -0
- package/dist/inspect/export/export-variant-assets.d.ts.map +1 -0
- package/dist/inspect/export/export-variant-assets.js +127 -0
- package/dist/inspect/export/export-variant-assets.js.map +1 -0
- package/dist/inspect/export/normalize-exported-svg.d.ts +2 -0
- package/dist/inspect/export/normalize-exported-svg.d.ts.map +1 -0
- package/dist/inspect/export/normalize-exported-svg.js +15 -0
- package/dist/inspect/export/normalize-exported-svg.js.map +1 -0
- package/dist/inspect/export/rendered-image-bytes.d.ts +4 -0
- package/dist/inspect/export/rendered-image-bytes.d.ts.map +1 -0
- package/dist/inspect/export/rendered-image-bytes.js +24 -0
- package/dist/inspect/export/rendered-image-bytes.js.map +1 -0
- package/dist/inspect/export-contract-target.d.ts +7 -0
- package/dist/inspect/export-contract-target.d.ts.map +1 -0
- package/dist/inspect/export-contract-target.js +33 -0
- package/dist/inspect/export-contract-target.js.map +1 -0
- package/dist/inspect/fetch-file-entry.d.ts +4 -0
- package/dist/inspect/fetch-file-entry.d.ts.map +1 -0
- package/dist/inspect/fetch-file-entry.js +7 -0
- package/dist/inspect/fetch-file-entry.js.map +1 -0
- package/dist/inspect/fetch-file-node-entry.d.ts +4 -0
- package/dist/inspect/fetch-file-node-entry.d.ts.map +1 -0
- package/dist/inspect/fetch-file-node-entry.js +7 -0
- package/dist/inspect/fetch-file-node-entry.js.map +1 -0
- package/dist/inspect/figma-node-url.d.ts +3 -0
- package/dist/inspect/figma-node-url.d.ts.map +1 -0
- package/dist/inspect/figma-node-url.js +30 -0
- package/dist/inspect/figma-node-url.js.map +1 -0
- package/dist/inspect/get-node-component-set.d.ts +5 -0
- package/dist/inspect/get-node-component-set.d.ts.map +1 -0
- package/dist/inspect/get-node-component-set.js +10 -0
- package/dist/inspect/get-node-component-set.js.map +1 -0
- package/dist/inspect/index.d.ts +17 -0
- package/dist/inspect/index.d.ts.map +1 -0
- package/dist/inspect/index.js +17 -0
- package/dist/inspect/index.js.map +1 -0
- package/dist/inspect/list-all-component-sets.d.ts +3 -0
- package/dist/inspect/list-all-component-sets.d.ts.map +1 -0
- package/dist/inspect/list-all-component-sets.js +27 -0
- package/dist/inspect/list-all-component-sets.js.map +1 -0
- package/dist/inspect/list-component-set-properties.d.ts +4 -0
- package/dist/inspect/list-component-set-properties.d.ts.map +1 -0
- package/dist/inspect/list-component-set-properties.js +73 -0
- package/dist/inspect/list-component-set-properties.js.map +1 -0
- package/dist/inspect/node-contract/build-node-contract.d.ts +12 -0
- package/dist/inspect/node-contract/build-node-contract.d.ts.map +1 -0
- package/dist/inspect/node-contract/build-node-contract.js +212 -0
- package/dist/inspect/node-contract/build-node-contract.js.map +1 -0
- package/dist/inspect/node-contract/dependencies.d.ts +5 -0
- package/dist/inspect/node-contract/dependencies.d.ts.map +1 -0
- package/dist/inspect/node-contract/dependencies.js +84 -0
- package/dist/inspect/node-contract/dependencies.js.map +1 -0
- package/dist/inspect/node-contract/index.d.ts +6 -0
- package/dist/inspect/node-contract/index.d.ts.map +1 -0
- package/dist/inspect/node-contract/index.js +6 -0
- package/dist/inspect/node-contract/index.js.map +1 -0
- package/dist/inspect/node-contract/node-kind.d.ts +9 -0
- package/dist/inspect/node-contract/node-kind.d.ts.map +1 -0
- package/dist/inspect/node-contract/node-kind.js +31 -0
- package/dist/inspect/node-contract/node-kind.js.map +1 -0
- package/dist/inspect/node-contract/node-lock.d.ts +6 -0
- package/dist/inspect/node-contract/node-lock.d.ts.map +1 -0
- package/dist/inspect/node-contract/node-lock.js +181 -0
- package/dist/inspect/node-contract/node-lock.js.map +1 -0
- package/dist/inspect/node-contract/node-schema.d.ts +14 -0
- package/dist/inspect/node-contract/node-schema.d.ts.map +1 -0
- package/dist/inspect/node-contract/node-schema.js +137 -0
- package/dist/inspect/node-contract/node-schema.js.map +1 -0
- package/dist/inspect/node-contract/paths.d.ts +10 -0
- package/dist/inspect/node-contract/paths.d.ts.map +1 -0
- package/dist/inspect/node-contract/paths.js +29 -0
- package/dist/inspect/node-contract/paths.js.map +1 -0
- package/dist/inspect/node-contract/tokens.d.ts +4 -0
- package/dist/inspect/node-contract/tokens.d.ts.map +1 -0
- package/dist/inspect/node-contract/tokens.js +30 -0
- package/dist/inspect/node-contract/tokens.js.map +1 -0
- package/dist/inspect/node-contract/types.d.ts +84 -0
- package/dist/inspect/node-contract/types.d.ts.map +1 -0
- package/dist/inspect/node-contract/types.js +2 -0
- package/dist/inspect/node-contract/types.js.map +1 -0
- package/dist/inspect/node-contract/verify-node-contract.d.ts +20 -0
- package/dist/inspect/node-contract/verify-node-contract.d.ts.map +1 -0
- package/dist/inspect/node-contract/verify-node-contract.js +131 -0
- package/dist/inspect/node-contract/verify-node-contract.js.map +1 -0
- package/dist/inspect/resolve-team-component-set.d.ts +14 -0
- package/dist/inspect/resolve-team-component-set.d.ts.map +1 -0
- package/dist/inspect/resolve-team-component-set.js +77 -0
- package/dist/inspect/resolve-team-component-set.js.map +1 -0
- package/dist/inspect/schemas.d.ts +37 -0
- package/dist/inspect/schemas.d.ts.map +1 -0
- package/dist/inspect/schemas.js +79 -0
- package/dist/inspect/schemas.js.map +1 -0
- package/dist/inspect/team-index.d.ts +76 -0
- package/dist/inspect/team-index.d.ts.map +1 -0
- package/dist/inspect/team-index.js +361 -0
- package/dist/inspect/team-index.js.map +1 -0
- package/dist/inspect/types.d.ts +46 -0
- package/dist/inspect/types.d.ts.map +1 -0
- package/dist/inspect/types.js +2 -0
- package/dist/inspect/types.js.map +1 -0
- package/dist/test/fixtures.d.ts +3 -0
- package/dist/test/fixtures.d.ts.map +1 -0
- package/dist/test/fixtures.js +6 -0
- package/dist/test/fixtures.js.map +1 -0
- package/dist/zod/parse-valid-entries.d.ts +4 -0
- package/dist/zod/parse-valid-entries.d.ts.map +1 -0
- package/dist/zod/parse-valid-entries.js +20 -0
- package/dist/zod/parse-valid-entries.js.map +1 -0
- package/package.json +39 -0
package/README.md
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# figma-inspect-cli
|
|
2
|
+
|
|
3
|
+
Node.js CLI for inspecting Figma API resources and exporting AI-friendly
|
|
4
|
+
contracts for component sets, frames, and standalone components.
|
|
5
|
+
|
|
6
|
+
## Setup
|
|
7
|
+
|
|
8
|
+
```sh
|
|
9
|
+
npm install
|
|
10
|
+
npm run build
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Set the environment variables needed by API-backed commands:
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
export FIGMA_API_TOKEN="figd_..."
|
|
17
|
+
export FIGMA_TEAM_ID="<team_id>"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
From the repository, run the compiled CLI with `npx .`:
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
npx . --help
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
For source-mode development, use `npm run dev -- <flags>`.
|
|
27
|
+
|
|
28
|
+
## Commands
|
|
29
|
+
|
|
30
|
+
Only one command can be passed per invocation. `FIGMA_API_TOKEN` is required for
|
|
31
|
+
all API-backed commands and verification. `FIGMA_TEAM_ID` is required for
|
|
32
|
+
team-scoped commands, `--export-team-index`, `--export-component-set`, and
|
|
33
|
+
`--export-contract` when the target is a `COMPONENT_SET`.
|
|
34
|
+
|
|
35
|
+
| Command | Main arguments | Output |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| `--list-team-projects` | none | Team projects |
|
|
38
|
+
| `--list-project-files` | `--project-id <id>` | Files in one project |
|
|
39
|
+
| `--list-team-project-files` | none | Files across team projects |
|
|
40
|
+
| `--export-team-index` | `--output-dir <dir>` | `team.index.yaml` plus per-file `*.index.yaml` |
|
|
41
|
+
| `--list-team-component-sets` | none | Published team component sets |
|
|
42
|
+
| `--list-file-pages` | `--file-key <key>` | Pages in one file |
|
|
43
|
+
| `--list-file-component-sets` | `--file-key <key>` | Component sets in one file |
|
|
44
|
+
| `--inspect-component-set-properties` | `--url <figma-url>` or `--file-key <key> --node-id <id>` plus component set key/name | Nested component-set properties |
|
|
45
|
+
| `--inspect-component-set` | `--url <figma-url>` or `--file-key <key> --node-id <id>` plus component set key/name | Raw `COMPONENT_SET` node |
|
|
46
|
+
| `--inspect-team-component-set` | `--component-set-key <key>` or `--component-set-name <name>` | Raw published component set |
|
|
47
|
+
| `--inspect-file-node` | `--url <figma-url>` or `--file-key <key> --node-id <id>` | Raw file node |
|
|
48
|
+
| `--build-component-set-spec` | `--input <path> --variables <path>` | Compact local component-set spec |
|
|
49
|
+
| `--build-component-set-pseudocode` | `--input <path> --variables <path>` | Local component-set contract files |
|
|
50
|
+
| `--export-contract` | `--output-dir <dir> --variables <path>` plus URL or file/node ref | Auto-detected component-set, frame, or component contracts |
|
|
51
|
+
| `--export-component-set` | `--output-dir <dir> --variables <path>` plus URL or component set key/name | Component-set contracts |
|
|
52
|
+
| `--export-node-contract` | `--output-dir <dir> --variables <path>` plus URL or file/node ref | Frame or standalone component contracts |
|
|
53
|
+
| `--verify-component-contract` | `--contract-dir <dir>` | Component-set lock verification |
|
|
54
|
+
| `--verify-node-contract` | `--contract-dir <dir>` | Frame/component lock verification |
|
|
55
|
+
|
|
56
|
+
Common optional flags:
|
|
57
|
+
|
|
58
|
+
- `--json` prints JSON instead of YAML, or writes JSON data artifacts for export
|
|
59
|
+
commands. Lock files remain YAML and structure files remain DSL. `--json` is
|
|
60
|
+
not supported with `--export-team-index`.
|
|
61
|
+
- `--team-components <path>` is supported by local component-set build commands.
|
|
62
|
+
- `--export-preview`, `--preview-format png|svg`, and `--preview-scale <scale>`
|
|
63
|
+
write a root preview image next to exported contracts.
|
|
64
|
+
- `--export-assets` writes one SVG per component-set variant. It is supported by
|
|
65
|
+
`--export-component-set` and by `--export-contract` when the target is a
|
|
66
|
+
`COMPONENT_SET`.
|
|
67
|
+
- `--export-nested-assets` writes selected nested nodes as sidecar assets. Use
|
|
68
|
+
`--asset-node-id <id>` or `--asset-include-regex <regex>` to choose nodes.
|
|
69
|
+
`--asset-format svg|png`, `--asset-scale <scale>`, `--asset-node-types <csv>`,
|
|
70
|
+
and `--asset-max <number>` refine nested asset export.
|
|
71
|
+
- `--screen-similarity-threshold <number>` and `--screen-size-tolerance <px>`
|
|
72
|
+
refine screen grouping for `--export-team-index`.
|
|
73
|
+
|
|
74
|
+
## Discovery
|
|
75
|
+
|
|
76
|
+
```sh
|
|
77
|
+
npx . --list-team-projects
|
|
78
|
+
npx . --list-project-files --project-id <project_id>
|
|
79
|
+
npx . --list-team-project-files
|
|
80
|
+
npx . --export-team-index --output-dir tmp/figma-index
|
|
81
|
+
npx . --list-team-component-sets
|
|
82
|
+
npx . --list-file-pages --file-key <file_key>
|
|
83
|
+
npx . --list-file-component-sets --file-key <file_key>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
`--export-team-index` writes a compact `team.index.yaml` router plus one sibling
|
|
87
|
+
`*.index.yaml` per Figma file. Per-file indexes include component sets,
|
|
88
|
+
standalone components, screens, and screen groups. Detailed contracts are
|
|
89
|
+
exported later with `--export-contract`, `--export-component-set`, or
|
|
90
|
+
`--export-node-contract`.
|
|
91
|
+
|
|
92
|
+
## Inspect
|
|
93
|
+
|
|
94
|
+
```sh
|
|
95
|
+
npx . --inspect-component-set-properties --file-key <file_key> --node-id <node_id> --component-set-name Cell
|
|
96
|
+
npx . --inspect-component-set --file-key <file_key> --node-id <node_id> --component-set-key <component_set_key>
|
|
97
|
+
npx . --inspect-component-set --url "https://www.figma.com/design/<file_key>/<name>?node-id=<node_id>"
|
|
98
|
+
npx . --inspect-team-component-set --component-set-name Toast
|
|
99
|
+
npx . --inspect-file-node --file-key <file_key> --node-id <node_id>
|
|
100
|
+
npx . --inspect-file-node --url "https://www.figma.com/design/<file_key>/<name>?node-id=<node_id>"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Local Build
|
|
104
|
+
|
|
105
|
+
Build local artifacts from a saved raw `COMPONENT_SET` JSON file:
|
|
106
|
+
|
|
107
|
+
```sh
|
|
108
|
+
npx . --inspect-component-set ... --json > tmp/Toast.json
|
|
109
|
+
npx . --build-component-set-spec --input tmp/Toast.json --variables tmp/cp-ds-styles-variables-local.json
|
|
110
|
+
npx . --build-component-set-spec --input tmp/Toast.json --variables tmp/cp-ds-styles-variables-local.json --team-components tmp/ComponentSets.json
|
|
111
|
+
npx . --build-component-set-pseudocode --input tmp/Toast.json --variables tmp/cp-ds-styles-variables-local.json --output-dir tmp
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Export
|
|
115
|
+
|
|
116
|
+
`--export-contract` auto-detects supported node types:
|
|
117
|
+
|
|
118
|
+
- `COMPONENT_SET` writes `<Name>.component-set.{visuals,geometry,meta}.yaml`,
|
|
119
|
+
`<Name>.component-set.structure.dsl`, and `<Name>.component-set.lock.yaml`.
|
|
120
|
+
- `FRAME` writes `<Name>.frame.{visuals,geometry,meta}.yaml`,
|
|
121
|
+
`<Name>.frame.structure.dsl`, and `<Name>.frame.lock.yaml`.
|
|
122
|
+
- Standalone `COMPONENT` writes `<Name>.component.{visuals,geometry,meta}.yaml`,
|
|
123
|
+
`<Name>.component.structure.dsl`, and `<Name>.component.lock.yaml`.
|
|
124
|
+
|
|
125
|
+
```sh
|
|
126
|
+
npx . --export-contract --output-dir tmp --variables tmp/cp-ds-styles-variables-local.json --url "https://www.figma.com/design/<file_key>/<name>?node-id=<node_id>"
|
|
127
|
+
npx . --export-contract --output-dir tmp --variables tmp/cp-ds-styles-variables-local.json --file-key <file_key> --node-id <node_id>
|
|
128
|
+
npx . --export-component-set --output-dir tmp --variables tmp/cp-ds-styles-variables-local.json --component-set-name RoadmapHeader
|
|
129
|
+
npx . --export-component-set --output-dir tmp --variables tmp/cp-ds-styles-variables-local.json --url "<component_set_url>"
|
|
130
|
+
npx . --export-node-contract --output-dir tmp --variables tmp/cp-ds-styles-variables-local.json --url "<frame_or_component_url>"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
URL-based exports also write `import-notes.md`.
|
|
134
|
+
|
|
135
|
+
## Assets And Previews
|
|
136
|
+
|
|
137
|
+
```sh
|
|
138
|
+
npx . --export-contract --output-dir tmp --variables tmp/cp-ds-styles-variables-local.json --url "<figma_url>" --export-preview
|
|
139
|
+
npx . --export-contract --output-dir tmp --variables tmp/cp-ds-styles-variables-local.json --url "<figma_url>" --export-preview --preview-format svg
|
|
140
|
+
npx . --export-component-set --output-dir tmp --variables tmp/cp-ds-styles-variables-local.json --component-set-name ProfileStreakIcon --export-assets
|
|
141
|
+
npx . --export-node-contract --output-dir tmp --variables tmp/cp-ds-styles-variables-local.json --url "<frame_url>" --export-nested-assets --asset-node-id <nested_node_id>
|
|
142
|
+
npx . --export-node-contract --output-dir tmp --variables tmp/cp-ds-styles-variables-local.json --url "<frame_url>" --export-nested-assets --asset-include-regex "icon|logo" --asset-node-types INSTANCE,VECTOR --asset-format svg --asset-format png
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Variant asset export writes `<Name>.assets/*.svg` and references those paths from
|
|
146
|
+
`meta.assets`. Nested asset export writes `<Name>.assets/*.{svg,png}` plus
|
|
147
|
+
`<Name>.<kind>.nested-assets.yaml`.
|
|
148
|
+
|
|
149
|
+
## Verify
|
|
150
|
+
|
|
151
|
+
```sh
|
|
152
|
+
npx . --verify-component-contract --contract-dir tmp
|
|
153
|
+
npx . --verify-component-contract --contract-dir tmp --component-name Cell --json
|
|
154
|
+
npx . --verify-node-contract --contract-dir tmp
|
|
155
|
+
npx . --verify-node-contract --contract-dir tmp --node-name Settings --json
|
|
156
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figma-inspect.d.ts","sourceRoot":"","sources":["../../src/bin/figma-inspect.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { CliError, runCli } from "../cli/index.js";
|
|
3
|
+
runCli(process.argv.slice(2), {
|
|
4
|
+
env: process.env,
|
|
5
|
+
stdout: process.stdout,
|
|
6
|
+
stderr: process.stderr,
|
|
7
|
+
}).catch((error) => {
|
|
8
|
+
if (error instanceof CliError) {
|
|
9
|
+
process.stderr.write(`${error.message}\n`);
|
|
10
|
+
}
|
|
11
|
+
else if (error instanceof Error) {
|
|
12
|
+
process.stderr.write(`Unexpected error: ${error.message}\n`);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
process.stderr.write("Unexpected error: unknown error\n");
|
|
16
|
+
}
|
|
17
|
+
process.exitCode = 1;
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=figma-inspect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figma-inspect.js","sourceRoot":"","sources":["../../src/bin/figma-inspect.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,MAAM,EAAE,OAAO,CAAC,MAAM;CACvB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC1B,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/cli/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/cli/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;CAAG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ContractFormat } from "../inspect/contract/contract-format.js";
|
|
2
|
+
import { type ExportPreviewOptions, type NestedAssetsOptions } from "../inspect/index.js";
|
|
3
|
+
import type { ComponentSetTarget } from "../inspect/types.js";
|
|
4
|
+
import type { ExportArtifactPathExtras, ExportArtifactPaths } from "./export-result.js";
|
|
5
|
+
export interface ExportComponentSetOptions {
|
|
6
|
+
token: string;
|
|
7
|
+
teamId: string;
|
|
8
|
+
outputDir: string;
|
|
9
|
+
componentSet: ComponentSetTarget;
|
|
10
|
+
sourceUrl?: string;
|
|
11
|
+
variablesPath: string;
|
|
12
|
+
exportAssets?: boolean;
|
|
13
|
+
assetFormat?: "svg";
|
|
14
|
+
nestedAssets?: NestedAssetsOptions;
|
|
15
|
+
preview?: ExportPreviewOptions;
|
|
16
|
+
format?: ContractFormat;
|
|
17
|
+
}
|
|
18
|
+
export interface ExportComponentSetResult extends ExportArtifactPaths, ExportArtifactPathExtras {
|
|
19
|
+
}
|
|
20
|
+
export declare function exportComponentSet(options: ExportComponentSetOptions): Promise<ExportComponentSetResult>;
|
|
21
|
+
//# sourceMappingURL=export-component-set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-component-set.d.ts","sourceRoot":"","sources":["../../src/cli/export-component-set.ts"],"names":[],"mappings":"AASA,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,wCAAwC,CAAC;AAoBhD,OAAO,EAEL,KAAK,oBAAoB,EAKzB,KAAK,mBAAmB,EAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,kBAAkB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,wBACf,SAAQ,mBAAmB,EACzB,wBAAwB;CAAG;AAsD/B,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAmLnC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { filterFileComponentsForComponentSet, getComponentSetByKey, listFileComponents, } from "../figma-api/index.js";
|
|
4
|
+
import { readString } from "../inspect/component-set-spec/figma-node.js";
|
|
5
|
+
import { contractArtifactFileName, serializeContractData, } from "../inspect/contract/contract-format.js";
|
|
6
|
+
import { buildContractLock, collectUnchangedVariantNodeIds, readContractLock, resolveContractLockPath, stabilizeContractLockDates, toLockVariants, writeContractLock, } from "../inspect/contract/contract-lock.js";
|
|
7
|
+
import { readComponentContractArtifacts, validateComponentContractArtifacts, } from "../inspect/contract/contract-schema.js";
|
|
8
|
+
import { fingerprintAssetFiles, fingerprintContractSurface, fingerprintContracts, fingerprintTree, } from "../inspect/contract/fingerprint.js";
|
|
9
|
+
import { buildComponentSetPseudocodeFromRaw, exportNestedAssets, exportNodePreview, exportVariantAssets, loadComponentSetContext, resolveTeamComponentSetScope, } from "../inspect/index.js";
|
|
10
|
+
function sanitizeFileName(name) {
|
|
11
|
+
return name.replace(/[/\\?%*:|"<>]/g, "_");
|
|
12
|
+
}
|
|
13
|
+
function teamComponentEntryFromPublishedSet(publishedSet) {
|
|
14
|
+
return {
|
|
15
|
+
id: publishedSet.id,
|
|
16
|
+
key: publishedSet.key,
|
|
17
|
+
name: publishedSet.name,
|
|
18
|
+
fileKey: publishedSet.fileKey,
|
|
19
|
+
projectId: publishedSet.projectId,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
async function writeDataFile(filePath, value, format) {
|
|
23
|
+
await writeFile(filePath, serializeContractData(value, format), "utf8");
|
|
24
|
+
}
|
|
25
|
+
async function writeImportNotes(options) {
|
|
26
|
+
if (!options.sourceUrl) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
const notesPath = path.join(options.outputDir, "import-notes.md");
|
|
30
|
+
const lines = [
|
|
31
|
+
"# Import Notes",
|
|
32
|
+
"",
|
|
33
|
+
`sourceUrl: ${JSON.stringify(options.sourceUrl)}`,
|
|
34
|
+
`fileKey: ${JSON.stringify(options.fileKey)}`,
|
|
35
|
+
`nodeId: ${JSON.stringify(options.nodeId)}`,
|
|
36
|
+
`componentSetKey: ${JSON.stringify(options.componentSetKey)}`,
|
|
37
|
+
`componentSetName: ${JSON.stringify(options.componentSetName)}`,
|
|
38
|
+
"",
|
|
39
|
+
];
|
|
40
|
+
await writeFile(notesPath, lines.join("\n"), "utf8");
|
|
41
|
+
return notesPath;
|
|
42
|
+
}
|
|
43
|
+
export async function exportComponentSet(options) {
|
|
44
|
+
const scope = await resolveTeamComponentSetScope({
|
|
45
|
+
token: options.token,
|
|
46
|
+
teamId: options.teamId,
|
|
47
|
+
componentSet: options.componentSet,
|
|
48
|
+
});
|
|
49
|
+
const [context, componentSetMeta, fileComponents] = await Promise.all([
|
|
50
|
+
loadComponentSetContext({
|
|
51
|
+
token: options.token,
|
|
52
|
+
...scope,
|
|
53
|
+
}),
|
|
54
|
+
getComponentSetByKey({
|
|
55
|
+
token: options.token,
|
|
56
|
+
componentSetKey: scope.publishedSet.key,
|
|
57
|
+
}),
|
|
58
|
+
listFileComponents({
|
|
59
|
+
token: options.token,
|
|
60
|
+
fileKey: scope.fileKey,
|
|
61
|
+
}),
|
|
62
|
+
]);
|
|
63
|
+
const raw = context.tree;
|
|
64
|
+
const baseName = sanitizeFileName(scope.publishedSet.name);
|
|
65
|
+
const componentSetNodeId = readString(raw, "id") ?? componentSetMeta.node_id;
|
|
66
|
+
await mkdir(options.outputDir, { recursive: true });
|
|
67
|
+
const format = options.format ?? "yaml";
|
|
68
|
+
const visualsContractPath = path.join(options.outputDir, contractArtifactFileName(baseName, "visuals", format));
|
|
69
|
+
const geometryContractPath = path.join(options.outputDir, contractArtifactFileName(baseName, "geometry", format));
|
|
70
|
+
const metaContractPath = path.join(options.outputDir, contractArtifactFileName(baseName, "meta", format));
|
|
71
|
+
const lockContractPath = resolveContractLockPath(options.outputDir, baseName);
|
|
72
|
+
const structureDslPath = path.join(options.outputDir, `${baseName}.component-set.structure.dsl`);
|
|
73
|
+
const lockVariants = toLockVariants(filterFileComponentsForComponentSet(fileComponents, componentSetNodeId));
|
|
74
|
+
const previousLock = await readContractLock(lockContractPath);
|
|
75
|
+
const treeFingerprint = fingerprintTree(raw);
|
|
76
|
+
const contractSurfaceFingerprint = fingerprintContractSurface(raw);
|
|
77
|
+
const skipNodeIds = collectUnchangedVariantNodeIds(previousLock, lockVariants, treeFingerprint, contractSurfaceFingerprint);
|
|
78
|
+
let assetsDir;
|
|
79
|
+
let exportedAssets;
|
|
80
|
+
if (options.exportAssets) {
|
|
81
|
+
exportedAssets = await exportVariantAssets({
|
|
82
|
+
token: options.token,
|
|
83
|
+
fileKey: scope.fileKey,
|
|
84
|
+
componentSet: raw,
|
|
85
|
+
baseName,
|
|
86
|
+
outputDir: options.outputDir,
|
|
87
|
+
format: options.assetFormat ?? "svg",
|
|
88
|
+
skipNodeIds,
|
|
89
|
+
});
|
|
90
|
+
assetsDir = exportedAssets.assetsDir;
|
|
91
|
+
}
|
|
92
|
+
const previewPath = options.preview
|
|
93
|
+
? (await exportNodePreview({
|
|
94
|
+
token: options.token,
|
|
95
|
+
fileKey: scope.fileKey,
|
|
96
|
+
nodeId: componentSetNodeId,
|
|
97
|
+
baseName,
|
|
98
|
+
kind: "component-set",
|
|
99
|
+
outputDir: options.outputDir,
|
|
100
|
+
preview: options.preview,
|
|
101
|
+
})).previewPath
|
|
102
|
+
: undefined;
|
|
103
|
+
const nestedAssetsResult = options.nestedAssets
|
|
104
|
+
? await exportNestedAssets({
|
|
105
|
+
token: options.token,
|
|
106
|
+
fileKey: scope.fileKey,
|
|
107
|
+
root: raw,
|
|
108
|
+
baseName,
|
|
109
|
+
kind: "component-set",
|
|
110
|
+
outputDir: options.outputDir,
|
|
111
|
+
nestedAssets: options.nestedAssets,
|
|
112
|
+
})
|
|
113
|
+
: undefined;
|
|
114
|
+
const contractResult = await buildComponentSetPseudocodeFromRaw(raw, {
|
|
115
|
+
variablesPath: options.variablesPath,
|
|
116
|
+
assetBacked: options.exportAssets,
|
|
117
|
+
assets: exportedAssets?.assets,
|
|
118
|
+
format,
|
|
119
|
+
metaContext: {
|
|
120
|
+
component: teamComponentEntryFromPublishedSet(scope.publishedSet),
|
|
121
|
+
teamComponents: scope.teamComponents,
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
await writeDataFile(visualsContractPath, contractResult.visuals, format);
|
|
125
|
+
await writeDataFile(geometryContractPath, contractResult.geometry, format);
|
|
126
|
+
await writeDataFile(metaContractPath, contractResult.meta, format);
|
|
127
|
+
await writeFile(structureDslPath, contractResult.structureDsl, "utf8");
|
|
128
|
+
const artifacts = await readComponentContractArtifacts(options.outputDir, baseName, format);
|
|
129
|
+
validateComponentContractArtifacts(artifacts, format);
|
|
130
|
+
const lock = stabilizeContractLockDates(previousLock, buildContractLock({
|
|
131
|
+
source: {
|
|
132
|
+
fileKey: scope.fileKey,
|
|
133
|
+
nodeId: componentSetNodeId,
|
|
134
|
+
nodeType: "COMPONENT_SET",
|
|
135
|
+
...(options.sourceUrl ? { sourceUrl: options.sourceUrl } : {}),
|
|
136
|
+
componentSetKey: componentSetMeta.key,
|
|
137
|
+
componentSetUpdatedAt: componentSetMeta.updated_at,
|
|
138
|
+
},
|
|
139
|
+
variants: lockVariants,
|
|
140
|
+
fingerprints: {
|
|
141
|
+
tree: treeFingerprint,
|
|
142
|
+
contractSurface: contractSurfaceFingerprint,
|
|
143
|
+
contracts: fingerprintContracts(contractResult.visuals, contractResult.geometry, contractResult.meta, contractResult.structureDsl),
|
|
144
|
+
...(assetsDir
|
|
145
|
+
? {
|
|
146
|
+
assets: await fingerprintAssetFiles(assetsDir, exportedAssets?.assetSlugs ?? []),
|
|
147
|
+
}
|
|
148
|
+
: {}),
|
|
149
|
+
},
|
|
150
|
+
}));
|
|
151
|
+
await writeContractLock(lockContractPath, lock);
|
|
152
|
+
const importNotesPath = await writeImportNotes({
|
|
153
|
+
outputDir: options.outputDir,
|
|
154
|
+
sourceUrl: options.sourceUrl,
|
|
155
|
+
fileKey: scope.fileKey,
|
|
156
|
+
nodeId: componentSetNodeId,
|
|
157
|
+
componentSetKey: componentSetMeta.key,
|
|
158
|
+
componentSetName: scope.publishedSet.name,
|
|
159
|
+
});
|
|
160
|
+
return {
|
|
161
|
+
visualsContractPath,
|
|
162
|
+
geometryContractPath,
|
|
163
|
+
metaContractPath,
|
|
164
|
+
lockContractPath,
|
|
165
|
+
structureDslPath,
|
|
166
|
+
previewPath,
|
|
167
|
+
assetsDir,
|
|
168
|
+
nestedAssetsDir: nestedAssetsResult?.nestedAssetsDir,
|
|
169
|
+
nestedAssetsManifestPath: nestedAssetsResult?.nestedAssetsManifestPath,
|
|
170
|
+
importNotesPath,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=export-component-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-component-set.js","sourceRoot":"","sources":["../../src/cli/export-component-set.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ContractFormat } from "../inspect/contract/contract-format.js";
|
|
2
|
+
import type { ExportPreviewOptions, NestedAssetsOptions } from "../inspect/index.js";
|
|
3
|
+
import type { FigmaNodeRef } from "../inspect/types.js";
|
|
4
|
+
import { type ExportComponentSetResult } from "./export-component-set.js";
|
|
5
|
+
import { type ExportNodeContractResult } from "./export-node-contract.js";
|
|
6
|
+
export interface ExportContractOptions extends FigmaNodeRef {
|
|
7
|
+
token: string;
|
|
8
|
+
teamId?: string;
|
|
9
|
+
outputDir: string;
|
|
10
|
+
sourceUrl?: string;
|
|
11
|
+
variablesPath: string;
|
|
12
|
+
exportAssets?: boolean;
|
|
13
|
+
assetFormat?: "svg";
|
|
14
|
+
nestedAssets?: NestedAssetsOptions;
|
|
15
|
+
preview?: ExportPreviewOptions;
|
|
16
|
+
format?: ContractFormat;
|
|
17
|
+
}
|
|
18
|
+
export type ExportContractResult = ExportComponentSetResult | ExportNodeContractResult;
|
|
19
|
+
export declare function exportContract(options: ExportContractOptions): Promise<ExportContractResult>;
|
|
20
|
+
//# sourceMappingURL=export-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-contract.d.ts","sourceRoot":"","sources":["../../src/cli/export-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,MAAM,oBAAoB,GAC5B,wBAAwB,GACxB,wBAAwB,CAAC;AAE7B,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CAgD/B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { resolveExportContractTarget } from "../inspect/index.js";
|
|
2
|
+
import { CliError } from "./errors.js";
|
|
3
|
+
import { exportComponentSet, } from "./export-component-set.js";
|
|
4
|
+
import { exportNodeContract, } from "./export-node-contract.js";
|
|
5
|
+
export async function exportContract(options) {
|
|
6
|
+
const target = await resolveExportContractTarget({
|
|
7
|
+
token: options.token,
|
|
8
|
+
fileKey: options.fileKey,
|
|
9
|
+
nodeId: options.nodeId,
|
|
10
|
+
});
|
|
11
|
+
if (target.kind === "component-set") {
|
|
12
|
+
if (!options.teamId) {
|
|
13
|
+
throw new CliError("Missing FIGMA_TEAM_ID environment variable.");
|
|
14
|
+
}
|
|
15
|
+
return exportComponentSet({
|
|
16
|
+
token: options.token,
|
|
17
|
+
teamId: options.teamId,
|
|
18
|
+
outputDir: options.outputDir,
|
|
19
|
+
componentSet: {
|
|
20
|
+
kind: "node",
|
|
21
|
+
fileKey: target.fileKey,
|
|
22
|
+
nodeId: target.nodeId,
|
|
23
|
+
},
|
|
24
|
+
sourceUrl: options.sourceUrl,
|
|
25
|
+
variablesPath: options.variablesPath,
|
|
26
|
+
exportAssets: options.exportAssets,
|
|
27
|
+
assetFormat: options.assetFormat,
|
|
28
|
+
nestedAssets: options.nestedAssets,
|
|
29
|
+
preview: options.preview,
|
|
30
|
+
format: options.format,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (options.exportAssets) {
|
|
34
|
+
throw new CliError("--export-assets is only supported when --export-contract targets a COMPONENT_SET.");
|
|
35
|
+
}
|
|
36
|
+
return exportNodeContract({
|
|
37
|
+
token: options.token,
|
|
38
|
+
outputDir: options.outputDir,
|
|
39
|
+
fileKey: target.fileKey,
|
|
40
|
+
nodeId: target.nodeId,
|
|
41
|
+
sourceUrl: options.sourceUrl,
|
|
42
|
+
variablesPath: options.variablesPath,
|
|
43
|
+
nestedAssets: options.nestedAssets,
|
|
44
|
+
preview: options.preview,
|
|
45
|
+
format: options.format,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=export-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-contract.js","sourceRoot":"","sources":["../../src/cli/export-contract.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAEL,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAmBnC,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA8B;IAE9B,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC;QAC/C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,QAAQ,CAAC,6CAA6C,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,kBAAkB,CAAC;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB;YACD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CAChB,mFAAmF,CACpF,CAAC;IACJ,CAAC;IAED,OAAO,kBAAkB,CAAC;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ContractFormat } from "../inspect/contract/contract-format.js";
|
|
2
|
+
import { type ExportPreviewOptions, type NestedAssetsOptions } from "../inspect/index.js";
|
|
3
|
+
import type { FigmaNodeRef } from "../inspect/types.js";
|
|
4
|
+
import type { ExportArtifactPathExtras, ExportArtifactPaths } from "./export-result.js";
|
|
5
|
+
export interface ExportNodeContractOptions extends FigmaNodeRef {
|
|
6
|
+
token: string;
|
|
7
|
+
outputDir: string;
|
|
8
|
+
sourceUrl?: string;
|
|
9
|
+
variablesPath: string;
|
|
10
|
+
nestedAssets?: NestedAssetsOptions;
|
|
11
|
+
preview?: ExportPreviewOptions;
|
|
12
|
+
format?: ContractFormat;
|
|
13
|
+
}
|
|
14
|
+
export interface ExportNodeContractResult extends ExportArtifactPaths, Pick<ExportArtifactPathExtras, "importNotesPath" | "previewPath" | "nestedAssetsDir" | "nestedAssetsManifestPath"> {
|
|
15
|
+
}
|
|
16
|
+
export declare function exportNodeContract(options: ExportNodeContractOptions): Promise<ExportNodeContractResult>;
|
|
17
|
+
//# sourceMappingURL=export-node-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-node-contract.d.ts","sourceRoot":"","sources":["../../src/cli/export-node-contract.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAEL,KAAK,oBAAoB,EAGzB,KAAK,mBAAmB,EASzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,yBAA0B,SAAQ,YAAY;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,wBACf,SAAQ,mBAAmB,EACzB,IAAI,CACF,wBAAwB,EACtB,iBAAiB,GACjB,aAAa,GACb,iBAAiB,GACjB,0BAA0B,CAC7B;CAAG;AAwCR,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAqGnC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { mkdir, writeFile } from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { serializeContractData, } from "../inspect/contract/contract-format.js";
|
|
4
|
+
import { buildNodeContractFromRef, exportNestedAssets, exportNodePreview, readNodeContractArtifacts, resolveNodeContractLockPath, resolveNodeGeometryContractPath, resolveNodeMetaContractPath, resolveNodeStructureDslPath, resolveNodeVisualsContractPath, validateNodeContractArtifacts, writeNodeContractLock, } from "../inspect/index.js";
|
|
5
|
+
async function writeDataFile(filePath, value, format) {
|
|
6
|
+
await writeFile(filePath, serializeContractData(value, format), "utf8");
|
|
7
|
+
}
|
|
8
|
+
async function writeImportNotes(options) {
|
|
9
|
+
if (!options.sourceUrl) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
const notesPath = path.join(options.outputDir, "import-notes.md");
|
|
13
|
+
const lines = [
|
|
14
|
+
"# Import Notes",
|
|
15
|
+
"",
|
|
16
|
+
`sourceUrl: ${JSON.stringify(options.sourceUrl)}`,
|
|
17
|
+
`fileKey: ${JSON.stringify(options.fileKey)}`,
|
|
18
|
+
`nodeId: ${JSON.stringify(options.nodeId)}`,
|
|
19
|
+
`nodeType: ${JSON.stringify(options.nodeType)}`,
|
|
20
|
+
`nodeName: ${JSON.stringify(options.nodeName)}`,
|
|
21
|
+
`kind: ${JSON.stringify(options.kind)}`,
|
|
22
|
+
"",
|
|
23
|
+
];
|
|
24
|
+
await writeFile(notesPath, lines.join("\n"), "utf8");
|
|
25
|
+
return notesPath;
|
|
26
|
+
}
|
|
27
|
+
export async function exportNodeContract(options) {
|
|
28
|
+
const format = options.format ?? "yaml";
|
|
29
|
+
const contract = await buildNodeContractFromRef({
|
|
30
|
+
token: options.token,
|
|
31
|
+
fileKey: options.fileKey,
|
|
32
|
+
nodeId: options.nodeId,
|
|
33
|
+
sourceUrl: options.sourceUrl,
|
|
34
|
+
variablesPath: options.variablesPath,
|
|
35
|
+
format,
|
|
36
|
+
});
|
|
37
|
+
await mkdir(options.outputDir, { recursive: true });
|
|
38
|
+
const visualsContractPath = resolveNodeVisualsContractPath(options.outputDir, contract.nodeName, contract.kind, format);
|
|
39
|
+
const geometryContractPath = resolveNodeGeometryContractPath(options.outputDir, contract.nodeName, contract.kind, format);
|
|
40
|
+
const metaContractPath = resolveNodeMetaContractPath(options.outputDir, contract.nodeName, contract.kind, format);
|
|
41
|
+
const lockContractPath = resolveNodeContractLockPath(options.outputDir, contract.nodeName, contract.kind);
|
|
42
|
+
const structureDslPath = resolveNodeStructureDslPath(options.outputDir, contract.nodeName, contract.kind);
|
|
43
|
+
const previewPath = options.preview
|
|
44
|
+
? (await exportNodePreview({
|
|
45
|
+
token: options.token,
|
|
46
|
+
fileKey: options.fileKey,
|
|
47
|
+
nodeId: contract.source.nodeId,
|
|
48
|
+
baseName: contract.nodeName,
|
|
49
|
+
kind: contract.kind,
|
|
50
|
+
outputDir: options.outputDir,
|
|
51
|
+
preview: options.preview,
|
|
52
|
+
})).previewPath
|
|
53
|
+
: undefined;
|
|
54
|
+
const nestedAssetsResult = options.nestedAssets
|
|
55
|
+
? await exportNestedAssets({
|
|
56
|
+
token: options.token,
|
|
57
|
+
fileKey: options.fileKey,
|
|
58
|
+
root: contract.rawNode,
|
|
59
|
+
baseName: contract.nodeName,
|
|
60
|
+
kind: contract.kind,
|
|
61
|
+
outputDir: options.outputDir,
|
|
62
|
+
nestedAssets: options.nestedAssets,
|
|
63
|
+
})
|
|
64
|
+
: undefined;
|
|
65
|
+
await writeDataFile(visualsContractPath, contract.visuals, format);
|
|
66
|
+
await writeDataFile(geometryContractPath, contract.geometry, format);
|
|
67
|
+
await writeDataFile(metaContractPath, contract.meta, format);
|
|
68
|
+
await writeFile(structureDslPath, contract.structureDsl, "utf8");
|
|
69
|
+
const artifacts = await readNodeContractArtifacts(options.outputDir, contract.nodeName, contract.kind, format);
|
|
70
|
+
validateNodeContractArtifacts(artifacts, format);
|
|
71
|
+
await writeNodeContractLock(lockContractPath, contract.lock);
|
|
72
|
+
const importNotesPath = await writeImportNotes({
|
|
73
|
+
outputDir: options.outputDir,
|
|
74
|
+
sourceUrl: options.sourceUrl,
|
|
75
|
+
fileKey: options.fileKey,
|
|
76
|
+
nodeId: contract.source.nodeId,
|
|
77
|
+
nodeType: contract.source.nodeType,
|
|
78
|
+
nodeName: contract.source.name,
|
|
79
|
+
kind: contract.kind,
|
|
80
|
+
});
|
|
81
|
+
return {
|
|
82
|
+
visualsContractPath,
|
|
83
|
+
geometryContractPath,
|
|
84
|
+
metaContractPath,
|
|
85
|
+
lockContractPath,
|
|
86
|
+
structureDslPath,
|
|
87
|
+
previewPath,
|
|
88
|
+
nestedAssetsDir: nestedAssetsResult?.nestedAssetsDir,
|
|
89
|
+
nestedAssetsManifestPath: nestedAssetsResult?.nestedAssetsManifestPath,
|
|
90
|
+
importNotesPath,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=export-node-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-node-contract.js","sourceRoot":"","sources":["../../src/cli/export-node-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface ExportArtifactPaths {
|
|
2
|
+
visualsContractPath: string;
|
|
3
|
+
geometryContractPath: string;
|
|
4
|
+
metaContractPath: string;
|
|
5
|
+
lockContractPath: string;
|
|
6
|
+
structureDslPath: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ExportArtifactPathExtras {
|
|
9
|
+
previewPath?: string;
|
|
10
|
+
assetsDir?: string;
|
|
11
|
+
nestedAssetsDir?: string;
|
|
12
|
+
nestedAssetsManifestPath?: string;
|
|
13
|
+
importNotesPath?: string;
|
|
14
|
+
}
|
|
15
|
+
export type ExportArtifactPathResult = ExportArtifactPaths & ExportArtifactPathExtras;
|
|
16
|
+
export declare function writeExportArtifactPaths(result: ExportArtifactPathResult, stdout: NodeJS.WriteStream): void;
|
|
17
|
+
//# sourceMappingURL=export-result.d.ts.map
|