@baseplate-dev/core-generators 0.1.3 → 0.2.1
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/dist/generators/docker/docker-compose/docker-compose.generator.d.ts +1 -1
- package/dist/generators/docker/docker-compose/docker-compose.generator.js +4 -4
- package/dist/generators/docker/docker-compose/docker-compose.generator.js.map +1 -1
- package/dist/generators/docker/docker-compose/index.d.ts +2 -0
- package/dist/generators/docker/docker-compose/index.d.ts.map +1 -0
- package/dist/generators/docker/docker-compose/index.js +2 -0
- package/dist/generators/docker/docker-compose/index.js.map +1 -0
- package/dist/generators/docker/index.d.ts +1 -1
- package/dist/generators/docker/index.d.ts.map +1 -1
- package/dist/generators/docker/index.js +1 -1
- package/dist/generators/docker/index.js.map +1 -1
- package/dist/generators/index.d.ts +1 -0
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +1 -0
- package/dist/generators/index.js.map +1 -1
- package/dist/generators/metadata/index.d.ts +2 -0
- package/dist/generators/metadata/index.d.ts.map +1 -0
- package/dist/generators/metadata/index.js +2 -0
- package/dist/generators/metadata/index.js.map +1 -0
- package/dist/generators/metadata/path-roots/index.d.ts +2 -0
- package/dist/generators/metadata/path-roots/index.d.ts.map +1 -0
- package/dist/generators/metadata/path-roots/index.js +2 -0
- package/dist/generators/metadata/path-roots/index.js.map +1 -0
- package/dist/generators/metadata/path-roots/path-roots.generator.d.ts +20 -0
- package/dist/generators/metadata/path-roots/path-roots.generator.d.ts.map +1 -0
- package/dist/generators/metadata/path-roots/path-roots.generator.js +54 -0
- package/dist/generators/metadata/path-roots/path-roots.generator.js.map +1 -0
- package/dist/generators/node/_composers/node.d.ts +1 -1
- package/dist/generators/node/_composers/node.d.ts.map +1 -1
- package/dist/generators/node/_composers/node.js +8 -6
- package/dist/generators/node/_composers/node.js.map +1 -1
- package/dist/generators/node/eslint/eslint.generator.d.ts +7 -1
- package/dist/generators/node/eslint/eslint.generator.d.ts.map +1 -1
- package/dist/generators/node/eslint/eslint.generator.js +29 -12
- package/dist/generators/node/eslint/eslint.generator.js.map +1 -1
- package/dist/generators/node/eslint/generated/index.d.ts +14 -0
- package/dist/generators/node/eslint/generated/index.d.ts.map +1 -0
- package/dist/generators/node/eslint/generated/index.js +7 -0
- package/dist/generators/node/eslint/generated/index.js.map +1 -0
- package/dist/generators/node/eslint/generated/template-paths.d.ts +7 -0
- package/dist/generators/node/eslint/generated/template-paths.d.ts.map +1 -0
- package/dist/generators/node/eslint/generated/template-paths.js +6 -0
- package/dist/generators/node/eslint/generated/template-paths.js.map +1 -0
- package/dist/generators/node/eslint/generated/typed-templates.d.ts +9 -0
- package/dist/generators/node/eslint/generated/typed-templates.d.ts.map +1 -0
- package/dist/generators/node/eslint/generated/typed-templates.js +22 -0
- package/dist/generators/node/eslint/generated/typed-templates.js.map +1 -0
- package/dist/generators/node/eslint/index.d.ts +2 -0
- package/dist/generators/node/eslint/index.d.ts.map +1 -0
- package/dist/generators/node/eslint/index.js +2 -0
- package/dist/generators/node/eslint/index.js.map +1 -0
- package/dist/generators/node/index.d.ts +7 -7
- package/dist/generators/node/index.d.ts.map +1 -1
- package/dist/generators/node/index.js +7 -7
- package/dist/generators/node/index.js.map +1 -1
- package/dist/generators/node/node/index.d.ts +2 -0
- package/dist/generators/node/node/index.d.ts.map +1 -0
- package/dist/generators/node/node/index.js +2 -0
- package/dist/generators/node/node/index.js.map +1 -0
- package/dist/generators/node/node/node.generator.d.ts +7 -3
- package/dist/generators/node/node/node.generator.d.ts.map +1 -1
- package/dist/generators/node/node/node.generator.js +25 -8
- package/dist/generators/node/node/node.generator.js.map +1 -1
- package/dist/generators/node/node-git-ignore/index.d.ts +2 -0
- package/dist/generators/node/node-git-ignore/index.d.ts.map +1 -0
- package/dist/generators/node/node-git-ignore/index.js +2 -0
- package/dist/generators/node/node-git-ignore/index.js.map +1 -0
- package/dist/generators/node/node-git-ignore/node-git-ignore.generator.js +2 -2
- package/dist/generators/node/prettier/index.d.ts +2 -0
- package/dist/generators/node/prettier/index.d.ts.map +1 -0
- package/dist/generators/node/prettier/index.js +2 -0
- package/dist/generators/node/prettier/index.js.map +1 -0
- package/dist/generators/node/prettier/prettier.generator.d.ts +1 -0
- package/dist/generators/node/prettier/prettier.generator.d.ts.map +1 -1
- package/dist/generators/node/prettier/prettier.generator.js +6 -3
- package/dist/generators/node/prettier/prettier.generator.js.map +1 -1
- package/dist/generators/node/ts-utils/generated/index.d.ts +31 -0
- package/dist/generators/node/ts-utils/generated/index.d.ts.map +1 -0
- package/dist/generators/node/ts-utils/generated/index.js +9 -0
- package/dist/generators/node/ts-utils/generated/index.js.map +1 -0
- package/dist/generators/node/ts-utils/generated/template-paths.d.ts +15 -0
- package/dist/generators/node/ts-utils/generated/template-paths.d.ts.map +1 -0
- package/dist/generators/node/ts-utils/generated/template-paths.js +25 -0
- package/dist/generators/node/ts-utils/generated/template-paths.js.map +1 -0
- package/dist/generators/node/ts-utils/generated/{ts-import-maps.d.ts → ts-import-providers.d.ts} +15 -2
- package/dist/generators/node/ts-utils/generated/ts-import-providers.d.ts.map +1 -0
- package/dist/generators/node/ts-utils/generated/ts-import-providers.js +33 -0
- package/dist/generators/node/ts-utils/generated/ts-import-providers.js.map +1 -0
- package/dist/generators/node/ts-utils/generated/typed-templates.d.ts +7 -0
- package/dist/generators/node/ts-utils/generated/typed-templates.d.ts.map +1 -0
- package/dist/generators/node/ts-utils/generated/typed-templates.js +49 -0
- package/dist/generators/node/ts-utils/generated/typed-templates.js.map +1 -0
- package/dist/generators/node/ts-utils/index.d.ts +4 -0
- package/dist/generators/node/ts-utils/index.d.ts.map +1 -0
- package/dist/generators/node/ts-utils/index.js +3 -0
- package/dist/generators/node/ts-utils/index.js.map +1 -0
- package/dist/generators/node/ts-utils/ts-utils.generator.d.ts +10 -3
- package/dist/generators/node/ts-utils/ts-utils.generator.d.ts.map +1 -1
- package/dist/generators/node/ts-utils/ts-utils.generator.js +9 -22
- package/dist/generators/node/ts-utils/ts-utils.generator.js.map +1 -1
- package/dist/generators/node/typescript/index.d.ts +2 -0
- package/dist/generators/node/typescript/index.d.ts.map +1 -0
- package/dist/generators/node/typescript/index.js +2 -0
- package/dist/generators/node/typescript/index.js.map +1 -0
- package/dist/generators/node/typescript/typescript.generator.d.ts +14 -8
- package/dist/generators/node/typescript/typescript.generator.d.ts.map +1 -1
- package/dist/generators/node/typescript/typescript.generator.js +19 -18
- package/dist/generators/node/typescript/typescript.generator.js.map +1 -1
- package/dist/generators/node/vitest/generated/index.d.ts +14 -0
- package/dist/generators/node/vitest/generated/index.d.ts.map +1 -0
- package/dist/generators/node/vitest/generated/index.js +7 -0
- package/dist/generators/node/vitest/generated/index.js.map +1 -0
- package/dist/generators/node/vitest/generated/template-paths.d.ts +8 -0
- package/dist/generators/node/vitest/generated/template-paths.d.ts.map +1 -0
- package/dist/generators/node/vitest/generated/template-paths.js +6 -0
- package/dist/generators/node/vitest/generated/template-paths.js.map +1 -0
- package/dist/generators/node/vitest/generated/typed-templates.d.ts +9 -0
- package/dist/generators/node/vitest/generated/typed-templates.d.ts.map +1 -0
- package/dist/generators/node/vitest/generated/typed-templates.js +26 -0
- package/dist/generators/node/vitest/generated/typed-templates.js.map +1 -0
- package/dist/generators/node/vitest/index.d.ts +2 -0
- package/dist/generators/node/vitest/index.d.ts.map +1 -0
- package/dist/generators/node/vitest/index.js +2 -0
- package/dist/generators/node/vitest/index.js.map +1 -0
- package/dist/generators/node/vitest/vitest.generator.d.ts +8 -1
- package/dist/generators/node/vitest/vitest.generator.d.ts.map +1 -1
- package/dist/generators/node/vitest/vitest.generator.js +36 -12
- package/dist/generators/node/vitest/vitest.generator.js.map +1 -1
- package/dist/providers/project.d.ts +14 -3
- package/dist/providers/project.d.ts.map +1 -1
- package/dist/providers/project.js +1 -1
- package/dist/providers/project.js.map +1 -1
- package/dist/providers/scopes.d.ts +1 -1
- package/dist/providers/scopes.js +1 -1
- package/dist/renderers/extractor/index.d.ts +3 -0
- package/dist/renderers/extractor/index.d.ts.map +1 -0
- package/dist/renderers/extractor/index.js +3 -0
- package/dist/renderers/extractor/index.js.map +1 -0
- package/dist/renderers/extractor/plugins/barrel-export.d.ts +17 -0
- package/dist/renderers/extractor/plugins/barrel-export.d.ts.map +1 -0
- package/dist/renderers/extractor/plugins/barrel-export.js +248 -0
- package/dist/renderers/extractor/plugins/barrel-export.js.map +1 -0
- package/dist/renderers/extractor/plugins/index.d.ts +3 -0
- package/dist/renderers/extractor/plugins/index.d.ts.map +1 -0
- package/dist/renderers/extractor/plugins/index.js +3 -0
- package/dist/renderers/extractor/plugins/index.js.map +1 -0
- package/dist/renderers/extractor/plugins/template-paths/index.d.ts +2 -0
- package/dist/renderers/extractor/plugins/template-paths/index.d.ts.map +1 -0
- package/dist/renderers/extractor/plugins/template-paths/index.js +2 -0
- package/dist/renderers/extractor/plugins/template-paths/index.js.map +1 -0
- package/dist/renderers/extractor/plugins/template-paths/paths-file.d.ts +16 -0
- package/dist/renderers/extractor/plugins/template-paths/paths-file.d.ts.map +1 -0
- package/dist/renderers/extractor/plugins/template-paths/paths-file.js +156 -0
- package/dist/renderers/extractor/plugins/template-paths/paths-file.js.map +1 -0
- package/dist/renderers/extractor/plugins/template-paths/template-paths.plugin.d.ts +36 -0
- package/dist/renderers/extractor/plugins/template-paths/template-paths.plugin.d.ts.map +1 -0
- package/dist/renderers/extractor/plugins/template-paths/template-paths.plugin.js +137 -0
- package/dist/renderers/extractor/plugins/template-paths/template-paths.plugin.js.map +1 -0
- package/dist/renderers/extractor/plugins/typed-templates-file.d.ts +28 -0
- package/dist/renderers/extractor/plugins/typed-templates-file.d.ts.map +1 -0
- package/dist/renderers/extractor/plugins/typed-templates-file.js +67 -0
- package/dist/renderers/extractor/plugins/typed-templates-file.js.map +1 -0
- package/dist/renderers/extractor/utils/deduplicate-templates.d.ts +9 -0
- package/dist/renderers/extractor/utils/deduplicate-templates.d.ts.map +1 -0
- package/dist/renderers/extractor/utils/deduplicate-templates.js +28 -0
- package/dist/renderers/extractor/utils/deduplicate-templates.js.map +1 -0
- package/dist/renderers/extractor/utils/generated-template-file-names.d.ts +29 -0
- package/dist/renderers/extractor/utils/generated-template-file-names.d.ts.map +1 -0
- package/dist/renderers/extractor/utils/generated-template-file-names.js +38 -0
- package/dist/renderers/extractor/utils/generated-template-file-names.js.map +1 -0
- package/dist/renderers/extractor/utils/index.d.ts +3 -0
- package/dist/renderers/extractor/utils/index.d.ts.map +1 -0
- package/dist/renderers/extractor/utils/index.js +3 -0
- package/dist/renderers/extractor/utils/index.js.map +1 -0
- package/dist/renderers/extractor/utils/package-path-specifier.d.ts +10 -0
- package/dist/renderers/extractor/utils/package-path-specifier.d.ts.map +1 -0
- package/dist/renderers/extractor/utils/package-path-specifier.js +36 -0
- package/dist/renderers/extractor/utils/package-path-specifier.js.map +1 -0
- package/dist/renderers/extractors.d.ts +5 -0
- package/dist/renderers/extractors.d.ts.map +1 -0
- package/dist/renderers/extractors.js +5 -0
- package/dist/renderers/extractors.js.map +1 -0
- package/dist/renderers/index.d.ts +2 -0
- package/dist/renderers/index.d.ts.map +1 -1
- package/dist/renderers/index.js +2 -0
- package/dist/renderers/index.js.map +1 -1
- package/dist/renderers/raw/index.d.ts +3 -0
- package/dist/renderers/raw/index.d.ts.map +1 -0
- package/dist/renderers/raw/index.js +3 -0
- package/dist/renderers/raw/index.js.map +1 -0
- package/dist/renderers/raw/raw-template-file-extractor.d.ts +164 -0
- package/dist/renderers/raw/raw-template-file-extractor.d.ts.map +1 -0
- package/dist/renderers/raw/raw-template-file-extractor.js +79 -0
- package/dist/renderers/raw/raw-template-file-extractor.js.map +1 -0
- package/dist/renderers/raw/render-raw-template-action.d.ts +15 -0
- package/dist/renderers/raw/render-raw-template-action.d.ts.map +1 -0
- package/dist/renderers/raw/render-raw-template-action.js +39 -0
- package/dist/renderers/raw/render-raw-template-action.js.map +1 -0
- package/dist/renderers/raw/types.d.ts +178 -0
- package/dist/renderers/raw/types.d.ts.map +1 -0
- package/dist/renderers/raw/types.js +31 -0
- package/dist/renderers/raw/types.js.map +1 -0
- package/dist/renderers/schemas/template-file-options.d.ts +39 -0
- package/dist/renderers/schemas/template-file-options.d.ts.map +1 -0
- package/dist/renderers/schemas/template-file-options.js +29 -0
- package/dist/renderers/schemas/template-file-options.js.map +1 -0
- package/dist/renderers/text/index.d.ts +4 -0
- package/dist/renderers/text/index.d.ts.map +1 -0
- package/dist/renderers/text/index.js +4 -0
- package/dist/renderers/text/index.js.map +1 -0
- package/dist/renderers/text/render-text-template-file-action.d.ts +16 -0
- package/dist/renderers/text/render-text-template-file-action.d.ts.map +1 -0
- package/dist/renderers/text/render-text-template-file-action.js +86 -0
- package/dist/renderers/text/render-text-template-file-action.js.map +1 -0
- package/dist/renderers/text/render-text-template-group-action.d.ts +23 -0
- package/dist/renderers/text/render-text-template-group-action.d.ts.map +1 -0
- package/dist/renderers/text/render-text-template-group-action.js +25 -0
- package/dist/renderers/text/render-text-template-group-action.js.map +1 -0
- package/dist/renderers/text/render-text-typed-templates.d.ts +9 -0
- package/dist/renderers/text/render-text-typed-templates.d.ts.map +1 -0
- package/dist/renderers/text/render-text-typed-templates.js +50 -0
- package/dist/renderers/text/render-text-typed-templates.js.map +1 -0
- package/dist/renderers/text/text-template-file-extractor.d.ts +215 -0
- package/dist/renderers/text/text-template-file-extractor.d.ts.map +1 -0
- package/dist/renderers/text/text-template-file-extractor.js +76 -0
- package/dist/renderers/text/text-template-file-extractor.js.map +1 -0
- package/dist/renderers/text/types.d.ts +281 -0
- package/dist/renderers/text/types.d.ts.map +1 -0
- package/dist/renderers/text/types.js +56 -0
- package/dist/renderers/text/types.js.map +1 -0
- package/dist/renderers/text/utils.d.ts +27 -0
- package/dist/renderers/text/utils.d.ts.map +1 -0
- package/dist/renderers/text/utils.js +72 -0
- package/dist/renderers/text/utils.js.map +1 -0
- package/dist/renderers/typescript/actions/render-ts-template-file-action.js +10 -8
- package/dist/renderers/typescript/actions/render-ts-template-file-action.js.map +1 -1
- package/dist/renderers/typescript/actions/render-ts-template-group-action.d.ts +12 -26
- package/dist/renderers/typescript/actions/render-ts-template-group-action.d.ts.map +1 -1
- package/dist/renderers/typescript/actions/render-ts-template-group-action.js +8 -17
- package/dist/renderers/typescript/actions/render-ts-template-group-action.js.map +1 -1
- package/dist/renderers/typescript/extractor/build-external-import-providers-map.d.ts +16 -0
- package/dist/renderers/typescript/extractor/build-external-import-providers-map.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/build-external-import-providers-map.js +33 -0
- package/dist/renderers/typescript/extractor/build-external-import-providers-map.js.map +1 -0
- package/dist/renderers/typescript/extractor/build-ts-project-export-map.d.ts +49 -0
- package/dist/renderers/typescript/extractor/build-ts-project-export-map.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/build-ts-project-export-map.js +73 -0
- package/dist/renderers/typescript/extractor/build-ts-project-export-map.js.map +1 -0
- package/dist/renderers/typescript/extractor/default-import-providers.d.ts +30 -0
- package/dist/renderers/typescript/extractor/default-import-providers.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/default-import-providers.js +26 -0
- package/dist/renderers/typescript/extractor/default-import-providers.js.map +1 -0
- package/dist/renderers/typescript/extractor/extract-ts-template-variables.d.ts +2 -2
- package/dist/renderers/typescript/extractor/extract-ts-template-variables.d.ts.map +1 -1
- package/dist/renderers/typescript/extractor/extract-ts-template-variables.js +5 -0
- package/dist/renderers/typescript/extractor/extract-ts-template-variables.js.map +1 -1
- package/dist/renderers/typescript/extractor/get-resolver-factory.d.ts +8 -0
- package/dist/renderers/typescript/extractor/get-resolver-factory.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/get-resolver-factory.js +29 -0
- package/dist/renderers/typescript/extractor/get-resolver-factory.js.map +1 -0
- package/dist/renderers/typescript/extractor/organize-ts-template-imports.d.ts +17 -6
- package/dist/renderers/typescript/extractor/organize-ts-template-imports.d.ts.map +1 -1
- package/dist/renderers/typescript/extractor/organize-ts-template-imports.js +31 -14
- package/dist/renderers/typescript/extractor/organize-ts-template-imports.js.map +1 -1
- package/dist/renderers/typescript/extractor/render-ts-import-providers.d.ts +27 -0
- package/dist/renderers/typescript/extractor/render-ts-import-providers.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/render-ts-import-providers.js +194 -0
- package/dist/renderers/typescript/extractor/render-ts-import-providers.js.map +1 -0
- package/dist/renderers/typescript/extractor/render-ts-template-file.d.ts +11 -0
- package/dist/renderers/typescript/extractor/render-ts-template-file.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/render-ts-template-file.js +26 -0
- package/dist/renderers/typescript/extractor/render-ts-template-file.js.map +1 -0
- package/dist/renderers/typescript/extractor/render-ts-typed-templates.d.ts +9 -0
- package/dist/renderers/typescript/extractor/render-ts-typed-templates.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/render-ts-typed-templates.js +56 -0
- package/dist/renderers/typescript/extractor/render-ts-typed-templates.js.map +1 -0
- package/dist/renderers/typescript/extractor/ts-extractor-config.schema.d.ts +38 -0
- package/dist/renderers/typescript/extractor/ts-extractor-config.schema.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/ts-extractor-config.schema.js +30 -0
- package/dist/renderers/typescript/extractor/ts-extractor-config.schema.js.map +1 -0
- package/dist/renderers/typescript/extractor/ts-import-provider-config.schema.d.ts +45 -0
- package/dist/renderers/typescript/extractor/ts-import-provider-config.schema.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/ts-import-provider-config.schema.js +35 -0
- package/dist/renderers/typescript/extractor/ts-import-provider-config.schema.js.map +1 -0
- package/dist/renderers/typescript/extractor/ts-template-file-extractor.d.ts +257 -161
- package/dist/renderers/typescript/extractor/ts-template-file-extractor.d.ts.map +1 -1
- package/dist/renderers/typescript/extractor/ts-template-file-extractor.js +109 -268
- package/dist/renderers/typescript/extractor/ts-template-file-extractor.js.map +1 -1
- package/dist/renderers/typescript/extractor/utils/create-placeholder-module-specifier.d.ts +9 -0
- package/dist/renderers/typescript/extractor/utils/create-placeholder-module-specifier.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/utils/create-placeholder-module-specifier.js +11 -0
- package/dist/renderers/typescript/extractor/utils/create-placeholder-module-specifier.js.map +1 -0
- package/dist/renderers/typescript/import-maps/ts-import-map.js +1 -1
- package/dist/renderers/typescript/import-maps/ts-import-map.js.map +1 -1
- package/dist/renderers/typescript/import-maps/types.d.ts +4 -2
- package/dist/renderers/typescript/import-maps/types.d.ts.map +1 -1
- package/dist/renderers/typescript/imports/normalize-module-specifier.d.ts +4 -4
- package/dist/renderers/typescript/imports/normalize-module-specifier.d.ts.map +1 -1
- package/dist/renderers/typescript/imports/normalize-module-specifier.js +20 -20
- package/dist/renderers/typescript/imports/normalize-module-specifier.js.map +1 -1
- package/dist/renderers/typescript/imports/ts-morph-operations.d.ts +1 -1
- package/dist/renderers/typescript/imports/ts-morph-operations.d.ts.map +1 -1
- package/dist/renderers/typescript/imports/ts-morph-operations.js +5 -2
- package/dist/renderers/typescript/imports/ts-morph-operations.js.map +1 -1
- package/dist/renderers/typescript/imports/types.d.ts +1 -1
- package/dist/renderers/typescript/imports/types.d.ts.map +1 -1
- package/dist/renderers/typescript/index.d.ts +0 -1
- package/dist/renderers/typescript/index.d.ts.map +1 -1
- package/dist/renderers/typescript/index.js +0 -1
- package/dist/renderers/typescript/index.js.map +1 -1
- package/dist/renderers/typescript/renderers/template.d.ts.map +1 -1
- package/dist/renderers/typescript/renderers/template.js +10 -3
- package/dist/renderers/typescript/renderers/template.js.map +1 -1
- package/dist/renderers/typescript/templates/types.d.ts +350 -35
- package/dist/renderers/typescript/templates/types.d.ts.map +1 -1
- package/dist/renderers/typescript/templates/types.js +66 -20
- package/dist/renderers/typescript/templates/types.js.map +1 -1
- package/dist/renderers/typescript/utils/ts-code-utils.d.ts +1 -0
- package/dist/renderers/typescript/utils/ts-code-utils.d.ts.map +1 -1
- package/dist/renderers/typescript/utils/ts-code-utils.js +1 -0
- package/dist/renderers/typescript/utils/ts-code-utils.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/ts-paths.d.ts +9 -0
- package/dist/utils/ts-paths.d.ts.map +1 -0
- package/dist/utils/ts-paths.js +11 -0
- package/dist/utils/ts-paths.js.map +1 -0
- package/package.json +17 -5
- package/dist/generators/node/eslint/generated/ts-templates.d.ts +0 -9
- package/dist/generators/node/eslint/generated/ts-templates.d.ts.map +0 -1
- package/dist/generators/node/eslint/generated/ts-templates.js +0 -14
- package/dist/generators/node/eslint/generated/ts-templates.js.map +0 -1
- package/dist/generators/node/ts-utils/generated/ts-import-maps.d.ts.map +0 -1
- package/dist/generators/node/ts-utils/generated/ts-import-maps.js +0 -22
- package/dist/generators/node/ts-utils/generated/ts-import-maps.js.map +0 -1
- package/dist/generators/node/ts-utils/generated/ts-templates.d.ts +0 -7
- package/dist/generators/node/ts-utils/generated/ts-templates.d.ts.map +0 -1
- package/dist/generators/node/ts-utils/generated/ts-templates.js +0 -32
- package/dist/generators/node/ts-utils/generated/ts-templates.js.map +0 -1
- package/dist/generators/node/vitest/generated/ts-templates.d.ts +0 -9
- package/dist/generators/node/vitest/generated/ts-templates.d.ts.map +0 -1
- package/dist/generators/node/vitest/generated/ts-templates.js +0 -15
- package/dist/generators/node/vitest/generated/ts-templates.js.map +0 -1
- package/dist/renderers/typescript/extractor/templates/imports-file.d.ts +0 -2
- package/dist/renderers/typescript/extractor/templates/imports-file.d.ts.map +0 -1
- package/dist/renderers/typescript/extractor/templates/imports-file.js +0 -35
- package/dist/renderers/typescript/extractor/templates/imports-file.js.map +0 -1
- package/dist/renderers/typescript/extractor/write-ts-project-exports.d.ts +0 -96
- package/dist/renderers/typescript/extractor/write-ts-project-exports.d.ts.map +0 -1
- package/dist/renderers/typescript/extractor/write-ts-project-exports.js +0 -139
- package/dist/renderers/typescript/extractor/write-ts-project-exports.js.map +0 -1
- /package/dist/generators/node/ts-utils/templates/{arrays.ts → src/utils/arrays.ts} +0 -0
- /package/dist/generators/node/ts-utils/templates/{normalize-types.ts → src/utils/normalize-types.ts} +0 -0
- /package/dist/generators/node/ts-utils/templates/{nulls.ts → src/utils/nulls.ts} +0 -0
- /package/dist/generators/node/ts-utils/templates/{string.ts → src/utils/string.ts} +0 -0
- /package/dist/generators/node/vitest/templates/{global-setup.ts → src/tests/scripts/global-setup.ts} +0 -0
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import type { TemplateFileBase } from '@baseplate-dev/sync';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import type { TemplateFileOptions } from '../schemas/template-file-options.js';
|
|
4
|
+
export declare const TEXT_TEMPLATE_TYPE = "text";
|
|
5
|
+
declare const textTemplateFileVariableSchema: z.ZodObject<{
|
|
6
|
+
description: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
description?: string | undefined;
|
|
9
|
+
}, {
|
|
10
|
+
description?: string | undefined;
|
|
11
|
+
}>;
|
|
12
|
+
export declare const textTemplateGeneratorTemplateMetadataSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
13
|
+
name: z.ZodString;
|
|
14
|
+
type: z.ZodString;
|
|
15
|
+
}, {
|
|
16
|
+
/**
|
|
17
|
+
* The options for the template file
|
|
18
|
+
*/
|
|
19
|
+
fileOptions: z.ZodDefault<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
20
|
+
kind: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"singleton">>>;
|
|
21
|
+
generatorTemplatePath: z.ZodOptional<z.ZodString>;
|
|
22
|
+
pathRootRelativePath: z.ZodOptional<z.ZodString>;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
kind: "singleton";
|
|
25
|
+
generatorTemplatePath?: string | undefined;
|
|
26
|
+
pathRootRelativePath?: string | undefined;
|
|
27
|
+
}, {
|
|
28
|
+
kind?: "singleton" | undefined;
|
|
29
|
+
generatorTemplatePath?: string | undefined;
|
|
30
|
+
pathRootRelativePath?: string | undefined;
|
|
31
|
+
}>, z.ZodObject<{
|
|
32
|
+
kind: z.ZodLiteral<"instance">;
|
|
33
|
+
generatorTemplatePath: z.ZodString;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
kind: "instance";
|
|
36
|
+
generatorTemplatePath: string;
|
|
37
|
+
}, {
|
|
38
|
+
kind: "instance";
|
|
39
|
+
generatorTemplatePath: string;
|
|
40
|
+
}>]>>;
|
|
41
|
+
/**
|
|
42
|
+
* The path of the template relative to the closest file path root.
|
|
43
|
+
*/
|
|
44
|
+
pathRootRelativePath: z.ZodOptional<z.ZodString>;
|
|
45
|
+
/**
|
|
46
|
+
* The group to assign the template to when generating the typed templates.
|
|
47
|
+
*/
|
|
48
|
+
group: z.ZodOptional<z.ZodString>;
|
|
49
|
+
/**
|
|
50
|
+
* The variables for the template.
|
|
51
|
+
*/
|
|
52
|
+
variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
53
|
+
description: z.ZodOptional<z.ZodString>;
|
|
54
|
+
}, "strip", z.ZodTypeAny, {
|
|
55
|
+
description?: string | undefined;
|
|
56
|
+
}, {
|
|
57
|
+
description?: string | undefined;
|
|
58
|
+
}>>>;
|
|
59
|
+
}>, "passthrough", z.ZodTypeAny, z.objectOutputType<z.objectUtil.extendShape<{
|
|
60
|
+
name: z.ZodString;
|
|
61
|
+
type: z.ZodString;
|
|
62
|
+
}, {
|
|
63
|
+
/**
|
|
64
|
+
* The options for the template file
|
|
65
|
+
*/
|
|
66
|
+
fileOptions: z.ZodDefault<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
67
|
+
kind: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"singleton">>>;
|
|
68
|
+
generatorTemplatePath: z.ZodOptional<z.ZodString>;
|
|
69
|
+
pathRootRelativePath: z.ZodOptional<z.ZodString>;
|
|
70
|
+
}, "strip", z.ZodTypeAny, {
|
|
71
|
+
kind: "singleton";
|
|
72
|
+
generatorTemplatePath?: string | undefined;
|
|
73
|
+
pathRootRelativePath?: string | undefined;
|
|
74
|
+
}, {
|
|
75
|
+
kind?: "singleton" | undefined;
|
|
76
|
+
generatorTemplatePath?: string | undefined;
|
|
77
|
+
pathRootRelativePath?: string | undefined;
|
|
78
|
+
}>, z.ZodObject<{
|
|
79
|
+
kind: z.ZodLiteral<"instance">;
|
|
80
|
+
generatorTemplatePath: z.ZodString;
|
|
81
|
+
}, "strip", z.ZodTypeAny, {
|
|
82
|
+
kind: "instance";
|
|
83
|
+
generatorTemplatePath: string;
|
|
84
|
+
}, {
|
|
85
|
+
kind: "instance";
|
|
86
|
+
generatorTemplatePath: string;
|
|
87
|
+
}>]>>;
|
|
88
|
+
/**
|
|
89
|
+
* The path of the template relative to the closest file path root.
|
|
90
|
+
*/
|
|
91
|
+
pathRootRelativePath: z.ZodOptional<z.ZodString>;
|
|
92
|
+
/**
|
|
93
|
+
* The group to assign the template to when generating the typed templates.
|
|
94
|
+
*/
|
|
95
|
+
group: z.ZodOptional<z.ZodString>;
|
|
96
|
+
/**
|
|
97
|
+
* The variables for the template.
|
|
98
|
+
*/
|
|
99
|
+
variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
100
|
+
description: z.ZodOptional<z.ZodString>;
|
|
101
|
+
}, "strip", z.ZodTypeAny, {
|
|
102
|
+
description?: string | undefined;
|
|
103
|
+
}, {
|
|
104
|
+
description?: string | undefined;
|
|
105
|
+
}>>>;
|
|
106
|
+
}>, z.ZodTypeAny, "passthrough">, z.objectInputType<z.objectUtil.extendShape<{
|
|
107
|
+
name: z.ZodString;
|
|
108
|
+
type: z.ZodString;
|
|
109
|
+
}, {
|
|
110
|
+
/**
|
|
111
|
+
* The options for the template file
|
|
112
|
+
*/
|
|
113
|
+
fileOptions: z.ZodDefault<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
114
|
+
kind: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"singleton">>>;
|
|
115
|
+
generatorTemplatePath: z.ZodOptional<z.ZodString>;
|
|
116
|
+
pathRootRelativePath: z.ZodOptional<z.ZodString>;
|
|
117
|
+
}, "strip", z.ZodTypeAny, {
|
|
118
|
+
kind: "singleton";
|
|
119
|
+
generatorTemplatePath?: string | undefined;
|
|
120
|
+
pathRootRelativePath?: string | undefined;
|
|
121
|
+
}, {
|
|
122
|
+
kind?: "singleton" | undefined;
|
|
123
|
+
generatorTemplatePath?: string | undefined;
|
|
124
|
+
pathRootRelativePath?: string | undefined;
|
|
125
|
+
}>, z.ZodObject<{
|
|
126
|
+
kind: z.ZodLiteral<"instance">;
|
|
127
|
+
generatorTemplatePath: z.ZodString;
|
|
128
|
+
}, "strip", z.ZodTypeAny, {
|
|
129
|
+
kind: "instance";
|
|
130
|
+
generatorTemplatePath: string;
|
|
131
|
+
}, {
|
|
132
|
+
kind: "instance";
|
|
133
|
+
generatorTemplatePath: string;
|
|
134
|
+
}>]>>;
|
|
135
|
+
/**
|
|
136
|
+
* The path of the template relative to the closest file path root.
|
|
137
|
+
*/
|
|
138
|
+
pathRootRelativePath: z.ZodOptional<z.ZodString>;
|
|
139
|
+
/**
|
|
140
|
+
* The group to assign the template to when generating the typed templates.
|
|
141
|
+
*/
|
|
142
|
+
group: z.ZodOptional<z.ZodString>;
|
|
143
|
+
/**
|
|
144
|
+
* The variables for the template.
|
|
145
|
+
*/
|
|
146
|
+
variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
147
|
+
description: z.ZodOptional<z.ZodString>;
|
|
148
|
+
}, "strip", z.ZodTypeAny, {
|
|
149
|
+
description?: string | undefined;
|
|
150
|
+
}, {
|
|
151
|
+
description?: string | undefined;
|
|
152
|
+
}>>>;
|
|
153
|
+
}>, z.ZodTypeAny, "passthrough">>;
|
|
154
|
+
export declare const textTemplateOutputTemplateMetadataSchema: z.ZodObject<z.objectUtil.extendShape<{
|
|
155
|
+
name: z.ZodString;
|
|
156
|
+
type: z.ZodString;
|
|
157
|
+
generator: z.ZodString;
|
|
158
|
+
}, {
|
|
159
|
+
/**
|
|
160
|
+
* The type of the template (always `text`)
|
|
161
|
+
*/
|
|
162
|
+
type: z.ZodLiteral<"text">;
|
|
163
|
+
/**
|
|
164
|
+
* The options for the template file
|
|
165
|
+
*/
|
|
166
|
+
fileOptions: z.ZodDefault<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
167
|
+
kind: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"singleton">>>;
|
|
168
|
+
generatorTemplatePath: z.ZodOptional<z.ZodString>;
|
|
169
|
+
pathRootRelativePath: z.ZodOptional<z.ZodString>;
|
|
170
|
+
}, "strip", z.ZodTypeAny, {
|
|
171
|
+
kind: "singleton";
|
|
172
|
+
generatorTemplatePath?: string | undefined;
|
|
173
|
+
pathRootRelativePath?: string | undefined;
|
|
174
|
+
}, {
|
|
175
|
+
kind?: "singleton" | undefined;
|
|
176
|
+
generatorTemplatePath?: string | undefined;
|
|
177
|
+
pathRootRelativePath?: string | undefined;
|
|
178
|
+
}>, z.ZodObject<{
|
|
179
|
+
kind: z.ZodLiteral<"instance">;
|
|
180
|
+
generatorTemplatePath: z.ZodString;
|
|
181
|
+
}, "strip", z.ZodTypeAny, {
|
|
182
|
+
kind: "instance";
|
|
183
|
+
generatorTemplatePath: string;
|
|
184
|
+
}, {
|
|
185
|
+
kind: "instance";
|
|
186
|
+
generatorTemplatePath: string;
|
|
187
|
+
}>]>>;
|
|
188
|
+
/**
|
|
189
|
+
* The group to assign the template to when generating the typed templates.
|
|
190
|
+
*/
|
|
191
|
+
group: z.ZodOptional<z.ZodString>;
|
|
192
|
+
/**
|
|
193
|
+
* The variables for the template with their values.
|
|
194
|
+
*/
|
|
195
|
+
variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<z.objectUtil.extendShape<{
|
|
196
|
+
description: z.ZodOptional<z.ZodString>;
|
|
197
|
+
}, {
|
|
198
|
+
value: z.ZodString;
|
|
199
|
+
}>, "strip", z.ZodTypeAny, {
|
|
200
|
+
value: string;
|
|
201
|
+
description?: string | undefined;
|
|
202
|
+
}, {
|
|
203
|
+
value: string;
|
|
204
|
+
description?: string | undefined;
|
|
205
|
+
}>>>;
|
|
206
|
+
}>, "strip", z.ZodTypeAny, {
|
|
207
|
+
type: "text";
|
|
208
|
+
name: string;
|
|
209
|
+
fileOptions: {
|
|
210
|
+
kind: "singleton";
|
|
211
|
+
generatorTemplatePath?: string | undefined;
|
|
212
|
+
pathRootRelativePath?: string | undefined;
|
|
213
|
+
} | {
|
|
214
|
+
kind: "instance";
|
|
215
|
+
generatorTemplatePath: string;
|
|
216
|
+
};
|
|
217
|
+
generator: string;
|
|
218
|
+
group?: string | undefined;
|
|
219
|
+
variables?: Record<string, {
|
|
220
|
+
value: string;
|
|
221
|
+
description?: string | undefined;
|
|
222
|
+
}> | undefined;
|
|
223
|
+
}, {
|
|
224
|
+
type: "text";
|
|
225
|
+
name: string;
|
|
226
|
+
generator: string;
|
|
227
|
+
fileOptions?: {
|
|
228
|
+
kind?: "singleton" | undefined;
|
|
229
|
+
generatorTemplatePath?: string | undefined;
|
|
230
|
+
pathRootRelativePath?: string | undefined;
|
|
231
|
+
} | {
|
|
232
|
+
kind: "instance";
|
|
233
|
+
generatorTemplatePath: string;
|
|
234
|
+
} | undefined;
|
|
235
|
+
group?: string | undefined;
|
|
236
|
+
variables?: Record<string, {
|
|
237
|
+
value: string;
|
|
238
|
+
description?: string | undefined;
|
|
239
|
+
}> | undefined;
|
|
240
|
+
}>;
|
|
241
|
+
/**
|
|
242
|
+
* Metadata for a text template file
|
|
243
|
+
*/
|
|
244
|
+
export type TextTemplateOutputTemplateMetadata = z.infer<typeof textTemplateOutputTemplateMetadataSchema>;
|
|
245
|
+
/**
|
|
246
|
+
* A variable for a text template.
|
|
247
|
+
*/
|
|
248
|
+
export type TextTemplateFileVariable = z.infer<typeof textTemplateFileVariableSchema>;
|
|
249
|
+
/**
|
|
250
|
+
* A variable for a text template with a value.
|
|
251
|
+
*/
|
|
252
|
+
export type TextTemplateFileVariableWithValue = TextTemplateFileVariable & {
|
|
253
|
+
value: string;
|
|
254
|
+
};
|
|
255
|
+
/**
|
|
256
|
+
* A template for a text file with replacements.
|
|
257
|
+
*/
|
|
258
|
+
export interface TextTemplateFile<T extends Record<string, TextTemplateFileVariable> = Record<never, TextTemplateFileVariable>> extends TemplateFileBase {
|
|
259
|
+
/**
|
|
260
|
+
* Variables to be replaced in the template
|
|
261
|
+
*/
|
|
262
|
+
variables: T;
|
|
263
|
+
/**
|
|
264
|
+
* The options for the template file
|
|
265
|
+
*/
|
|
266
|
+
fileOptions: TemplateFileOptions;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Create a text template file
|
|
270
|
+
*/
|
|
271
|
+
export declare function createTextTemplateFile<T extends Record<string, TextTemplateFileVariable>>(template: TextTemplateFile<T>): TextTemplateFile<T>;
|
|
272
|
+
export type InferTextTemplateVariablesFromTemplate<T extends TextTemplateFile> = {
|
|
273
|
+
[K in keyof T['variables']]: string;
|
|
274
|
+
};
|
|
275
|
+
export type TextTemplateGroup = Record<string, TextTemplateFile>;
|
|
276
|
+
/**
|
|
277
|
+
* Generator template metadata for text templates
|
|
278
|
+
*/
|
|
279
|
+
export type TextGeneratorTemplateMetadata = z.infer<typeof textTemplateGeneratorTemplateMetadataSchema>;
|
|
280
|
+
export {};
|
|
281
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/renderers/text/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAI/E,eAAO,MAAM,kBAAkB,SAAS,CAAC;AAEzC,QAAA,MAAM,8BAA8B;;;;;;EAGlC,CAAC;AAEH,eAAO,MAAM,2CAA2C;UAXzB,EAAG,SAAS;UAE6B,EAAG,SAEzE;;IASE;;OAEG;;;;;;;;;;;;;;;;;;;;;;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;;;;;;;;UA3BwB,EAAG,SAAS;UAE6B,EAAG,SAEzE;;IASE;;OAEG;;;;;;;;;;;;;;;;;;;;;;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;;;;;;;;UA3BwB,EAAG,SAAS;UAE6B,EAAG,SAEzE;;IASE;;OAEG;;;;;;;;;;;;;;;;;;;;;;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;;;;;;;iCAEH,CAAC;AAEL,eAAO,MAAM,wCAAwC;UA/BpD,EAAG,SAAS;UAEH,EAAG,SAAS;eAEM,EAAI,SAAQ;;IA6BpC;;OAEG;;IAEH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;IAEH;;OAEG;;IAEH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUH,CAAC;AAEL;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,wCAAwC,CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG,wBAAwB,GAAG;IACzE,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAAG,MAAM,CACzD,KAAK,EACL,wBAAwB,CACzB,CACD,SAAQ,gBAAgB;IACxB;;OAEG;IACH,SAAS,EAAE,CAAC,CAAC;IACb;;OAEG;IACH,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,EAClD,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAEpD;AAED,MAAM,MAAM,sCAAsC,CAAC,CAAC,SAAS,gBAAgB,IAC3E;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM;CACpC,CAAC;AAEJ,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,2CAA2C,CACnD,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { templateConfigSchema, templateFileMetadataBaseSchema, } from '@baseplate-dev/sync';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { templateFileOptionsSchema } from '../schemas/template-file-options.js';
|
|
4
|
+
export const TEXT_TEMPLATE_TYPE = 'text';
|
|
5
|
+
const textTemplateFileVariableSchema = z.object({
|
|
6
|
+
// The description of the variable.
|
|
7
|
+
description: z.string().optional(),
|
|
8
|
+
});
|
|
9
|
+
export const textTemplateGeneratorTemplateMetadataSchema = templateConfigSchema.extend({
|
|
10
|
+
/**
|
|
11
|
+
* The options for the template file
|
|
12
|
+
*/
|
|
13
|
+
fileOptions: templateFileOptionsSchema,
|
|
14
|
+
/**
|
|
15
|
+
* The path of the template relative to the closest file path root.
|
|
16
|
+
*/
|
|
17
|
+
pathRootRelativePath: z.string().optional(),
|
|
18
|
+
/**
|
|
19
|
+
* The group to assign the template to when generating the typed templates.
|
|
20
|
+
*/
|
|
21
|
+
group: z.string().optional(),
|
|
22
|
+
/**
|
|
23
|
+
* The variables for the template.
|
|
24
|
+
*/
|
|
25
|
+
variables: z.record(z.string(), textTemplateFileVariableSchema).optional(),
|
|
26
|
+
});
|
|
27
|
+
export const textTemplateOutputTemplateMetadataSchema = templateFileMetadataBaseSchema.extend({
|
|
28
|
+
/**
|
|
29
|
+
* The type of the template (always `text`)
|
|
30
|
+
*/
|
|
31
|
+
type: z.literal(TEXT_TEMPLATE_TYPE),
|
|
32
|
+
/**
|
|
33
|
+
* The options for the template file
|
|
34
|
+
*/
|
|
35
|
+
fileOptions: templateFileOptionsSchema,
|
|
36
|
+
/**
|
|
37
|
+
* The group to assign the template to when generating the typed templates.
|
|
38
|
+
*/
|
|
39
|
+
group: z.string().optional(),
|
|
40
|
+
/**
|
|
41
|
+
* The variables for the template with their values.
|
|
42
|
+
*/
|
|
43
|
+
variables: z
|
|
44
|
+
.record(z.string(), textTemplateFileVariableSchema.extend({
|
|
45
|
+
// The value of the variable.
|
|
46
|
+
value: z.string(),
|
|
47
|
+
}))
|
|
48
|
+
.optional(),
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* Create a text template file
|
|
52
|
+
*/
|
|
53
|
+
export function createTextTemplateFile(template) {
|
|
54
|
+
return template;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/renderers/text/types.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAEzC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,mCAAmC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2CAA2C,GACtD,oBAAoB,CAAC,MAAM,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,yBAAyB;IACtC;;OAEG;IACH,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B;;OAEG;IACH,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,8BAA8B,CAAC,CAAC,QAAQ,EAAE;CAC3E,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,wCAAwC,GACnD,8BAA8B,CAAC,MAAM,CAAC;IACpC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACnC;;OAEG;IACH,WAAW,EAAE,yBAAyB;IACtC;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B;;OAEG;IACH,SAAS,EAAE,CAAC;SACT,MAAM,CACL,CAAC,CAAC,MAAM,EAAE,EACV,8BAA8B,CAAC,MAAM,CAAC;QACpC,6BAA6B;QAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC,CAAC;AA0CL;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAEpC,QAA6B;IAC7B,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { TextTemplateFileVariableWithValue } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Get the delimiters for a text template file.
|
|
4
|
+
* @param filename The filename of the text template file.
|
|
5
|
+
* @returns The delimiters for the text template file.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getTextTemplateDelimiters(filename: string): {
|
|
8
|
+
start: string;
|
|
9
|
+
end: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Get the regex for a text template variable. We check for non-alphanumeric characters around the variable name.
|
|
13
|
+
*
|
|
14
|
+
* @param value The value of the variable.
|
|
15
|
+
* @returns The regex for the text template variable.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getTextTemplateVariableRegExp(value: string): RegExp;
|
|
18
|
+
/**
|
|
19
|
+
* Extract template variables from content by replacing variable values with template placeholders.
|
|
20
|
+
*
|
|
21
|
+
* @param contents The content to process.
|
|
22
|
+
* @param variables The variables with their values to replace.
|
|
23
|
+
* @param filename The filename for delimiter detection.
|
|
24
|
+
* @returns The processed content with variables replaced by template placeholders.
|
|
25
|
+
*/
|
|
26
|
+
export declare function extractTemplateVariables(contents: string, variables: Record<string, TextTemplateFileVariableWithValue> | undefined, filename: string): string;
|
|
27
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/renderers/text/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CA2BA;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iCAAiC,CAAC,GAAG,SAAS,EACxE,QAAQ,EAAE,MAAM,GACf,MAAM,CA6BR"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { escapeRegExp } from 'es-toolkit';
|
|
2
|
+
/**
|
|
3
|
+
* Get the delimiters for a text template file.
|
|
4
|
+
* @param filename The filename of the text template file.
|
|
5
|
+
* @returns The delimiters for the text template file.
|
|
6
|
+
*/
|
|
7
|
+
export function getTextTemplateDelimiters(filename) {
|
|
8
|
+
if (filename.endsWith('.css')) {
|
|
9
|
+
return {
|
|
10
|
+
start: '/* ',
|
|
11
|
+
end: ' */',
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
// no delimiters for gql files
|
|
15
|
+
if (filename.endsWith('.gql')) {
|
|
16
|
+
return {
|
|
17
|
+
start: '',
|
|
18
|
+
end: '',
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (filename.endsWith('.yml') || filename.endsWith('.yaml')) {
|
|
22
|
+
return {
|
|
23
|
+
start: '${{',
|
|
24
|
+
end: '}}',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
start: '{{',
|
|
29
|
+
end: '}}',
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get the regex for a text template variable. We check for non-alphanumeric characters around the variable name.
|
|
34
|
+
*
|
|
35
|
+
* @param value The value of the variable.
|
|
36
|
+
* @returns The regex for the text template variable.
|
|
37
|
+
*/
|
|
38
|
+
export function getTextTemplateVariableRegExp(value) {
|
|
39
|
+
return new RegExp(`(?<!\\w)${escapeRegExp(value)}(?!\\w)`, 'g');
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Extract template variables from content by replacing variable values with template placeholders.
|
|
43
|
+
*
|
|
44
|
+
* @param contents The content to process.
|
|
45
|
+
* @param variables The variables with their values to replace.
|
|
46
|
+
* @param filename The filename for delimiter detection.
|
|
47
|
+
* @returns The processed content with variables replaced by template placeholders.
|
|
48
|
+
*/
|
|
49
|
+
export function extractTemplateVariables(contents, variables, filename) {
|
|
50
|
+
if (!variables) {
|
|
51
|
+
return contents;
|
|
52
|
+
}
|
|
53
|
+
let templateContents = contents;
|
|
54
|
+
const { start, end } = getTextTemplateDelimiters(filename);
|
|
55
|
+
// Sort variables by descending length of their values to prevent overlapping replacements
|
|
56
|
+
const sortedVariables = Object.entries(variables).sort(([, a], [, b]) => {
|
|
57
|
+
const aValue = a.value;
|
|
58
|
+
const bValue = b.value;
|
|
59
|
+
return bValue.length - aValue.length;
|
|
60
|
+
});
|
|
61
|
+
for (const [key, variableWithValue] of sortedVariables) {
|
|
62
|
+
const { value } = variableWithValue;
|
|
63
|
+
const variableRegex = getTextTemplateVariableRegExp(value);
|
|
64
|
+
const newTemplateContents = templateContents.replaceAll(variableRegex, `${start}${key}${end}`);
|
|
65
|
+
if (newTemplateContents === templateContents) {
|
|
66
|
+
throw new Error(`Variable ${key} with value ${value} not found`);
|
|
67
|
+
}
|
|
68
|
+
templateContents = newTemplateContents;
|
|
69
|
+
}
|
|
70
|
+
return templateContents;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/renderers/text/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI1C;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IAIxD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,KAAK;SACX,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;SACR,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,IAAI;SACV,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,IAAI;KACV,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAa;IACzD,OAAO,IAAI,MAAM,CAAC,WAAW,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAgB,EAChB,SAAwE,EACxE,QAAgB;IAEhB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,gBAAgB,GAAG,QAAQ,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAE3D,0FAA0F;IAC1F,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACtE,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;QACvB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;QACvB,OAAO,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,eAAe,EAAE,CAAC;QACvD,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC;QACpC,MAAM,aAAa,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,UAAU,CACrD,aAAa,EACb,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE,CACvB,CAAC;QACF,IAAI,mBAAmB,KAAK,gBAAgB,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,eAAe,KAAK,YAAY,CAAC,CAAC;QACnE,CAAC;QACD,gBAAgB,GAAG,mBAAmB,CAAC;IACzC,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { normalizePathToOutputPath, readTemplateFileSource, } from '@baseplate-dev/sync';
|
|
2
2
|
import { differenceSet } from '@baseplate-dev/utils';
|
|
3
3
|
import { renderTsCodeFileTemplate } from '../renderers/file.js';
|
|
4
4
|
import { TS_TEMPLATE_TYPE } from '../templates/types.js';
|
|
@@ -6,7 +6,7 @@ export function renderTsTemplateFileAction({ template, id, destination, writeOpt
|
|
|
6
6
|
return {
|
|
7
7
|
execute: async (builder) => {
|
|
8
8
|
const generatorInfo = providedGeneratorInfo ?? builder.generatorInfo;
|
|
9
|
-
const templateContents = await readTemplateFileSource(
|
|
9
|
+
const templateContents = await readTemplateFileSource(template.source);
|
|
10
10
|
const prefix = template.prefix ?? 'TPL_';
|
|
11
11
|
const variableValues = variables ?? {};
|
|
12
12
|
// make sure variables and template variables match keys
|
|
@@ -23,22 +23,24 @@ export function renderTsTemplateFileAction({ template, id, destination, writeOpt
|
|
|
23
23
|
}
|
|
24
24
|
const templateMetadata = {
|
|
25
25
|
name: template.name,
|
|
26
|
-
template: 'path' in template.source
|
|
27
|
-
? template.source.path
|
|
28
|
-
: 'content-only-template',
|
|
29
26
|
generator: generatorInfo.name,
|
|
30
27
|
group: template.group,
|
|
31
28
|
type: TS_TEMPLATE_TYPE,
|
|
32
29
|
projectExports: Object.keys(template.projectExports ?? {}).length > 0
|
|
33
30
|
? template.projectExports
|
|
34
31
|
: undefined,
|
|
32
|
+
fileOptions: template.fileOptions,
|
|
35
33
|
};
|
|
34
|
+
if (template.fileOptions.kind === 'instance' && !id) {
|
|
35
|
+
throw new Error('Instance template must have an id');
|
|
36
|
+
}
|
|
37
|
+
const fileId = id ?? template.name;
|
|
36
38
|
const shouldIncludeMetadata = builder.metadataOptions.includeTemplateMetadata &&
|
|
37
39
|
builder.metadataOptions.shouldGenerateMetadata({
|
|
38
|
-
fileId
|
|
39
|
-
filePath:
|
|
40
|
+
fileId,
|
|
41
|
+
filePath: normalizePathToOutputPath(destination),
|
|
40
42
|
generatorName: generatorInfo.name,
|
|
41
|
-
|
|
43
|
+
isInstance: template.fileOptions.kind === 'instance',
|
|
42
44
|
});
|
|
43
45
|
const renderedTemplate = renderTsCodeFileTemplate({
|
|
44
46
|
templateContents,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-ts-template-file-action.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-template-file-action.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"render-ts-template-file-action.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-template-file-action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,28 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { BuilderAction, WriteFileOptions } from '@baseplate-dev/sync';
|
|
2
2
|
import type { RenderTsCodeFileTemplateOptions } from '../renderers/file.js';
|
|
3
|
-
import type { InferImportMapProvidersFromProviderTypeMap, InferTsTemplateVariablesFromMap, TsTemplateFile
|
|
3
|
+
import type { InferImportMapProvidersFromProviderTypeMap, InferTsTemplateVariablesFromMap, TsTemplateFile } from '../templates/types.js';
|
|
4
4
|
import type { RenderTsTemplateFileActionInput } from './render-ts-template-file-action.js';
|
|
5
|
+
type TsTemplateGroup = Record<string, TsTemplateFile>;
|
|
5
6
|
type HasVariables<T extends TsTemplateFile> = keyof InferTsTemplateVariablesFromMap<T['variables']> extends never ? false : true;
|
|
6
7
|
type InferTsTemplateVariablesFromTemplateGroup<T extends TsTemplateGroup> = {
|
|
7
|
-
[K in keyof T
|
|
8
|
+
[K in keyof T as HasVariables<T[K]> extends true ? K : never]: InferTsTemplateVariablesFromMap<T[K]['variables']>;
|
|
8
9
|
};
|
|
9
10
|
type IntersectionOfValues<T> = UnionToIntersection<T[keyof T]>;
|
|
10
11
|
type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*/
|
|
15
|
-
type NormalizeTypes<T> = T extends Record<string, unknown> ? {
|
|
16
|
-
[K in keyof T]: T[K];
|
|
17
|
-
} : T;
|
|
18
|
-
type InferImportMapProvidersFromTemplateGroup<T extends TsTemplateGroup> = NormalizeTypes<IntersectionOfValues<{
|
|
19
|
-
[K in keyof T['templates']]: InferImportMapProvidersFromProviderTypeMap<T['templates'][K]['template']['importMapProviders']>;
|
|
20
|
-
}>>;
|
|
12
|
+
type InferImportMapProvidersFromTemplateGroup<T extends TsTemplateGroup> = IntersectionOfValues<{
|
|
13
|
+
[K in keyof T]: InferImportMapProvidersFromProviderTypeMap<T[K]['importMapProviders']>;
|
|
14
|
+
}>;
|
|
21
15
|
interface RenderTsTemplateGroupActionInputBase<T extends TsTemplateGroup> {
|
|
22
16
|
group: T;
|
|
23
|
-
|
|
17
|
+
paths: {
|
|
18
|
+
[K in keyof T]: string;
|
|
19
|
+
};
|
|
24
20
|
writeOptions?: {
|
|
25
|
-
[K in keyof T
|
|
21
|
+
[K in keyof T]?: Omit<WriteFileOptions, 'templateMetadata'>;
|
|
26
22
|
};
|
|
27
23
|
renderOptions?: Omit<RenderTsCodeFileTemplateOptions, 'resolveModule'> & {
|
|
28
24
|
resolveModule?: (moduleSpecifier: string, sourceDirectory: string) => string;
|
|
29
25
|
};
|
|
30
|
-
/**
|
|
31
|
-
* Called when a template file is rendered
|
|
32
|
-
* @param canonicalPath - The canonical path to the template file
|
|
33
|
-
*/
|
|
34
|
-
onRenderTemplateFile?: (canonicalPath: string) => void;
|
|
35
26
|
}
|
|
36
27
|
export type RenderTsTemplateGroupActionInput<T extends TsTemplateGroup = TsTemplateGroup> = RenderTsTemplateGroupActionInputBase<T> & (keyof InferTsTemplateVariablesFromTemplateGroup<T> extends never ? Partial<{
|
|
37
28
|
variables: InferTsTemplateVariablesFromTemplateGroup<T>;
|
|
@@ -47,12 +38,7 @@ export type RenderTsTemplateGroupActionInput<T extends TsTemplateGroup = TsTempl
|
|
|
47
38
|
* @param input - The input for the template group
|
|
48
39
|
* @returns The template file inputs
|
|
49
40
|
*/
|
|
50
|
-
export declare function extractTsTemplateFileInputsFromTemplateGroup<T extends TsTemplateGroup = TsTemplateGroup>({ group,
|
|
51
|
-
/**
|
|
52
|
-
* Renders a template group to a builder action
|
|
53
|
-
* @param input - The input for the template group
|
|
54
|
-
* @returns The builder action
|
|
55
|
-
*/
|
|
41
|
+
export declare function extractTsTemplateFileInputsFromTemplateGroup<T extends TsTemplateGroup = TsTemplateGroup>({ group, paths, variables, importMapProviders, writeOptions, renderOptions, }: RenderTsTemplateGroupActionInput<T>): RenderTsTemplateFileActionInput[];
|
|
56
42
|
export declare function renderTsTemplateGroupAction<T extends TsTemplateGroup = TsTemplateGroup>(input: RenderTsTemplateGroupActionInput<T>): BuilderAction;
|
|
57
43
|
export {};
|
|
58
44
|
//# sourceMappingURL=render-ts-template-group-action.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-ts-template-group-action.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-template-group-action.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"render-ts-template-group-action.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-template-group-action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { normalizePathToOutputPath } from '@baseplate-dev/sync';
|
|
2
2
|
import { enhanceErrorWithContext } from '@baseplate-dev/utils';
|
|
3
3
|
import { mapValues } from 'es-toolkit';
|
|
4
4
|
import path from 'node:path';
|
|
@@ -8,25 +8,22 @@ import { renderTsTemplateFileAction } from './render-ts-template-file-action.js'
|
|
|
8
8
|
* @param input - The input for the template group
|
|
9
9
|
* @returns The template file inputs
|
|
10
10
|
*/
|
|
11
|
-
export function extractTsTemplateFileInputsFromTemplateGroup({ group,
|
|
12
|
-
if (!baseDirectory.startsWith('@/')) {
|
|
13
|
-
throw new Error('baseDirectory must start with @/');
|
|
14
|
-
}
|
|
11
|
+
export function extractTsTemplateFileInputsFromTemplateGroup({ group, paths, variables, importMapProviders, writeOptions, renderOptions, }) {
|
|
15
12
|
const fileActionInputs = [];
|
|
16
13
|
const typedImportMapProviders = importMapProviders ?? {};
|
|
17
|
-
for (const [key, templateEntry] of Object.entries(group
|
|
18
|
-
const destination =
|
|
19
|
-
const templateSpecificProviders = templateEntry.
|
|
20
|
-
? mapValues(templateEntry.
|
|
14
|
+
for (const [key, templateEntry] of Object.entries(group)) {
|
|
15
|
+
const destination = paths[key];
|
|
16
|
+
const templateSpecificProviders = templateEntry.importMapProviders
|
|
17
|
+
? mapValues(templateEntry.importMapProviders, (_, providerKey) => {
|
|
21
18
|
if (!(providerKey in typedImportMapProviders)) {
|
|
22
19
|
throw new Error(`Import map provider "${providerKey}" is not defined in the import map providers`);
|
|
23
20
|
}
|
|
24
21
|
return typedImportMapProviders[providerKey];
|
|
25
22
|
})
|
|
26
23
|
: undefined;
|
|
27
|
-
const destinationDirectory = path.dirname(
|
|
24
|
+
const destinationDirectory = path.dirname(normalizePathToOutputPath(destination));
|
|
28
25
|
fileActionInputs.push({
|
|
29
|
-
template: templateEntry
|
|
26
|
+
template: templateEntry,
|
|
30
27
|
destination,
|
|
31
28
|
variables: variables && typeof variables === 'object'
|
|
32
29
|
? variables[key]
|
|
@@ -45,11 +42,6 @@ export function extractTsTemplateFileInputsFromTemplateGroup({ group, baseDirect
|
|
|
45
42
|
}
|
|
46
43
|
return fileActionInputs;
|
|
47
44
|
}
|
|
48
|
-
/**
|
|
49
|
-
* Renders a template group to a builder action
|
|
50
|
-
* @param input - The input for the template group
|
|
51
|
-
* @returns The builder action
|
|
52
|
-
*/
|
|
53
45
|
export function renderTsTemplateGroupAction(input) {
|
|
54
46
|
return {
|
|
55
47
|
execute: async (builder) => {
|
|
@@ -57,7 +49,6 @@ export function renderTsTemplateGroupAction(input) {
|
|
|
57
49
|
for (const fileActionInput of fileActionInputs) {
|
|
58
50
|
try {
|
|
59
51
|
await builder.apply(renderTsTemplateFileAction(fileActionInput));
|
|
60
|
-
input.onRenderTemplateFile?.(fileActionInput.destination);
|
|
61
52
|
}
|
|
62
53
|
catch (error) {
|
|
63
54
|
throw enhanceErrorWithContext(error, `Failed to render template "${fileActionInput.template.name}"`);
|