@breadstone-infrastructure/nx-tasks 0.0.256 → 0.0.258
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/LICENSE +21 -0
- package/dist/executors.json +149 -0
- package/dist/package.json +48 -0
- package/executors.json +87 -87
- package/package.json +76 -47
- package/readme.md +156 -0
- package/src/_legacy/_Lint.ts +40 -0
- package/src/_legacy/_LitAnalyzer.ts +163 -0
- package/src/_legacy/_Resources.ts +69 -0
- package/src/executors/alias-replace/executor.options.ts +10 -0
- package/src/executors/alias-replace/executor.task.ts +305 -0
- package/src/executors/alias-replace/executor.ts +35 -0
- package/src/executors/alias-replace/schema.json +1 -0
- package/src/executors/clean/executor.options.ts +10 -0
- package/src/executors/clean/executor.task.ts +49 -0
- package/src/executors/clean/executor.ts +28 -0
- package/src/executors/clean/schema.json +1 -0
- package/src/executors/copy/executor.options.ts +10 -0
- package/src/executors/copy/executor.task.ts +96 -0
- package/src/executors/copy/executor.ts +30 -0
- package/src/executors/copy/schema.json +1 -0
- package/src/executors/copy2/executor.options.ts +10 -0
- package/src/executors/copy2/executor.task.ts +115 -0
- package/src/executors/copy2/executor.ts +28 -0
- package/src/executors/copy2/schema.json +1 -0
- package/src/executors/docs/ApiDocumenter.ts +50 -0
- package/src/executors/docs/DocusaurusMarkdownFeature.ts +129 -0
- package/src/executors/docs/executor.options.ts +10 -0
- package/src/executors/docs/executor.task.ts +116 -0
- package/src/executors/docs/executor.ts +33 -0
- package/src/executors/docs/schema.json +1 -0
- package/src/executors/generate-package-docs/executor.options.ts +10 -0
- package/src/executors/generate-package-docs/executor.task.ts +381 -0
- package/src/executors/generate-package-docs/executor.ts +47 -0
- package/src/executors/generate-package-docs/schema.json +258 -0
- package/src/executors/icon-collection-builder/executor.options.ts +10 -0
- package/src/executors/icon-collection-builder/executor.task.ts +284 -0
- package/src/executors/icon-collection-builder/executor.ts +67 -0
- package/src/executors/icon-collection-builder/schema.json +1 -0
- package/src/executors/icon-collection-builder/svg.ts +406 -0
- package/src/executors/icon-collection-downloader/executor.options.ts +10 -0
- package/src/executors/icon-collection-downloader/executor.task.ts +409 -0
- package/src/executors/icon-collection-downloader/executor.ts +47 -0
- package/src/executors/icon-collection-downloader/schema.json +33 -0
- package/src/executors/lit-docs/ComponentDocFixer.ts +571 -0
- package/src/executors/lit-docs/JSDocChecker.ts +353 -0
- package/src/executors/lit-docs/executor.options.ts +10 -0
- package/src/executors/lit-docs/executor.task.ts +372 -0
- package/src/executors/lit-docs/executor.ts +31 -0
- package/src/executors/lit-docs/schema.json +1 -0
- package/src/executors/lit-style-transform/executor.options.ts +0 -0
- package/src/executors/lit-style-transform/executor.task.ts +433 -0
- package/src/executors/lit-style-transform/executor.ts +47 -0
- package/src/executors/lit-style-transform/schema.json +1 -0
- package/src/executors/localizator/executor.options.ts +11 -0
- package/src/executors/localizator/executor.task.ts +194 -0
- package/src/executors/localizator/executor.ts +45 -0
- package/src/executors/localizator/schema.json +10 -0
- package/src/executors/markdown-to-typescript-transform/MarkdownRenderer.ts +96 -0
- package/src/executors/markdown-to-typescript-transform/executor.options.ts +0 -0
- package/src/executors/markdown-to-typescript-transform/executor.task.ts +113 -0
- package/src/executors/markdown-to-typescript-transform/executor.ts +44 -0
- package/src/executors/markdown-to-typescript-transform/schema.json +1 -0
- package/src/executors/ng-api-extractor/executor.options.ts +10 -0
- package/src/executors/ng-api-extractor/executor.task.ts +157 -0
- package/src/executors/ng-api-extractor/executor.ts +27 -0
- package/src/executors/ng-api-extractor/schema.json +1 -0
- package/src/executors/ng-packagr-build/executor.options.ts +0 -0
- package/src/executors/ng-packagr-build/executor.task.ts +49 -0
- package/src/executors/ng-packagr-build/executor.ts +29 -0
- package/src/executors/ng-packagr-build/schema.json +1 -0
- package/src/executors/ng-proxy-transform/executor.options.ts +0 -0
- package/src/executors/ng-proxy-transform/executor.task.ts +675 -0
- package/src/executors/ng-proxy-transform/executor.ts +49 -0
- package/src/executors/ng-proxy-transform/schema.json +13 -0
- package/src/executors/openapi-generator/executor.options.ts +0 -0
- package/src/executors/openapi-generator/executor.task.ts +43 -0
- package/src/executors/openapi-generator/executor.ts +35 -0
- package/src/executors/openapi-generator/schema.json +1 -0
- package/src/executors/prisma-seeds/executor.options.ts +15 -0
- package/src/executors/prisma-seeds/executor.task.ts +63 -0
- package/src/executors/prisma-seeds/executor.ts +39 -0
- package/src/executors/prisma-seeds/schema.json +35 -0
- package/src/executors/react-proxy-transform/executor.options.ts +0 -0
- package/src/executors/react-proxy-transform/executor.task.ts +243 -0
- package/src/executors/react-proxy-transform/executor.ts +45 -0
- package/src/executors/react-proxy-transform/schema.json +1 -0
- package/src/executors/release-package/executor.options.ts +0 -0
- package/src/executors/release-package/executor.task.ts +212 -0
- package/src/executors/release-package/executor.ts +33 -0
- package/src/executors/release-package/schema.json +1 -0
- package/src/executors/release-package-json/executor.options.ts +0 -0
- package/src/executors/release-package-json/executor.task.ts +206 -0
- package/src/executors/release-package-json/executor.ts +37 -0
- package/src/executors/release-package-json/schema.json +1 -0
- package/src/executors/scss-style-bundle/executor.options.ts +0 -0
- package/src/executors/scss-style-bundle/executor.task.ts +123 -0
- package/src/executors/scss-style-bundle/executor.ts +37 -0
- package/src/executors/scss-style-bundle/schema.json +1 -0
- package/src/executors/scss-style-transform/executor.options.ts +0 -0
- package/src/executors/scss-style-transform/executor.task.ts +50 -0
- package/src/executors/scss-style-transform/executor.ts +38 -0
- package/src/executors/scss-style-transform/schema.json +1 -0
- package/src/executors/secrets-config-sync/executor.options.ts +10 -0
- package/src/executors/secrets-config-sync/executor.task.ts +163 -0
- package/src/executors/secrets-config-sync/executor.ts +32 -0
- package/src/executors/secrets-config-sync/providers/azure-keyvault.provider.ts +180 -0
- package/src/executors/secrets-config-sync/providers/doppler.provider.ts +84 -0
- package/src/executors/secrets-config-sync/providers/secrets-provider.factory.ts +33 -0
- package/src/executors/secrets-config-sync/providers/secrets-provider.interface.ts +34 -0
- package/src/executors/secrets-config-sync/schema.json +44 -0
- package/src/executors/secrets-vercel-sync/executor.options.ts +12 -0
- package/src/executors/secrets-vercel-sync/executor.task.ts +697 -0
- package/src/executors/secrets-vercel-sync/executor.ts +44 -0
- package/src/executors/secrets-vercel-sync/providers/azure-keyvault.provider.ts +173 -0
- package/src/executors/secrets-vercel-sync/providers/doppler.provider.ts +93 -0
- package/src/executors/secrets-vercel-sync/providers/secrets-provider.factory.ts +33 -0
- package/src/executors/secrets-vercel-sync/providers/secrets-provider.interface.ts +34 -0
- package/src/executors/secrets-vercel-sync/schema.json +112 -0
- package/src/executors/svelte-proxy-transform/executor.options.ts +0 -0
- package/src/executors/svelte-proxy-transform/executor.task.ts +187 -0
- package/src/executors/svelte-proxy-transform/executor.ts +45 -0
- package/src/executors/svelte-proxy-transform/schema.json +1 -0
- package/src/executors/token-linter/executor.options.ts +23 -0
- package/src/executors/token-linter/executor.task.ts +66 -0
- package/src/executors/token-linter/executor.ts +37 -0
- package/src/executors/token-linter/schema.json +63 -0
- package/src/executors/unrelease-package/executor.options.ts +0 -0
- package/src/executors/unrelease-package/executor.task.ts +138 -0
- package/src/executors/unrelease-package/executor.ts +33 -0
- package/src/executors/unrelease-package/schema.json +1 -0
- package/src/executors/vercel-edge-config-sync/executor.options.ts +0 -0
- package/src/executors/vercel-edge-config-sync/executor.task.ts +30 -0
- package/src/executors/vercel-edge-config-sync/executor.ts +25 -0
- package/src/executors/vercel-edge-config-sync/schema.json +1 -0
- package/src/executors/vue-proxy-transform/executor.options.ts +0 -0
- package/src/executors/vue-proxy-transform/executor.task.ts +226 -0
- package/src/executors/vue-proxy-transform/executor.ts +45 -0
- package/src/executors/vue-proxy-transform/schema.json +1 -0
- package/src/index.ts +31 -0
- package/src/types/svgpath.d.ts +13 -0
- package/src/utils/TaskBase.ts +42 -0
- package/src/utils/getProjectPackageJson.ts +22 -0
- package/src/utils/getProjectRoot.ts +14 -0
- package/src/utils/getProjectTsConfigJson.ts +29 -0
- package/src/utils/isVerbose.ts +24 -0
- package/src/utils/loadAndExpandDotEnvFile.ts +108 -0
- package/src/utils/markdown-processing.ts +174 -0
- package/src/utils/valid-html-tags.ts +79 -0
- package/src/utils/withCaching.ts +14 -0
- /package/{CHANGELOG.md → dist/CHANGELOG.md} +0 -0
- /package/{README.md → dist/README.md} +0 -0
- /package/{executors → dist/executors}/alias-replace/executor.d.ts +0 -0
- /package/{executors → dist/executors}/alias-replace/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/alias-replace/executor.js +0 -0
- /package/{executors → dist/executors}/alias-replace/executor.js.map +0 -0
- /package/{executors → dist/executors}/alias-replace/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/alias-replace/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/alias-replace/executor.options.js +0 -0
- /package/{executors → dist/executors}/alias-replace/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/alias-replace/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/alias-replace/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/alias-replace/executor.task.js +0 -0
- /package/{executors → dist/executors}/alias-replace/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/alias-replace/schema.json +0 -0
- /package/{executors → dist/executors}/clean/executor.d.ts +0 -0
- /package/{executors → dist/executors}/clean/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/clean/executor.js +0 -0
- /package/{executors → dist/executors}/clean/executor.js.map +0 -0
- /package/{executors → dist/executors}/clean/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/clean/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/clean/executor.options.js +0 -0
- /package/{executors → dist/executors}/clean/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/clean/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/clean/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/clean/executor.task.js +0 -0
- /package/{executors → dist/executors}/clean/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/clean/schema.json +0 -0
- /package/{executors → dist/executors}/copy/executor.d.ts +0 -0
- /package/{executors → dist/executors}/copy/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/copy/executor.js +0 -0
- /package/{executors → dist/executors}/copy/executor.js.map +0 -0
- /package/{executors → dist/executors}/copy/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/copy/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/copy/executor.options.js +0 -0
- /package/{executors → dist/executors}/copy/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/copy/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/copy/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/copy/executor.task.js +0 -0
- /package/{executors → dist/executors}/copy/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/copy/schema.json +0 -0
- /package/{executors → dist/executors}/copy2/executor.d.ts +0 -0
- /package/{executors → dist/executors}/copy2/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/copy2/executor.js +0 -0
- /package/{executors → dist/executors}/copy2/executor.js.map +0 -0
- /package/{executors → dist/executors}/copy2/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/copy2/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/copy2/executor.options.js +0 -0
- /package/{executors → dist/executors}/copy2/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/copy2/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/copy2/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/copy2/executor.task.js +0 -0
- /package/{executors → dist/executors}/copy2/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/copy2/schema.json +0 -0
- /package/{executors → dist/executors}/docs/ApiDocumenter.d.ts +0 -0
- /package/{executors → dist/executors}/docs/ApiDocumenter.d.ts.map +0 -0
- /package/{executors → dist/executors}/docs/ApiDocumenter.js +0 -0
- /package/{executors → dist/executors}/docs/ApiDocumenter.js.map +0 -0
- /package/{executors → dist/executors}/docs/DocusaurusMarkdownFeature.d.ts +0 -0
- /package/{executors → dist/executors}/docs/DocusaurusMarkdownFeature.d.ts.map +0 -0
- /package/{executors → dist/executors}/docs/DocusaurusMarkdownFeature.js +0 -0
- /package/{executors → dist/executors}/docs/DocusaurusMarkdownFeature.js.map +0 -0
- /package/{executors → dist/executors}/docs/executor.d.ts +0 -0
- /package/{executors → dist/executors}/docs/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/docs/executor.js +0 -0
- /package/{executors → dist/executors}/docs/executor.js.map +0 -0
- /package/{executors → dist/executors}/docs/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/docs/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/docs/executor.options.js +0 -0
- /package/{executors → dist/executors}/docs/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/docs/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/docs/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/docs/executor.task.js +0 -0
- /package/{executors → dist/executors}/docs/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/docs/schema.json +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/executor.d.ts +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/executor.js +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/executor.js.map +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/executor.options.js +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/executor.task.js +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/doppler-config-sync/schema.json +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/executor.d.ts +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/executor.js +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/executor.js.map +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/executor.options.js +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/executor.task.js +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/doppler-vercel-sync/schema.json +0 -0
- /package/{executors → dist/executors}/generate-package-docs/executor.d.ts +0 -0
- /package/{executors → dist/executors}/generate-package-docs/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/generate-package-docs/executor.js +0 -0
- /package/{executors → dist/executors}/generate-package-docs/executor.js.map +0 -0
- /package/{executors → dist/executors}/generate-package-docs/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/generate-package-docs/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/generate-package-docs/executor.options.js +0 -0
- /package/{executors → dist/executors}/generate-package-docs/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/generate-package-docs/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/generate-package-docs/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/generate-package-docs/executor.task.js +0 -0
- /package/{executors → dist/executors}/generate-package-docs/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/generate-package-docs/schema.json +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/executor.d.ts +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/executor.js +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/executor.js.map +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/executor.options.js +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/executor.task.js +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/schema.json +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/svg.d.ts +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/svg.d.ts.map +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/svg.js +0 -0
- /package/{executors → dist/executors}/icon-collection-builder/svg.js.map +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/executor.d.ts +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/executor.js +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/executor.js.map +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/executor.options.js +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/executor.task.js +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/icon-collection-downloader/schema.json +0 -0
- /package/{executors → dist/executors}/lit-docs/ComponentDocFixer.d.ts +0 -0
- /package/{executors → dist/executors}/lit-docs/ComponentDocFixer.d.ts.map +0 -0
- /package/{executors → dist/executors}/lit-docs/ComponentDocFixer.js +0 -0
- /package/{executors → dist/executors}/lit-docs/ComponentDocFixer.js.map +0 -0
- /package/{executors → dist/executors}/lit-docs/JSDocChecker.d.ts +0 -0
- /package/{executors → dist/executors}/lit-docs/JSDocChecker.d.ts.map +0 -0
- /package/{executors → dist/executors}/lit-docs/JSDocChecker.js +0 -0
- /package/{executors → dist/executors}/lit-docs/JSDocChecker.js.map +0 -0
- /package/{executors → dist/executors}/lit-docs/JSDocFixer.d.ts +0 -0
- /package/{executors → dist/executors}/lit-docs/JSDocFixer.d.ts.map +0 -0
- /package/{executors → dist/executors}/lit-docs/JSDocFixer.js +0 -0
- /package/{executors → dist/executors}/lit-docs/JSDocFixer.js.map +0 -0
- /package/{executors → dist/executors}/lit-docs/executor.d.ts +0 -0
- /package/{executors → dist/executors}/lit-docs/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/lit-docs/executor.js +0 -0
- /package/{executors → dist/executors}/lit-docs/executor.js.map +0 -0
- /package/{executors → dist/executors}/lit-docs/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/lit-docs/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/lit-docs/executor.options.js +0 -0
- /package/{executors → dist/executors}/lit-docs/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/lit-docs/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/lit-docs/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/lit-docs/executor.task.js +0 -0
- /package/{executors → dist/executors}/lit-docs/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/lit-docs/schema.json +0 -0
- /package/{executors → dist/executors}/lit-style-transform/executor.d.ts +0 -0
- /package/{executors → dist/executors}/lit-style-transform/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/lit-style-transform/executor.js +0 -0
- /package/{executors → dist/executors}/lit-style-transform/executor.js.map +0 -0
- /package/{executors → dist/executors}/lit-style-transform/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/lit-style-transform/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/lit-style-transform/executor.options.js +0 -0
- /package/{executors → dist/executors}/lit-style-transform/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/lit-style-transform/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/lit-style-transform/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/lit-style-transform/executor.task.js +0 -0
- /package/{executors → dist/executors}/lit-style-transform/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/lit-style-transform/schema.json +0 -0
- /package/{executors → dist/executors}/localizator/executor.d.ts +0 -0
- /package/{executors → dist/executors}/localizator/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/localizator/executor.js +0 -0
- /package/{executors → dist/executors}/localizator/executor.js.map +0 -0
- /package/{executors → dist/executors}/localizator/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/localizator/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/localizator/executor.options.js +0 -0
- /package/{executors → dist/executors}/localizator/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/localizator/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/localizator/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/localizator/executor.task.js +0 -0
- /package/{executors → dist/executors}/localizator/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/localizator/schema.json +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/MarkdownRenderer.d.ts +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/MarkdownRenderer.d.ts.map +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/MarkdownRenderer.js +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/MarkdownRenderer.js.map +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/executor.d.ts +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/executor.js +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/executor.js.map +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/executor.options.js +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/executor.task.js +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/markdown-to-typescript-transform/schema.json +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/executor.d.ts +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/executor.js +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/executor.js.map +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/executor.options.js +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/executor.task.js +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/ng-api-extractor/schema.json +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/executor.d.ts +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/executor.js +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/executor.js.map +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/executor.options.js +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/executor.task.js +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/ng-packagr-build/schema.json +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/executor.d.ts +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/executor.js +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/executor.js.map +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/executor.options.js +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/executor.task.js +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/ng-proxy-transform/schema.json +0 -0
- /package/{executors → dist/executors}/openapi-generator/executor.d.ts +0 -0
- /package/{executors → dist/executors}/openapi-generator/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/openapi-generator/executor.js +0 -0
- /package/{executors → dist/executors}/openapi-generator/executor.js.map +0 -0
- /package/{executors → dist/executors}/openapi-generator/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/openapi-generator/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/openapi-generator/executor.options.js +0 -0
- /package/{executors → dist/executors}/openapi-generator/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/openapi-generator/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/openapi-generator/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/openapi-generator/executor.task.js +0 -0
- /package/{executors → dist/executors}/openapi-generator/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/openapi-generator/schema.json +0 -0
- /package/{executors → dist/executors}/prisma-seeds/executor.d.ts +0 -0
- /package/{executors → dist/executors}/prisma-seeds/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/prisma-seeds/executor.js +0 -0
- /package/{executors → dist/executors}/prisma-seeds/executor.js.map +0 -0
- /package/{executors → dist/executors}/prisma-seeds/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/prisma-seeds/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/prisma-seeds/executor.options.js +0 -0
- /package/{executors → dist/executors}/prisma-seeds/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/prisma-seeds/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/prisma-seeds/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/prisma-seeds/executor.task.js +0 -0
- /package/{executors → dist/executors}/prisma-seeds/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/prisma-seeds/schema.json +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/executor.d.ts +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/executor.js +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/executor.js.map +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/executor.options.js +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/executor.task.js +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/react-proxy-transform/schema.json +0 -0
- /package/{executors → dist/executors}/release-package/executor.d.ts +0 -0
- /package/{executors → dist/executors}/release-package/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/release-package/executor.js +0 -0
- /package/{executors → dist/executors}/release-package/executor.js.map +0 -0
- /package/{executors → dist/executors}/release-package/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/release-package/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/release-package/executor.options.js +0 -0
- /package/{executors → dist/executors}/release-package/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/release-package/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/release-package/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/release-package/executor.task.js +0 -0
- /package/{executors → dist/executors}/release-package/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/release-package/schema.json +0 -0
- /package/{executors → dist/executors}/release-package-json/executor.d.ts +0 -0
- /package/{executors → dist/executors}/release-package-json/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/release-package-json/executor.js +0 -0
- /package/{executors → dist/executors}/release-package-json/executor.js.map +0 -0
- /package/{executors → dist/executors}/release-package-json/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/release-package-json/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/release-package-json/executor.options.js +0 -0
- /package/{executors → dist/executors}/release-package-json/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/release-package-json/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/release-package-json/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/release-package-json/executor.task.js +0 -0
- /package/{executors → dist/executors}/release-package-json/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/release-package-json/schema.json +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/executor.d.ts +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/executor.js +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/executor.js.map +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/executor.options.js +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/executor.task.js +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/scss-style-bundle/schema.json +0 -0
- /package/{executors → dist/executors}/scss-style-transform/executor.d.ts +0 -0
- /package/{executors → dist/executors}/scss-style-transform/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/scss-style-transform/executor.js +0 -0
- /package/{executors → dist/executors}/scss-style-transform/executor.js.map +0 -0
- /package/{executors → dist/executors}/scss-style-transform/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/scss-style-transform/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/scss-style-transform/executor.options.js +0 -0
- /package/{executors → dist/executors}/scss-style-transform/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/scss-style-transform/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/scss-style-transform/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/scss-style-transform/executor.task.js +0 -0
- /package/{executors → dist/executors}/scss-style-transform/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/scss-style-transform/schema.json +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/executor.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/executor.js +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/executor.js.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/executor.options.js +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/executor.task.js +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/azure-keyvault.provider.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/azure-keyvault.provider.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/azure-keyvault.provider.js +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/azure-keyvault.provider.js.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/doppler.provider.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/doppler.provider.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/doppler.provider.js +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/doppler.provider.js.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/secrets-provider.factory.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/secrets-provider.factory.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/secrets-provider.factory.js +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/secrets-provider.factory.js.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/secrets-provider.interface.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/secrets-provider.interface.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/secrets-provider.interface.js +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/providers/secrets-provider.interface.js.map +0 -0
- /package/{executors → dist/executors}/secrets-config-sync/schema.json +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/executor.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/executor.js +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/executor.js.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/executor.options.js +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/executor.task.js +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/azure-keyvault.provider.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/azure-keyvault.provider.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/azure-keyvault.provider.js +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/azure-keyvault.provider.js.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/doppler.provider.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/doppler.provider.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/doppler.provider.js +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/doppler.provider.js.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/secrets-provider.factory.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/secrets-provider.factory.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/secrets-provider.factory.js +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/secrets-provider.factory.js.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/secrets-provider.interface.d.ts +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/secrets-provider.interface.d.ts.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/secrets-provider.interface.js +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/providers/secrets-provider.interface.js.map +0 -0
- /package/{executors → dist/executors}/secrets-vercel-sync/schema.json +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/executor.d.ts +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/executor.js +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/executor.js.map +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/executor.options.js +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/executor.task.js +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/svelte-proxy-transform/schema.json +0 -0
- /package/{executors → dist/executors}/token-linter/executor.d.ts +0 -0
- /package/{executors → dist/executors}/token-linter/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/token-linter/executor.js +0 -0
- /package/{executors → dist/executors}/token-linter/executor.js.map +0 -0
- /package/{executors → dist/executors}/token-linter/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/token-linter/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/token-linter/executor.options.js +0 -0
- /package/{executors → dist/executors}/token-linter/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/token-linter/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/token-linter/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/token-linter/executor.task.js +0 -0
- /package/{executors → dist/executors}/token-linter/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/token-linter/schema.json +0 -0
- /package/{executors → dist/executors}/unrelease-package/executor.d.ts +0 -0
- /package/{executors → dist/executors}/unrelease-package/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/unrelease-package/executor.js +0 -0
- /package/{executors → dist/executors}/unrelease-package/executor.js.map +0 -0
- /package/{executors → dist/executors}/unrelease-package/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/unrelease-package/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/unrelease-package/executor.options.js +0 -0
- /package/{executors → dist/executors}/unrelease-package/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/unrelease-package/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/unrelease-package/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/unrelease-package/executor.task.js +0 -0
- /package/{executors → dist/executors}/unrelease-package/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/unrelease-package/schema.json +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/executor.d.ts +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/executor.js +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/executor.js.map +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/executor.options.js +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/executor.task.js +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/vercel-edge-config-sync/schema.json +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/executor.d.ts +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/executor.d.ts.map +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/executor.js +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/executor.js.map +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/executor.options.d.ts +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/executor.options.d.ts.map +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/executor.options.js +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/executor.options.js.map +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/executor.task.d.ts +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/executor.task.d.ts.map +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/executor.task.js +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/executor.task.js.map +0 -0
- /package/{executors → dist/executors}/vue-proxy-transform/schema.json +0 -0
- /package/{index.d.ts → dist/index.d.ts} +0 -0
- /package/{index.d.ts.map → dist/index.d.ts.map} +0 -0
- /package/{index.js → dist/index.js} +0 -0
- /package/{index.js.map → dist/index.js.map} +0 -0
- /package/{utils → dist/utils}/TaskBase.d.ts +0 -0
- /package/{utils → dist/utils}/TaskBase.d.ts.map +0 -0
- /package/{utils → dist/utils}/TaskBase.js +0 -0
- /package/{utils → dist/utils}/TaskBase.js.map +0 -0
- /package/{utils → dist/utils}/getProjectPackageJson.d.ts +0 -0
- /package/{utils → dist/utils}/getProjectPackageJson.d.ts.map +0 -0
- /package/{utils → dist/utils}/getProjectPackageJson.js +0 -0
- /package/{utils → dist/utils}/getProjectPackageJson.js.map +0 -0
- /package/{utils → dist/utils}/getProjectRoot.d.ts +0 -0
- /package/{utils → dist/utils}/getProjectRoot.d.ts.map +0 -0
- /package/{utils → dist/utils}/getProjectRoot.js +0 -0
- /package/{utils → dist/utils}/getProjectRoot.js.map +0 -0
- /package/{utils → dist/utils}/getProjectTsConfigJson.d.ts +0 -0
- /package/{utils → dist/utils}/getProjectTsConfigJson.d.ts.map +0 -0
- /package/{utils → dist/utils}/getProjectTsConfigJson.js +0 -0
- /package/{utils → dist/utils}/getProjectTsConfigJson.js.map +0 -0
- /package/{utils → dist/utils}/isVerbose.d.ts +0 -0
- /package/{utils → dist/utils}/isVerbose.d.ts.map +0 -0
- /package/{utils → dist/utils}/isVerbose.js +0 -0
- /package/{utils → dist/utils}/isVerbose.js.map +0 -0
- /package/{utils → dist/utils}/loadAndExpandDotEnvFile.d.ts +0 -0
- /package/{utils → dist/utils}/loadAndExpandDotEnvFile.d.ts.map +0 -0
- /package/{utils → dist/utils}/loadAndExpandDotEnvFile.js +0 -0
- /package/{utils → dist/utils}/loadAndExpandDotEnvFile.js.map +0 -0
- /package/{utils → dist/utils}/markdown-processing.d.ts +0 -0
- /package/{utils → dist/utils}/markdown-processing.d.ts.map +0 -0
- /package/{utils → dist/utils}/markdown-processing.js +0 -0
- /package/{utils → dist/utils}/markdown-processing.js.map +0 -0
- /package/{utils → dist/utils}/valid-html-tags.d.ts +0 -0
- /package/{utils → dist/utils}/valid-html-tags.d.ts.map +0 -0
- /package/{utils → dist/utils}/valid-html-tags.js +0 -0
- /package/{utils → dist/utils}/valid-html-tags.js.map +0 -0
- /package/{utils → dist/utils}/withCaching.d.ts +0 -0
- /package/{utils → dist/utils}/withCaching.d.ts.map +0 -0
- /package/{utils → dist/utils}/withCaching.js +0 -0
- /package/{utils → dist/utils}/withCaching.js.map +0 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// #region Imports
|
|
2
|
+
|
|
3
|
+
import type { ExecutorContext } from '@nx/devkit';
|
|
4
|
+
import { getProjectRoot } from '../../utils/getProjectRoot';
|
|
5
|
+
import type { SecretsVercelSyncExecutorOptions } from './executor.options';
|
|
6
|
+
|
|
7
|
+
// #endregion
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Nx executor that synchronizes secrets from a configurable provider to Vercel.
|
|
11
|
+
*
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export default async function runExecutor(options: SecretsVercelSyncExecutorOptions, context: ExecutorContext): Promise<{ success: boolean }> {
|
|
15
|
+
try {
|
|
16
|
+
const task = (await import('./executor.task')).SecretsVercelSyncTask;
|
|
17
|
+
|
|
18
|
+
await task.run({
|
|
19
|
+
cwd: getProjectRoot(context),
|
|
20
|
+
provider: options.provider,
|
|
21
|
+
secretsProject: options.secretsProject,
|
|
22
|
+
secretsConfig: options.secretsConfig,
|
|
23
|
+
vaultUrl: options.vaultUrl,
|
|
24
|
+
apiKey: options.apiKey,
|
|
25
|
+
vercelTeam: options.vercelTeam,
|
|
26
|
+
vercelProject: options.vercelProject,
|
|
27
|
+
vercelEnvironment: options.vercelEnvironment,
|
|
28
|
+
vercelVariableType: options.vercelVariableType,
|
|
29
|
+
conflictStrategy: options.conflictStrategy,
|
|
30
|
+
dryRun: options.dryRun,
|
|
31
|
+
deleteMissing: options.deleteMissing,
|
|
32
|
+
includeKeys: options.includeKeys,
|
|
33
|
+
excludeKeys: options.excludeKeys,
|
|
34
|
+
redeploy: options.redeploy,
|
|
35
|
+
interactive: options.interactive
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
return { success: true };
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.error(error);
|
|
41
|
+
|
|
42
|
+
return { success: false };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
// #region Imports
|
|
2
|
+
|
|
3
|
+
import type { ILogger } from '@breadstone-infrastructure/utilities';
|
|
4
|
+
import { prompt } from 'enquirer';
|
|
5
|
+
import type { ISecretsProvider } from './secrets-provider.interface';
|
|
6
|
+
|
|
7
|
+
// #endregion
|
|
8
|
+
|
|
9
|
+
// #region Interfaces
|
|
10
|
+
|
|
11
|
+
interface IAzureKeyVaultSecretItem {
|
|
12
|
+
id: string;
|
|
13
|
+
attributes: {
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
created: number;
|
|
16
|
+
updated: number;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
interface IAzureKeyVaultSecretListResponse {
|
|
21
|
+
value: Array<IAzureKeyVaultSecretItem>;
|
|
22
|
+
nextLink?: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
interface IAzureKeyVaultSecretValueResponse {
|
|
26
|
+
value: string;
|
|
27
|
+
id: string;
|
|
28
|
+
attributes: {
|
|
29
|
+
enabled: boolean;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// #endregion
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Secrets provider implementation for Azure Key Vault.
|
|
37
|
+
*
|
|
38
|
+
* Uses the Key Vault REST API with a Bearer token (e.g. from `az account get-access-token`
|
|
39
|
+
* or a service principal client credential flow). The token must be provided via `apiKey`
|
|
40
|
+
* or entered interactively.
|
|
41
|
+
*
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export class AzureKeyVaultSecretsProvider implements ISecretsProvider {
|
|
45
|
+
|
|
46
|
+
// #region Methods
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* @inheritdoc
|
|
50
|
+
*/
|
|
51
|
+
public async authenticate(apiKey?: string, interactive?: boolean): Promise<string> {
|
|
52
|
+
if (apiKey) {
|
|
53
|
+
return apiKey;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const envToken = process.env['AZURE_KEYVAULT_TOKEN'];
|
|
57
|
+
if (envToken) {
|
|
58
|
+
return envToken;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (interactive) {
|
|
62
|
+
const credentials = await prompt<{ token: string }>([
|
|
63
|
+
{
|
|
64
|
+
type: 'input',
|
|
65
|
+
name: 'token',
|
|
66
|
+
message: 'Enter your Azure Key Vault access token:\nYou can obtain one via `az account get-access-token --resource https://vault.azure.net --query accessToken -o tsv`.'
|
|
67
|
+
}
|
|
68
|
+
]);
|
|
69
|
+
|
|
70
|
+
if (!credentials.token) {
|
|
71
|
+
throw new Error('No Azure Key Vault access token provided. Aborting.');
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return credentials.token;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
throw new Error('AZURE_KEYVAULT_TOKEN environment variable is not set. Set it to an Azure Key Vault access token, or enable interactive mode.');
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Fetches all secrets from an Azure Key Vault.
|
|
82
|
+
*
|
|
83
|
+
* The `project` and `config` parameters are ignored. The vault is identified
|
|
84
|
+
* solely by `vaultUrl`.
|
|
85
|
+
*
|
|
86
|
+
* @inheritdoc
|
|
87
|
+
*/
|
|
88
|
+
public async fetchSecrets(token: string, _project: string, _config: string, logger: ILogger, vaultUrl?: string): Promise<Record<string, string>> {
|
|
89
|
+
if (!vaultUrl) {
|
|
90
|
+
throw new Error('vaultUrl is required for the azure-keyvault provider.');
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const normalizedVaultUrl = vaultUrl.endsWith('/') ? vaultUrl.slice(0, -1) : vaultUrl;
|
|
94
|
+
const secrets: Record<string, string> = {};
|
|
95
|
+
|
|
96
|
+
// Step 1: List all secrets (paged)
|
|
97
|
+
const secretItems = await this.listSecrets(token, normalizedVaultUrl);
|
|
98
|
+
logger.log(` Found ${secretItems.length} secrets in Key Vault.`);
|
|
99
|
+
|
|
100
|
+
// Step 2: Fetch each secret value
|
|
101
|
+
for (const item of secretItems) {
|
|
102
|
+
const secretName = this.extractSecretName(item.id);
|
|
103
|
+
const value = await this.getSecretValue(token, normalizedVaultUrl, secretName);
|
|
104
|
+
secrets[secretName] = value;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
logger.log(` Fetched ${Object.keys(secrets).length} secrets from Azure Key Vault [${normalizedVaultUrl}].`);
|
|
108
|
+
|
|
109
|
+
return secrets;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// #endregion
|
|
113
|
+
|
|
114
|
+
// #region Private Methods
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Lists all secrets in the vault (handles pagination).
|
|
118
|
+
*/
|
|
119
|
+
private async listSecrets(token: string, vaultUrl: string): Promise<Array<IAzureKeyVaultSecretItem>> {
|
|
120
|
+
const allItems: Array<IAzureKeyVaultSecretItem> = [];
|
|
121
|
+
let nextLink: string | undefined = `${vaultUrl}/secrets?api-version=7.4`;
|
|
122
|
+
|
|
123
|
+
while (nextLink) {
|
|
124
|
+
const response = await fetch(nextLink, {
|
|
125
|
+
headers: { Authorization: `Bearer ${token}` }
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
if (!response.ok) {
|
|
129
|
+
throw new Error(`Failed to list Azure Key Vault secrets (HTTP ${response.status}): ${response.statusText}`);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
const data = await response.json() as IAzureKeyVaultSecretListResponse;
|
|
133
|
+
const enabledItems = data.value.filter(item => item.attributes.enabled);
|
|
134
|
+
allItems.push(...enabledItems);
|
|
135
|
+
nextLink = data.nextLink;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return allItems;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Fetches the current value of a single secret.
|
|
143
|
+
*/
|
|
144
|
+
private async getSecretValue(token: string, vaultUrl: string, secretName: string): Promise<string> {
|
|
145
|
+
const url = `${vaultUrl}/secrets/${encodeURIComponent(secretName)}?api-version=7.4`;
|
|
146
|
+
|
|
147
|
+
const response = await fetch(url, {
|
|
148
|
+
headers: { Authorization: `Bearer ${token}` }
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
if (!response.ok) {
|
|
152
|
+
throw new Error(`Failed to fetch Azure Key Vault secret "${secretName}" (HTTP ${response.status}): ${response.statusText}`);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
const data = await response.json() as IAzureKeyVaultSecretValueResponse;
|
|
156
|
+
|
|
157
|
+
return data.value;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Extracts the secret name from a Key Vault secret ID URL.
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* `https://my-vault.vault.azure.net/secrets/MY_SECRET` → `MY_SECRET`
|
|
165
|
+
*/
|
|
166
|
+
private extractSecretName(secretId: string): string {
|
|
167
|
+
const parts = secretId.split('/');
|
|
168
|
+
|
|
169
|
+
return parts[parts.length - 1];
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// #endregion
|
|
173
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// #region Imports
|
|
2
|
+
|
|
3
|
+
import type { ILogger } from '@breadstone-infrastructure/utilities';
|
|
4
|
+
import { prompt } from 'enquirer';
|
|
5
|
+
import type { ISecretsProvider } from './secrets-provider.interface';
|
|
6
|
+
|
|
7
|
+
// #endregion
|
|
8
|
+
|
|
9
|
+
// #region Interfaces
|
|
10
|
+
|
|
11
|
+
interface IDopplerSecretsResponse {
|
|
12
|
+
success: boolean;
|
|
13
|
+
secrets: Record<string, {
|
|
14
|
+
raw: string;
|
|
15
|
+
computed: string;
|
|
16
|
+
note: string;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// #endregion
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Secrets provider implementation for Doppler.
|
|
24
|
+
*
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export class DopplerSecretsProvider implements ISecretsProvider {
|
|
28
|
+
|
|
29
|
+
// #region Methods
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @inheritdoc
|
|
33
|
+
*/
|
|
34
|
+
public async authenticate(apiKey?: string, interactive?: boolean): Promise<string> {
|
|
35
|
+
if (apiKey) {
|
|
36
|
+
return apiKey;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const envToken = process.env['DOPPLER_TOKEN'];
|
|
40
|
+
if (envToken) {
|
|
41
|
+
return envToken;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (interactive) {
|
|
45
|
+
const credentials = await prompt<{ token: string }>([
|
|
46
|
+
{
|
|
47
|
+
type: 'input',
|
|
48
|
+
name: 'token',
|
|
49
|
+
message: 'Enter your Doppler API token:\nYou can find it in your Doppler account under Service Tokens or Personal Tokens.'
|
|
50
|
+
}
|
|
51
|
+
]);
|
|
52
|
+
|
|
53
|
+
if (!credentials.token) {
|
|
54
|
+
throw new Error('No Doppler API token provided. Aborting.');
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return credentials.token;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
throw new Error('DOPPLER_TOKEN environment variable is not set. Set it to a Doppler Service Token or Personal Token, or enable interactive mode.');
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @inheritdoc
|
|
65
|
+
*/
|
|
66
|
+
public async fetchSecrets(token: string, project: string, config: string, logger: ILogger): Promise<Record<string, string>> {
|
|
67
|
+
const apiUrl = `https://api.doppler.com/v3/configs/config/secrets?project=${encodeURIComponent(project)}&config=${encodeURIComponent(config)}&include_dynamic_secrets=false&include_managed_secrets=true`;
|
|
68
|
+
|
|
69
|
+
const response = await fetch(apiUrl, {
|
|
70
|
+
headers: { Authorization: `Bearer ${token}` }
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
if (!response.ok) {
|
|
74
|
+
throw new Error(`Failed to fetch Doppler secrets (HTTP ${response.status}): ${response.statusText}`);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const data = await response.json() as IDopplerSecretsResponse;
|
|
78
|
+
|
|
79
|
+
if (!data.success) {
|
|
80
|
+
throw new Error('Doppler API returned success=false.');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const secrets = Object.fromEntries(
|
|
84
|
+
Object.entries(data.secrets).map(([key, value]) => [key, value.computed])
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
logger.log(` Fetched ${Object.keys(secrets).length} secrets from Doppler [${project}/${config}].`);
|
|
88
|
+
|
|
89
|
+
return secrets;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// #endregion
|
|
93
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// #region Imports
|
|
2
|
+
|
|
3
|
+
import { AzureKeyVaultSecretsProvider } from './azure-keyvault.provider';
|
|
4
|
+
import { DopplerSecretsProvider } from './doppler.provider';
|
|
5
|
+
import type { ISecretsProvider } from './secrets-provider.interface';
|
|
6
|
+
|
|
7
|
+
// #endregion
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The supported secrets provider types.
|
|
11
|
+
*
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export type SecretsProviderType = 'doppler' | 'azure-keyvault';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Creates an {@link ISecretsProvider} instance for the given provider type.
|
|
18
|
+
*
|
|
19
|
+
* @param type - The provider type to instantiate.
|
|
20
|
+
* @returns The corresponding secrets provider.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export function createSecretsProvider(type: SecretsProviderType): ISecretsProvider {
|
|
25
|
+
switch (type) {
|
|
26
|
+
case 'doppler':
|
|
27
|
+
return new DopplerSecretsProvider();
|
|
28
|
+
case 'azure-keyvault':
|
|
29
|
+
return new AzureKeyVaultSecretsProvider();
|
|
30
|
+
default:
|
|
31
|
+
throw new Error(`Unknown secrets provider type: "${type}". Supported: doppler, azure-keyvault.`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// #region Imports
|
|
2
|
+
|
|
3
|
+
import type { ILogger } from '@breadstone-infrastructure/utilities';
|
|
4
|
+
|
|
5
|
+
// #endregion
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Abstraction for a secrets provider that can authenticate and fetch secrets.
|
|
9
|
+
*
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
export interface ISecretsProvider {
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Authenticates with the provider and returns an access token.
|
|
16
|
+
*
|
|
17
|
+
* @param apiKey - An optional API key or access token. If provided, it is used directly.
|
|
18
|
+
* @param interactive - Whether to prompt the user for credentials if none are provided.
|
|
19
|
+
* @returns The resolved access token.
|
|
20
|
+
*/
|
|
21
|
+
authenticate(apiKey?: string, interactive?: boolean): Promise<string>;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Fetches all secrets from the provider.
|
|
25
|
+
*
|
|
26
|
+
* @param token - The access token obtained from {@link authenticate}.
|
|
27
|
+
* @param project - The project identifier (Doppler project name, or ignored for Azure Key Vault).
|
|
28
|
+
* @param config - The config identifier (Doppler config name, or ignored for Azure Key Vault).
|
|
29
|
+
* @param logger - Logger instance for status output.
|
|
30
|
+
* @param vaultUrl - The Azure Key Vault URL (only used by the azure-keyvault provider).
|
|
31
|
+
* @returns A flat record of secret key-value pairs.
|
|
32
|
+
*/
|
|
33
|
+
fetchSecrets(token: string, project: string, config: string, logger: ILogger, vaultUrl?: string): Promise<Record<string, string>>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"cli": "nx",
|
|
4
|
+
"title": "Secrets Vercel Sync",
|
|
5
|
+
"description": "Synchronizes secrets from a configurable provider (Doppler, Azure Key Vault) to a Vercel project/environment.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"provider": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The secrets provider to use.",
|
|
11
|
+
"enum": [
|
|
12
|
+
"doppler",
|
|
13
|
+
"azure-keyvault"
|
|
14
|
+
],
|
|
15
|
+
"default": "doppler"
|
|
16
|
+
},
|
|
17
|
+
"secretsProject": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "The secrets provider project identifier (e.g. Doppler project name)."
|
|
20
|
+
},
|
|
21
|
+
"secretsConfig": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"description": "The secrets provider configuration identifier (e.g. Doppler config name: dev, prev, prod)."
|
|
24
|
+
},
|
|
25
|
+
"vaultUrl": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "The Azure Key Vault URL (e.g. https://my-vault.vault.azure.net). Required when provider is azure-keyvault."
|
|
28
|
+
},
|
|
29
|
+
"apiKey": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "The API key or access token for the secrets provider. If omitted, resolved from environment or prompted interactively."
|
|
32
|
+
},
|
|
33
|
+
"vercelTeam": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "The Vercel team slug or scope."
|
|
36
|
+
},
|
|
37
|
+
"vercelProject": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "The Vercel project name or ID."
|
|
40
|
+
},
|
|
41
|
+
"vercelEnvironment": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "The target Vercel environment.",
|
|
44
|
+
"enum": [
|
|
45
|
+
"development",
|
|
46
|
+
"preview",
|
|
47
|
+
"production"
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
"vercelVariableType": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"description": "The Vercel variable type (encrypted or sensitive).",
|
|
53
|
+
"enum": [
|
|
54
|
+
"encrypted",
|
|
55
|
+
"sensitive"
|
|
56
|
+
],
|
|
57
|
+
"default": "encrypted"
|
|
58
|
+
},
|
|
59
|
+
"conflictStrategy": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"description": "How to handle conflicts between the secrets provider and existing Vercel values.",
|
|
62
|
+
"enum": [
|
|
63
|
+
"none",
|
|
64
|
+
"prefer-source",
|
|
65
|
+
"prefer-vercel"
|
|
66
|
+
],
|
|
67
|
+
"default": "prefer-source"
|
|
68
|
+
},
|
|
69
|
+
"dryRun": {
|
|
70
|
+
"type": "boolean",
|
|
71
|
+
"description": "If true, no changes are written to Vercel. Only a diff report is shown.",
|
|
72
|
+
"default": false
|
|
73
|
+
},
|
|
74
|
+
"deleteMissing": {
|
|
75
|
+
"type": "boolean",
|
|
76
|
+
"description": "If true, keys present in Vercel but not in the secrets provider are deleted. Must be explicitly enabled.",
|
|
77
|
+
"default": false
|
|
78
|
+
},
|
|
79
|
+
"includeKeys": {
|
|
80
|
+
"type": "array",
|
|
81
|
+
"items": {
|
|
82
|
+
"type": "string"
|
|
83
|
+
},
|
|
84
|
+
"description": "If set, only these keys are synchronized."
|
|
85
|
+
},
|
|
86
|
+
"excludeKeys": {
|
|
87
|
+
"type": "array",
|
|
88
|
+
"items": {
|
|
89
|
+
"type": "string"
|
|
90
|
+
},
|
|
91
|
+
"description": "If set, these keys are excluded from synchronization."
|
|
92
|
+
},
|
|
93
|
+
"redeploy": {
|
|
94
|
+
"type": "boolean",
|
|
95
|
+
"description": "If true, triggers a redeployment of the Vercel project after sync.",
|
|
96
|
+
"default": false
|
|
97
|
+
},
|
|
98
|
+
"interactive": {
|
|
99
|
+
"type": "boolean",
|
|
100
|
+
"description": "If true, prompts the user for missing tokens instead of failing.",
|
|
101
|
+
"default": false
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"required": [
|
|
105
|
+
"secretsProject",
|
|
106
|
+
"secretsConfig",
|
|
107
|
+
"vercelTeam",
|
|
108
|
+
"vercelProject",
|
|
109
|
+
"vercelEnvironment"
|
|
110
|
+
],
|
|
111
|
+
"additionalProperties": false
|
|
112
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unnecessary-condition */
|
|
2
|
+
/* eslint-disable max-depth */
|
|
3
|
+
|
|
4
|
+
// #region Imports
|
|
5
|
+
|
|
6
|
+
import { blue, ConsoleLogger, CustomElementManifest, File, gray, green, type IFileCacheOptions, logSeparator, Path } from '@breadstone-infrastructure/utilities';
|
|
7
|
+
import prettier from 'prettier';
|
|
8
|
+
import type { PackageJson, TsConfigJson } from 'type-fest';
|
|
9
|
+
import { withCaching } from '../../utils/withCaching';
|
|
10
|
+
|
|
11
|
+
// #endregion
|
|
12
|
+
|
|
13
|
+
export namespace SvelteProxyTransformTask {
|
|
14
|
+
|
|
15
|
+
export const DEFAULT_OPTIONS = {
|
|
16
|
+
verbose: false,
|
|
17
|
+
cleanOut: false,
|
|
18
|
+
aliases: {},
|
|
19
|
+
ignore: [],
|
|
20
|
+
prettier: {
|
|
21
|
+
parser: 'html',
|
|
22
|
+
arrowParens: 'always',
|
|
23
|
+
bracketSameLine: false,
|
|
24
|
+
bracketSpacing: true,
|
|
25
|
+
semi: true,
|
|
26
|
+
singleQuote: true,
|
|
27
|
+
trailingComma: 'none',
|
|
28
|
+
tabWidth: 4,
|
|
29
|
+
useTabs: false,
|
|
30
|
+
printWidth: 1200
|
|
31
|
+
} satisfies prettier.Options
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export interface ISvelteProxyTransformOptions {
|
|
35
|
+
cwd: string;
|
|
36
|
+
path: string;
|
|
37
|
+
out: string;
|
|
38
|
+
cleanOut?: boolean;
|
|
39
|
+
packageJson: PackageJson;
|
|
40
|
+
tsConfigJson: TsConfigJson;
|
|
41
|
+
verbose?: boolean;
|
|
42
|
+
aliases?: Record<string, string>;
|
|
43
|
+
ignore?: Array<string>;
|
|
44
|
+
cache?: IFileCacheOptions;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export async function run(options: ISvelteProxyTransformOptions): Promise<void> {
|
|
48
|
+
const logger = new ConsoleLogger();
|
|
49
|
+
logSeparator(logger, 'Svelte Proxy Transform');
|
|
50
|
+
|
|
51
|
+
const fileCache = withCaching(options.cache);
|
|
52
|
+
|
|
53
|
+
// TODO: remove this when wca is not longer used.
|
|
54
|
+
// this happen when json2 is used as format; afterwards text files will be created.
|
|
55
|
+
// we have to change the extension to again to json
|
|
56
|
+
const textFiles = File.glob(Path.combine(options.cwd, options.path, '**/*.txt'));
|
|
57
|
+
textFiles.forEach((file) => {
|
|
58
|
+
const content = File.readAllText(file);
|
|
59
|
+
File.writeAllText(file.replace('.txt', '.json'), content);
|
|
60
|
+
File.delete(file);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
const filesPath = Path.combine(options.cwd, options.path, '**/*.json');
|
|
64
|
+
const files = File.glob(filesPath);
|
|
65
|
+
const createdFiles: Array<string> = [];
|
|
66
|
+
|
|
67
|
+
if (options.verbose) {
|
|
68
|
+
logger.log(gray(` Search for: ${filesPath}`));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (files.length) {
|
|
72
|
+
if (options.verbose) {
|
|
73
|
+
logger.log(gray(` ${files.length} files to transform`));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
for (const file of files) {
|
|
77
|
+
// eslint-disable-next-line no-await-in-loop
|
|
78
|
+
if (!await fileCache.isFileCached(file)) {
|
|
79
|
+
try {
|
|
80
|
+
const doc = File.readAllJson(file) as unknown as CustomElementManifest.PackageDoc;
|
|
81
|
+
const def = CustomElementManifest.readDefinition(doc);
|
|
82
|
+
const properties = CustomElementManifest.readProperties(doc);
|
|
83
|
+
const events = CustomElementManifest.readEvents(doc);
|
|
84
|
+
const slots = CustomElementManifest.readSlots(doc);
|
|
85
|
+
const out = getOutPathAndFile(def.declaration.module ?? '');
|
|
86
|
+
|
|
87
|
+
if (options.ignore?.includes(def.name)) {
|
|
88
|
+
if (options.verbose) {
|
|
89
|
+
logger.log(gray(` [IGNORE] ${Path.relative(options.cwd, file)}`));
|
|
90
|
+
}
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const rootDir = options.tsConfigJson.compilerOptions?.rootDir ?? '';
|
|
95
|
+
const outPath = Path.combine(options.cwd, options.out, out ?? '').replace(/Component\.ts$/, 'Component.svelte');
|
|
96
|
+
// eslint-disable-next-line no-await-in-loop
|
|
97
|
+
const code = await formatSvelteComponent(generateSvelteComponent(def.name, properties, events, slots, options.aliases ?? {}));
|
|
98
|
+
|
|
99
|
+
const outFileExists = File.exists(outPath);
|
|
100
|
+
File.writeAllText(outPath, code);
|
|
101
|
+
createdFiles.push(Path.relative(options.cwd, outPath));
|
|
102
|
+
|
|
103
|
+
if (outFileExists) {
|
|
104
|
+
logger.log(blue(` [UPDATE] ${Path.relative(options.cwd, outPath)}`));
|
|
105
|
+
} else {
|
|
106
|
+
logger.log(green(` [CREATE] ${Path.relative(options.cwd, outPath)}`));
|
|
107
|
+
}
|
|
108
|
+
} catch (error) {
|
|
109
|
+
logger.error(' Error while transforming.');
|
|
110
|
+
logger.error(` ${error}`);
|
|
111
|
+
}
|
|
112
|
+
} else if (options.verbose) {
|
|
113
|
+
logger.log(gray(` File ${Path.relative(options.cwd, file)} is up to date.`));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
} else {
|
|
117
|
+
logger.log(gray('\tFile or Folder is up to date.'));
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
logSeparator(logger);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
function formatSvelteComponent(code: string): Promise<string> {
|
|
124
|
+
return prettier.format(code, DEFAULT_OPTIONS.prettier);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function generateSvelteComponent(tagName: string, props: Array<CustomElementManifest.FieldDoc>, events: Array<CustomElementManifest.EventDoc>, slots: Array<CustomElementManifest.SlotDoc>, aliases: Record<string, string>): string {
|
|
128
|
+
const lookupName = aliases[tagName] ?? null;
|
|
129
|
+
const pascalName = dashToPascalCase(tagName);
|
|
130
|
+
const controlName = lookupName ?? pascalName.replace('Mosaik', '');
|
|
131
|
+
const elementClassName = `${controlName}Element`;
|
|
132
|
+
|
|
133
|
+
// Generate typed prop declarations with explicit types from the element
|
|
134
|
+
const propDeclarations = props
|
|
135
|
+
.map((p) => ` export let ${p.name}: ${elementClassName}['${p.name}'] = undefined!;`)
|
|
136
|
+
.join('\n');
|
|
137
|
+
|
|
138
|
+
// Generate event subscriptions that properly store and dispose subscriptions
|
|
139
|
+
const eventSubscriptions = events
|
|
140
|
+
.map((e) => ` subscriptions.push(el.on('${e.name}', (e) => dispatch('${e.name}', e)));`)
|
|
141
|
+
.join('\n');
|
|
142
|
+
|
|
143
|
+
// Generate prop bindings for the template (one per line for readability)
|
|
144
|
+
const propBindings = props.map((p) => `{${p.name}}`).join(' ');
|
|
145
|
+
|
|
146
|
+
// Slot handling
|
|
147
|
+
const slotContent = slots.length > 0 ? '<slot />' : '';
|
|
148
|
+
|
|
149
|
+
return `<script lang="ts">
|
|
150
|
+
import { onMount, onDestroy, createEventDispatcher } from 'svelte';
|
|
151
|
+
import { ${elementClassName} } from '@breadstone/mosaik-elements-foundation';
|
|
152
|
+
import type { IEventListenerSubscription } from '@breadstone/mosaik-elements';
|
|
153
|
+
|
|
154
|
+
let el: ${elementClassName};
|
|
155
|
+
const subscriptions: Array<IEventListenerSubscription> = [];
|
|
156
|
+
|
|
157
|
+
${propDeclarations}
|
|
158
|
+
|
|
159
|
+
const dispatch = createEventDispatcher();
|
|
160
|
+
|
|
161
|
+
onMount(() => {
|
|
162
|
+
${eventSubscriptions}
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
onDestroy(() => {
|
|
166
|
+
subscriptions.forEach((s) => s.dispose());
|
|
167
|
+
});
|
|
168
|
+
</script>
|
|
169
|
+
|
|
170
|
+
<${tagName} bind:this={el} ${propBindings}>
|
|
171
|
+
${slotContent}
|
|
172
|
+
</${tagName}>
|
|
173
|
+
`;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
function getOutPathAndFile(original: string): string | undefined {
|
|
177
|
+
return original.split('/src').pop()
|
|
178
|
+
?.replace('Element.ts', 'Component.ts');
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
function dashToPascalCase(str: string): string {
|
|
182
|
+
return str.toLowerCase()
|
|
183
|
+
.split('-')
|
|
184
|
+
.map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1))
|
|
185
|
+
.join('');
|
|
186
|
+
}
|
|
187
|
+
}
|