@mouryaamit/nx-polystack 0.0.0-stage → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +77 -2
- package/USER-MANUAL.md +1968 -0
- package/dist/bin/cli.d.ts +1 -0
- package/dist/bin/cli.js +92 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/executors.json +32 -0
- package/dist/generators.json +47 -0
- package/dist/migrations.json +87 -0
- package/dist/runtime/env-secret.cjs +736 -0
- package/dist/src/cli/args.d.ts +18 -0
- package/dist/src/cli/args.js +67 -0
- package/dist/src/cli/args.js.map +1 -0
- package/dist/src/cli/commands/app.d.ts +3 -0
- package/dist/src/cli/commands/app.js +108 -0
- package/dist/src/cli/commands/app.js.map +1 -0
- package/dist/src/cli/commands/build.d.ts +8 -0
- package/dist/src/cli/commands/build.js +132 -0
- package/dist/src/cli/commands/build.js.map +1 -0
- package/dist/src/cli/commands/csp.d.ts +19 -0
- package/dist/src/cli/commands/csp.js +238 -0
- package/dist/src/cli/commands/csp.js.map +1 -0
- package/dist/src/cli/commands/encryption.d.ts +4 -0
- package/dist/src/cli/commands/encryption.js +261 -0
- package/dist/src/cli/commands/encryption.js.map +1 -0
- package/dist/src/cli/commands/env.d.ts +2 -0
- package/dist/src/cli/commands/env.js +74 -0
- package/dist/src/cli/commands/env.js.map +1 -0
- package/dist/src/cli/commands/hardening.d.ts +2 -0
- package/dist/src/cli/commands/hardening.js +176 -0
- package/dist/src/cli/commands/hardening.js.map +1 -0
- package/dist/src/cli/commands/index.d.ts +3 -0
- package/dist/src/cli/commands/index.js +45 -0
- package/dist/src/cli/commands/index.js.map +1 -0
- package/dist/src/cli/commands/infra.d.ts +25 -0
- package/dist/src/cli/commands/infra.js +85 -0
- package/dist/src/cli/commands/infra.js.map +1 -0
- package/dist/src/cli/commands/internal-migrate.d.ts +3 -0
- package/dist/src/cli/commands/internal-migrate.js +65 -0
- package/dist/src/cli/commands/internal-migrate.js.map +1 -0
- package/dist/src/cli/commands/lib.d.ts +2 -0
- package/dist/src/cli/commands/lib.js +70 -0
- package/dist/src/cli/commands/lib.js.map +1 -0
- package/dist/src/cli/commands/llm.d.ts +2 -0
- package/dist/src/cli/commands/llm.js +46 -0
- package/dist/src/cli/commands/llm.js.map +1 -0
- package/dist/src/cli/commands/migrate.d.ts +2 -0
- package/dist/src/cli/commands/migrate.js +230 -0
- package/dist/src/cli/commands/migrate.js.map +1 -0
- package/dist/src/cli/commands/new.d.ts +6 -0
- package/dist/src/cli/commands/new.js +97 -0
- package/dist/src/cli/commands/new.js.map +1 -0
- package/dist/src/cli/commands/preset.d.ts +2 -0
- package/dist/src/cli/commands/preset.js +47 -0
- package/dist/src/cli/commands/preset.js.map +1 -0
- package/dist/src/cli/commands/release.d.ts +3 -0
- package/dist/src/cli/commands/release.js +83 -0
- package/dist/src/cli/commands/release.js.map +1 -0
- package/dist/src/cli/commands/shared.d.ts +3 -0
- package/dist/src/cli/commands/shared.js +55 -0
- package/dist/src/cli/commands/shared.js.map +1 -0
- package/dist/src/cli/commands/update.d.ts +11 -0
- package/dist/src/cli/commands/update.js +120 -0
- package/dist/src/cli/commands/update.js.map +1 -0
- package/dist/src/cli/context.d.ts +18 -0
- package/dist/src/cli/context.js +66 -0
- package/dist/src/cli/context.js.map +1 -0
- package/dist/src/cli/exec.d.ts +9 -0
- package/dist/src/cli/exec.js +34 -0
- package/dist/src/cli/exec.js.map +1 -0
- package/dist/src/cli/help.d.ts +1 -0
- package/dist/src/cli/help.js +291 -0
- package/dist/src/cli/help.js.map +1 -0
- package/dist/src/cli/install-source.d.ts +16 -0
- package/dist/src/cli/install-source.js +49 -0
- package/dist/src/cli/install-source.js.map +1 -0
- package/dist/src/cli/launcher.d.ts +32 -0
- package/dist/src/cli/launcher.js +168 -0
- package/dist/src/cli/launcher.js.map +1 -0
- package/dist/src/cli/migrations.d.ts +25 -0
- package/dist/src/cli/migrations.js +35 -0
- package/dist/src/cli/migrations.js.map +1 -0
- package/dist/src/cli/run-tree.d.ts +9 -0
- package/dist/src/cli/run-tree.js +32 -0
- package/dist/src/cli/run-tree.js.map +1 -0
- package/dist/src/cli/types.d.ts +18 -0
- package/dist/src/cli/types.js +12 -0
- package/dist/src/cli/types.js.map +1 -0
- package/dist/src/cli/update-plan.d.ts +15 -0
- package/dist/src/cli/update-plan.js +40 -0
- package/dist/src/cli/update-plan.js.map +1 -0
- package/dist/src/cli/versions.d.ts +26 -0
- package/dist/src/cli/versions.js +83 -0
- package/dist/src/cli/versions.js.map +1 -0
- package/dist/src/executors/build/executor.d.ts +19 -0
- package/dist/src/executors/build/executor.js +251 -0
- package/dist/src/executors/build/executor.js.map +1 -0
- package/dist/src/executors/build/schema.d.ts +42 -0
- package/dist/src/executors/build/schema.json +104 -0
- package/dist/src/executors/capacitor/executor.d.ts +8 -0
- package/dist/src/executors/capacitor/executor.js +45 -0
- package/dist/src/executors/capacitor/executor.js.map +1 -0
- package/dist/src/executors/capacitor/schema.d.ts +10 -0
- package/dist/src/executors/capacitor/schema.json +24 -0
- package/dist/src/executors/clean/executor.d.ts +19 -0
- package/dist/src/executors/clean/executor.js +134 -0
- package/dist/src/executors/clean/executor.js.map +1 -0
- package/dist/src/executors/clean/schema.d.ts +6 -0
- package/dist/src/executors/clean/schema.json +21 -0
- package/dist/src/executors/flutter-build/executor.d.ts +8 -0
- package/dist/src/executors/flutter-build/executor.js +70 -0
- package/dist/src/executors/flutter-build/executor.js.map +1 -0
- package/dist/src/executors/flutter-build/schema.d.ts +10 -0
- package/dist/src/executors/flutter-build/schema.json +44 -0
- package/dist/src/executors/flutter-export/executor.d.ts +8 -0
- package/dist/src/executors/flutter-export/executor.js +36 -0
- package/dist/src/executors/flutter-export/executor.js.map +1 -0
- package/dist/src/executors/flutter-export/schema.d.ts +6 -0
- package/dist/src/executors/flutter-export/schema.json +28 -0
- package/dist/src/generators/app/files/angular/.eslintrc.json__template__ +28 -0
- package/dist/src/generators/app/files/angular/csp-allowlist.json__template__ +1 -0
- package/dist/src/generators/app/files/angular/server/README.md__template__ +31 -0
- package/dist/src/generators/app/files/angular/src/app/app-routing.module.ts__template__ +10 -0
- package/dist/src/generators/app/files/angular/src/app/app.component.html__template__ +4 -0
- package/dist/src/generators/app/files/angular/src/app/app.component.scss__template__ +1 -0
- package/dist/src/generators/app/files/angular/src/app/app.component.ts__template__ +9 -0
- package/dist/src/generators/app/files/angular/src/app/app.module.ts__template__ +13 -0
- package/dist/src/generators/app/files/angular/src/index.html__template__ +12 -0
- package/dist/src/generators/app/files/angular/src/main.ts__template__ +16 -0
- package/dist/src/generators/app/files/angular/src/styles.scss__template__ +1 -0
- package/dist/src/generators/app/files/angular/tsconfig.app.json__template__ +10 -0
- package/dist/src/generators/app/files/angular/tsconfig.json__template__ +25 -0
- package/dist/src/generators/app/files/angular/tsconfig.spec.json__template__ +8 -0
- package/dist/src/generators/app/files/flutter/.gitignore__template__ +10 -0
- package/dist/src/generators/app/files/flutter/analysis_options.yaml__template__ +8 -0
- package/dist/src/generators/app/files/flutter/lib/main.dart__template__ +23 -0
- package/dist/src/generators/app/files/flutter/pubspec.yaml__template__ +26 -0
- package/dist/src/generators/app/files/flutter/server/nginx.conf__template__ +35 -0
- package/dist/src/generators/app/files/ionic/.gitignore__template__ +7 -0
- package/dist/src/generators/app/files/ionic/capacitor.config.ts__template__ +19 -0
- package/dist/src/generators/app/files/ionic/package.json__template__ +14 -0
- package/dist/src/generators/app/files/ionic/src/app/app.component.html__template__ +3 -0
- package/dist/src/generators/app/files/ionic/src/app/app.component.scss__template__ +0 -0
- package/dist/src/generators/app/files/ionic/src/app/app.module.ts__template__ +16 -0
- package/dist/src/generators/app/files/ionic/src/index.html__template__ +17 -0
- package/dist/src/generators/app/files/ionic/src/styles.scss__template__ +12 -0
- package/dist/src/generators/app/generator.d.ts +15 -0
- package/dist/src/generators/app/generator.js +363 -0
- package/dist/src/generators/app/generator.js.map +1 -0
- package/dist/src/generators/app/schema.d.ts +19 -0
- package/dist/src/generators/app/schema.json +77 -0
- package/dist/src/generators/env/generator.d.ts +3 -0
- package/dist/src/generators/env/generator.js +454 -0
- package/dist/src/generators/env/generator.js.map +1 -0
- package/dist/src/generators/env/schema.d.ts +18 -0
- package/dist/src/generators/env/schema.json +47 -0
- package/dist/src/generators/infra/files/ci/commitlint/commitlint.config.js__template__ +6 -0
- package/dist/src/generators/infra/files/ci/common/tools/config/allowed-cycles.json__template__ +1 -0
- package/dist/src/generators/infra/files/ci/common/tools/scripts/check-cycles.js__template__ +201 -0
- package/dist/src/generators/infra/files/ci/github-actions/.github/workflows/ci.yml__template__ +68 -0
- package/dist/src/generators/infra/files/ci/github-actions/.github/workflows/pr-title.yml__template__ +36 -0
- package/dist/src/generators/infra/files/ci/jenkins/Jenkinsfile__template__ +45 -0
- package/dist/src/generators/infra/files/docs/.github/ISSUE_TEMPLATE/bug.yml__template__ +39 -0
- package/dist/src/generators/infra/files/docs/.github/ISSUE_TEMPLATE/config.yml__template__ +1 -0
- package/dist/src/generators/infra/files/docs/.github/ISSUE_TEMPLATE/feature.yml__template__ +23 -0
- package/dist/src/generators/infra/files/docs/.github/PULL_REQUEST_TEMPLATE.md__template__ +23 -0
- package/dist/src/generators/infra/files/docs/CODE_OF_CONDUCT.md__template__ +18 -0
- package/dist/src/generators/infra/files/docs/CONTRIBUTING.md__template__ +61 -0
- package/dist/src/generators/infra/files/docs/SECURITY.md__template__ +25 -0
- package/dist/src/generators/infra/files/quality/.husky/pre-push__template__ +2 -0
- package/dist/src/generators/infra/files/quality/.secretlintignore__template__ +7 -0
- package/dist/src/generators/infra/files/quality/.secretlintrc.json__template__ +7 -0
- package/dist/src/generators/infra/files/quality/knip.json__template__ +9 -0
- package/dist/src/generators/infra/files/upgrades/.github/workflows/dependency-upgrade.yml__template__ +80 -0
- package/dist/src/generators/infra/generator.d.ts +60 -0
- package/dist/src/generators/infra/generator.js +356 -0
- package/dist/src/generators/infra/generator.js.map +1 -0
- package/dist/src/generators/infra/options.d.ts +28 -0
- package/dist/src/generators/infra/options.js +80 -0
- package/dist/src/generators/infra/options.js.map +1 -0
- package/dist/src/generators/infra/schema.d.ts +19 -0
- package/dist/src/generators/infra/schema.json +59 -0
- package/dist/src/generators/lib/angular-lib.d.ts +27 -0
- package/dist/src/generators/lib/angular-lib.js +85 -0
- package/dist/src/generators/lib/angular-lib.js.map +1 -0
- package/dist/src/generators/lib/files/angular/component/src/index.ts__template__ +2 -0
- package/dist/src/generators/lib/files/angular/component/src/lib/__fileName__/__fileName__.component.html__template__ +1 -0
- package/dist/src/generators/lib/files/angular/component/src/lib/__fileName__/__fileName__.component.scss__template__ +3 -0
- package/dist/src/generators/lib/files/angular/component/src/lib/__fileName__/__fileName__.component.ts__template__ +9 -0
- package/dist/src/generators/lib/files/angular/component/src/lib/__fileName__.module.ts__template__ +11 -0
- package/dist/src/generators/lib/files/angular/config/.eslintrc.json__template__ +32 -0
- package/dist/src/generators/lib/files/angular/config/tsconfig.json__template__ +22 -0
- package/dist/src/generators/lib/files/angular/config/tsconfig.lib.json__template__ +12 -0
- package/dist/src/generators/lib/files/assets/README.md__template__ +13 -0
- package/dist/src/generators/lib/files/design-tokens/README.md__template__ +90 -0
- package/dist/src/generators/lib/files/design-tokens/generated/dart/pubspec.yaml__template__ +11 -0
- package/dist/src/generators/lib/files/design-tokens/src/index.ts__template__ +1 -0
- package/dist/src/generators/lib/files/design-tokens/style-dictionary.config.js__template__ +41 -0
- package/dist/src/generators/lib/files/flutter/.gitignore__template__ +7 -0
- package/dist/src/generators/lib/files/flutter/analysis_options.yaml__template__ +6 -0
- package/dist/src/generators/lib/files/flutter/lib/__snakeName__.dart__template__ +1 -0
- package/dist/src/generators/lib/files/flutter/lib/src/__snakeName__.dart__template__ +6 -0
- package/dist/src/generators/lib/files/flutter/pubspec.yaml__template__ +18 -0
- package/dist/src/generators/lib/files/flutter/test/__snakeName___test.dart__template__ +8 -0
- package/dist/src/generators/lib/files/ionic/src/index.ts__template__ +2 -0
- package/dist/src/generators/lib/files/ionic/src/lib/__fileName__/__fileName__.page.html__template__ +9 -0
- package/dist/src/generators/lib/files/ionic/src/lib/__fileName__/__fileName__.page.scss__template__ +3 -0
- package/dist/src/generators/lib/files/ionic/src/lib/__fileName__/__fileName__.page.ts__template__ +9 -0
- package/dist/src/generators/lib/files/ionic/src/lib/__fileName__.module.ts__template__ +12 -0
- package/dist/src/generators/lib/files/pii/README.md__template__ +35 -0
- package/dist/src/generators/lib/files/pii/src/index.ts__template__ +5 -0
- package/dist/src/generators/lib/files/pii/src/lib/pii-mask.directive.ts__template__ +30 -0
- package/dist/src/generators/lib/files/pii/src/lib/pii-mask.module.ts__template__ +17 -0
- package/dist/src/generators/lib/files/pii/src/lib/pii-mask.options.ts__template__ +6 -0
- package/dist/src/generators/lib/files/pii/src/lib/pii-mask.pipe.ts__template__ +14 -0
- package/dist/src/generators/lib/files/pii/src/lib/pii-mask.ts__template__ +117 -0
- package/dist/src/generators/lib/files/session/README.md__template__ +39 -0
- package/dist/src/generators/lib/files/session/src/index.ts__template__ +5 -0
- package/dist/src/generators/lib/files/session/src/lib/session-clock.ts__template__ +113 -0
- package/dist/src/generators/lib/files/session/src/lib/session-timeout.config.ts__template__ +8 -0
- package/dist/src/generators/lib/files/session/src/lib/session-timeout.module.ts__template__ +23 -0
- package/dist/src/generators/lib/files/session/src/lib/session-timeout.service.ts__template__ +289 -0
- package/dist/src/generators/lib/files/session/src/lib/session-warning/session-warning.component.html__template__ +21 -0
- package/dist/src/generators/lib/files/session/src/lib/session-warning/session-warning.component.scss__template__ +40 -0
- package/dist/src/generators/lib/files/session/src/lib/session-warning/session-warning.component.ts__template__ +105 -0
- package/dist/src/generators/lib/files/state/ngrx/README.md__template__ +33 -0
- package/dist/src/generators/lib/files/state/ngrx/src/index.ts__template__ +6 -0
- package/dist/src/generators/lib/files/state/ngrx/src/lib/__fileName__-state.module.ts__template__ +18 -0
- package/dist/src/generators/lib/files/state/ngrx/src/lib/__fileName__.actions.ts__template__ +12 -0
- package/dist/src/generators/lib/files/state/ngrx/src/lib/__fileName__.effects.ts__template__ +26 -0
- package/dist/src/generators/lib/files/state/ngrx/src/lib/__fileName__.models.ts__template__ +4 -0
- package/dist/src/generators/lib/files/state/ngrx/src/lib/__fileName__.reducer.ts__template__ +33 -0
- package/dist/src/generators/lib/files/state/ngrx/src/lib/__fileName__.selectors.ts__template__ +14 -0
- package/dist/src/generators/lib/files/state/simple-service/README.md__template__ +20 -0
- package/dist/src/generators/lib/files/state/simple-service/src/index.ts__template__ +2 -0
- package/dist/src/generators/lib/files/state/simple-service/src/lib/__fileName__.store.ts__template__ +58 -0
- package/dist/src/generators/lib/files/state/simple-service/src/lib/store.ts__template__ +34 -0
- package/dist/src/generators/lib/files/styles/README.md__template__ +39 -0
- package/dist/src/generators/lib/files/styles/src/_index.scss__template__ +3 -0
- package/dist/src/generators/lib/files/styles/src/mixins/_index.scss__template__ +13 -0
- package/dist/src/generators/lib/files/styles/src/themes/_index.scss__template__ +20 -0
- package/dist/src/generators/lib/files/styles/src/tokens/_index.scss__template__ +27 -0
- package/dist/src/generators/lib/files/ts/config/.eslintrc.json__template__ +10 -0
- package/dist/src/generators/lib/files/ts/config/tsconfig.json__template__ +14 -0
- package/dist/src/generators/lib/files/ts/config/tsconfig.lib.json__template__ +10 -0
- package/dist/src/generators/lib/files/ts/sample/src/index.ts__template__ +1 -0
- package/dist/src/generators/lib/files/ts/sample/src/lib/__fileName__.ts__template__ +4 -0
- package/dist/src/generators/lib/generator.d.ts +3 -0
- package/dist/src/generators/lib/generator.js +53 -0
- package/dist/src/generators/lib/generator.js.map +1 -0
- package/dist/src/generators/lib/lib-utils.d.ts +72 -0
- package/dist/src/generators/lib/lib-utils.js +170 -0
- package/dist/src/generators/lib/lib-utils.js.map +1 -0
- package/dist/src/generators/lib/schema.d.ts +31 -0
- package/dist/src/generators/lib/schema.json +63 -0
- package/dist/src/generators/lib/style-dictionary.d.ts +36 -0
- package/dist/src/generators/lib/style-dictionary.js +183 -0
- package/dist/src/generators/lib/style-dictionary.js.map +1 -0
- package/dist/src/generators/lib/types/angular.d.ts +2 -0
- package/dist/src/generators/lib/types/angular.js +20 -0
- package/dist/src/generators/lib/types/angular.js.map +1 -0
- package/dist/src/generators/lib/types/assets.d.ts +2 -0
- package/dist/src/generators/lib/types/assets.js +20 -0
- package/dist/src/generators/lib/types/assets.js.map +1 -0
- package/dist/src/generators/lib/types/design-tokens.d.ts +10 -0
- package/dist/src/generators/lib/types/design-tokens.js +78 -0
- package/dist/src/generators/lib/types/design-tokens.js.map +1 -0
- package/dist/src/generators/lib/types/flutter.d.ts +2 -0
- package/dist/src/generators/lib/types/flutter.js +28 -0
- package/dist/src/generators/lib/types/flutter.js.map +1 -0
- package/dist/src/generators/lib/types/index.d.ts +8 -0
- package/dist/src/generators/lib/types/index.js +31 -0
- package/dist/src/generators/lib/types/index.js.map +1 -0
- package/dist/src/generators/lib/types/ionic.d.ts +4 -0
- package/dist/src/generators/lib/types/ionic.js +35 -0
- package/dist/src/generators/lib/types/ionic.js.map +1 -0
- package/dist/src/generators/lib/types/pii.d.ts +3 -0
- package/dist/src/generators/lib/types/pii.js +19 -0
- package/dist/src/generators/lib/types/pii.js.map +1 -0
- package/dist/src/generators/lib/types/session.d.ts +3 -0
- package/dist/src/generators/lib/types/session.js +21 -0
- package/dist/src/generators/lib/types/session.js.map +1 -0
- package/dist/src/generators/lib/types/state.d.ts +5 -0
- package/dist/src/generators/lib/types/state.js +48 -0
- package/dist/src/generators/lib/types/state.js.map +1 -0
- package/dist/src/generators/lib/types/styles.d.ts +2 -0
- package/dist/src/generators/lib/types/styles.js +19 -0
- package/dist/src/generators/lib/types/styles.js.map +1 -0
- package/dist/src/generators/lib/types/ts.d.ts +5 -0
- package/dist/src/generators/lib/types/ts.js +30 -0
- package/dist/src/generators/lib/types/ts.js.map +1 -0
- package/dist/src/generators/llm/generator.d.ts +8 -0
- package/dist/src/generators/llm/generator.js +13 -0
- package/dist/src/generators/llm/generator.js.map +1 -0
- package/dist/src/generators/llm/schema.d.ts +4 -0
- package/dist/src/generators/llm/schema.json +16 -0
- package/dist/src/generators/migrate/adapters/angular-cli.d.ts +82 -0
- package/dist/src/generators/migrate/adapters/angular-cli.js +439 -0
- package/dist/src/generators/migrate/adapters/angular-cli.js.map +1 -0
- package/dist/src/generators/migrate/adapters/angular-workspace.d.ts +28 -0
- package/dist/src/generators/migrate/adapters/angular-workspace.js +397 -0
- package/dist/src/generators/migrate/adapters/angular-workspace.js.map +1 -0
- package/dist/src/generators/migrate/adapters/external.d.ts +23 -0
- package/dist/src/generators/migrate/adapters/external.js +230 -0
- package/dist/src/generators/migrate/adapters/external.js.map +1 -0
- package/dist/src/generators/migrate/adapters/flutter.d.ts +26 -0
- package/dist/src/generators/migrate/adapters/flutter.js +176 -0
- package/dist/src/generators/migrate/adapters/flutter.js.map +1 -0
- package/dist/src/generators/migrate/adapters/index.d.ts +34 -0
- package/dist/src/generators/migrate/adapters/index.js +136 -0
- package/dist/src/generators/migrate/adapters/index.js.map +1 -0
- package/dist/src/generators/migrate/adapters/ionic.d.ts +17 -0
- package/dist/src/generators/migrate/adapters/ionic.js +137 -0
- package/dist/src/generators/migrate/adapters/ionic.js.map +1 -0
- package/dist/src/generators/migrate/adapters/npm-workspaces.d.ts +23 -0
- package/dist/src/generators/migrate/adapters/npm-workspaces.js +734 -0
- package/dist/src/generators/migrate/adapters/npm-workspaces.js.map +1 -0
- package/dist/src/generators/migrate/adapters/nx-workspace.d.ts +47 -0
- package/dist/src/generators/migrate/adapters/nx-workspace.js +1037 -0
- package/dist/src/generators/migrate/adapters/nx-workspace.js.map +1 -0
- package/dist/src/generators/migrate/adapters/scaffold.d.ts +2 -0
- package/dist/src/generators/migrate/adapters/scaffold.js +200 -0
- package/dist/src/generators/migrate/adapters/scaffold.js.map +1 -0
- package/dist/src/generators/migrate/adapters/types.d.ts +184 -0
- package/dist/src/generators/migrate/adapters/types.js +63 -0
- package/dist/src/generators/migrate/adapters/types.js.map +1 -0
- package/dist/src/generators/migrate/angular-code-scan.d.ts +6 -0
- package/dist/src/generators/migrate/angular-code-scan.js +150 -0
- package/dist/src/generators/migrate/angular-code-scan.js.map +1 -0
- package/dist/src/generators/migrate/angular-config-files.d.ts +49 -0
- package/dist/src/generators/migrate/angular-config-files.js +158 -0
- package/dist/src/generators/migrate/angular-config-files.js.map +1 -0
- package/dist/src/generators/migrate/angular-project-json.d.ts +73 -0
- package/dist/src/generators/migrate/angular-project-json.js +352 -0
- package/dist/src/generators/migrate/angular-project-json.js.map +1 -0
- package/dist/src/generators/migrate/angular-workspace/aliases.d.ts +30 -0
- package/dist/src/generators/migrate/angular-workspace/aliases.js +73 -0
- package/dist/src/generators/migrate/angular-workspace/aliases.js.map +1 -0
- package/dist/src/generators/migrate/angular-workspace/eslint.d.ts +8 -0
- package/dist/src/generators/migrate/angular-workspace/eslint.js +38 -0
- package/dist/src/generators/migrate/angular-workspace/eslint.js.map +1 -0
- package/dist/src/generators/migrate/angular-workspace/ng-package.d.ts +4 -0
- package/dist/src/generators/migrate/angular-workspace/ng-package.js +16 -0
- package/dist/src/generators/migrate/angular-workspace/ng-package.js.map +1 -0
- package/dist/src/generators/migrate/angular-workspace/source.d.ts +15 -0
- package/dist/src/generators/migrate/angular-workspace/source.js +108 -0
- package/dist/src/generators/migrate/angular-workspace/source.js.map +1 -0
- package/dist/src/generators/migrate/angular17.d.ts +45 -0
- package/dist/src/generators/migrate/angular17.js +495 -0
- package/dist/src/generators/migrate/angular17.js.map +1 -0
- package/dist/src/generators/migrate/batch.d.ts +29 -0
- package/dist/src/generators/migrate/batch.js +211 -0
- package/dist/src/generators/migrate/batch.js.map +1 -0
- package/dist/src/generators/migrate/copy.d.ts +60 -0
- package/dist/src/generators/migrate/copy.js +224 -0
- package/dist/src/generators/migrate/copy.js.map +1 -0
- package/dist/src/generators/migrate/dependencies.d.ts +38 -0
- package/dist/src/generators/migrate/dependencies.js +196 -0
- package/dist/src/generators/migrate/dependencies.js.map +1 -0
- package/dist/src/generators/migrate/generator.d.ts +9 -0
- package/dist/src/generators/migrate/generator.js +347 -0
- package/dist/src/generators/migrate/generator.js.map +1 -0
- package/dist/src/generators/migrate/imports/rewrite.d.ts +46 -0
- package/dist/src/generators/migrate/imports/rewrite.js +382 -0
- package/dist/src/generators/migrate/imports/rewrite.js.map +1 -0
- package/dist/src/generators/migrate/ionic/capacitor-config.d.ts +24 -0
- package/dist/src/generators/migrate/ionic/capacitor-config.js +113 -0
- package/dist/src/generators/migrate/ionic/capacitor-config.js.map +1 -0
- package/dist/src/generators/migrate/ionic/packages.d.ts +34 -0
- package/dist/src/generators/migrate/ionic/packages.js +92 -0
- package/dist/src/generators/migrate/ionic/packages.js.map +1 -0
- package/dist/src/generators/migrate/ionic/shape.d.ts +32 -0
- package/dist/src/generators/migrate/ionic/shape.js +221 -0
- package/dist/src/generators/migrate/ionic/shape.js.map +1 -0
- package/dist/src/generators/migrate/ionic/skip.d.ts +3 -0
- package/dist/src/generators/migrate/ionic/skip.js +25 -0
- package/dist/src/generators/migrate/ionic/skip.js.map +1 -0
- package/dist/src/generators/migrate/names.d.ts +3 -0
- package/dist/src/generators/migrate/names.js +21 -0
- package/dist/src/generators/migrate/names.js.map +1 -0
- package/dist/src/generators/migrate/npm-deps.d.ts +28 -0
- package/dist/src/generators/migrate/npm-deps.js +63 -0
- package/dist/src/generators/migrate/npm-deps.js.map +1 -0
- package/dist/src/generators/migrate/npm-workspaces/pnpm-yaml.d.ts +10 -0
- package/dist/src/generators/migrate/npm-workspaces/pnpm-yaml.js +246 -0
- package/dist/src/generators/migrate/npm-workspaces/pnpm-yaml.js.map +1 -0
- package/dist/src/generators/migrate/npm-workspaces/source.d.ts +46 -0
- package/dist/src/generators/migrate/npm-workspaces/source.js +253 -0
- package/dist/src/generators/migrate/npm-workspaces/source.js.map +1 -0
- package/dist/src/generators/migrate/nx/build-scripts.d.ts +22 -0
- package/dist/src/generators/migrate/nx/build-scripts.js +147 -0
- package/dist/src/generators/migrate/nx/build-scripts.js.map +1 -0
- package/dist/src/generators/migrate/nx/detect.d.ts +3 -0
- package/dist/src/generators/migrate/nx/detect.js +43 -0
- package/dist/src/generators/migrate/nx/detect.js.map +1 -0
- package/dist/src/generators/migrate/nx/env-encryption.d.ts +35 -0
- package/dist/src/generators/migrate/nx/env-encryption.js +423 -0
- package/dist/src/generators/migrate/nx/env-encryption.js.map +1 -0
- package/dist/src/generators/migrate/nx/rewrite.d.ts +27 -0
- package/dist/src/generators/migrate/nx/rewrite.js +223 -0
- package/dist/src/generators/migrate/nx/rewrite.js.map +1 -0
- package/dist/src/generators/migrate/nx/selection.d.ts +25 -0
- package/dist/src/generators/migrate/nx/selection.js +173 -0
- package/dist/src/generators/migrate/nx/selection.js.map +1 -0
- package/dist/src/generators/migrate/nx/shared-folders.d.ts +58 -0
- package/dist/src/generators/migrate/nx/shared-folders.js +239 -0
- package/dist/src/generators/migrate/nx/shared-folders.js.map +1 -0
- package/dist/src/generators/migrate/nx/workspace-source.d.ts +58 -0
- package/dist/src/generators/migrate/nx/workspace-source.js +275 -0
- package/dist/src/generators/migrate/nx/workspace-source.js.map +1 -0
- package/dist/src/generators/migrate/pnpm.d.ts +42 -0
- package/dist/src/generators/migrate/pnpm.js +132 -0
- package/dist/src/generators/migrate/pnpm.js.map +1 -0
- package/dist/src/generators/migrate/report.d.ts +21 -0
- package/dist/src/generators/migrate/report.js +243 -0
- package/dist/src/generators/migrate/report.js.map +1 -0
- package/dist/src/generators/migrate/rollback/manifest.d.ts +84 -0
- package/dist/src/generators/migrate/rollback/manifest.js +162 -0
- package/dist/src/generators/migrate/rollback/manifest.js.map +1 -0
- package/dist/src/generators/migrate/rollback/recording-tree.d.ts +19 -0
- package/dist/src/generators/migrate/rollback/recording-tree.js +87 -0
- package/dist/src/generators/migrate/rollback/recording-tree.js.map +1 -0
- package/dist/src/generators/migrate/rollback/rollback.d.ts +29 -0
- package/dist/src/generators/migrate/rollback/rollback.js +271 -0
- package/dist/src/generators/migrate/rollback/rollback.js.map +1 -0
- package/dist/src/generators/migrate/schema.d.ts +41 -0
- package/dist/src/generators/migrate/schema.json +85 -0
- package/dist/src/generators/migrate/source.d.ts +26 -0
- package/dist/src/generators/migrate/source.js +70 -0
- package/dist/src/generators/migrate/source.js.map +1 -0
- package/dist/src/generators/preset/files/root/.editorconfig__template__ +15 -0
- package/dist/src/generators/preset/files/root/.eslintignore__template__ +2 -0
- package/dist/src/generators/preset/files/root/.eslintrc.json__template__ +38 -0
- package/dist/src/generators/preset/files/root/.gitattributes__template__ +12 -0
- package/dist/src/generators/preset/files/root/.gitignore__template__ +9 -0
- package/dist/src/generators/preset/files/root/.husky/commit-msg__template__ +1 -0
- package/dist/src/generators/preset/files/root/.husky/pre-commit__template__ +1 -0
- package/dist/src/generators/preset/files/root/.npmrc__template__ +4 -0
- package/dist/src/generators/preset/files/root/.nvmrc__template__ +1 -0
- package/dist/src/generators/preset/files/root/.prettierignore__template__ +6 -0
- package/dist/src/generators/preset/files/root/.prettierrc__template__ +7 -0
- package/dist/src/generators/preset/files/root/commitlint.config.js__template__ +6 -0
- package/dist/src/generators/preset/files/root/nx.json__template__ +30 -0
- package/dist/src/generators/preset/files/root/package.json__template__ +34 -0
- package/dist/src/generators/preset/files/root/tools/config/sri-cdn-allowlist.json__template__ +1 -0
- package/dist/src/generators/preset/files/root/tsconfig.base.json__template__ +18 -0
- package/dist/src/generators/preset/generator.d.ts +11 -0
- package/dist/src/generators/preset/generator.js +91 -0
- package/dist/src/generators/preset/generator.js.map +1 -0
- package/dist/src/generators/preset/schema.d.ts +20 -0
- package/dist/src/generators/preset/schema.json +86 -0
- package/dist/src/generators/shared-libs/generator.d.ts +4 -0
- package/dist/src/generators/shared-libs/generator.js +60 -0
- package/dist/src/generators/shared-libs/generator.js.map +1 -0
- package/dist/src/generators/shared-libs/schema.d.ts +6 -0
- package/dist/src/generators/shared-libs/schema.json +21 -0
- package/dist/src/index.d.ts +16 -0
- package/dist/src/index.js +20 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/lib/csp/allowlist.d.ts +64 -0
- package/dist/src/lib/csp/allowlist.js +126 -0
- package/dist/src/lib/csp/allowlist.js.map +1 -0
- package/dist/src/lib/csp/import.d.ts +52 -0
- package/dist/src/lib/csp/import.js +291 -0
- package/dist/src/lib/csp/import.js.map +1 -0
- package/dist/src/lib/csp/render.d.ts +19 -0
- package/dist/src/lib/csp/render.js +116 -0
- package/dist/src/lib/csp/render.js.map +1 -0
- package/dist/src/lib/env/derive.d.ts +38 -0
- package/dist/src/lib/env/derive.js +115 -0
- package/dist/src/lib/env/derive.js.map +1 -0
- package/dist/src/lib/env-encryption/backup.d.ts +40 -0
- package/dist/src/lib/env-encryption/backup.js +234 -0
- package/dist/src/lib/env-encryption/backup.js.map +1 -0
- package/dist/src/lib/env-encryption/config.d.ts +50 -0
- package/dist/src/lib/env-encryption/config.js +173 -0
- package/dist/src/lib/env-encryption/config.js.map +1 -0
- package/dist/src/lib/env-encryption/domains.d.ts +9 -0
- package/dist/src/lib/env-encryption/domains.js +52 -0
- package/dist/src/lib/env-encryption/domains.js.map +1 -0
- package/dist/src/lib/env-encryption/encrypt.d.ts +48 -0
- package/dist/src/lib/env-encryption/encrypt.js +407 -0
- package/dist/src/lib/env-encryption/encrypt.js.map +1 -0
- package/dist/src/lib/env-encryption/env-file.d.ts +72 -0
- package/dist/src/lib/env-encryption/env-file.js +395 -0
- package/dist/src/lib/env-encryption/env-file.js.map +1 -0
- package/dist/src/lib/env-encryption/gcm.d.ts +51 -0
- package/dist/src/lib/env-encryption/gcm.js +76 -0
- package/dist/src/lib/env-encryption/gcm.js.map +1 -0
- package/dist/src/lib/env-encryption/key-material.d.ts +53 -0
- package/dist/src/lib/env-encryption/key-material.js +148 -0
- package/dist/src/lib/env-encryption/key-material.js.map +1 -0
- package/dist/src/lib/env-encryption/placeholders.d.ts +15 -0
- package/dist/src/lib/env-encryption/placeholders.js +93 -0
- package/dist/src/lib/env-encryption/placeholders.js.map +1 -0
- package/dist/src/lib/env-encryption/prepare.d.ts +43 -0
- package/dist/src/lib/env-encryption/prepare.js +245 -0
- package/dist/src/lib/env-encryption/prepare.js.map +1 -0
- package/dist/src/lib/env-encryption/sensitive.d.ts +2 -0
- package/dist/src/lib/env-encryption/sensitive.js +180 -0
- package/dist/src/lib/env-encryption/sensitive.js.map +1 -0
- package/dist/src/lib/env-encryption/stamp.d.ts +2 -0
- package/dist/src/lib/env-encryption/stamp.js +52 -0
- package/dist/src/lib/env-encryption/stamp.js.map +1 -0
- package/dist/src/lib/env-encryption/switch-gcm.d.ts +43 -0
- package/dist/src/lib/env-encryption/switch-gcm.js +371 -0
- package/dist/src/lib/env-encryption/switch-gcm.js.map +1 -0
- package/dist/src/lib/env-encryption/workspace.d.ts +10 -0
- package/dist/src/lib/env-encryption/workspace.js +48 -0
- package/dist/src/lib/env-encryption/workspace.js.map +1 -0
- package/dist/src/lib/hardening/files.d.ts +17 -0
- package/dist/src/lib/hardening/files.js +43 -0
- package/dist/src/lib/hardening/files.js.map +1 -0
- package/dist/src/lib/hardening/integrity.d.ts +24 -0
- package/dist/src/lib/hardening/integrity.js +112 -0
- package/dist/src/lib/hardening/integrity.js.map +1 -0
- package/dist/src/lib/hardening/leak-check.d.ts +15 -0
- package/dist/src/lib/hardening/leak-check.js +100 -0
- package/dist/src/lib/hardening/leak-check.js.map +1 -0
- package/dist/src/lib/hardening/ngsw.d.ts +7 -0
- package/dist/src/lib/hardening/ngsw.js +55 -0
- package/dist/src/lib/hardening/ngsw.js.map +1 -0
- package/dist/src/lib/hardening/obfuscate.d.ts +36 -0
- package/dist/src/lib/hardening/obfuscate.js +153 -0
- package/dist/src/lib/hardening/obfuscate.js.map +1 -0
- package/dist/src/lib/hardening/options.d.ts +36 -0
- package/dist/src/lib/hardening/options.js +143 -0
- package/dist/src/lib/hardening/options.js.map +1 -0
- package/dist/src/lib/hardening/source-maps.d.ts +7 -0
- package/dist/src/lib/hardening/source-maps.js +37 -0
- package/dist/src/lib/hardening/source-maps.js.map +1 -0
- package/dist/src/lib/hardening/strip.d.ts +55 -0
- package/dist/src/lib/hardening/strip.js +178 -0
- package/dist/src/lib/hardening/strip.js.map +1 -0
- package/dist/src/lib/helpers/encrypt-env.d.ts +13 -0
- package/dist/src/lib/helpers/encrypt-env.js +33 -0
- package/dist/src/lib/helpers/encrypt-env.js.map +1 -0
- package/dist/src/lib/helpers/inject-meta.d.ts +14 -0
- package/dist/src/lib/helpers/inject-meta.js +49 -0
- package/dist/src/lib/helpers/inject-meta.js.map +1 -0
- package/dist/src/lib/helpers/inject-nonce.d.ts +7 -0
- package/dist/src/lib/helpers/inject-nonce.js +59 -0
- package/dist/src/lib/helpers/inject-nonce.js.map +1 -0
- package/dist/src/lib/helpers/inject-sri.d.ts +11 -0
- package/dist/src/lib/helpers/inject-sri.js +92 -0
- package/dist/src/lib/helpers/inject-sri.js.map +1 -0
- package/dist/src/lib/helpers/strip-exif.d.ts +9 -0
- package/dist/src/lib/helpers/strip-exif.js +52 -0
- package/dist/src/lib/helpers/strip-exif.js.map +1 -0
- package/dist/src/lib/release/plan.d.ts +45 -0
- package/dist/src/lib/release/plan.js +76 -0
- package/dist/src/lib/release/plan.js.map +1 -0
- package/dist/src/lib/release/run.d.ts +46 -0
- package/dist/src/lib/release/run.js +160 -0
- package/dist/src/lib/release/run.js.map +1 -0
- package/dist/src/lib/utils/angular-deps.d.ts +22 -0
- package/dist/src/lib/utils/angular-deps.js +108 -0
- package/dist/src/lib/utils/angular-deps.js.map +1 -0
- package/dist/src/lib/utils/angular-project.d.ts +52 -0
- package/dist/src/lib/utils/angular-project.js +168 -0
- package/dist/src/lib/utils/angular-project.js.map +1 -0
- package/dist/src/lib/utils/app-dir.d.ts +17 -0
- package/dist/src/lib/utils/app-dir.js +52 -0
- package/dist/src/lib/utils/app-dir.js.map +1 -0
- package/dist/src/lib/utils/base-href.d.ts +26 -0
- package/dist/src/lib/utils/base-href.js +60 -0
- package/dist/src/lib/utils/base-href.js.map +1 -0
- package/dist/src/lib/utils/ci-resolve.d.ts +10 -0
- package/dist/src/lib/utils/ci-resolve.js +50 -0
- package/dist/src/lib/utils/ci-resolve.js.map +1 -0
- package/dist/src/lib/utils/csp-nonce.d.ts +34 -0
- package/dist/src/lib/utils/csp-nonce.js +142 -0
- package/dist/src/lib/utils/csp-nonce.js.map +1 -0
- package/dist/src/lib/utils/dependencies.d.ts +25 -0
- package/dist/src/lib/utils/dependencies.js +71 -0
- package/dist/src/lib/utils/dependencies.js.map +1 -0
- package/dist/src/lib/utils/devkit-deps.d.ts +19 -0
- package/dist/src/lib/utils/devkit-deps.js +34 -0
- package/dist/src/lib/utils/devkit-deps.js.map +1 -0
- package/dist/src/lib/utils/env-files.d.ts +18 -0
- package/dist/src/lib/utils/env-files.js +41 -0
- package/dist/src/lib/utils/env-files.js.map +1 -0
- package/dist/src/lib/utils/filesystem.d.ts +7 -0
- package/dist/src/lib/utils/filesystem.js +20 -0
- package/dist/src/lib/utils/filesystem.js.map +1 -0
- package/dist/src/lib/utils/flutter-web.d.ts +7 -0
- package/dist/src/lib/utils/flutter-web.js +56 -0
- package/dist/src/lib/utils/flutter-web.js.map +1 -0
- package/dist/src/lib/utils/knip.d.ts +16 -0
- package/dist/src/lib/utils/knip.js +71 -0
- package/dist/src/lib/utils/knip.js.map +1 -0
- package/dist/src/lib/utils/lint-staged.d.ts +5 -0
- package/dist/src/lib/utils/lint-staged.js +34 -0
- package/dist/src/lib/utils/lint-staged.js.map +1 -0
- package/dist/src/lib/utils/llm-block.d.ts +88 -0
- package/dist/src/lib/utils/llm-block.js +457 -0
- package/dist/src/lib/utils/llm-block.js.map +1 -0
- package/dist/src/lib/utils/node-engine.d.ts +9 -0
- package/dist/src/lib/utils/node-engine.js +63 -0
- package/dist/src/lib/utils/node-engine.js.map +1 -0
- package/dist/src/lib/utils/npm-scripts.d.ts +7 -0
- package/dist/src/lib/utils/npm-scripts.js +28 -0
- package/dist/src/lib/utils/npm-scripts.js.map +1 -0
- package/dist/src/lib/utils/nx-targets.d.ts +3 -0
- package/dist/src/lib/utils/nx-targets.js +25 -0
- package/dist/src/lib/utils/nx-targets.js.map +1 -0
- package/dist/src/lib/utils/project-json-files.d.ts +23 -0
- package/dist/src/lib/utils/project-json-files.js +73 -0
- package/dist/src/lib/utils/project-json-files.js.map +1 -0
- package/dist/src/lib/utils/quality.d.ts +71 -0
- package/dist/src/lib/utils/quality.js +295 -0
- package/dist/src/lib/utils/quality.js.map +1 -0
- package/dist/src/lib/utils/serve-port.d.ts +28 -0
- package/dist/src/lib/utils/serve-port.js +73 -0
- package/dist/src/lib/utils/serve-port.js.map +1 -0
- package/dist/src/lib/utils/shared-libs.d.ts +37 -0
- package/dist/src/lib/utils/shared-libs.js +152 -0
- package/dist/src/lib/utils/shared-libs.js.map +1 -0
- package/dist/src/lib/utils/ts-paths.d.ts +3 -0
- package/dist/src/lib/utils/ts-paths.js +31 -0
- package/dist/src/lib/utils/ts-paths.js.map +1 -0
- package/dist/src/lib/utils/workspace.d.ts +3 -0
- package/dist/src/lib/utils/workspace.js +15 -0
- package/dist/src/lib/utils/workspace.js.map +1 -0
- package/dist/src/migrate-sdk.d.ts +31 -0
- package/dist/src/migrate-sdk.js +35 -0
- package/dist/src/migrate-sdk.js.map +1 -0
- package/dist/src/migrations/add-csp-nonce-import/add-csp-nonce-import.d.ts +2 -0
- package/dist/src/migrations/add-csp-nonce-import/add-csp-nonce-import.js +40 -0
- package/dist/src/migrations/add-csp-nonce-import/add-csp-nonce-import.js.map +1 -0
- package/dist/src/migrations/add-executor-peers/add-executor-peers.d.ts +6 -0
- package/dist/src/migrations/add-executor-peers/add-executor-peers.js +21 -0
- package/dist/src/migrations/add-executor-peers/add-executor-peers.js.map +1 -0
- package/dist/src/migrations/add-lib-build-dependencies/add-lib-build-dependencies.d.ts +7 -0
- package/dist/src/migrations/add-lib-build-dependencies/add-lib-build-dependencies.js +47 -0
- package/dist/src/migrations/add-lib-build-dependencies/add-lib-build-dependencies.js.map +1 -0
- package/dist/src/migrations/add-lint-dependencies/add-lint-dependencies.d.ts +6 -0
- package/dist/src/migrations/add-lint-dependencies/add-lint-dependencies.js +27 -0
- package/dist/src/migrations/add-lint-dependencies/add-lint-dependencies.js.map +1 -0
- package/dist/src/migrations/add-lint-staged-config/add-lint-staged-config.d.ts +7 -0
- package/dist/src/migrations/add-lint-staged-config/add-lint-staged-config.js +22 -0
- package/dist/src/migrations/add-lint-staged-config/add-lint-staged-config.js.map +1 -0
- package/dist/src/migrations/angular-release-target/angular-release-target.d.ts +3 -0
- package/dist/src/migrations/angular-release-target/angular-release-target.js +80 -0
- package/dist/src/migrations/angular-release-target/angular-release-target.js.map +1 -0
- package/dist/src/migrations/app-clean-and-port/app-clean-and-port.d.ts +7 -0
- package/dist/src/migrations/app-clean-and-port/app-clean-and-port.js +89 -0
- package/dist/src/migrations/app-clean-and-port/app-clean-and-port.js.map +1 -0
- package/dist/src/migrations/env-encryption-config/env-encryption-config.d.ts +7 -0
- package/dist/src/migrations/env-encryption-config/env-encryption-config.js +42 -0
- package/dist/src/migrations/env-encryption-config/env-encryption-config.js.map +1 -0
- package/dist/src/migrations/env-encryption-key-sources/env-encryption-key-sources.d.ts +3 -0
- package/dist/src/migrations/env-encryption-key-sources/env-encryption-key-sources.js +15 -0
- package/dist/src/migrations/env-encryption-key-sources/env-encryption-key-sources.js.map +1 -0
- package/dist/src/migrations/fix-lint-script/fix-lint-script.d.ts +7 -0
- package/dist/src/migrations/fix-lint-script/fix-lint-script.js +27 -0
- package/dist/src/migrations/fix-lint-script/fix-lint-script.js.map +1 -0
- package/dist/src/migrations/flutter-web-platform/flutter-web-platform.d.ts +8 -0
- package/dist/src/migrations/flutter-web-platform/flutter-web-platform.js +35 -0
- package/dist/src/migrations/flutter-web-platform/flutter-web-platform.js.map +1 -0
- package/dist/src/migrations/plugin-repo-dev/plugin-repo-dev.d.ts +9 -0
- package/dist/src/migrations/plugin-repo-dev/plugin-repo-dev.js +42 -0
- package/dist/src/migrations/plugin-repo-dev/plugin-repo-dev.js.map +1 -0
- package/dist/src/migrations/prepush-audit-warn-only/prepush-audit-warn-only.d.ts +8 -0
- package/dist/src/migrations/prepush-audit-warn-only/prepush-audit-warn-only.js +30 -0
- package/dist/src/migrations/prepush-audit-warn-only/prepush-audit-warn-only.js.map +1 -0
- package/dist/src/migrations/quality-checks/quality-checks.d.ts +7 -0
- package/dist/src/migrations/quality-checks/quality-checks.js +46 -0
- package/dist/src/migrations/quality-checks/quality-checks.js.map +1 -0
- package/dist/src/migrations/release-hardening/release-hardening.d.ts +8 -0
- package/dist/src/migrations/release-hardening/release-hardening.js +98 -0
- package/dist/src/migrations/release-hardening/release-hardening.js.map +1 -0
- package/dist/src/migrations/sharp-security-update/sharp-security-update.d.ts +10 -0
- package/dist/src/migrations/sharp-security-update/sharp-security-update.js +40 -0
- package/dist/src/migrations/sharp-security-update/sharp-security-update.js.map +1 -0
- package/migrate/package.json +5 -0
- package/package.json +120 -4
- package/runtime/csp-nonce.js +109 -0
- package/runtime/env-secret.d.ts +63 -0
- package/runtime/env-secret.mjs +698 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
2
|
+
export interface RunTreeOptions {
|
|
3
|
+
dryRun: boolean;
|
|
4
|
+
verbose: boolean;
|
|
5
|
+
/** Don't print "Nothing to generate." when nothing changed (the caller reports it). */
|
|
6
|
+
quietWhenUnchanged?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/** Run `fn` against an FsTree rooted at `root`, print changes, then flush unless dry-run. Returns change count. */
|
|
9
|
+
export declare function runInTree(root: string, opts: RunTreeOptions, fn: (tree: Tree) => unknown): Promise<number>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runInTree = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const tree_1 = require("nx/src/generators/tree");
|
|
6
|
+
/** Run `fn` against an FsTree rooted at `root`, print changes, then flush unless dry-run. Returns change count. */
|
|
7
|
+
async function runInTree(root, opts, fn) {
|
|
8
|
+
const tree = new tree_1.FsTree(root, opts.verbose);
|
|
9
|
+
const callback = await fn(tree);
|
|
10
|
+
const changes = tree.listChanges();
|
|
11
|
+
if (changes.length === 0) {
|
|
12
|
+
if (!opts.quietWhenUnchanged)
|
|
13
|
+
devkit_1.logger.info('Nothing to generate.');
|
|
14
|
+
if (!opts.dryRun && typeof callback === 'function')
|
|
15
|
+
await callback();
|
|
16
|
+
return 0;
|
|
17
|
+
}
|
|
18
|
+
(0, tree_1.printChanges)(changes);
|
|
19
|
+
if (opts.dryRun) {
|
|
20
|
+
devkit_1.logger.info('\nDry run complete — no files written.');
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
(0, tree_1.flushChanges)(root, changes);
|
|
24
|
+
devkit_1.logger.info(`\nDone. ${changes.length} file(s) written.`);
|
|
25
|
+
// Nx GeneratorCallback (e.g. install packages): runs only after files are on disk.
|
|
26
|
+
if (typeof callback === 'function')
|
|
27
|
+
await callback();
|
|
28
|
+
}
|
|
29
|
+
return changes.length;
|
|
30
|
+
}
|
|
31
|
+
exports.runInTree = runInTree;
|
|
32
|
+
//# sourceMappingURL=run-tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-tree.js","sourceRoot":"","sources":["../../../src/cli/run-tree.ts"],"names":[],"mappings":";;;AAAA,uCAA0C;AAC1C,iDAA4E;AAS5E,mHAAmH;AAC5G,KAAK,UAAU,SAAS,CAC7B,IAAY,EACZ,IAAoB,EACpB,EAA2B;IAE3B,MAAM,IAAI,GAAG,IAAI,aAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAEnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,IAAI,CAAC,IAAI,CAAC,kBAAkB;YAAE,eAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,QAAQ,KAAK,UAAU;YAAE,MAAM,QAAQ,EAAE,CAAC;QACrE,OAAO,CAAC,CAAC;KACV;IAED,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IAEtB,IAAI,IAAI,CAAC,MAAM,EAAE;QACf,eAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;KACvD;SAAM;QACL,IAAA,mBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5B,eAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,mBAAmB,CAAC,CAAC;QAC1D,mFAAmF;QACnF,IAAI,OAAO,QAAQ,KAAK,UAAU;YAAE,MAAM,QAAQ,EAAE,CAAC;KACtD;IACD,OAAO,OAAO,CAAC,MAAM,CAAC;AACxB,CAAC;AA1BD,8BA0BC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Flags } from './args';
|
|
2
|
+
export interface CommandContext {
|
|
3
|
+
/** Directory pstack was invoked from. */
|
|
4
|
+
cwd: string;
|
|
5
|
+
/** Non-flag arguments after the command name. */
|
|
6
|
+
positionals: string[];
|
|
7
|
+
flags: Flags;
|
|
8
|
+
dryRun: boolean;
|
|
9
|
+
verbose: boolean;
|
|
10
|
+
/** Version of the running pstack package. */
|
|
11
|
+
selfVersion: string;
|
|
12
|
+
/** Root directory (contains package.json) of the running pstack package. */
|
|
13
|
+
selfRoot: string;
|
|
14
|
+
}
|
|
15
|
+
/** An expected, user-facing failure. Printed as "Error: <message>" without a stack trace. */
|
|
16
|
+
export declare class CliError extends Error {
|
|
17
|
+
constructor(message: string);
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CliError = void 0;
|
|
4
|
+
/** An expected, user-facing failure. Printed as "Error: <message>" without a stack trace. */
|
|
5
|
+
class CliError extends Error {
|
|
6
|
+
constructor(message) {
|
|
7
|
+
super(message);
|
|
8
|
+
this.name = 'CliError';
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.CliError = CliError;
|
|
12
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cli/types.ts"],"names":[],"mappings":";;;AAgBA,6FAA6F;AAC7F,MAAa,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AALD,4BAKC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type DepField = 'devDependencies' | 'dependencies';
|
|
2
|
+
export interface PluginPin {
|
|
3
|
+
field: DepField;
|
|
4
|
+
version: string;
|
|
5
|
+
/** The spec as written in package.json. */
|
|
6
|
+
spec: string;
|
|
7
|
+
/** An npm range (^x.y.z, ~x.y.z): the installed version may be newer than `version`. */
|
|
8
|
+
range: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface UpdateTarget {
|
|
11
|
+
action: 'noop' | 'upgrade' | 'downgrade';
|
|
12
|
+
to: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function findPluginPin(pkg: any, example?: string): PluginPin;
|
|
15
|
+
export declare function resolveTarget(from: string, toFlag: string | undefined, selfVersion: string, force: boolean): UpdateTarget;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveTarget = exports.findPluginPin = void 0;
|
|
4
|
+
const types_1 = require("./types");
|
|
5
|
+
const versions_1 = require("./versions");
|
|
6
|
+
/** `npm i -D …` command that pins the plugin at `version` the way pstack update does. */
|
|
7
|
+
function pinCommand(version) {
|
|
8
|
+
return ['npm i -D', `${versions_1.PLUGIN_NAME}@${(0, versions_1.formatPluginSpec)(version)}`, ...(0, versions_1.pinInstallFlags)()].join(' ');
|
|
9
|
+
}
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
+
function findPluginPin(pkg, example = '0.3.0') {
|
|
12
|
+
for (const field of ['devDependencies', 'dependencies']) {
|
|
13
|
+
const spec = pkg?.[field]?.[versions_1.PLUGIN_NAME];
|
|
14
|
+
if (spec === undefined)
|
|
15
|
+
continue;
|
|
16
|
+
const version = (0, versions_1.parsePluginSpec)(spec);
|
|
17
|
+
if (!version) {
|
|
18
|
+
throw new types_1.CliError(`${versions_1.PLUGIN_NAME} is "${spec}" in ${field}. pstack update needs a pinned version — ` +
|
|
19
|
+
`pin one first: ${pinCommand(example)}`);
|
|
20
|
+
}
|
|
21
|
+
return { field, version, spec, range: /^\s*[\^~]/.test(spec) };
|
|
22
|
+
}
|
|
23
|
+
throw new types_1.CliError(`${versions_1.PLUGIN_NAME} is not listed in package.json. Add it first: ${pinCommand(example)}`);
|
|
24
|
+
}
|
|
25
|
+
exports.findPluginPin = findPluginPin;
|
|
26
|
+
function resolveTarget(from, toFlag, selfVersion, force) {
|
|
27
|
+
const to = (0, versions_1.normalizeVersion)(toFlag ?? selfVersion);
|
|
28
|
+
const cmp = (0, versions_1.compareVersions)(to, from);
|
|
29
|
+
if (cmp === 0)
|
|
30
|
+
return { action: 'noop', to };
|
|
31
|
+
if (cmp < 0 && !force) {
|
|
32
|
+
throw new types_1.CliError(toFlag === undefined
|
|
33
|
+
? `the global CLI v${to} is older than the workspace's v${from}. Update it with ` +
|
|
34
|
+
`"${(0, versions_1.globalInstallCommand)(from)}" (or newer), or pass --force to downgrade the workspace.`
|
|
35
|
+
: `v${to} is older than the installed v${from}. Pass --force to downgrade.`);
|
|
36
|
+
}
|
|
37
|
+
return { action: cmp < 0 ? 'downgrade' : 'upgrade', to };
|
|
38
|
+
}
|
|
39
|
+
exports.resolveTarget = resolveTarget;
|
|
40
|
+
//# sourceMappingURL=update-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-plan.js","sourceRoot":"","sources":["../../../src/cli/update-plan.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,yCAQoB;AAEpB,yFAAyF;AACzF,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,CAAC,UAAU,EAAE,GAAG,sBAAW,IAAI,IAAA,2BAAgB,EAAC,OAAO,CAAC,EAAE,EAAE,GAAG,IAAA,0BAAe,GAAE,CAAC,CAAC,IAAI,CAC3F,GAAG,CACJ,CAAC;AACJ,CAAC;AAkBD,8DAA8D;AAC9D,SAAgB,aAAa,CAAC,GAAQ,EAAE,OAAO,GAAG,OAAO;IACvD,KAAK,MAAM,KAAK,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAe,EAAE;QACrE,MAAM,IAAI,GAAuB,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,sBAAW,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,MAAM,OAAO,GAAG,IAAA,0BAAe,EAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,gBAAQ,CAChB,GAAG,sBAAW,QAAQ,IAAI,QAAQ,KAAK,2CAA2C;gBAChF,kBAAkB,UAAU,CAAC,OAAO,CAAC,EAAE,CAC1C,CAAC;SACH;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;KAChE;IACD,MAAM,IAAI,gBAAQ,CAChB,GAAG,sBAAW,iDAAiD,UAAU,CAAC,OAAO,CAAC,EAAE,CACrF,CAAC;AACJ,CAAC;AAhBD,sCAgBC;AAED,SAAgB,aAAa,CAC3B,IAAY,EACZ,MAA0B,EAC1B,WAAmB,EACnB,KAAc;IAEd,MAAM,EAAE,GAAG,IAAA,2BAAgB,EAAC,MAAM,IAAI,WAAW,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,IAAA,0BAAe,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC7C,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;QACrB,MAAM,IAAI,gBAAQ,CAChB,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,mBAAmB,EAAE,mCAAmC,IAAI,mBAAmB;gBAC/E,IAAI,IAAA,+BAAoB,EAAC,IAAI,CAAC,2DAA2D;YAC3F,CAAC,CAAC,IAAI,EAAE,iCAAiC,IAAI,8BAA8B,CAC9E,CAAC;KACH;IACD,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC;AAC3D,CAAC;AAlBD,sCAkBC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const PLUGIN_NAME = "@mouryaamit/nx-polystack";
|
|
2
|
+
/** owner/repo of the private development repo on GitHub. */
|
|
3
|
+
export declare const PLUGIN_GITHUB_REPO = "example-org/private-plugin";
|
|
4
|
+
/** Earlier names of the repo; workspaces pinned to them are still recognised (v0.38.2). */
|
|
5
|
+
export declare const LEGACY_GITHUB_REPOS: string[];
|
|
6
|
+
export declare function normalizeVersion(v: string): string;
|
|
7
|
+
export declare function compareVersions(a: string, b: string): number;
|
|
8
|
+
/** The pin `pstack new` / `pstack update` write: a git tag of the repo, or an exact npm version. */
|
|
9
|
+
export declare function formatPluginSpec(version: string): string;
|
|
10
|
+
/** Extra `npm install` flags for a pin, so npm saves it as formatPluginSpec wrote it. */
|
|
11
|
+
export declare function pinInstallFlags(): string[];
|
|
12
|
+
/**
|
|
13
|
+
* The pinned version, or null when the spec is neither a tag of the plugin repo (github:,
|
|
14
|
+
* git+https, git+ssh or owner/repo form; earlier repo names too) nor an npm version (x.y.z,
|
|
15
|
+
* ^x.y.z, ~x.y.z or =x.y.z).
|
|
16
|
+
*/
|
|
17
|
+
export declare function parsePluginSpec(spec: string): string | null;
|
|
18
|
+
/**
|
|
19
|
+
* Shell command that installs the global CLI.
|
|
20
|
+
* - npm source: `npm i -g <package>@<version>`.
|
|
21
|
+
* - GitHub source: the prebuilt release asset. Not `npm i -g github:…#vX`: npm prepares git deps
|
|
22
|
+
* of a global install in global mode, so devDependencies (typescript) are missing and the
|
|
23
|
+
* build fails. Not the release download URL: the repo is private, and npm can't authenticate
|
|
24
|
+
* to GitHub; `gh` downloads with the user's GitHub login.
|
|
25
|
+
*/
|
|
26
|
+
export declare function globalInstallCommand(version: string): string;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.globalInstallCommand = exports.parsePluginSpec = exports.pinInstallFlags = exports.formatPluginSpec = exports.compareVersions = exports.normalizeVersion = exports.LEGACY_GITHUB_REPOS = exports.PLUGIN_GITHUB_REPO = exports.PLUGIN_NAME = void 0;
|
|
4
|
+
const install_source_1 = require("./install-source");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
exports.PLUGIN_NAME = '@mouryaamit/nx-polystack';
|
|
7
|
+
/** owner/repo of the private development repo on GitHub. */
|
|
8
|
+
exports.PLUGIN_GITHUB_REPO = install_source_1.DEV_GITHUB_REPO;
|
|
9
|
+
/** Earlier names of the repo; workspaces pinned to them are still recognised (v0.38.2). */
|
|
10
|
+
exports.LEGACY_GITHUB_REPOS = ['mouryaamit/nx-polystack'];
|
|
11
|
+
const SEMVER = /^v?(\d+)\.(\d+)\.(\d+)$/;
|
|
12
|
+
const escapeRegExp = (s) => s.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&');
|
|
13
|
+
/** npm forms of a version pin: exact, ^, ~ or = (the lower bound is the pinned version). */
|
|
14
|
+
const NPM_SPEC = /^[\^~=]?v?(\d+\.\d+\.\d+)$/;
|
|
15
|
+
/** Git-tag specs npm may save for the plugin's repos (".git" optional). */
|
|
16
|
+
function gitSpec() {
|
|
17
|
+
const source = (0, install_source_1.installSource)();
|
|
18
|
+
const repos = new Set([exports.PLUGIN_GITHUB_REPO, ...exports.LEGACY_GITHUB_REPOS]);
|
|
19
|
+
if (source.kind === 'github')
|
|
20
|
+
repos.add(source.repo);
|
|
21
|
+
const path = `(?:${[...repos].map(escapeRegExp).join('|')})`;
|
|
22
|
+
return new RegExp(`^(?:github:|git\\+https://github\\.com/|git\\+ssh://git@github\\.com/)?${path}(?:\\.git)?#v(\\d+\\.\\d+\\.\\d+)$`);
|
|
23
|
+
}
|
|
24
|
+
function normalizeVersion(v) {
|
|
25
|
+
const m = SEMVER.exec(v.trim());
|
|
26
|
+
if (!m) {
|
|
27
|
+
throw new types_1.CliError(`"${v}" is not a valid version (expected x.y.z).`);
|
|
28
|
+
}
|
|
29
|
+
return `${m[1]}.${m[2]}.${m[3]}`;
|
|
30
|
+
}
|
|
31
|
+
exports.normalizeVersion = normalizeVersion;
|
|
32
|
+
function compareVersions(a, b) {
|
|
33
|
+
const pa = normalizeVersion(a).split('.').map(Number);
|
|
34
|
+
const pb = normalizeVersion(b).split('.').map(Number);
|
|
35
|
+
for (let i = 0; i < 3; i++) {
|
|
36
|
+
if (pa[i] !== pb[i])
|
|
37
|
+
return pa[i] > pb[i] ? 1 : -1;
|
|
38
|
+
}
|
|
39
|
+
return 0;
|
|
40
|
+
}
|
|
41
|
+
exports.compareVersions = compareVersions;
|
|
42
|
+
/** The pin `pstack new` / `pstack update` write: a git tag of the repo, or an exact npm version. */
|
|
43
|
+
function formatPluginSpec(version) {
|
|
44
|
+
const v = normalizeVersion(version);
|
|
45
|
+
const source = (0, install_source_1.installSource)();
|
|
46
|
+
return source.kind === 'npm' ? v : `github:${source.repo}#v${v}`;
|
|
47
|
+
}
|
|
48
|
+
exports.formatPluginSpec = formatPluginSpec;
|
|
49
|
+
/** Extra `npm install` flags for a pin, so npm saves it as formatPluginSpec wrote it. */
|
|
50
|
+
function pinInstallFlags() {
|
|
51
|
+
return (0, install_source_1.installSource)().kind === 'npm' ? ['--save-exact'] : [];
|
|
52
|
+
}
|
|
53
|
+
exports.pinInstallFlags = pinInstallFlags;
|
|
54
|
+
/**
|
|
55
|
+
* The pinned version, or null when the spec is neither a tag of the plugin repo (github:,
|
|
56
|
+
* git+https, git+ssh or owner/repo form; earlier repo names too) nor an npm version (x.y.z,
|
|
57
|
+
* ^x.y.z, ~x.y.z or =x.y.z).
|
|
58
|
+
*/
|
|
59
|
+
function parsePluginSpec(spec) {
|
|
60
|
+
const s = spec.trim();
|
|
61
|
+
const m = gitSpec().exec(s) ?? NPM_SPEC.exec(s);
|
|
62
|
+
return m ? m[1] : null;
|
|
63
|
+
}
|
|
64
|
+
exports.parsePluginSpec = parsePluginSpec;
|
|
65
|
+
/**
|
|
66
|
+
* Shell command that installs the global CLI.
|
|
67
|
+
* - npm source: `npm i -g <package>@<version>`.
|
|
68
|
+
* - GitHub source: the prebuilt release asset. Not `npm i -g github:…#vX`: npm prepares git deps
|
|
69
|
+
* of a global install in global mode, so devDependencies (typescript) are missing and the
|
|
70
|
+
* build fails. Not the release download URL: the repo is private, and npm can't authenticate
|
|
71
|
+
* to GitHub; `gh` downloads with the user's GitHub login.
|
|
72
|
+
*/
|
|
73
|
+
function globalInstallCommand(version) {
|
|
74
|
+
const v = normalizeVersion(version);
|
|
75
|
+
const source = (0, install_source_1.installSource)();
|
|
76
|
+
if (source.kind === 'npm')
|
|
77
|
+
return `npm i -g ${exports.PLUGIN_NAME}@${v}`;
|
|
78
|
+
const asset = `mouryaamit-nx-polystack-v${v}.tgz`;
|
|
79
|
+
return (`gh release download v${v} -R ${source.repo} -p ${asset} -D /tmp --clobber` +
|
|
80
|
+
` && npm i -g /tmp/${asset}`);
|
|
81
|
+
}
|
|
82
|
+
exports.globalInstallCommand = globalInstallCommand;
|
|
83
|
+
//# sourceMappingURL=versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../src/cli/versions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { ExecSyncOptions } from 'child_process';
|
|
3
|
+
import { ExecutorContext } from '@nx/devkit';
|
|
4
|
+
import { Obfuscator } from '../../lib/hardening/obfuscate';
|
|
5
|
+
import { BuildExecutorSchema } from './schema.d';
|
|
6
|
+
export type Runner = (cmd: string, opts: ExecSyncOptions) => void;
|
|
7
|
+
/** Test seams. */
|
|
8
|
+
export interface BuildSeams {
|
|
9
|
+
/** Used instead of the workspace's javascript-obfuscator. */
|
|
10
|
+
obfuscator?: Obfuscator;
|
|
11
|
+
}
|
|
12
|
+
export default function buildExecutor(options: BuildExecutorSchema, context: ExecutorContext, runner?: Runner, seams?: BuildSeams): Promise<{
|
|
13
|
+
success: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* environments/<envProject>/environment.<env>.ts. DEV uses environment.ts, or environment.dev.ts
|
|
17
|
+
* in the per-env layout (no environment.ts in the folder).
|
|
18
|
+
*/
|
|
19
|
+
export declare function envFileFor(repoRoot: string, envProject: string, env: string): string;
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.envFileFor = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
6
|
+
const fs = tslib_1.__importStar(require("fs"));
|
|
7
|
+
const path = tslib_1.__importStar(require("path"));
|
|
8
|
+
const prepare_1 = require("../../lib/env-encryption/prepare");
|
|
9
|
+
const files_1 = require("../../lib/hardening/files");
|
|
10
|
+
const integrity_1 = require("../../lib/hardening/integrity");
|
|
11
|
+
const leak_check_1 = require("../../lib/hardening/leak-check");
|
|
12
|
+
const ngsw_1 = require("../../lib/hardening/ngsw");
|
|
13
|
+
const obfuscate_1 = require("../../lib/hardening/obfuscate");
|
|
14
|
+
const options_1 = require("../../lib/hardening/options");
|
|
15
|
+
const source_maps_1 = require("../../lib/hardening/source-maps");
|
|
16
|
+
const strip_1 = require("../../lib/hardening/strip");
|
|
17
|
+
const inject_meta_1 = require("../../lib/helpers/inject-meta");
|
|
18
|
+
const inject_nonce_1 = require("../../lib/helpers/inject-nonce");
|
|
19
|
+
const inject_sri_1 = require("../../lib/helpers/inject-sri");
|
|
20
|
+
const strip_exif_1 = require("../../lib/helpers/strip-exif");
|
|
21
|
+
const ci_resolve_1 = require("../../lib/utils/ci-resolve");
|
|
22
|
+
const defaultRunner = (cmd, opts) => {
|
|
23
|
+
console.log(`▶ ${cmd}`);
|
|
24
|
+
(0, child_process_1.execSync)(cmd, opts);
|
|
25
|
+
};
|
|
26
|
+
async function buildExecutor(options, context, runner = defaultRunner, seams = {}) {
|
|
27
|
+
const { type, outputPath, envProject, env, buildTarget, buildConfiguration, secure = false, sri = false, baseHref, keySplit, domains, includeWww, onMismatch, } = options;
|
|
28
|
+
if (!env) {
|
|
29
|
+
throw new Error('build executor: "env" is required — set it via Nx configurations (e.g. dev / uat / prod)');
|
|
30
|
+
}
|
|
31
|
+
const projectName = context.projectName;
|
|
32
|
+
const repoRoot = context.root;
|
|
33
|
+
const target = buildTarget ?? `${projectName}:build`;
|
|
34
|
+
if (!/^[^:\s]+:[^:\s]+$/.test(target)) {
|
|
35
|
+
throw new Error(`build executor: buildTarget "${target}" must be exactly "<project>:<target>".`);
|
|
36
|
+
}
|
|
37
|
+
if (context.targetName && target === `${projectName}:${context.targetName}`) {
|
|
38
|
+
throw new Error(`build executor: buildTarget "${target}" points at this target. ` +
|
|
39
|
+
'Run "pstack update" (migration angular-release-target) or set buildTarget to the Angular build target.');
|
|
40
|
+
}
|
|
41
|
+
// Invalid hardening options fail before the env files are touched or anything is built.
|
|
42
|
+
const hardening = (0, options_1.resolveHardening)(options, env);
|
|
43
|
+
hardening.warnings.forEach((w) => console.warn(`⚠ ${w}`));
|
|
44
|
+
const ciCtx = (0, ci_resolve_1.resolveCiContext)();
|
|
45
|
+
// SRI for every chunk: Angular hashes them (the webpack runtime holds the lazy ones), the hashes
|
|
46
|
+
// are swapped after strip/obfuscate, and aes-gcm builds require integrity at runtime.
|
|
47
|
+
const chunkSri = sri && env !== 'DEV';
|
|
48
|
+
const envFilePath = envFileFor(repoRoot, envProject, env);
|
|
49
|
+
// One instant for the env stamp, the aes-gcm key (HKDF) and the meta timestamp_utc.
|
|
50
|
+
const now = new Date();
|
|
51
|
+
const prepared = (0, prepare_1.prepareEnvFile)({
|
|
52
|
+
repoRoot,
|
|
53
|
+
envProject,
|
|
54
|
+
env,
|
|
55
|
+
envFile: envFilePath,
|
|
56
|
+
commit: ciCtx.commit,
|
|
57
|
+
branch: ciCtx.branch,
|
|
58
|
+
now,
|
|
59
|
+
keySplit,
|
|
60
|
+
domains,
|
|
61
|
+
includeWww,
|
|
62
|
+
onMismatch,
|
|
63
|
+
requireIntegrity: chunkSri,
|
|
64
|
+
});
|
|
65
|
+
if (chunkSri && !prepared.keyParts) {
|
|
66
|
+
console.log('ℹ sri: the runtime integrity check (decrypt nothing without SRI) needs cipher aes-gcm');
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
const angularConfig = buildConfiguration ?? (env === 'PROD' ? 'production' : env === 'UAT' ? 'uat' : 'development');
|
|
70
|
+
const outputArg = `--outputPath=${outputPath}`;
|
|
71
|
+
const baseHrefArg = baseHref ? `--baseHref=${baseHref}` : '';
|
|
72
|
+
// The env file changes per build (encryption, stamp), so the Angular build is never cached.
|
|
73
|
+
const cacheArg = env === 'DEV' ? '' : '--skip-nx-cache';
|
|
74
|
+
const sriArg = chunkSri ? '--subresourceIntegrity' : '';
|
|
75
|
+
const cmd = `npx nx run ${target}:${angularConfig} ${outputArg} ${baseHrefArg} ${sriArg} ${cacheArg}`
|
|
76
|
+
.replace(/\s+/g, ' ')
|
|
77
|
+
.trim();
|
|
78
|
+
runner(cmd, { stdio: 'inherit', cwd: repoRoot });
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
try {
|
|
82
|
+
prepared.restore();
|
|
83
|
+
}
|
|
84
|
+
catch (restoreErr) {
|
|
85
|
+
// Keep the build error; the next release build of this env file repairs it.
|
|
86
|
+
console.error(`✖ env file not restored: ${restoreErr.message}`);
|
|
87
|
+
}
|
|
88
|
+
throw err;
|
|
89
|
+
}
|
|
90
|
+
prepared.restore();
|
|
91
|
+
const distDir = path.resolve(repoRoot, outputPath);
|
|
92
|
+
// Release checks see what the Angular build produced; stripping comes before the files are
|
|
93
|
+
// hashed (SRI) and stamped.
|
|
94
|
+
const checkRoot = (0, files_1.servedRoot)(distDir);
|
|
95
|
+
reportChecks([
|
|
96
|
+
(0, leak_check_1.checkLeaks)(checkRoot, prepared.secrets, hardening.leakCheck),
|
|
97
|
+
(0, source_maps_1.checkSourceMaps)(checkRoot, hardening.sourceMaps),
|
|
98
|
+
]);
|
|
99
|
+
// Integrity Angular already wrote (sri, or subresourceIntegrity set in angular.json) must follow
|
|
100
|
+
// every rewrite below, else the browser refuses the rewritten files.
|
|
101
|
+
const builtWithIntegrity = env !== 'DEV' && (chunkSri || hasIntegrity(checkRoot) || (0, integrity_1.hasWebpackSriRuntime)(checkRoot));
|
|
102
|
+
const originalHashes = builtWithIntegrity ? (0, integrity_1.recordHashes)(checkRoot) : undefined;
|
|
103
|
+
const stripped = await (0, strip_1.stripOutput)(checkRoot, { ...hardening, repoRoot });
|
|
104
|
+
stripped.notes.forEach((n) => console.log(`ℹ ${n}`));
|
|
105
|
+
const obfuscated = await (0, obfuscate_1.obfuscateOutput)(checkRoot, {
|
|
106
|
+
repoRoot,
|
|
107
|
+
mode: hardening.obfuscate,
|
|
108
|
+
overrides: hardening.obfuscateOptions,
|
|
109
|
+
obfuscator: seams.obfuscator,
|
|
110
|
+
});
|
|
111
|
+
if (obfuscated.files > 0) {
|
|
112
|
+
console.log(`🔒 obfuscated ${obfuscated.files} file(s): ${kb(obfuscated.bytesBefore)} → ${kb(obfuscated.bytesAfter)}`);
|
|
113
|
+
}
|
|
114
|
+
if (originalHashes) {
|
|
115
|
+
(0, integrity_1.swapHashes)(checkRoot, originalHashes);
|
|
116
|
+
warnUncoveredLazyChunks(checkRoot);
|
|
117
|
+
}
|
|
118
|
+
// aes-gcm: the meta key share (and the asset share) must reach the served index.html, else the
|
|
119
|
+
// app cannot decrypt. cryptojs builds keep the meta in <outputPath>/index.html when present.
|
|
120
|
+
const servedDir = prepared.keyParts ? gcmServedRoot(distDir, outputPath) : distDir;
|
|
121
|
+
const metaHtml = path.join(servedDir, 'index.html');
|
|
122
|
+
const asset = prepared.keyParts?.asset;
|
|
123
|
+
if (asset) {
|
|
124
|
+
fs.mkdirSync(path.join(servedDir, 'assets'), { recursive: true });
|
|
125
|
+
fs.writeFileSync(path.join(servedDir, 'assets', asset.name), asset.bytes);
|
|
126
|
+
}
|
|
127
|
+
if (env === 'PROD' && fs.existsSync(distDir)) {
|
|
128
|
+
await (0, strip_exif_1.stripExif)({ rootDir: distDir });
|
|
129
|
+
}
|
|
130
|
+
if (fs.existsSync(metaHtml)) {
|
|
131
|
+
(0, inject_meta_1.injectBuildMeta)({
|
|
132
|
+
indexHtmlPath: metaHtml,
|
|
133
|
+
env,
|
|
134
|
+
branch: ciCtx.branch,
|
|
135
|
+
commit: ciCtx.commit,
|
|
136
|
+
buildNumber: ciCtx.buildNumber,
|
|
137
|
+
metaName: prepared.config.metaName,
|
|
138
|
+
now,
|
|
139
|
+
extra: prepared.keyParts ? { k: prepared.keyParts.share } : undefined,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
// The served index.html: <outputPath>, or <outputPath>/browser for the application builder.
|
|
143
|
+
if (fs.existsSync(path.join(checkRoot, 'index.html'))) {
|
|
144
|
+
if (secure) {
|
|
145
|
+
(0, inject_nonce_1.injectCspNonce)({ distDir });
|
|
146
|
+
}
|
|
147
|
+
if (sri || builtWithIntegrity) {
|
|
148
|
+
(0, inject_sri_1.injectSri)({ distDir, cdnAllowlist: readSriAllowlist(repoRoot), refresh: true });
|
|
149
|
+
}
|
|
150
|
+
if (chunkSri && prepared.keyParts) {
|
|
151
|
+
noteExternalScripts(path.join(checkRoot, 'index.html'));
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
// Last: every rewrite above (strip, obfuscate, hashes, meta, nonce, SRI) changes files the
|
|
155
|
+
// service worker hashed.
|
|
156
|
+
const ngswUpdated = (0, ngsw_1.refreshNgswHashes)(checkRoot);
|
|
157
|
+
if (ngswUpdated > 0)
|
|
158
|
+
console.log(`ℹ ngsw.json: ${ngswUpdated} hash(es) updated`);
|
|
159
|
+
console.log(`✅ Build complete — type:${type}, env:${env}, output:${outputPath}`);
|
|
160
|
+
return { success: true };
|
|
161
|
+
}
|
|
162
|
+
exports.default = buildExecutor;
|
|
163
|
+
/**
|
|
164
|
+
* The runtime integrity check covers same-origin scripts only; third-party ones without integrity
|
|
165
|
+
* (tag managers, chat widgets) rely on the CSP allowlist. Lists their hosts.
|
|
166
|
+
*/
|
|
167
|
+
function noteExternalScripts(indexHtml) {
|
|
168
|
+
const html = fs.readFileSync(indexHtml, 'utf8');
|
|
169
|
+
const hosts = new Set();
|
|
170
|
+
for (const tag of html.match(/<script\b[^>]*>/gi) ?? []) {
|
|
171
|
+
if (/\bintegrity\s*=/i.test(tag))
|
|
172
|
+
continue;
|
|
173
|
+
const src = /\bsrc\s*=\s*["']((?:https?:)?\/\/[^"']+)["']/i.exec(tag)?.[1];
|
|
174
|
+
if (!src)
|
|
175
|
+
continue;
|
|
176
|
+
try {
|
|
177
|
+
hosts.add(new URL(src, 'https://x.invalid').host);
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
// unreadable URL: not listed
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if (hosts.size > 0) {
|
|
184
|
+
console.log(`ℹ sri: third-party scripts without integrity (${[...hosts].join(', ')}) are not checked ` +
|
|
185
|
+
'by the runtime; keep them in your CSP allowlist');
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/** Whether the served index.html already carries integrity attributes. */
|
|
189
|
+
function hasIntegrity(root) {
|
|
190
|
+
const index = path.join(root, 'index.html');
|
|
191
|
+
return fs.existsSync(index) && /\bintegrity\s*=/i.test(fs.readFileSync(index, 'utf8'));
|
|
192
|
+
}
|
|
193
|
+
const kb = (bytes) => `${Math.round(bytes / 1024)} kB`;
|
|
194
|
+
/**
|
|
195
|
+
* esbuild (application builder): lazy chunks are loaded by import(), which carries no hash; only
|
|
196
|
+
* the webpack runtime checks lazy chunks.
|
|
197
|
+
*/
|
|
198
|
+
function warnUncoveredLazyChunks(root) {
|
|
199
|
+
if ((0, integrity_1.hasWebpackSriRuntime)(root))
|
|
200
|
+
return;
|
|
201
|
+
const lazy = (0, files_1.listFiles)(root, ['js', 'mjs'], { skipDirs: ['assets'] }).some((f) => /^chunk-[A-Z0-9]+\.m?js$/.test(path.basename(f)));
|
|
202
|
+
if (lazy) {
|
|
203
|
+
console.warn('⚠ sri: lazy chunks are not covered (the application builder loads them with import(), ' +
|
|
204
|
+
'which carries no hash); scripts in index.html are');
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/** Prints every warning, then fails with every error of the release checks. */
|
|
208
|
+
function reportChecks(results) {
|
|
209
|
+
const warnings = results.flatMap((r) => r.warnings);
|
|
210
|
+
const errors = results.flatMap((r) => r.errors);
|
|
211
|
+
warnings.forEach((w) => console.warn(`⚠ ${w}`));
|
|
212
|
+
if (errors.length > 0) {
|
|
213
|
+
throw new Error(`release checks failed:\n${errors.map((e) => ` ✖ ${e}`).join('\n')}`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/** servedRoot for aes-gcm builds, which cannot run without an index.html for the meta key share. */
|
|
217
|
+
function gcmServedRoot(distDir, outputPath) {
|
|
218
|
+
const dir = (0, files_1.servedRoot)(distDir);
|
|
219
|
+
if (!fs.existsSync(path.join(dir, 'index.html'))) {
|
|
220
|
+
throw new Error(`aes-gcm build: index.html not found under ${outputPath}; the key share could not be written`);
|
|
221
|
+
}
|
|
222
|
+
return dir;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* environments/<envProject>/environment.<env>.ts. DEV uses environment.ts, or environment.dev.ts
|
|
226
|
+
* in the per-env layout (no environment.ts in the folder).
|
|
227
|
+
*/
|
|
228
|
+
function envFileFor(repoRoot, envProject, env) {
|
|
229
|
+
const dir = path.join(repoRoot, 'environments', envProject);
|
|
230
|
+
if (env !== 'DEV')
|
|
231
|
+
return path.join(dir, `environment.${env.toLowerCase()}.ts`);
|
|
232
|
+
const base = path.join(dir, 'environment.ts');
|
|
233
|
+
const perEnv = path.join(dir, 'environment.dev.ts');
|
|
234
|
+
return !fs.existsSync(base) && fs.existsSync(perEnv) ? perEnv : base;
|
|
235
|
+
}
|
|
236
|
+
exports.envFileFor = envFileFor;
|
|
237
|
+
function readSriAllowlist(repoRoot) {
|
|
238
|
+
const allowlistFile = path.join(repoRoot, 'tools', 'config', 'sri-cdn-allowlist.json');
|
|
239
|
+
if (!fs.existsSync(allowlistFile))
|
|
240
|
+
return [];
|
|
241
|
+
try {
|
|
242
|
+
const raw = JSON.parse(fs.readFileSync(allowlistFile, 'utf8'));
|
|
243
|
+
if (Array.isArray(raw.allow))
|
|
244
|
+
return raw.allow;
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
// ignore malformed config
|
|
248
|
+
}
|
|
249
|
+
return [];
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/build/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface BuildExecutorSchema {
|
|
2
|
+
type: 'angular' | 'ionic';
|
|
3
|
+
outputPath: string;
|
|
4
|
+
envProject: string;
|
|
5
|
+
/** Pipeline env, set via Nx configurations: DEV, UAT, PROD or a custom one such as QA. */
|
|
6
|
+
env?: string;
|
|
7
|
+
/** Angular build target to run, "<project>:<target>". Default: "<this project>:build". */
|
|
8
|
+
buildTarget?: string;
|
|
9
|
+
/** Configuration of buildTarget. Default: PROD → production, UAT → uat, otherwise development. */
|
|
10
|
+
buildConfiguration?: string;
|
|
11
|
+
secure?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Integrity for every chunk: passed to the Angular build as --subresource-integrity, hashes
|
|
14
|
+
* refreshed after strip/obfuscate. With cipher aes-gcm the runtime refuses to decrypt when a
|
|
15
|
+
* script has no integrity attribute.
|
|
16
|
+
*/
|
|
17
|
+
sri?: boolean;
|
|
18
|
+
/** Replaced by stripComments and dropConsole (read as those when they are unset). */
|
|
19
|
+
harden?: boolean;
|
|
20
|
+
/** non-DEV: plaintext of encrypted env values in the output. */
|
|
21
|
+
leakCheck?: 'fail' | 'warn' | 'off';
|
|
22
|
+
/** non-DEV: .map files or sourceMappingURL comments in the output. */
|
|
23
|
+
sourceMaps?: 'fail' | 'warn' | 'off';
|
|
24
|
+
/** non-DEV: remove comments from the built JS, CSS and served index.html. */
|
|
25
|
+
stripComments?: boolean;
|
|
26
|
+
/** non-DEV: console methods whose calls are removed from the built JS. */
|
|
27
|
+
dropConsole?: ('log' | 'debug' | 'warn' | 'info' | 'error' | 'trace')[];
|
|
28
|
+
/**
|
|
29
|
+
* non-DEV: obfuscate the app's own JS (main and lazy chunks; runtime, polyfills, vendor, scripts
|
|
30
|
+
* and styles are skipped). Needs javascript-obfuscator in the workspace. Default: off.
|
|
31
|
+
*/
|
|
32
|
+
obfuscate?: 'off' | 'light' | 'medium' | 'strong';
|
|
33
|
+
/** non-DEV: javascript-obfuscator options on top of the preset (a CSP-safe subset). */
|
|
34
|
+
obfuscateOptions?: Record<string, unknown>;
|
|
35
|
+
baseHref?: string;
|
|
36
|
+
/** aes-gcm: where the per-build key's shares go. */
|
|
37
|
+
keySplit?: 'meta-bundle' | 'meta-bundle-asset';
|
|
38
|
+
/** aes-gcm: hosts this build may run on (set per configuration). */
|
|
39
|
+
domains?: string[];
|
|
40
|
+
includeWww?: boolean;
|
|
41
|
+
onMismatch?: 'block' | 'warn';
|
|
42
|
+
}
|