@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,137 @@
|
|
|
1
|
+
import { createTemplateExtractorPlugin, toCanonicalPath, } from '@baseplate-dev/sync';
|
|
2
|
+
import { handleFileNotFoundError, posixJoin, readJsonWithSchema, } from '@baseplate-dev/utils/node';
|
|
3
|
+
import { camelCase } from 'change-case';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { normalizeTsPathToJsPath } from '#src/utils/ts-paths.js';
|
|
7
|
+
import { templateExtractorBarrelExportPlugin } from '../barrel-export.js';
|
|
8
|
+
import { GENERATED_PATHS_FILE_NAME, getPathsFileExportNames, writePathMapFile, } from './paths-file.js';
|
|
9
|
+
// Key is the canonical path and value is the path root name
|
|
10
|
+
const templatePathRootSchema = z.object({
|
|
11
|
+
canonicalPath: z.string(),
|
|
12
|
+
pathRootName: z.string(),
|
|
13
|
+
});
|
|
14
|
+
function getPathsRootExportName(generatorName) {
|
|
15
|
+
const fileExportNames = getPathsFileExportNames(generatorName);
|
|
16
|
+
return fileExportNames.rootExportName;
|
|
17
|
+
}
|
|
18
|
+
export const TEMPLATE_PATHS_METADATA_FILE = '.paths-metadata.json';
|
|
19
|
+
const templatePathsPluginConfigSchema = z.object({
|
|
20
|
+
/**
|
|
21
|
+
* Whether to skip generating the paths task.
|
|
22
|
+
*/
|
|
23
|
+
skipTaskGeneration: z.boolean().default(false),
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* The template paths plugin is used to enable templates to get assigned a path
|
|
27
|
+
* relative to their nearest path root, e.g. the feature folder or package root.
|
|
28
|
+
*
|
|
29
|
+
* To support such behavior, it is necessary to use the path-metadata generator
|
|
30
|
+
* which writes a .paths-metadata.json to the output directory.
|
|
31
|
+
*/
|
|
32
|
+
export const templatePathsPlugin = createTemplateExtractorPlugin({
|
|
33
|
+
name: 'template-paths',
|
|
34
|
+
pluginDependencies: [templateExtractorBarrelExportPlugin],
|
|
35
|
+
getInstance: async ({ context, api }) => {
|
|
36
|
+
const barrelExportPlugin = context.getPlugin(templateExtractorBarrelExportPlugin.name);
|
|
37
|
+
const templatePathRoots = await discoverTemplatePathRoots(context.outputDirectory);
|
|
38
|
+
// Key: Generator name, Value: Map of template name to path root relative path
|
|
39
|
+
const pathMapByGenerator = new Map();
|
|
40
|
+
function registerTemplatePathEntry(generatorName, templateName, pathRootRelativePath) {
|
|
41
|
+
const pathMap = pathMapByGenerator.get(generatorName) ?? new Map();
|
|
42
|
+
pathMap.set(camelCase(templateName), pathRootRelativePath);
|
|
43
|
+
pathMapByGenerator.set(generatorName, pathMap);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Gets the path of a singleton template file relative to the closest file path root.
|
|
47
|
+
*
|
|
48
|
+
* @param absolutePath - The absolute path of the template file.
|
|
49
|
+
* @returns The relative path of the template file to the closest file path root.
|
|
50
|
+
*/
|
|
51
|
+
function getPathRootRelativePath(absolutePath) {
|
|
52
|
+
const outputRelativePath = path.relative(context.outputDirectory, absolutePath);
|
|
53
|
+
return getTemplatePathFromRelativePath(outputRelativePath, templatePathRoots);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Resolves template paths for a given file based on its file options.
|
|
57
|
+
*
|
|
58
|
+
* @param fileOptions - The file options containing template path configuration.
|
|
59
|
+
* @param absolutePath - The absolute path of the template file.
|
|
60
|
+
* @param templateName - The name of the template (for error messages).
|
|
61
|
+
* @param generatorName - The name of the generator (for error messages).
|
|
62
|
+
* @returns An object containing the pathRootRelativePath and generatorTemplatePath.
|
|
63
|
+
*/
|
|
64
|
+
function resolveTemplatePaths(fileOptions, absolutePath, templateName, generatorName) {
|
|
65
|
+
const pathRootRelativePath = fileOptions.kind === 'singleton'
|
|
66
|
+
? (fileOptions.pathRootRelativePath ??
|
|
67
|
+
getPathRootRelativePath(absolutePath))
|
|
68
|
+
: undefined;
|
|
69
|
+
// By default, singleton templates have the path like `feature-root/services/[file].ts`
|
|
70
|
+
const generatorTemplatePath = fileOptions.generatorTemplatePath ??
|
|
71
|
+
(pathRootRelativePath &&
|
|
72
|
+
getTemplatePathFromPathRootRelativePath(pathRootRelativePath));
|
|
73
|
+
if (!generatorTemplatePath) {
|
|
74
|
+
throw new Error(`Template path is required for ${templateName} in ${generatorName}`);
|
|
75
|
+
}
|
|
76
|
+
return { pathRootRelativePath, generatorTemplatePath };
|
|
77
|
+
}
|
|
78
|
+
api.registerHook('afterWrite', async () => {
|
|
79
|
+
for (const [generatorName, pathMap] of pathMapByGenerator) {
|
|
80
|
+
const config = context.configLookup.getPluginConfigForGenerator(generatorName, templatePathsPlugin.name, templatePathsPluginConfigSchema);
|
|
81
|
+
const { exportName } = await writePathMapFile(generatorName, pathMap, context, { skipTaskGeneration: config?.skipTaskGeneration });
|
|
82
|
+
barrelExportPlugin.addGeneratedBarrelExport(generatorName, {
|
|
83
|
+
moduleSpecifier: `./${normalizeTsPathToJsPath(GENERATED_PATHS_FILE_NAME)}`,
|
|
84
|
+
namedExport: exportName,
|
|
85
|
+
name: 'paths',
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
return {
|
|
90
|
+
getPathRootRelativePath,
|
|
91
|
+
getTemplatePathFromPathRootRelativePath,
|
|
92
|
+
registerTemplatePathEntry,
|
|
93
|
+
resolveTemplatePaths,
|
|
94
|
+
getPathsRootExportName,
|
|
95
|
+
};
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
/**
|
|
99
|
+
* Gets the template path from a path root relative path by stripping the brackets and -root from the path.
|
|
100
|
+
*
|
|
101
|
+
* @param pathRootRelativePath - The path root relative path. (e.g. `{feature-root}/services/test.ts`)
|
|
102
|
+
* @returns The template path. (e.g. `feature/services/[file].ts`)
|
|
103
|
+
*/
|
|
104
|
+
function getTemplatePathFromPathRootRelativePath(pathRootRelativePath) {
|
|
105
|
+
return pathRootRelativePath
|
|
106
|
+
.replaceAll(/-root(?=})/g, '')
|
|
107
|
+
.replaceAll(/[{}]/g, '');
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Discovers the template path roots from the paths-metadata.json file.
|
|
111
|
+
*
|
|
112
|
+
* @param outputDirectory - The output directory of the project.
|
|
113
|
+
* @returns The template path roots from longest to shortest.
|
|
114
|
+
*/
|
|
115
|
+
async function discoverTemplatePathRoots(outputDirectory) {
|
|
116
|
+
const pathsMetadataFile = path.join(outputDirectory, TEMPLATE_PATHS_METADATA_FILE);
|
|
117
|
+
const pathsMetadataContents = await readJsonWithSchema(pathsMetadataFile, z.array(templatePathRootSchema)).catch(handleFileNotFoundError);
|
|
118
|
+
if (!pathsMetadataContents)
|
|
119
|
+
return [];
|
|
120
|
+
return pathsMetadataContents.sort((a, b) => b.canonicalPath.length - a.canonicalPath.length);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Gets the template path from a relative path.
|
|
124
|
+
*
|
|
125
|
+
* @param outputRelativePath - The output relative path.
|
|
126
|
+
* @param templatePathRoots - The template path roots.
|
|
127
|
+
* @returns The template path.
|
|
128
|
+
*/
|
|
129
|
+
function getTemplatePathFromRelativePath(outputRelativePath, templatePathRoots) {
|
|
130
|
+
const canonicalPath = toCanonicalPath(outputRelativePath);
|
|
131
|
+
const templatePathRoot = templatePathRoots.find((templatePathRoot) => `${canonicalPath}/`.startsWith(`${templatePathRoot.canonicalPath}/`));
|
|
132
|
+
if (!templatePathRoot) {
|
|
133
|
+
throw new Error(`Could not find template path root for ${canonicalPath}`);
|
|
134
|
+
}
|
|
135
|
+
return posixJoin(`{${templatePathRoot.pathRootName}}`, path.posix.relative(templatePathRoot.canonicalPath, canonicalPath));
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=template-paths.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-paths.plugin.js","sourceRoot":"","sources":["../../../../../src/renderers/extractor/plugins/template-paths/template-paths.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { TsCodeFragment } from '../../typescript/fragments/index.js';
|
|
2
|
+
export interface TemplateExtractorTypedTemplate {
|
|
3
|
+
fragment: TsCodeFragment;
|
|
4
|
+
exportName: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The typed templates file plugin is used to generate a file that exports
|
|
8
|
+
* the templates as a typed object.
|
|
9
|
+
*/
|
|
10
|
+
export declare const typedTemplatesFilePlugin: import("@baseplate-dev/sync").TemplateExtractorPlugin<"typed-templates-file", {
|
|
11
|
+
addTemplate: (generatorName: string, template: TemplateExtractorTypedTemplate) => void;
|
|
12
|
+
}, (import("@baseplate-dev/sync").TemplateExtractorPlugin<"barrel-export", {
|
|
13
|
+
addBarrelExport: (generatorName: string, barrelExport: import("./barrel-export.js").TemplateExtractorBarrelExport) => void;
|
|
14
|
+
addGeneratedBarrelExport: (generatorName: string, generatedBarrelExport: import("./barrel-export.js").TemplateExtractorGeneratedBarrelExport) => void;
|
|
15
|
+
}, []> | import("@baseplate-dev/sync").TemplateExtractorPlugin<"template-paths", {
|
|
16
|
+
getPathRootRelativePath: (absolutePath: string) => string;
|
|
17
|
+
getTemplatePathFromPathRootRelativePath: (pathRootRelativePath: string) => string;
|
|
18
|
+
registerTemplatePathEntry: (generatorName: string, templateName: string, pathRootRelativePath: string) => void;
|
|
19
|
+
resolveTemplatePaths: (fileOptions: import("../../schemas/template-file-options.js").TemplateFileOptions, absolutePath: string, templateName: string, generatorName: string) => {
|
|
20
|
+
pathRootRelativePath: string | undefined;
|
|
21
|
+
generatorTemplatePath: string;
|
|
22
|
+
};
|
|
23
|
+
getPathsRootExportName: (generatorName: string) => string;
|
|
24
|
+
}, import("@baseplate-dev/sync").TemplateExtractorPlugin<"barrel-export", {
|
|
25
|
+
addBarrelExport: (generatorName: string, barrelExport: import("./barrel-export.js").TemplateExtractorBarrelExport) => void;
|
|
26
|
+
addGeneratedBarrelExport: (generatorName: string, generatedBarrelExport: import("./barrel-export.js").TemplateExtractorGeneratedBarrelExport) => void;
|
|
27
|
+
}, []>[]>)[]>;
|
|
28
|
+
//# sourceMappingURL=typed-templates-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-templates-file.d.ts","sourceRoot":"","sources":["../../../../src/renderers/extractor/plugins/typed-templates-file.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAe1E,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD;;;GAGG;AACH,eAAO,MAAM,wBAAwB;iCAgBhB,MAAM,YACX,8BAA8B,KACvC,IAAI;;;;;;;;;;;;;;;;aAuDT,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { createTemplateExtractorPlugin, TEMPLATE_EXTRACTOR_GENERATED_DIRECTORY, } from '@baseplate-dev/sync';
|
|
2
|
+
import { posixJoin } from '@baseplate-dev/utils/node';
|
|
3
|
+
import { normalizeTsPathToJsPath } from '#src/utils/ts-paths.js';
|
|
4
|
+
import { renderTsCodeFileTemplate } from '../../typescript/renderers/file.js';
|
|
5
|
+
import { TsCodeUtils } from '../../typescript/utils/index.js';
|
|
6
|
+
import { getGeneratedTemplateConstantName } from '../utils/index.js';
|
|
7
|
+
import { templateExtractorBarrelExportPlugin } from './barrel-export.js';
|
|
8
|
+
import { templatePathsPlugin } from './template-paths/template-paths.plugin.js';
|
|
9
|
+
const TYPED_TEMPLATES_FILE_NAME = 'typed-templates.ts';
|
|
10
|
+
const TYPED_TEMPLATES_FILE_PATH = posixJoin(TEMPLATE_EXTRACTOR_GENERATED_DIRECTORY, TYPED_TEMPLATES_FILE_NAME);
|
|
11
|
+
const TS_TEMPLATE = `
|
|
12
|
+
TPL_TEMPLATE_FRAGMENTS;
|
|
13
|
+
|
|
14
|
+
export const TPL_EXPORT_NAME = TPL_TEMPLATE_EXPORTS;
|
|
15
|
+
`;
|
|
16
|
+
/**
|
|
17
|
+
* The typed templates file plugin is used to generate a file that exports
|
|
18
|
+
* the templates as a typed object.
|
|
19
|
+
*/
|
|
20
|
+
export const typedTemplatesFilePlugin = createTemplateExtractorPlugin({
|
|
21
|
+
name: 'typed-templates-file',
|
|
22
|
+
pluginDependencies: [
|
|
23
|
+
templatePathsPlugin,
|
|
24
|
+
templateExtractorBarrelExportPlugin,
|
|
25
|
+
],
|
|
26
|
+
getInstance: ({ context, api }) => {
|
|
27
|
+
const barrelExportPlugin = context.getPlugin(templateExtractorBarrelExportPlugin.name);
|
|
28
|
+
const generatorTemplates = new Map();
|
|
29
|
+
function addTemplate(generatorName, template) {
|
|
30
|
+
const templates = generatorTemplates.get(generatorName) ?? [];
|
|
31
|
+
templates.push(template);
|
|
32
|
+
generatorTemplates.set(generatorName, templates);
|
|
33
|
+
}
|
|
34
|
+
api.registerHook('afterWrite', async () => {
|
|
35
|
+
for (const [generatorName, templates] of generatorTemplates) {
|
|
36
|
+
const templateExports = templates.map((t) => t.exportName);
|
|
37
|
+
const templatesFragment = TsCodeUtils.mergeFragments(new Map(templates.map((t) => [t.exportName, t.fragment])), '\n\n');
|
|
38
|
+
const exportName = getGeneratedTemplateConstantName(generatorName, 'TEMPLATES');
|
|
39
|
+
const templateFileContents = renderTsCodeFileTemplate({
|
|
40
|
+
templateContents: TS_TEMPLATE,
|
|
41
|
+
variables: {
|
|
42
|
+
TPL_TEMPLATE_FRAGMENTS: templatesFragment,
|
|
43
|
+
TPL_TEMPLATE_EXPORTS: `{ ${templateExports.join(', ')} }`,
|
|
44
|
+
TPL_EXPORT_NAME: exportName,
|
|
45
|
+
},
|
|
46
|
+
options: {
|
|
47
|
+
importSortOptions: {
|
|
48
|
+
internalPatterns: [/^#src/],
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
const generatorPath = context.configLookup.getExtractorConfigOrThrow(generatorName).generatorDirectory;
|
|
53
|
+
const typedTemplatesPath = posixJoin(generatorPath, TYPED_TEMPLATES_FILE_PATH);
|
|
54
|
+
await context.fileContainer.writeFile(typedTemplatesPath, templateFileContents);
|
|
55
|
+
barrelExportPlugin.addGeneratedBarrelExport(generatorName, {
|
|
56
|
+
moduleSpecifier: `./${normalizeTsPathToJsPath(TYPED_TEMPLATES_FILE_NAME)}`,
|
|
57
|
+
namedExport: exportName,
|
|
58
|
+
name: 'templates',
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return {
|
|
63
|
+
addTemplate,
|
|
64
|
+
};
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=typed-templates-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-templates-file.js","sourceRoot":"","sources":["../../../../src/renderers/extractor/plugins/typed-templates-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { TemplateFileExtractorSourceFile } from '@baseplate-dev/sync';
|
|
2
|
+
/**
|
|
3
|
+
* Deduplicate source files for the template file extractor
|
|
4
|
+
*
|
|
5
|
+
* @param files Array of soruce files
|
|
6
|
+
* @returns Array of deduplicated source files
|
|
7
|
+
*/
|
|
8
|
+
export declare function deduplicateTemplateFileExtractorSourceFiles<T extends TemplateFileExtractorSourceFile>(files: T[]): T[];
|
|
9
|
+
//# sourceMappingURL=deduplicate-templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deduplicate-templates.d.ts","sourceRoot":"","sources":["../../../../src/renderers/extractor/utils/deduplicate-templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAI3E;;;;;GAKG;AACH,wBAAgB,2CAA2C,CACzD,CAAC,SAAS,+BAA+B,EACzC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAyBjB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deduplicate source files for the template file extractor
|
|
3
|
+
*
|
|
4
|
+
* @param files Array of soruce files
|
|
5
|
+
* @returns Array of deduplicated source files
|
|
6
|
+
*/
|
|
7
|
+
export function deduplicateTemplateFileExtractorSourceFiles(files) {
|
|
8
|
+
const addedTemplates = new Set();
|
|
9
|
+
const deduplicatedList = [];
|
|
10
|
+
// Sort by modified time to ensure the latest version is used
|
|
11
|
+
for (const file of files.toSorted((a, b) => a.modifiedTime.getTime() - b.modifiedTime.getTime())) {
|
|
12
|
+
const fileKey = `${file.metadata.generator}__${file.metadata.name}`;
|
|
13
|
+
if (addedTemplates.has(fileKey)) {
|
|
14
|
+
if ('fileOptions' in file.metadata &&
|
|
15
|
+
file.metadata.fileOptions.kind === 'singleton') {
|
|
16
|
+
throw new Error(`Duplicate singleton template found: ${fileKey}`);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
// instance templates are allowed to be duplicated
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
addedTemplates.add(fileKey);
|
|
24
|
+
deduplicatedList.push(file);
|
|
25
|
+
}
|
|
26
|
+
return deduplicatedList;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=deduplicate-templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deduplicate-templates.js","sourceRoot":"","sources":["../../../../src/renderers/extractor/utils/deduplicate-templates.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,UAAU,2CAA2C,CAEzD,KAAU;IACV,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;IACjC,MAAM,gBAAgB,GAAQ,EAAE,CAAC;IAEjC,6DAA6D;IAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,CAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAC9D,EAAE,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,IACE,aAAa,IAAI,IAAI,CAAC,QAAQ;gBAC7B,IAAI,CAAC,QAAQ,CAAC,WAAmC,CAAC,IAAI,KAAK,WAAW,EACvE,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,kDAAkD;gBAClD,SAAS;YACX,CAAC;QACH,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gets the constant name for a generated template file for a particular generator
|
|
3
|
+
* e.g. `core/react-routes` + `templates` -> `CORE_REACT_ROUTES_TEMPLATES`
|
|
4
|
+
*
|
|
5
|
+
* @param generatorName - The name of the generator.
|
|
6
|
+
* @param suffix - The suffix of the export name.
|
|
7
|
+
* @returns The export name for the generated template file.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getGeneratedTemplateConstantName(generatorName: string, suffix: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Gets the export name for a generated template file for a particular generator
|
|
12
|
+
* e.g. `core/react-routes` + `templates` -> `coreReactRoutesTemplates`
|
|
13
|
+
*
|
|
14
|
+
* @param generatorName - The name of the generator.
|
|
15
|
+
* @param suffix - The suffix of the export name.
|
|
16
|
+
* @returns The export name for the generated template file.
|
|
17
|
+
*/
|
|
18
|
+
export declare function getGeneratedTemplateExportName(generatorName: string, suffix: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* Gets the interface name for a generated template file for a particular generator
|
|
21
|
+
* e.g. `core/react-routes` + `templates` -> `CoreReactRoutesTemplates`
|
|
22
|
+
*
|
|
23
|
+
* @param generatorName - The name of the generator.
|
|
24
|
+
* @param suffix - The suffix of the interface name.
|
|
25
|
+
* @returns The interface name for the generated template file.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getGeneratedTemplateInterfaceName(generatorName: string, suffix: string): string;
|
|
28
|
+
export declare function getGeneratedTemplateProviderName(generatorName: string, suffix: string): string;
|
|
29
|
+
//# sourceMappingURL=generated-template-file-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-template-file-names.d.ts","sourceRoot":"","sources":["../../../../src/renderers/extractor/utils/generated-template-file-names.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb,MAAM,CAER"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { camelCase, constantCase, kebabCase, pascalCase } from 'change-case';
|
|
2
|
+
/**
|
|
3
|
+
* Gets the constant name for a generated template file for a particular generator
|
|
4
|
+
* e.g. `core/react-routes` + `templates` -> `CORE_REACT_ROUTES_TEMPLATES`
|
|
5
|
+
*
|
|
6
|
+
* @param generatorName - The name of the generator.
|
|
7
|
+
* @param suffix - The suffix of the export name.
|
|
8
|
+
* @returns The export name for the generated template file.
|
|
9
|
+
*/
|
|
10
|
+
export function getGeneratedTemplateConstantName(generatorName, suffix) {
|
|
11
|
+
return `${constantCase(generatorName.split('#')[1])}_${constantCase(suffix)}`;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Gets the export name for a generated template file for a particular generator
|
|
15
|
+
* e.g. `core/react-routes` + `templates` -> `coreReactRoutesTemplates`
|
|
16
|
+
*
|
|
17
|
+
* @param generatorName - The name of the generator.
|
|
18
|
+
* @param suffix - The suffix of the export name.
|
|
19
|
+
* @returns The export name for the generated template file.
|
|
20
|
+
*/
|
|
21
|
+
export function getGeneratedTemplateExportName(generatorName, suffix) {
|
|
22
|
+
return `${camelCase(generatorName.split('#')[1])}${pascalCase(suffix)}`;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Gets the interface name for a generated template file for a particular generator
|
|
26
|
+
* e.g. `core/react-routes` + `templates` -> `CoreReactRoutesTemplates`
|
|
27
|
+
*
|
|
28
|
+
* @param generatorName - The name of the generator.
|
|
29
|
+
* @param suffix - The suffix of the interface name.
|
|
30
|
+
* @returns The interface name for the generated template file.
|
|
31
|
+
*/
|
|
32
|
+
export function getGeneratedTemplateInterfaceName(generatorName, suffix) {
|
|
33
|
+
return `${pascalCase(generatorName.split('#')[1])}${pascalCase(suffix)}`;
|
|
34
|
+
}
|
|
35
|
+
export function getGeneratedTemplateProviderName(generatorName, suffix) {
|
|
36
|
+
return `${kebabCase(generatorName.split('#')[1])}-${kebabCase(suffix)}`;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=generated-template-file-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-template-file-names.js","sourceRoot":"","sources":["../../../../src/renderers/extractor/utils/generated-template-file-names.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7E;;;;;;;GAOG;AACH,MAAM,UAAU,gCAAgC,CAC9C,aAAqB,EACrB,MAAc;IAEd,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;AAChF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,8BAA8B,CAC5C,aAAqB,EACrB,MAAc;IAEd,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iCAAiC,CAC/C,aAAqB,EACrB,MAAc;IAEd,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,aAAqB,EACrB,MAAc;IAEd,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/renderers/extractor/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/renderers/extractor/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the correct import for a package path specifier from a specific package.
|
|
3
|
+
*
|
|
4
|
+
* @param packagePathSpecifier - The package path specifier is a path that inclues
|
|
5
|
+
* the package name and the path to the file, e.g. `@baseplate-dev/core-generators:src/renderers/plugins/typed-templates-file.ts`
|
|
6
|
+
* @param importingPackage - The name of the package importing the packagePathSpecifier.
|
|
7
|
+
* @returns The resolved import path which is either a package name or the subpath import (e.g. `#src/...`).
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolvePackagePathSpecifier(packagePathSpecifier: string, importingPackage: string): string;
|
|
10
|
+
//# sourceMappingURL=package-path-specifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-path-specifier.d.ts","sourceRoot":"","sources":["../../../../src/renderers/extractor/utils/package-path-specifier.ts"],"names":[],"mappings":"AAiCA;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,oBAAoB,EAAE,MAAM,EAC5B,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAOR"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a package path specifier into a package name and file path.
|
|
3
|
+
*
|
|
4
|
+
* @param spec - The package path specifier in the format "package-name:file-path"
|
|
5
|
+
* @returns The parsed package name and file path
|
|
6
|
+
*/
|
|
7
|
+
function parsePackagePathSpecifier(spec) {
|
|
8
|
+
if (!spec || typeof spec !== 'string') {
|
|
9
|
+
throw new Error('Package path specifier must be a non-empty string');
|
|
10
|
+
}
|
|
11
|
+
if (!spec.includes(':')) {
|
|
12
|
+
throw new Error(`Invalid package path specifier: "${spec}". Expected format: "package-name:file-path"`);
|
|
13
|
+
}
|
|
14
|
+
const [packageName, filePath] = spec.split(':', 2);
|
|
15
|
+
if (!packageName || !filePath) {
|
|
16
|
+
throw new Error(`Invalid package path specifier: "${spec}". Both package name and file path are required`);
|
|
17
|
+
}
|
|
18
|
+
return { packageName, filePath };
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Resolve the correct import for a package path specifier from a specific package.
|
|
22
|
+
*
|
|
23
|
+
* @param packagePathSpecifier - The package path specifier is a path that inclues
|
|
24
|
+
* the package name and the path to the file, e.g. `@baseplate-dev/core-generators:src/renderers/plugins/typed-templates-file.ts`
|
|
25
|
+
* @param importingPackage - The name of the package importing the packagePathSpecifier.
|
|
26
|
+
* @returns The resolved import path which is either a package name or the subpath import (e.g. `#src/...`).
|
|
27
|
+
*/
|
|
28
|
+
export function resolvePackagePathSpecifier(packagePathSpecifier, importingPackage) {
|
|
29
|
+
const parsed = parsePackagePathSpecifier(packagePathSpecifier);
|
|
30
|
+
if (parsed.packageName === importingPackage) {
|
|
31
|
+
return `#${parsed.filePath.replace(/\.(t|j)sx?$/, '.js')}`;
|
|
32
|
+
}
|
|
33
|
+
// Return the package name directly if importing from another package.
|
|
34
|
+
return parsed.packageName;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=package-path-specifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-path-specifier.js","sourceRoot":"","sources":["../../../../src/renderers/extractor/utils/package-path-specifier.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,IAAY;IAC7C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,8CAA8C,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEnD,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,iDAAiD,CAC1F,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,oBAA4B,EAC5B,gBAAwB;IAExB,MAAM,MAAM,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,WAAW,KAAK,gBAAgB,EAAE,CAAC;QAC5C,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IAC7D,CAAC;IACD,sEAAsE;IACtE,OAAO,MAAM,CAAC,WAAW,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractors.d.ts","sourceRoot":"","sources":["../../src/renderers/extractors.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractors.js","sourceRoot":"","sources":["../../src/renderers/extractors.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sCAAsC,CAAC;AACrD,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
|
package/dist/renderers/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/raw/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderers/raw/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,YAAY,CAAC"}
|