@baseplate-dev/core-generators 0.1.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/LICENSE +390 -0
- package/dist/constants/core-packages.d.ts +21 -0
- package/dist/constants/core-packages.d.ts.map +1 -0
- package/dist/constants/core-packages.js +26 -0
- package/dist/constants/core-packages.js.map +1 -0
- package/dist/constants/index.d.ts +2 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +2 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/node.d.ts +3 -0
- package/dist/constants/node.d.ts.map +1 -0
- package/dist/constants/node.js +3 -0
- package/dist/constants/node.js.map +1 -0
- package/dist/generators/docker/docker-compose/docker-compose.generator.d.ts +17 -0
- package/dist/generators/docker/docker-compose/docker-compose.generator.d.ts.map +1 -0
- package/dist/generators/docker/docker-compose/docker-compose.generator.js +83 -0
- package/dist/generators/docker/docker-compose/docker-compose.generator.js.map +1 -0
- package/dist/generators/docker/docker-compose/postgres.d.ts +8 -0
- package/dist/generators/docker/docker-compose/postgres.d.ts.map +1 -0
- package/dist/generators/docker/docker-compose/postgres.js +22 -0
- package/dist/generators/docker/docker-compose/postgres.js.map +1 -0
- package/dist/generators/docker/docker-compose/redis.d.ts +8 -0
- package/dist/generators/docker/docker-compose/redis.d.ts.map +1 -0
- package/dist/generators/docker/docker-compose/redis.js +21 -0
- package/dist/generators/docker/docker-compose/redis.js.map +1 -0
- package/dist/generators/docker/docker-compose/types.d.ts +5 -0
- package/dist/generators/docker/docker-compose/types.d.ts.map +1 -0
- package/dist/generators/docker/docker-compose/types.js +2 -0
- package/dist/generators/docker/docker-compose/types.js.map +1 -0
- package/dist/generators/docker/index.d.ts +2 -0
- package/dist/generators/docker/index.d.ts.map +1 -0
- package/dist/generators/docker/index.js +2 -0
- package/dist/generators/docker/index.js.map +1 -0
- package/dist/generators/index.d.ts +3 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +3 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/node/_composers/index.d.ts +2 -0
- package/dist/generators/node/_composers/index.d.ts.map +1 -0
- package/dist/generators/node/_composers/index.js +2 -0
- package/dist/generators/node/_composers/index.js.map +1 -0
- package/dist/generators/node/_composers/node.d.ts +4 -0
- package/dist/generators/node/_composers/node.d.ts.map +1 -0
- package/dist/generators/node/_composers/node.js +18 -0
- package/dist/generators/node/_composers/node.js.map +1 -0
- package/dist/generators/node/eslint/eslint.generator.d.ts +33 -0
- package/dist/generators/node/eslint/eslint.generator.d.ts.map +1 -0
- package/dist/generators/node/eslint/eslint.generator.js +110 -0
- package/dist/generators/node/eslint/eslint.generator.js.map +1 -0
- package/dist/generators/node/eslint/generated/ts-templates.d.ts +9 -0
- package/dist/generators/node/eslint/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/node/eslint/generated/ts-templates.js +14 -0
- package/dist/generators/node/eslint/generated/ts-templates.js.map +1 -0
- package/dist/generators/node/eslint/react-rules.d.ts +2 -0
- package/dist/generators/node/eslint/react-rules.d.ts.map +1 -0
- package/dist/generators/node/eslint/react-rules.js +59 -0
- package/dist/generators/node/eslint/react-rules.js.map +1 -0
- package/dist/generators/node/eslint/templates/eslint.config.js +219 -0
- package/dist/generators/node/eslint/vitest-rules.d.ts +2 -0
- package/dist/generators/node/eslint/vitest-rules.d.ts.map +1 -0
- package/dist/generators/node/eslint/vitest-rules.js +17 -0
- package/dist/generators/node/eslint/vitest-rules.js.map +1 -0
- package/dist/generators/node/index.d.ts +9 -0
- package/dist/generators/node/index.d.ts.map +1 -0
- package/dist/generators/node/index.js +9 -0
- package/dist/generators/node/index.js.map +1 -0
- package/dist/generators/node/node/node.generator.d.ts +72 -0
- package/dist/generators/node/node/node.generator.d.ts.map +1 -0
- package/dist/generators/node/node/node.generator.js +149 -0
- package/dist/generators/node/node/node.generator.js.map +1 -0
- package/dist/generators/node/node/package-dependencies-container.d.ts +41 -0
- package/dist/generators/node/node/package-dependencies-container.d.ts.map +1 -0
- package/dist/generators/node/node/package-dependencies-container.js +104 -0
- package/dist/generators/node/node/package-dependencies-container.js.map +1 -0
- package/dist/generators/node/node-git-ignore/node-git-ignore.generator.d.ts +15 -0
- package/dist/generators/node/node-git-ignore/node-git-ignore.generator.d.ts.map +1 -0
- package/dist/generators/node/node-git-ignore/node-git-ignore.generator.js +75 -0
- package/dist/generators/node/node-git-ignore/node-git-ignore.generator.js.map +1 -0
- package/dist/generators/node/prettier/prettier.generator.d.ts +33 -0
- package/dist/generators/node/prettier/prettier.generator.d.ts.map +1 -0
- package/dist/generators/node/prettier/prettier.generator.js +191 -0
- package/dist/generators/node/prettier/prettier.generator.js.map +1 -0
- package/dist/generators/node/ts-utils/generated/ts-import-maps.d.ts +21 -0
- package/dist/generators/node/ts-utils/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/node/ts-utils/generated/ts-import-maps.js +22 -0
- package/dist/generators/node/ts-utils/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/node/ts-utils/generated/ts-templates.d.ts +7 -0
- package/dist/generators/node/ts-utils/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/node/ts-utils/generated/ts-templates.js +32 -0
- package/dist/generators/node/ts-utils/generated/ts-templates.js.map +1 -0
- package/dist/generators/node/ts-utils/templates/arrays.ts +13 -0
- package/dist/generators/node/ts-utils/templates/normalize-types.ts +12 -0
- package/dist/generators/node/ts-utils/templates/nulls.ts +33 -0
- package/dist/generators/node/ts-utils/templates/string.ts +11 -0
- package/dist/generators/node/ts-utils/ts-utils.generator.d.ts +17 -0
- package/dist/generators/node/ts-utils/ts-utils.generator.d.ts.map +1 -0
- package/dist/generators/node/ts-utils/ts-utils.generator.js +48 -0
- package/dist/generators/node/ts-utils/ts-utils.generator.js.map +1 -0
- package/dist/generators/node/typescript/compiler-types.d.ts +178 -0
- package/dist/generators/node/typescript/compiler-types.d.ts.map +1 -0
- package/dist/generators/node/typescript/compiler-types.js +70 -0
- package/dist/generators/node/typescript/compiler-types.js.map +1 -0
- package/dist/generators/node/typescript/typescript.generator.d.ts +117 -0
- package/dist/generators/node/typescript/typescript.generator.d.ts.map +1 -0
- package/dist/generators/node/typescript/typescript.generator.js +198 -0
- package/dist/generators/node/typescript/typescript.generator.js.map +1 -0
- package/dist/generators/node/vitest/generated/ts-templates.d.ts +9 -0
- package/dist/generators/node/vitest/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/node/vitest/generated/ts-templates.js +15 -0
- package/dist/generators/node/vitest/generated/ts-templates.js.map +1 -0
- package/dist/generators/node/vitest/templates/global-setup.ts +5 -0
- package/dist/generators/node/vitest/templates/vitest.config.ts +5 -0
- package/dist/generators/node/vitest/vitest.generator.d.ts +26 -0
- package/dist/generators/node/vitest/vitest.generator.d.ts.map +1 -0
- package/dist/generators/node/vitest/vitest.generator.js +93 -0
- package/dist/generators/node/vitest/vitest.generator.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/index.d.ts +3 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +3 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/project.d.ts +5 -0
- package/dist/providers/project.d.ts.map +1 -0
- package/dist/providers/project.js +3 -0
- package/dist/providers/project.js.map +1 -0
- package/dist/providers/scopes.d.ts +3 -0
- package/dist/providers/scopes.d.ts.map +1 -0
- package/dist/providers/scopes.js +4 -0
- package/dist/providers/scopes.js.map +1 -0
- package/dist/renderers/index.d.ts +2 -0
- package/dist/renderers/index.d.ts.map +1 -0
- package/dist/renderers/index.js +2 -0
- package/dist/renderers/index.js.map +1 -0
- package/dist/renderers/typescript/actions/index.d.ts +4 -0
- package/dist/renderers/typescript/actions/index.d.ts.map +1 -0
- package/dist/renderers/typescript/actions/index.js +4 -0
- package/dist/renderers/typescript/actions/index.js.map +1 -0
- package/dist/renderers/typescript/actions/render-ts-fragment-action.d.ts +12 -0
- package/dist/renderers/typescript/actions/render-ts-fragment-action.d.ts.map +1 -0
- package/dist/renderers/typescript/actions/render-ts-fragment-action.js +25 -0
- package/dist/renderers/typescript/actions/render-ts-fragment-action.js.map +1 -0
- package/dist/renderers/typescript/actions/render-ts-template-file-action.d.ts +32 -0
- package/dist/renderers/typescript/actions/render-ts-template-file-action.d.ts.map +1 -0
- package/dist/renderers/typescript/actions/render-ts-template-file-action.js +65 -0
- package/dist/renderers/typescript/actions/render-ts-template-file-action.js.map +1 -0
- package/dist/renderers/typescript/actions/render-ts-template-group-action.d.ts +58 -0
- package/dist/renderers/typescript/actions/render-ts-template-group-action.d.ts.map +1 -0
- package/dist/renderers/typescript/actions/render-ts-template-group-action.js +69 -0
- package/dist/renderers/typescript/actions/render-ts-template-group-action.js.map +1 -0
- package/dist/renderers/typescript/extractor/extract-ts-template-variables.d.ts +18 -0
- package/dist/renderers/typescript/extractor/extract-ts-template-variables.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/extract-ts-template-variables.js +38 -0
- package/dist/renderers/typescript/extractor/extract-ts-template-variables.js.map +1 -0
- package/dist/renderers/typescript/extractor/index.d.ts +2 -0
- package/dist/renderers/typescript/extractor/index.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/index.js +2 -0
- package/dist/renderers/typescript/extractor/index.js.map +1 -0
- package/dist/renderers/typescript/extractor/organize-ts-template-imports.d.ts +26 -0
- package/dist/renderers/typescript/extractor/organize-ts-template-imports.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/organize-ts-template-imports.js +175 -0
- package/dist/renderers/typescript/extractor/organize-ts-template-imports.js.map +1 -0
- package/dist/renderers/typescript/extractor/preprocess-code-for-extraction-hack.d.ts +17 -0
- package/dist/renderers/typescript/extractor/preprocess-code-for-extraction-hack.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/preprocess-code-for-extraction-hack.js +46 -0
- package/dist/renderers/typescript/extractor/preprocess-code-for-extraction-hack.js.map +1 -0
- package/dist/renderers/typescript/extractor/templates/imports-file.d.ts +2 -0
- package/dist/renderers/typescript/extractor/templates/imports-file.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/templates/imports-file.js +35 -0
- package/dist/renderers/typescript/extractor/templates/imports-file.js.map +1 -0
- package/dist/renderers/typescript/extractor/ts-template-file-extractor.d.ts +167 -0
- package/dist/renderers/typescript/extractor/ts-template-file-extractor.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/ts-template-file-extractor.js +279 -0
- package/dist/renderers/typescript/extractor/ts-template-file-extractor.js.map +1 -0
- package/dist/renderers/typescript/extractor/write-ts-project-exports.d.ts +96 -0
- package/dist/renderers/typescript/extractor/write-ts-project-exports.d.ts.map +1 -0
- package/dist/renderers/typescript/extractor/write-ts-project-exports.js +139 -0
- package/dist/renderers/typescript/extractor/write-ts-project-exports.js.map +1 -0
- package/dist/renderers/typescript/fragments/creators.d.ts +29 -0
- package/dist/renderers/typescript/fragments/creators.d.ts.map +1 -0
- package/dist/renderers/typescript/fragments/creators.js +53 -0
- package/dist/renderers/typescript/fragments/creators.js.map +1 -0
- package/dist/renderers/typescript/fragments/index.d.ts +4 -0
- package/dist/renderers/typescript/fragments/index.d.ts.map +1 -0
- package/dist/renderers/typescript/fragments/index.js +3 -0
- package/dist/renderers/typescript/fragments/index.js.map +1 -0
- package/dist/renderers/typescript/fragments/types.d.ts +65 -0
- package/dist/renderers/typescript/fragments/types.d.ts.map +1 -0
- package/dist/renderers/typescript/fragments/types.js +2 -0
- package/dist/renderers/typescript/fragments/types.js.map +1 -0
- package/dist/renderers/typescript/fragments/utils.d.ts +51 -0
- package/dist/renderers/typescript/fragments/utils.d.ts.map +1 -0
- package/dist/renderers/typescript/fragments/utils.js +134 -0
- package/dist/renderers/typescript/fragments/utils.js.map +1 -0
- package/dist/renderers/typescript/import-maps/index.d.ts +4 -0
- package/dist/renderers/typescript/import-maps/index.d.ts.map +1 -0
- package/dist/renderers/typescript/import-maps/index.js +3 -0
- package/dist/renderers/typescript/import-maps/index.js.map +1 -0
- package/dist/renderers/typescript/import-maps/transform-ts-imports-with-map.d.ts +19 -0
- package/dist/renderers/typescript/import-maps/transform-ts-imports-with-map.d.ts.map +1 -0
- package/dist/renderers/typescript/import-maps/transform-ts-imports-with-map.js +54 -0
- package/dist/renderers/typescript/import-maps/transform-ts-imports-with-map.js.map +1 -0
- package/dist/renderers/typescript/import-maps/ts-import-map.d.ts +10 -0
- package/dist/renderers/typescript/import-maps/ts-import-map.d.ts.map +1 -0
- package/dist/renderers/typescript/import-maps/ts-import-map.js +39 -0
- package/dist/renderers/typescript/import-maps/ts-import-map.js.map +1 -0
- package/dist/renderers/typescript/import-maps/types.d.ts +28 -0
- package/dist/renderers/typescript/import-maps/types.d.ts.map +1 -0
- package/dist/renderers/typescript/import-maps/types.js +2 -0
- package/dist/renderers/typescript/import-maps/types.js.map +1 -0
- package/dist/renderers/typescript/imports/builder.d.ts +49 -0
- package/dist/renderers/typescript/imports/builder.d.ts.map +1 -0
- package/dist/renderers/typescript/imports/builder.js +47 -0
- package/dist/renderers/typescript/imports/builder.js.map +1 -0
- package/dist/renderers/typescript/imports/index.d.ts +8 -0
- package/dist/renderers/typescript/imports/index.d.ts.map +1 -0
- package/dist/renderers/typescript/imports/index.js +7 -0
- package/dist/renderers/typescript/imports/index.js.map +1 -0
- package/dist/renderers/typescript/imports/merge-ts-import-declarations.d.ts +20 -0
- package/dist/renderers/typescript/imports/merge-ts-import-declarations.d.ts.map +1 -0
- package/dist/renderers/typescript/imports/merge-ts-import-declarations.js +114 -0
- package/dist/renderers/typescript/imports/merge-ts-import-declarations.js.map +1 -0
- package/dist/renderers/typescript/imports/normalize-module-specifier.d.ts +40 -0
- package/dist/renderers/typescript/imports/normalize-module-specifier.d.ts.map +1 -0
- package/dist/renderers/typescript/imports/normalize-module-specifier.js +133 -0
- package/dist/renderers/typescript/imports/normalize-module-specifier.js.map +1 -0
- package/dist/renderers/typescript/imports/sort-imports/get-import-sort-group.d.ts +31 -0
- package/dist/renderers/typescript/imports/sort-imports/get-import-sort-group.d.ts.map +1 -0
- package/dist/renderers/typescript/imports/sort-imports/get-import-sort-group.js +169 -0
- package/dist/renderers/typescript/imports/sort-imports/get-import-sort-group.js.map +1 -0
- package/dist/renderers/typescript/imports/sort-imports/index.d.ts +2 -0
- package/dist/renderers/typescript/imports/sort-imports/index.d.ts.map +1 -0
- package/dist/renderers/typescript/imports/sort-imports/index.js +2 -0
- package/dist/renderers/typescript/imports/sort-imports/index.js.map +1 -0
- package/dist/renderers/typescript/imports/sort-imports/sort-import-declarations.d.ts +32 -0
- package/dist/renderers/typescript/imports/sort-imports/sort-import-declarations.d.ts.map +1 -0
- package/dist/renderers/typescript/imports/sort-imports/sort-import-declarations.js +72 -0
- package/dist/renderers/typescript/imports/sort-imports/sort-import-declarations.js.map +1 -0
- package/dist/renderers/typescript/imports/ts-morph-operations.d.ts +42 -0
- package/dist/renderers/typescript/imports/ts-morph-operations.d.ts.map +1 -0
- package/dist/renderers/typescript/imports/ts-morph-operations.js +145 -0
- package/dist/renderers/typescript/imports/ts-morph-operations.js.map +1 -0
- package/dist/renderers/typescript/imports/ts-path-maps.d.ts +18 -0
- package/dist/renderers/typescript/imports/ts-path-maps.d.ts.map +1 -0
- package/dist/renderers/typescript/imports/ts-path-maps.js +39 -0
- package/dist/renderers/typescript/imports/ts-path-maps.js.map +1 -0
- package/dist/renderers/typescript/imports/types.d.ts +73 -0
- package/dist/renderers/typescript/imports/types.d.ts.map +1 -0
- package/dist/renderers/typescript/imports/types.js +2 -0
- package/dist/renderers/typescript/imports/types.js.map +1 -0
- package/dist/renderers/typescript/index.d.ts +9 -0
- package/dist/renderers/typescript/index.d.ts.map +1 -0
- package/dist/renderers/typescript/index.js +9 -0
- package/dist/renderers/typescript/index.js.map +1 -0
- package/dist/renderers/typescript/renderers/file.d.ts +18 -0
- package/dist/renderers/typescript/renderers/file.d.ts.map +1 -0
- package/dist/renderers/typescript/renderers/file.js +91 -0
- package/dist/renderers/typescript/renderers/file.js.map +1 -0
- package/dist/renderers/typescript/renderers/index.d.ts +3 -0
- package/dist/renderers/typescript/renderers/index.d.ts.map +1 -0
- package/dist/renderers/typescript/renderers/index.js +3 -0
- package/dist/renderers/typescript/renderers/index.js.map +1 -0
- package/dist/renderers/typescript/renderers/template.d.ts +21 -0
- package/dist/renderers/typescript/renderers/template.d.ts.map +1 -0
- package/dist/renderers/typescript/renderers/template.js +132 -0
- package/dist/renderers/typescript/renderers/template.js.map +1 -0
- package/dist/renderers/typescript/templates/creators.d.ts +10 -0
- package/dist/renderers/typescript/templates/creators.d.ts.map +1 -0
- package/dist/renderers/typescript/templates/creators.js +9 -0
- package/dist/renderers/typescript/templates/creators.js.map +1 -0
- package/dist/renderers/typescript/templates/index.d.ts +3 -0
- package/dist/renderers/typescript/templates/index.d.ts.map +1 -0
- package/dist/renderers/typescript/templates/index.js +3 -0
- package/dist/renderers/typescript/templates/index.js.map +1 -0
- package/dist/renderers/typescript/templates/types.d.ts +119 -0
- package/dist/renderers/typescript/templates/types.d.ts.map +1 -0
- package/dist/renderers/typescript/templates/types.js +43 -0
- package/dist/renderers/typescript/templates/types.js.map +1 -0
- package/dist/renderers/typescript/utils/index.d.ts +2 -0
- package/dist/renderers/typescript/utils/index.d.ts.map +1 -0
- package/dist/renderers/typescript/utils/index.js +2 -0
- package/dist/renderers/typescript/utils/index.js.map +1 -0
- package/dist/renderers/typescript/utils/ts-code-utils.d.ts +200 -0
- package/dist/renderers/typescript/utils/ts-code-utils.d.ts.map +1 -0
- package/dist/renderers/typescript/utils/ts-code-utils.js +431 -0
- package/dist/renderers/typescript/utils/ts-code-utils.js.map +1 -0
- package/dist/utils/extract-packages.d.ts +8 -0
- package/dist/utils/extract-packages.d.ts.map +1 -0
- package/dist/utils/extract-packages.js +10 -0
- package/dist/utils/extract-packages.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/writers/index.d.ts +2 -0
- package/dist/writers/index.d.ts.map +1 -0
- package/dist/writers/index.js +2 -0
- package/dist/writers/index.js.map +1 -0
- package/dist/writers/json.d.ts +21 -0
- package/dist/writers/json.d.ts.map +1 -0
- package/dist/writers/json.js +14 -0
- package/dist/writers/json.js.map +1 -0
- package/package.json +88 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/providers/project.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,cAAc,IAAI,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,eAAe,6DAC4B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/providers/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAMjE,MAAM,CAAC,MAAM,eAAe,GAC1B,0BAA0B,CAAkB,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/providers/scopes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,mDAGxB,CAAC;AAEF,eAAO,MAAM,YAAY,mDAGxB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createProviderExportScope } from '@baseplate-dev/sync';
|
|
2
|
+
export const projectScope = createProviderExportScope('core/project', 'Scope for the entire project');
|
|
3
|
+
export const featureScope = createProviderExportScope('core/feature', 'Scope for a specific feature');
|
|
4
|
+
//# sourceMappingURL=scopes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/providers/scopes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,MAAM,CAAC,MAAM,YAAY,GAAG,yBAAyB,CACnD,cAAc,EACd,8BAA8B,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,yBAAyB,CACnD,cAAc,EACd,8BAA8B,CAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BuilderAction, WriteFileOptions } from '@baseplate-dev/sync';
|
|
2
|
+
import type { TsCodeFragment } from '../fragments/types.js';
|
|
3
|
+
import type { RenderTsCodeFileTemplateOptions } from '../renderers/file.js';
|
|
4
|
+
export interface RenderTsFragmentActionInput {
|
|
5
|
+
fragment: TsCodeFragment;
|
|
6
|
+
id: string;
|
|
7
|
+
destination: string;
|
|
8
|
+
renderOptions?: RenderTsCodeFileTemplateOptions;
|
|
9
|
+
writeOptions?: Omit<WriteFileOptions, 'templateMetadata'>;
|
|
10
|
+
}
|
|
11
|
+
export declare function renderTsFragmentAction({ fragment, id, destination, writeOptions, renderOptions, }: RenderTsFragmentActionInput): BuilderAction;
|
|
12
|
+
//# sourceMappingURL=render-ts-fragment-action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-ts-fragment-action.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-fragment-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAI5E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,cAAc,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,+BAA+B,CAAC;IAChD,YAAY,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;CAC3D;AAED,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,EAAE,EACF,WAAW,EACX,YAAY,EACZ,aAAa,GACd,EAAE,2BAA2B,GAAG,aAAa,CAuB7C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { renderTsCodeFileTemplate } from '../renderers/file.js';
|
|
2
|
+
export function renderTsFragmentAction({ fragment, id, destination, writeOptions, renderOptions, }) {
|
|
3
|
+
return {
|
|
4
|
+
execute: (builder) => {
|
|
5
|
+
const renderedTemplate = renderTsCodeFileTemplate({
|
|
6
|
+
templateContents: 'TPL_CONTENTS',
|
|
7
|
+
variables: { TPL_CONTENTS: fragment },
|
|
8
|
+
importMapProviders: {},
|
|
9
|
+
positionedHoistedFragments: [],
|
|
10
|
+
options: {
|
|
11
|
+
includeMetadata: false,
|
|
12
|
+
...renderOptions,
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
builder.writeFile({
|
|
16
|
+
id,
|
|
17
|
+
destination,
|
|
18
|
+
contents: renderedTemplate,
|
|
19
|
+
options: writeOptions,
|
|
20
|
+
generatorName: builder.generatorInfo.name,
|
|
21
|
+
});
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=render-ts-fragment-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-ts-fragment-action.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-fragment-action.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAUhE,MAAM,UAAU,sBAAsB,CAAC,EACrC,QAAQ,EACR,EAAE,EACF,WAAW,EACX,YAAY,EACZ,aAAa,GACe;IAC5B,OAAO;QACL,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;YACnB,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;gBAChD,gBAAgB,EAAE,cAAc;gBAChC,SAAS,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE;gBACrC,kBAAkB,EAAE,EAAE;gBACtB,0BAA0B,EAAE,EAAE;gBAC9B,OAAO,EAAE;oBACP,eAAe,EAAE,KAAK;oBACtB,GAAG,aAAa;iBACjB;aACF,CAAC,CAAC;YAEH,OAAO,CAAC,SAAS,CAAC;gBAChB,EAAE;gBACF,WAAW;gBACX,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,YAAY;gBACrB,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI;aAC1C,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { BuilderAction, GeneratorInfo, Provider, WriteFileOptions } from '@baseplate-dev/sync';
|
|
2
|
+
import type { TsPositionedHoistedFragment } from '../fragments/types.js';
|
|
3
|
+
import type { RenderTsCodeFileTemplateOptions } from '../renderers/file.js';
|
|
4
|
+
import type { InferImportMapProvidersFromProviderTypeMap, InferTsTemplateVariablesFromMap, TsTemplateFile } from '../templates/types.js';
|
|
5
|
+
interface RenderTsTemplateFileActionInputBase<T extends TsTemplateFile> {
|
|
6
|
+
template: T;
|
|
7
|
+
id?: string;
|
|
8
|
+
destination: string;
|
|
9
|
+
writeOptions?: Omit<WriteFileOptions, 'templateMetadata'>;
|
|
10
|
+
positionedHoistedFragments?: TsPositionedHoistedFragment[];
|
|
11
|
+
renderOptions?: Omit<RenderTsCodeFileTemplateOptions, 'prefix' | 'includeMetadata'>;
|
|
12
|
+
/**
|
|
13
|
+
* The generator info for the generator that is writing the template file
|
|
14
|
+
*
|
|
15
|
+
* If not provided, it will be inferred from the builder.
|
|
16
|
+
*/
|
|
17
|
+
generatorInfo?: GeneratorInfo;
|
|
18
|
+
}
|
|
19
|
+
type RenderTsTemplateFileActionVariablesInput<T extends TsTemplateFile> = keyof InferTsTemplateVariablesFromMap<T['variables']> extends never ? Partial<{
|
|
20
|
+
variables: InferTsTemplateVariablesFromMap<T['variables']>;
|
|
21
|
+
}> : {
|
|
22
|
+
variables: InferTsTemplateVariablesFromMap<T['variables']>;
|
|
23
|
+
};
|
|
24
|
+
type RenderTsTemplateFileActionImportMapProvidersInput<T extends TsTemplateFile> = keyof Exclude<T['importMapProviders'], undefined> extends never ? Partial<{
|
|
25
|
+
importMapProviders: Partial<Record<'', Provider>>;
|
|
26
|
+
}> : {
|
|
27
|
+
importMapProviders: InferImportMapProvidersFromProviderTypeMap<T['importMapProviders']>;
|
|
28
|
+
};
|
|
29
|
+
export type RenderTsTemplateFileActionInput<T extends TsTemplateFile = TsTemplateFile> = RenderTsTemplateFileActionInputBase<T> & RenderTsTemplateFileActionVariablesInput<T> & RenderTsTemplateFileActionImportMapProvidersInput<T>;
|
|
30
|
+
export declare function renderTsTemplateFileAction<T extends TsTemplateFile = TsTemplateFile>({ template, id, destination, writeOptions, variables, importMapProviders, renderOptions, positionedHoistedFragments, generatorInfo: providedGeneratorInfo, }: RenderTsTemplateFileActionInput<T>): BuilderAction;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=render-ts-template-file-action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-ts-template-file-action.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-template-file-action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EACV,0CAA0C,EAC1C,+BAA+B,EAC/B,cAAc,EAGf,MAAM,uBAAuB,CAAC;AAK/B,UAAU,mCAAmC,CAAC,CAAC,SAAS,cAAc;IACpE,QAAQ,EAAE,CAAC,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAC1D,0BAA0B,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC3D,aAAa,CAAC,EAAE,IAAI,CAClB,+BAA+B,EAC/B,QAAQ,GAAG,iBAAiB,CAC7B,CAAC;IACF;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,KAAK,wCAAwC,CAAC,CAAC,SAAS,cAAc,IACpE,MAAM,+BAA+B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,KAAK,GAC/D,OAAO,CAAC;IAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;CAAE,CAAC,GACvE;IAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;CAAE,CAAC;AAErE,KAAK,iDAAiD,CACpD,CAAC,SAAS,cAAc,IACtB,MAAM,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,SAAS,KAAK,GAC/D,OAAO,CAAC;IAEN,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;CACnD,CAAC,GACF;IACE,kBAAkB,EAAE,0CAA0C,CAC5D,CAAC,CAAC,oBAAoB,CAAC,CACxB,CAAC;CACH,CAAC;AAEN,MAAM,MAAM,+BAA+B,CACzC,CAAC,SAAS,cAAc,GAAG,cAAc,IACvC,mCAAmC,CAAC,CAAC,CAAC,GACxC,wCAAwC,CAAC,CAAC,CAAC,GAC3C,iDAAiD,CAAC,CAAC,CAAC,CAAC;AAEvD,wBAAgB,0BAA0B,CACxC,CAAC,SAAS,cAAc,GAAG,cAAc,EACzC,EACA,QAAQ,EACR,EAAE,EACF,WAAW,EACX,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,aAAa,EACb,0BAA0B,EAC1B,aAAa,EAAE,qBAAqB,GACrC,EAAE,+BAA+B,CAAC,CAAC,CAAC,GAAG,aAAa,CA6EpD"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { normalizePathToProjectPath, readTemplateFileSource, } from '@baseplate-dev/sync';
|
|
2
|
+
import { differenceSet } from '@baseplate-dev/utils';
|
|
3
|
+
import { renderTsCodeFileTemplate } from '../renderers/file.js';
|
|
4
|
+
import { TS_TEMPLATE_TYPE } from '../templates/types.js';
|
|
5
|
+
export function renderTsTemplateFileAction({ template, id, destination, writeOptions, variables, importMapProviders, renderOptions, positionedHoistedFragments, generatorInfo: providedGeneratorInfo, }) {
|
|
6
|
+
return {
|
|
7
|
+
execute: async (builder) => {
|
|
8
|
+
const generatorInfo = providedGeneratorInfo ?? builder.generatorInfo;
|
|
9
|
+
const templateContents = await readTemplateFileSource(generatorInfo.baseDirectory, template.source);
|
|
10
|
+
const prefix = template.prefix ?? 'TPL_';
|
|
11
|
+
const variableValues = variables ?? {};
|
|
12
|
+
// make sure variables and template variables match keys
|
|
13
|
+
const templateVariables = template.variables;
|
|
14
|
+
const templateKeySet = new Set(Object.keys(templateVariables));
|
|
15
|
+
const providedKeySet = new Set(Object.keys(variableValues));
|
|
16
|
+
if (templateKeySet.size !== providedKeySet.size ||
|
|
17
|
+
[...templateKeySet].some((k) => !providedKeySet.has(k))) {
|
|
18
|
+
const missingKeys = differenceSet(templateKeySet, providedKeySet);
|
|
19
|
+
const extraKeys = differenceSet(providedKeySet, templateKeySet);
|
|
20
|
+
throw new Error(`Template variables and provided variables do not match. Missing keys: ${[
|
|
21
|
+
...missingKeys,
|
|
22
|
+
].join(', ')}. Extra keys: ${[...extraKeys].join(', ')}.`);
|
|
23
|
+
}
|
|
24
|
+
const templateMetadata = {
|
|
25
|
+
name: template.name,
|
|
26
|
+
template: 'path' in template.source
|
|
27
|
+
? template.source.path
|
|
28
|
+
: 'content-only-template',
|
|
29
|
+
generator: generatorInfo.name,
|
|
30
|
+
group: template.group,
|
|
31
|
+
type: TS_TEMPLATE_TYPE,
|
|
32
|
+
projectExports: Object.keys(template.projectExports ?? {}).length > 0
|
|
33
|
+
? template.projectExports
|
|
34
|
+
: undefined,
|
|
35
|
+
};
|
|
36
|
+
const shouldIncludeMetadata = builder.metadataOptions.includeTemplateMetadata &&
|
|
37
|
+
builder.metadataOptions.shouldGenerateMetadata({
|
|
38
|
+
fileId: id ?? template.name,
|
|
39
|
+
filePath: normalizePathToProjectPath(destination),
|
|
40
|
+
generatorName: generatorInfo.name,
|
|
41
|
+
hasManualId: !!id,
|
|
42
|
+
});
|
|
43
|
+
const renderedTemplate = renderTsCodeFileTemplate({
|
|
44
|
+
templateContents,
|
|
45
|
+
variables: variableValues,
|
|
46
|
+
importMapProviders,
|
|
47
|
+
positionedHoistedFragments,
|
|
48
|
+
options: {
|
|
49
|
+
...renderOptions,
|
|
50
|
+
includeMetadata: shouldIncludeMetadata,
|
|
51
|
+
prefix,
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
builder.writeFile({
|
|
55
|
+
id: id ?? template.name,
|
|
56
|
+
destination,
|
|
57
|
+
contents: renderedTemplate,
|
|
58
|
+
options: writeOptions,
|
|
59
|
+
templateMetadata: shouldIncludeMetadata ? templateMetadata : undefined,
|
|
60
|
+
generatorName: generatorInfo.name,
|
|
61
|
+
});
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=render-ts-template-file-action.js.map
|
|
@@ -0,0 +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":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type BuilderAction, type WriteFileOptions } from '@baseplate-dev/sync';
|
|
2
|
+
import type { RenderTsCodeFileTemplateOptions } from '../renderers/file.js';
|
|
3
|
+
import type { InferImportMapProvidersFromProviderTypeMap, InferTsTemplateVariablesFromMap, TsTemplateFile, TsTemplateGroup } from '../templates/types.js';
|
|
4
|
+
import type { RenderTsTemplateFileActionInput } from './render-ts-template-file-action.js';
|
|
5
|
+
type HasVariables<T extends TsTemplateFile> = keyof InferTsTemplateVariablesFromMap<T['variables']> extends never ? false : true;
|
|
6
|
+
type InferTsTemplateVariablesFromTemplateGroup<T extends TsTemplateGroup> = {
|
|
7
|
+
[K in keyof T['templates'] as HasVariables<T['templates'][K]['template']> extends true ? K : never]: InferTsTemplateVariablesFromMap<T['templates'][K]['template']['variables']>;
|
|
8
|
+
};
|
|
9
|
+
type IntersectionOfValues<T> = UnionToIntersection<T[keyof T]>;
|
|
10
|
+
type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
11
|
+
/**
|
|
12
|
+
* Typescript hack to force IDEs to show raw object
|
|
13
|
+
* type without additional typing that we have added
|
|
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
|
+
}>>;
|
|
21
|
+
interface RenderTsTemplateGroupActionInputBase<T extends TsTemplateGroup> {
|
|
22
|
+
group: T;
|
|
23
|
+
baseDirectory: string;
|
|
24
|
+
writeOptions?: {
|
|
25
|
+
[K in keyof T['templates']]?: Omit<WriteFileOptions, 'templateMetadata'>;
|
|
26
|
+
};
|
|
27
|
+
renderOptions?: Omit<RenderTsCodeFileTemplateOptions, 'resolveModule'> & {
|
|
28
|
+
resolveModule?: (moduleSpecifier: string, sourceDirectory: string) => string;
|
|
29
|
+
};
|
|
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
|
+
}
|
|
36
|
+
export type RenderTsTemplateGroupActionInput<T extends TsTemplateGroup = TsTemplateGroup> = RenderTsTemplateGroupActionInputBase<T> & (keyof InferTsTemplateVariablesFromTemplateGroup<T> extends never ? Partial<{
|
|
37
|
+
variables: InferTsTemplateVariablesFromTemplateGroup<T>;
|
|
38
|
+
}> : {
|
|
39
|
+
variables: InferTsTemplateVariablesFromTemplateGroup<T>;
|
|
40
|
+
}) & (keyof InferImportMapProvidersFromTemplateGroup<T> extends never ? {
|
|
41
|
+
importMapProviders?: never;
|
|
42
|
+
} : {
|
|
43
|
+
importMapProviders: InferImportMapProvidersFromTemplateGroup<T>;
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* Extracts the template file inputs from a template group
|
|
47
|
+
* @param input - The input for the template group
|
|
48
|
+
* @returns The template file inputs
|
|
49
|
+
*/
|
|
50
|
+
export declare function extractTsTemplateFileInputsFromTemplateGroup<T extends TsTemplateGroup = TsTemplateGroup>({ group, baseDirectory, variables, importMapProviders, writeOptions, renderOptions, }: RenderTsTemplateGroupActionInput<T>): RenderTsTemplateFileActionInput[];
|
|
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
|
+
*/
|
|
56
|
+
export declare function renderTsTemplateGroupAction<T extends TsTemplateGroup = TsTemplateGroup>(input: RenderTsTemplateGroupActionInput<T>): BuilderAction;
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=render-ts-template-group-action.d.ts.map
|
|
@@ -0,0 +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":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { normalizePathToProjectPath, } from '@baseplate-dev/sync';
|
|
2
|
+
import { enhanceErrorWithContext } from '@baseplate-dev/utils';
|
|
3
|
+
import { mapValues } from 'es-toolkit';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { renderTsTemplateFileAction } from './render-ts-template-file-action.js';
|
|
6
|
+
/**
|
|
7
|
+
* Extracts the template file inputs from a template group
|
|
8
|
+
* @param input - The input for the template group
|
|
9
|
+
* @returns The template file inputs
|
|
10
|
+
*/
|
|
11
|
+
export function extractTsTemplateFileInputsFromTemplateGroup({ group, baseDirectory, variables, importMapProviders, writeOptions, renderOptions, }) {
|
|
12
|
+
if (!baseDirectory.startsWith('@/')) {
|
|
13
|
+
throw new Error('baseDirectory must start with @/');
|
|
14
|
+
}
|
|
15
|
+
const fileActionInputs = [];
|
|
16
|
+
const typedImportMapProviders = importMapProviders ?? {};
|
|
17
|
+
for (const [key, templateEntry] of Object.entries(group.templates)) {
|
|
18
|
+
const destination = path.posix.join(baseDirectory, templateEntry.destination);
|
|
19
|
+
const templateSpecificProviders = templateEntry.template.importMapProviders
|
|
20
|
+
? mapValues(templateEntry.template.importMapProviders, (_, providerKey) => {
|
|
21
|
+
if (!(providerKey in typedImportMapProviders)) {
|
|
22
|
+
throw new Error(`Import map provider "${providerKey}" is not defined in the import map providers`);
|
|
23
|
+
}
|
|
24
|
+
return typedImportMapProviders[providerKey];
|
|
25
|
+
})
|
|
26
|
+
: undefined;
|
|
27
|
+
const destinationDirectory = path.dirname(normalizePathToProjectPath(destination));
|
|
28
|
+
fileActionInputs.push({
|
|
29
|
+
template: templateEntry.template,
|
|
30
|
+
destination,
|
|
31
|
+
variables: variables && typeof variables === 'object'
|
|
32
|
+
? variables[key]
|
|
33
|
+
: undefined,
|
|
34
|
+
writeOptions: writeOptions?.[key],
|
|
35
|
+
importMapProviders: templateSpecificProviders,
|
|
36
|
+
renderOptions: {
|
|
37
|
+
...renderOptions,
|
|
38
|
+
resolveModule: (specifier) => {
|
|
39
|
+
if (!renderOptions?.resolveModule)
|
|
40
|
+
return specifier;
|
|
41
|
+
return renderOptions.resolveModule(specifier, destinationDirectory);
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return fileActionInputs;
|
|
47
|
+
}
|
|
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
|
+
export function renderTsTemplateGroupAction(input) {
|
|
54
|
+
return {
|
|
55
|
+
execute: async (builder) => {
|
|
56
|
+
const fileActionInputs = extractTsTemplateFileInputsFromTemplateGroup(input);
|
|
57
|
+
for (const fileActionInput of fileActionInputs) {
|
|
58
|
+
try {
|
|
59
|
+
await builder.apply(renderTsTemplateFileAction(fileActionInput));
|
|
60
|
+
input.onRenderTemplateFile?.(fileActionInput.destination);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
throw enhanceErrorWithContext(error, `Failed to render template "${fileActionInput.template.name}"`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=render-ts-template-group-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-ts-template-group-action.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/actions/render-ts-template-group-action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TsTemplateVariable } from '../templates/types.js';
|
|
2
|
+
interface ExtractedTemplateVariables {
|
|
3
|
+
content: string;
|
|
4
|
+
variables: Record<string, TsTemplateVariable>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Extracts template variables from a Typescript template file and returns both the processed content
|
|
8
|
+
* and the discovered variables.
|
|
9
|
+
* - Replaces TPL variable blocks with placeholders `TPL_VAR`.
|
|
10
|
+
* - Removes HOISTED blocks.
|
|
11
|
+
* - Discovers all template variables used in the content.
|
|
12
|
+
*
|
|
13
|
+
* @param content - The raw file content.
|
|
14
|
+
* @returns An object containing the processed content and discovered variables.
|
|
15
|
+
*/
|
|
16
|
+
export declare function extractTsTemplateVariables(content: string): ExtractedTemplateVariables;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=extract-ts-template-variables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-ts-template-variables.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/extract-ts-template-variables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAahE,UAAU,0BAA0B;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GACd,0BAA0B,CAwC5B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { sortObjectKeys } from '@baseplate-dev/utils';
|
|
2
|
+
import { preprocessCodeForExtractionHack } from './preprocess-code-for-extraction-hack.js';
|
|
3
|
+
const VARIABLE_REGEX = /\/\* TPL_([A-Z0-9_]+):START \*\/([\s\S]*?)\/\* TPL_\1:END \*\//g;
|
|
4
|
+
const TSX_VARIABLE_REGEX = /\{\/\* TPL_([A-Z0-9_]+):START \*\/\}([\s\S]*?)\{\/\* TPL_\1:END \*\/\}/g;
|
|
5
|
+
const COMMENT_VARIABLE_REGEX = /\/\* TPL_([A-Z0-9_]+):COMMENT:START \*\/([\s\S]*?)\/\* TPL_\1:COMMENT:END \*\//g;
|
|
6
|
+
const HOISTED_REGEX = /\/\* HOISTED:([A-Za-z0-9_-]+):START \*\/([\s\S]*?)\/\* HOISTED:\1:END \*\/\n?/g;
|
|
7
|
+
/**
|
|
8
|
+
* Extracts template variables from a Typescript template file and returns both the processed content
|
|
9
|
+
* and the discovered variables.
|
|
10
|
+
* - Replaces TPL variable blocks with placeholders `TPL_VAR`.
|
|
11
|
+
* - Removes HOISTED blocks.
|
|
12
|
+
* - Discovers all template variables used in the content.
|
|
13
|
+
*
|
|
14
|
+
* @param content - The raw file content.
|
|
15
|
+
* @returns An object containing the processed content and discovered variables.
|
|
16
|
+
*/
|
|
17
|
+
export function extractTsTemplateVariables(content) {
|
|
18
|
+
let processedContent = content;
|
|
19
|
+
const discoveredVariables = {};
|
|
20
|
+
// Preprocess the content to handle the extraction hack
|
|
21
|
+
processedContent = preprocessCodeForExtractionHack(processedContent);
|
|
22
|
+
// Extract and process TPL variable blocks
|
|
23
|
+
const processVariableBlock = (varName, formatName) => {
|
|
24
|
+
const fullName = `TPL_${varName}`;
|
|
25
|
+
discoveredVariables[fullName] = {};
|
|
26
|
+
return formatName(fullName);
|
|
27
|
+
};
|
|
28
|
+
processedContent = processedContent.replaceAll(TSX_VARIABLE_REGEX, (match, varName) => processVariableBlock(varName, (name) => `<${name} />`));
|
|
29
|
+
processedContent = processedContent.replaceAll(VARIABLE_REGEX, (match, varName) => processVariableBlock(varName, (name) => name));
|
|
30
|
+
processedContent = processedContent.replaceAll(COMMENT_VARIABLE_REGEX, (match, varName) => processVariableBlock(varName, (name) => `/* ${name} */`));
|
|
31
|
+
// Remove HOISTED blocks
|
|
32
|
+
processedContent = processedContent.replaceAll(HOISTED_REGEX, '');
|
|
33
|
+
return {
|
|
34
|
+
content: processedContent,
|
|
35
|
+
variables: sortObjectKeys(discoveredVariables),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=extract-ts-template-variables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-ts-template-variables.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/extract-ts-template-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAE3F,MAAM,cAAc,GAClB,iEAAiE,CAAC;AACpE,MAAM,kBAAkB,GACtB,yEAAyE,CAAC;AAC5E,MAAM,sBAAsB,GAC1B,iFAAiF,CAAC;AACpF,MAAM,aAAa,GACjB,gFAAgF,CAAC;AAOnF;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAe;IAEf,IAAI,gBAAgB,GAAG,OAAO,CAAC;IAC/B,MAAM,mBAAmB,GAAuC,EAAE,CAAC;IAEnE,uDAAuD;IACvD,gBAAgB,GAAG,+BAA+B,CAAC,gBAAgB,CAAC,CAAC;IAErE,0CAA0C;IAC1C,MAAM,oBAAoB,GAAG,CAC3B,OAAe,EACf,UAAoC,EAC5B,EAAE;QACV,MAAM,QAAQ,GAAG,OAAO,OAAO,EAAE,CAAC;QAClC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAC5C,kBAAkB,EAClB,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE,CACjC,oBAAoB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,CACzD,CAAC;IACF,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAC5C,cAAc,EACd,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE,CACjC,oBAAoB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAChD,CAAC;IACF,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAC5C,sBAAsB,EACtB,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE,CACjC,oBAAoB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,CAC3D,CAAC;IAEF,wBAAwB;IACxB,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAElE,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,SAAS,EAAE,cAAc,CAAC,mBAAmB,CAAC;KAC/C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ResolverFactory } from 'oxc-resolver';
|
|
2
|
+
import type { TsProjectExport } from './write-ts-project-exports.js';
|
|
3
|
+
export type ProjectExportLookupMap = Map<string, Map<string, TsProjectExport>>;
|
|
4
|
+
export interface TsTemplateImportLookupContext {
|
|
5
|
+
projectExportMap: ProjectExportLookupMap;
|
|
6
|
+
projectRoot: string;
|
|
7
|
+
generatorFiles: string[];
|
|
8
|
+
resolver: ResolverFactory;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Organizes the imports in a Typescript template file.
|
|
12
|
+
* - Removes unused imports
|
|
13
|
+
* - Replaces import declarations with new import declarations in the projectExportMap
|
|
14
|
+
* - Sorts the imports
|
|
15
|
+
* - Writes the imports to the file
|
|
16
|
+
*
|
|
17
|
+
* @param filePath - The path to the file to organize
|
|
18
|
+
* @param contents - The contents of the file to organize
|
|
19
|
+
* @param context - The context for the template import lookup
|
|
20
|
+
* @returns The organized contents of the file
|
|
21
|
+
*/
|
|
22
|
+
export declare function organizeTsTemplateImports(filePath: string, contents: string, { projectExportMap, generatorFiles, resolver, projectRoot, }: TsTemplateImportLookupContext): Promise<{
|
|
23
|
+
contents: string;
|
|
24
|
+
usedProjectExports: TsProjectExport[];
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=organize-ts-template-imports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organize-ts-template-imports.d.ts","sourceRoot":"","sources":["../../../../src/renderers/typescript/extractor/organize-ts-template-imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAQpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAUrE,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;AAE/E,MAAM,WAAW,6BAA6B;IAC5C,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAuBD;;;;;;;;;;;GAWG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,EACE,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,WAAW,GACZ,EAAE,6BAA6B,GAC/B,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,eAAe,EAAE,CAAC;CACvC,CAAC,CAyLD"}
|