@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,201 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* tools/scripts/check-cycles.js — generated by nx-polystack (pstack infra).
|
|
4
|
+
*
|
|
5
|
+
* Fails when the Nx project graph has a dependency cycle that is not in
|
|
6
|
+
* tools/config/allowed-cycles.json. Plain Node, no dependencies.
|
|
7
|
+
*
|
|
8
|
+
* npm run check:cycles reads the graph with `npx nx graph --file=<tmp>.json`
|
|
9
|
+
* node tools/scripts/check-cycles.js --graph=<file.json>
|
|
10
|
+
* reads an existing graph file instead
|
|
11
|
+
*
|
|
12
|
+
* A cycle is a group of projects that all depend on each other, directly or indirectly (a strongly
|
|
13
|
+
* connected component), or a project that depends on itself. The allowlist holds one array of
|
|
14
|
+
* project names per known cycle, in any order: [["app-a", "lib-b"], ...]. External npm packages
|
|
15
|
+
* ("npm:" nodes) are ignored.
|
|
16
|
+
*/
|
|
17
|
+
'use strict';
|
|
18
|
+
|
|
19
|
+
const { execSync } = require('child_process');
|
|
20
|
+
const fs = require('fs');
|
|
21
|
+
const os = require('os');
|
|
22
|
+
const path = require('path');
|
|
23
|
+
|
|
24
|
+
const ALLOWLIST = path.join('tools', 'config', 'allowed-cycles.json');
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Project-to-project edges from `nx graph --file` output (Nx 17:
|
|
28
|
+
* { graph: { nodes, dependencies: { [project]: [{ source, target, type }] } } }).
|
|
29
|
+
* Only edges between workspace projects are kept.
|
|
30
|
+
*/
|
|
31
|
+
function readProjectGraph(json) {
|
|
32
|
+
const graph = (json && json.graph) || json || {};
|
|
33
|
+
const nodes = Object.keys(graph.nodes || {});
|
|
34
|
+
const known = new Set(nodes);
|
|
35
|
+
const deps = graph.dependencies || {};
|
|
36
|
+
const edges = {};
|
|
37
|
+
for (const name of nodes) {
|
|
38
|
+
const targets = (deps[name] || [])
|
|
39
|
+
.map((d) => d && d.target)
|
|
40
|
+
.filter((t) => typeof t === 'string' && !t.startsWith('npm:') && known.has(t));
|
|
41
|
+
edges[name] = [...new Set(targets)].sort();
|
|
42
|
+
}
|
|
43
|
+
return edges;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Cycles in the graph (Tarjan's strongly connected components): every component with more than
|
|
48
|
+
* one project, plus single projects that depend on themselves. Members sorted; cycles sorted.
|
|
49
|
+
*/
|
|
50
|
+
function findCycles(edges) {
|
|
51
|
+
let index = 0;
|
|
52
|
+
const indexOf = new Map();
|
|
53
|
+
const low = new Map();
|
|
54
|
+
const stack = [];
|
|
55
|
+
const onStack = new Set();
|
|
56
|
+
const found = [];
|
|
57
|
+
|
|
58
|
+
const connect = (v) => {
|
|
59
|
+
indexOf.set(v, index);
|
|
60
|
+
low.set(v, index);
|
|
61
|
+
index += 1;
|
|
62
|
+
stack.push(v);
|
|
63
|
+
onStack.add(v);
|
|
64
|
+
for (const w of edges[v] || []) {
|
|
65
|
+
if (!indexOf.has(w)) {
|
|
66
|
+
connect(w);
|
|
67
|
+
low.set(v, Math.min(low.get(v), low.get(w)));
|
|
68
|
+
} else if (onStack.has(w)) {
|
|
69
|
+
low.set(v, Math.min(low.get(v), indexOf.get(w)));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (low.get(v) === indexOf.get(v)) {
|
|
73
|
+
const component = [];
|
|
74
|
+
let w;
|
|
75
|
+
do {
|
|
76
|
+
w = stack.pop();
|
|
77
|
+
onStack.delete(w);
|
|
78
|
+
component.push(w);
|
|
79
|
+
} while (w !== v);
|
|
80
|
+
if (component.length > 1 || (edges[v] || []).includes(v)) found.push(component.sort());
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
for (const v of Object.keys(edges).sort()) {
|
|
85
|
+
if (!indexOf.has(v)) connect(v);
|
|
86
|
+
}
|
|
87
|
+
return found.sort((a, b) => key(a).localeCompare(key(b)));
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function key(members) {
|
|
91
|
+
return [...members].sort().join('\u0000');
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/** Cycles that are not in the allowlist (compared as sets of project names). */
|
|
95
|
+
function newCycles(found, allowed) {
|
|
96
|
+
const ok = new Set(allowed.map(key));
|
|
97
|
+
return found.filter((c) => !ok.has(key(c)));
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/** Allowlist entries that no longer match a cycle. */
|
|
101
|
+
function staleAllowed(found, allowed) {
|
|
102
|
+
const present = new Set(found.map(key));
|
|
103
|
+
return allowed.filter((c) => !present.has(key(c)));
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/** One concrete loop through a cycle's members, for printing: a -> b -> c -> a. */
|
|
107
|
+
function cyclePath(edges, members) {
|
|
108
|
+
const inCycle = new Set(members);
|
|
109
|
+
const start = members[0];
|
|
110
|
+
if ((edges[start] || []).includes(start)) return [start, start];
|
|
111
|
+
const prev = new Map();
|
|
112
|
+
const queue = [start];
|
|
113
|
+
while (queue.length > 0) {
|
|
114
|
+
const v = queue.shift();
|
|
115
|
+
for (const w of edges[v] || []) {
|
|
116
|
+
if (!inCycle.has(w)) continue;
|
|
117
|
+
if (w === start) {
|
|
118
|
+
const loop = [start];
|
|
119
|
+
for (let x = v; x !== start; x = prev.get(x)) loop.splice(1, 0, x);
|
|
120
|
+
return [...loop, start];
|
|
121
|
+
}
|
|
122
|
+
if (!prev.has(w)) {
|
|
123
|
+
prev.set(w, v);
|
|
124
|
+
queue.push(w);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return [...members, start];
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function readAllowlist(root) {
|
|
132
|
+
const file = path.join(root, ALLOWLIST);
|
|
133
|
+
if (!fs.existsSync(file)) return [];
|
|
134
|
+
const value = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
135
|
+
const valid =
|
|
136
|
+
Array.isArray(value) &&
|
|
137
|
+
value.every((c) => Array.isArray(c) && c.length > 0 && c.every((p) => typeof p === 'string'));
|
|
138
|
+
if (!valid) {
|
|
139
|
+
throw new Error(
|
|
140
|
+
`${ALLOWLIST} must be an array of arrays of project names, e.g. [["app-a", "lib-b"]].`,
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
return value;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
function readGraphFromNx() {
|
|
147
|
+
const file = path.join(os.tmpdir(), `nx-graph-${process.pid}-${Date.now()}.json`);
|
|
148
|
+
try {
|
|
149
|
+
execSync(`npx nx graph --file="${file}"`, { stdio: ['ignore', 'pipe', 'pipe'] });
|
|
150
|
+
return JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
151
|
+
} catch (err) {
|
|
152
|
+
const out = [err.stdout, err.stderr].filter(Boolean).join('\n');
|
|
153
|
+
throw new Error(`"nx graph" failed.${out ? `\n${out}` : ''}`);
|
|
154
|
+
} finally {
|
|
155
|
+
fs.rmSync(file, { force: true });
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function main(argv) {
|
|
160
|
+
const graphArg = argv.find((a) => a.startsWith('--graph='));
|
|
161
|
+
let edges;
|
|
162
|
+
let allowed;
|
|
163
|
+
try {
|
|
164
|
+
const json = graphArg
|
|
165
|
+
? JSON.parse(fs.readFileSync(graphArg.slice('--graph='.length), 'utf8'))
|
|
166
|
+
: readGraphFromNx();
|
|
167
|
+
edges = readProjectGraph(json);
|
|
168
|
+
allowed = readAllowlist(process.cwd());
|
|
169
|
+
} catch (err) {
|
|
170
|
+
console.error(`check-cycles: ${err.message}`);
|
|
171
|
+
return 2;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
const found = findCycles(edges);
|
|
175
|
+
const fresh = newCycles(found, allowed);
|
|
176
|
+
for (const c of staleAllowed(found, allowed)) {
|
|
177
|
+
const entry = JSON.stringify(c);
|
|
178
|
+
console.log(`check-cycles: ${entry} is no longer a cycle; remove it from ${ALLOWLIST}.`);
|
|
179
|
+
}
|
|
180
|
+
if (fresh.length === 0) {
|
|
181
|
+
const known = found.length - fresh.length;
|
|
182
|
+
console.log(
|
|
183
|
+
`check-cycles: No new dependency cycles (${Object.keys(edges).length} projects` +
|
|
184
|
+
`${known > 0 ? `, ${known} allowed cycle(s)` : ''}).`,
|
|
185
|
+
);
|
|
186
|
+
return 0;
|
|
187
|
+
}
|
|
188
|
+
console.error(`check-cycles: ${fresh.length} new dependency cycle(s):`);
|
|
189
|
+
for (const c of fresh) console.error(` ${cyclePath(edges, c).join(' -> ')}`);
|
|
190
|
+
const example = JSON.stringify(fresh[0]);
|
|
191
|
+
console.error(
|
|
192
|
+
`\nBreak the cycle, or add a known, accepted one (e.g. ${example}) to ${ALLOWLIST}.`,
|
|
193
|
+
);
|
|
194
|
+
return 1;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
module.exports = { readProjectGraph, findCycles, newCycles, staleAllowed, cyclePath };
|
|
198
|
+
|
|
199
|
+
if (require.main === module) {
|
|
200
|
+
process.exitCode = main(process.argv.slice(2));
|
|
201
|
+
}
|
package/dist/src/generators/infra/files/ci/github-actions/.github/workflows/ci.yml__template__
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Generated by nx-polystack (pstack infra). Lint, test and build what changed, then check for
|
|
2
|
+
# new project dependency cycles.
|
|
3
|
+
<%_ if (flutter) { _%>
|
|
4
|
+
# The workspace has Flutter projects, so the Flutter SDK (stable channel) is set up as well.
|
|
5
|
+
<%_ } else { _%>
|
|
6
|
+
# No Flutter projects when this was generated: after adding one, run `pstack infra --with=ci --force`
|
|
7
|
+
# (or `--flutter=on`) to add the Flutter setup step.
|
|
8
|
+
<%_ } _%>
|
|
9
|
+
name: CI
|
|
10
|
+
|
|
11
|
+
on:
|
|
12
|
+
pull_request:
|
|
13
|
+
push:
|
|
14
|
+
branches: [<%= baseBranch %>]
|
|
15
|
+
|
|
16
|
+
permissions:
|
|
17
|
+
actions: read
|
|
18
|
+
contents: read
|
|
19
|
+
|
|
20
|
+
concurrency:
|
|
21
|
+
group: ci-${{ github.ref }}
|
|
22
|
+
cancel-in-progress: true
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
main:
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- uses: actions/checkout@v4
|
|
29
|
+
with:
|
|
30
|
+
fetch-depth: 0
|
|
31
|
+
- uses: actions/setup-node@v4
|
|
32
|
+
with:
|
|
33
|
+
node-version-file: .nvmrc
|
|
34
|
+
cache: npm
|
|
35
|
+
<%_ if (flutter) { _%>
|
|
36
|
+
- uses: subosito/flutter-action@v2
|
|
37
|
+
with:
|
|
38
|
+
channel: stable
|
|
39
|
+
cache: true
|
|
40
|
+
<%_ } _%>
|
|
41
|
+
<%_ if (pluginFromGithub) { _%>
|
|
42
|
+
# The nx-polystack plugin is installed from a private GitHub repo. Add a repository secret
|
|
43
|
+
# PSTACK_REPO_TOKEN (a token that can read that repo) so npm ci can fetch it.
|
|
44
|
+
- name: Allow npm to fetch the private nx-polystack plugin
|
|
45
|
+
env:
|
|
46
|
+
PSTACK_REPO_TOKEN: ${{ secrets.PSTACK_REPO_TOKEN }}
|
|
47
|
+
run: |
|
|
48
|
+
if [ -n "$PSTACK_REPO_TOKEN" ]; then
|
|
49
|
+
git config --global url."https://x-access-token:${PSTACK_REPO_TOKEN}@github.com/".insteadOf "ssh://git@github.com/"
|
|
50
|
+
git config --global --add url."https://x-access-token:${PSTACK_REPO_TOKEN}@github.com/".insteadOf "git@github.com:"
|
|
51
|
+
fi
|
|
52
|
+
<%_ } _%>
|
|
53
|
+
- run: npm ci
|
|
54
|
+
<%_ if (ciCache) { _%>
|
|
55
|
+
- name: Nx cache
|
|
56
|
+
uses: actions/cache@v4
|
|
57
|
+
with:
|
|
58
|
+
path: <%= cacheDirectory %>
|
|
59
|
+
key: nx-${{ runner.os }}-${{ hashFiles('package-lock.json') }}-${{ github.sha }}
|
|
60
|
+
restore-keys: |
|
|
61
|
+
nx-${{ runner.os }}-${{ hashFiles('package-lock.json') }}-
|
|
62
|
+
nx-${{ runner.os }}-
|
|
63
|
+
<%_ } _%>
|
|
64
|
+
- uses: nrwl/nx-set-shas@v4
|
|
65
|
+
with:
|
|
66
|
+
main-branch-name: <%= baseBranch %>
|
|
67
|
+
- run: npx nx affected -t lint typecheck test build --parallel=3
|
|
68
|
+
- run: npm run check:cycles
|
package/dist/src/generators/infra/files/ci/github-actions/.github/workflows/pr-title.yml__template__
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Generated by nx-polystack (pstack infra). The pull request title becomes the squash-merge
|
|
2
|
+
# commit message, so it must pass the same commitlint rules as every commit.
|
|
3
|
+
name: PR title
|
|
4
|
+
|
|
5
|
+
on:
|
|
6
|
+
pull_request:
|
|
7
|
+
types: [opened, edited, synchronize]
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
commitlint:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
- uses: actions/setup-node@v4
|
|
18
|
+
with:
|
|
19
|
+
node-version-file: .nvmrc
|
|
20
|
+
cache: npm
|
|
21
|
+
<%_ if (pluginFromGithub) { _%>
|
|
22
|
+
# See ci.yml: PSTACK_REPO_TOKEN lets npm ci fetch the private nx-polystack plugin.
|
|
23
|
+
- name: Allow npm to fetch the private nx-polystack plugin
|
|
24
|
+
env:
|
|
25
|
+
PSTACK_REPO_TOKEN: ${{ secrets.PSTACK_REPO_TOKEN }}
|
|
26
|
+
run: |
|
|
27
|
+
if [ -n "$PSTACK_REPO_TOKEN" ]; then
|
|
28
|
+
git config --global url."https://x-access-token:${PSTACK_REPO_TOKEN}@github.com/".insteadOf "ssh://git@github.com/"
|
|
29
|
+
git config --global --add url."https://x-access-token:${PSTACK_REPO_TOKEN}@github.com/".insteadOf "git@github.com:"
|
|
30
|
+
fi
|
|
31
|
+
<%_ } _%>
|
|
32
|
+
- run: npm ci
|
|
33
|
+
- name: Check the title with commitlint
|
|
34
|
+
env:
|
|
35
|
+
TITLE: ${{ github.event.pull_request.title }}
|
|
36
|
+
run: echo "$TITLE" | npx --no-install commitlint
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// Generated by nx-polystack (pstack infra).
|
|
2
|
+
// Lints, tests and builds the projects affected by the change, then checks for new project
|
|
3
|
+
// dependency cycles. Pull requests compare against their target branch (CHANGE_TARGET); builds of
|
|
4
|
+
// <%= baseBranch %> compare against the previous commit; other branches against <%= baseBranch %>.
|
|
5
|
+
<%_ if (flutter) { _%>
|
|
6
|
+
// The workspace has Flutter projects: Flutter must be on the agent's PATH.
|
|
7
|
+
<%_ } _%>
|
|
8
|
+
pipeline {
|
|
9
|
+
agent any
|
|
10
|
+
|
|
11
|
+
options {
|
|
12
|
+
timestamps()
|
|
13
|
+
timeout(time: 60, unit: 'MINUTES')
|
|
14
|
+
buildDiscarder(logRotator(numToKeepStr: '20'))
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
environment {
|
|
18
|
+
BASE_BRANCH = "${env.CHANGE_TARGET ?: '<%= baseBranch %>'}"
|
|
19
|
+
NX_BASE = "${env.CHANGE_TARGET ? 'origin/' + env.CHANGE_TARGET : (env.BRANCH_NAME == '<%= baseBranch %>' ? 'HEAD~1' : 'origin/<%= baseBranch %>')}"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
stages {
|
|
23
|
+
stage('Install') {
|
|
24
|
+
steps {
|
|
25
|
+
<%_ if (flutter) { _%>
|
|
26
|
+
sh 'flutter --version'
|
|
27
|
+
<%_ } _%>
|
|
28
|
+
sh 'npm ci'
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
stage('Lint, test, build (affected)') {
|
|
33
|
+
steps {
|
|
34
|
+
sh 'git fetch --no-tags origin "+refs/heads/${BASE_BRANCH}:refs/remotes/origin/${BASE_BRANCH}"'
|
|
35
|
+
sh 'npx nx affected -t lint typecheck test build --parallel=3 --base="${NX_BASE}" --head=HEAD'
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
stage('Dependency cycles') {
|
|
40
|
+
steps {
|
|
41
|
+
sh 'npm run check:cycles'
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name: Bug report
|
|
2
|
+
description: Something does not work as expected.
|
|
3
|
+
title: 'bug: '
|
|
4
|
+
labels: ['bug']
|
|
5
|
+
body:
|
|
6
|
+
- type: input
|
|
7
|
+
id: affected
|
|
8
|
+
attributes:
|
|
9
|
+
label: Affected app or library
|
|
10
|
+
description: The Nx project name, for example the app or lib folder name.
|
|
11
|
+
validations:
|
|
12
|
+
required: true
|
|
13
|
+
- type: textarea
|
|
14
|
+
id: what-happened
|
|
15
|
+
attributes:
|
|
16
|
+
label: What happened?
|
|
17
|
+
description: What did you see, and what did you expect instead?
|
|
18
|
+
validations:
|
|
19
|
+
required: true
|
|
20
|
+
- type: textarea
|
|
21
|
+
id: steps
|
|
22
|
+
attributes:
|
|
23
|
+
label: Steps to reproduce
|
|
24
|
+
placeholder: |
|
|
25
|
+
1. Go to …
|
|
26
|
+
2. Click …
|
|
27
|
+
3. See …
|
|
28
|
+
validations:
|
|
29
|
+
required: true
|
|
30
|
+
- type: input
|
|
31
|
+
id: environment
|
|
32
|
+
attributes:
|
|
33
|
+
label: Environment
|
|
34
|
+
description: Environment, browser or device, and version or commit.
|
|
35
|
+
- type: textarea
|
|
36
|
+
id: logs
|
|
37
|
+
attributes:
|
|
38
|
+
label: Logs or screenshots
|
|
39
|
+
description: Remove any secrets or personal data first.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
name: Feature request
|
|
2
|
+
description: Suggest a change or a new capability.
|
|
3
|
+
title: 'feat: '
|
|
4
|
+
labels: ['enhancement']
|
|
5
|
+
body:
|
|
6
|
+
- type: textarea
|
|
7
|
+
id: problem
|
|
8
|
+
attributes:
|
|
9
|
+
label: Problem
|
|
10
|
+
description: What problem would this solve, and for whom?
|
|
11
|
+
validations:
|
|
12
|
+
required: true
|
|
13
|
+
- type: textarea
|
|
14
|
+
id: proposal
|
|
15
|
+
attributes:
|
|
16
|
+
label: Proposal
|
|
17
|
+
description: What should change? Include any apps or libraries affected.
|
|
18
|
+
validations:
|
|
19
|
+
required: true
|
|
20
|
+
- type: textarea
|
|
21
|
+
id: alternatives
|
|
22
|
+
attributes:
|
|
23
|
+
label: Alternatives considered
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
## Summary
|
|
2
|
+
|
|
3
|
+
<!-- What does this change and why? -->
|
|
4
|
+
|
|
5
|
+
## Ticket
|
|
6
|
+
|
|
7
|
+
<!-- Ticket ID or link -->
|
|
8
|
+
|
|
9
|
+
## Type
|
|
10
|
+
|
|
11
|
+
- [ ] Feature
|
|
12
|
+
- [ ] Fix
|
|
13
|
+
- [ ] Refactor
|
|
14
|
+
- [ ] Docs
|
|
15
|
+
- [ ] Chore / CI
|
|
16
|
+
|
|
17
|
+
## Checklist
|
|
18
|
+
|
|
19
|
+
- [ ] The title follows Conventional Commits, with the ticket as the scope (`feat(<ticket>): …`)
|
|
20
|
+
- [ ] `npx nx affected -t lint typecheck test build` passes
|
|
21
|
+
- [ ] No secrets, keys or plaintext environment values are committed
|
|
22
|
+
- [ ] Docs are updated
|
|
23
|
+
- [ ] Screenshots attached for UI changes
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our pledge
|
|
4
|
+
|
|
5
|
+
We want this project to be a harassment-free experience for everyone. We act and speak in ways
|
|
6
|
+
that keep our community open, welcoming, diverse, inclusive and healthy.
|
|
7
|
+
|
|
8
|
+
## Our standard
|
|
9
|
+
|
|
10
|
+
This project adopts the
|
|
11
|
+
[Contributor Covenant, version 2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)
|
|
12
|
+
as its code of conduct. The full text, including the standards of behaviour, the enforcement
|
|
13
|
+
responsibilities and the enforcement guidelines, applies here.
|
|
14
|
+
|
|
15
|
+
## Reporting
|
|
16
|
+
|
|
17
|
+
Report unacceptable behaviour to <conduct-contact>. All reports are reviewed promptly and fairly,
|
|
18
|
+
and the privacy and security of the reporter are respected.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Thanks for helping. This workspace is an Nx monorepo built with nx-polystack; the steps below keep
|
|
4
|
+
every app and library consistent.
|
|
5
|
+
|
|
6
|
+
## Branches and pull requests
|
|
7
|
+
|
|
8
|
+
1. Branch from `<%= baseBranch %>`: `feature-<ticket>` (for example `feature-ABC-123`).
|
|
9
|
+
2. Keep each pull request small and focused on one ticket.
|
|
10
|
+
3. Open the pull request against `<%= baseBranch %>`. CI must pass and a reviewer must approve
|
|
11
|
+
before it is merged.
|
|
12
|
+
|
|
13
|
+
## Commit messages
|
|
14
|
+
|
|
15
|
+
Use [Conventional Commits](https://www.conventionalcommits.org/) with the ticket as the scope:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
feat(<ticket>): add the order summary page
|
|
19
|
+
fix(<ticket>): keep the session after a token refresh
|
|
20
|
+
docs(<ticket>): explain the release steps
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Common types: `feat`, `fix`, `docs`, `refactor`, `test`, `chore`, `ci`, `perf`. Commit messages
|
|
24
|
+
are checked by commitlint on commit, and pull request titles are checked in CI.
|
|
25
|
+
|
|
26
|
+
## Adding apps, libraries and environments
|
|
27
|
+
|
|
28
|
+
Use the generators so tags, tsconfig paths and npm scripts stay consistent:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
pstack app --type=<angular|ionic|flutter> --name=<name>
|
|
32
|
+
pstack lib --type=<type> --name=<name>
|
|
33
|
+
pstack env --name=<env>
|
|
34
|
+
pstack llm # refresh the generated block in the AI-assistant files
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Before you push
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm run lint # lint the workspace
|
|
41
|
+
npx nx affected -t lint typecheck test build # lint, type-check, test and build what changed
|
|
42
|
+
npm run check:cycles # fail on new project dependency cycles
|
|
43
|
+
npm run stale-code # report unused files, exports and dependencies
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
The pre-push hook runs `npm run check:prepush`: a secret scan that blocks the push, then a
|
|
47
|
+
dependency audit that only warns. Run `npm run check:audit` for the strict audit (it fails on
|
|
48
|
+
high or critical advisories).
|
|
49
|
+
|
|
50
|
+
## Pull request checklist
|
|
51
|
+
|
|
52
|
+
- [ ] The title follows Conventional Commits, with the ticket as the scope.
|
|
53
|
+
- [ ] Lint, tests and build pass.
|
|
54
|
+
- [ ] No secrets, keys or plaintext environment values are committed.
|
|
55
|
+
- [ ] Docs are updated when behaviour changes.
|
|
56
|
+
- [ ] UI changes include screenshots.
|
|
57
|
+
|
|
58
|
+
## Code of conduct and security
|
|
59
|
+
|
|
60
|
+
Read the [Code of Conduct](CODE_OF_CONDUCT.md). Report vulnerabilities as described in
|
|
61
|
+
[SECURITY.md](SECURITY.md), never in a public issue.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Reporting a vulnerability
|
|
4
|
+
|
|
5
|
+
Do not open a public issue for a security problem. Report it privately to <security-contact>
|
|
6
|
+
with:
|
|
7
|
+
|
|
8
|
+
- what is affected (app, library, version or commit),
|
|
9
|
+
- how to reproduce it,
|
|
10
|
+
- the impact you expect.
|
|
11
|
+
|
|
12
|
+
You will get an acknowledgement, and updates until the issue is resolved.
|
|
13
|
+
|
|
14
|
+
## Supported versions
|
|
15
|
+
|
|
16
|
+
Only the latest release of each app, built from `<%= baseBranch %>`, receives security fixes.
|
|
17
|
+
|
|
18
|
+
## Secrets
|
|
19
|
+
|
|
20
|
+
- Environment files are encrypted at build time; never commit plaintext secrets, keys or
|
|
21
|
+
tokens.
|
|
22
|
+
- `.env` files are never committed.
|
|
23
|
+
- The pre-push hook (`npm run check:prepush`) runs a secret scan, which blocks the push, and a
|
|
24
|
+
warn-only `npm audit`. Do not skip it. `npm run check:audit` is the strict audit.
|
|
25
|
+
- If a secret is committed, treat it as leaked: revoke and rotate it, then remove it from history.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://unpkg.com/knip@5/schema.json",
|
|
3
|
+
"entry": ["apps/**/src/main.ts", "libs/**/src/index.ts", "tools/**/*.js"],
|
|
4
|
+
"project": ["apps/**/*.{js,ts}", "libs/**/*.{js,ts}", "tools/**/*.js"],
|
|
5
|
+
<%_ if (flutter) { _%>
|
|
6
|
+
"ignoreBinaries": ["flutter", "dart"],
|
|
7
|
+
<%_ } _%>
|
|
8
|
+
"ignoreDependencies": ["<%= pluginName %>"]
|
|
9
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Generated by nx-polystack (pstack infra). Upgrades dependencies on a schedule and opens (or
|
|
2
|
+
# updates) a pull request with the result.
|
|
3
|
+
#
|
|
4
|
+
# Needs:
|
|
5
|
+
<%_ if (pluginFromGithub) { _%>
|
|
6
|
+
# - Repository secret PSTACK_REPO_TOKEN: a token that can read <%= pluginRepo %> (the plugin
|
|
7
|
+
# repo is private). Used by npm to install the plugin and by gh to find its latest release.
|
|
8
|
+
<%_ } _%>
|
|
9
|
+
# - Settings > Actions > General > "Allow GitHub Actions to create and approve pull requests".
|
|
10
|
+
# Pull requests opened with the default GITHUB_TOKEN do not start other workflows; close and
|
|
11
|
+
# reopen the pull request (or push to its branch) to run CI on it.
|
|
12
|
+
name: Dependency upgrade
|
|
13
|
+
|
|
14
|
+
on:
|
|
15
|
+
schedule:
|
|
16
|
+
- cron: '<%= upgradeCron %>' # <%= upgradeSchedule %>, UTC
|
|
17
|
+
workflow_dispatch:
|
|
18
|
+
|
|
19
|
+
permissions:
|
|
20
|
+
contents: write
|
|
21
|
+
pull-requests: write
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
upgrade:
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
steps:
|
|
27
|
+
- uses: actions/checkout@v4
|
|
28
|
+
with:
|
|
29
|
+
ref: <%= baseBranch %>
|
|
30
|
+
- uses: actions/setup-node@v4
|
|
31
|
+
with:
|
|
32
|
+
node-version-file: .nvmrc
|
|
33
|
+
cache: npm
|
|
34
|
+
<%_ if (pluginFromGithub) { _%>
|
|
35
|
+
- name: Allow npm to fetch the private nx-polystack plugin
|
|
36
|
+
env:
|
|
37
|
+
PSTACK_REPO_TOKEN: ${{ secrets.PSTACK_REPO_TOKEN }}
|
|
38
|
+
run: |
|
|
39
|
+
if [ -z "$PSTACK_REPO_TOKEN" ]; then
|
|
40
|
+
echo "::error::Add the PSTACK_REPO_TOKEN repository secret (read access to <%= pluginRepo %>)."
|
|
41
|
+
exit 1
|
|
42
|
+
fi
|
|
43
|
+
git config --global url."https://x-access-token:${PSTACK_REPO_TOKEN}@github.com/".insteadOf "ssh://git@github.com/"
|
|
44
|
+
git config --global --add url."https://x-access-token:${PSTACK_REPO_TOKEN}@github.com/".insteadOf "git@github.com:"
|
|
45
|
+
<%_ } _%>
|
|
46
|
+
- run: npm ci
|
|
47
|
+
- name: Upgrade nx-polystack to its latest release
|
|
48
|
+
<%_ if (pluginFromGithub) { _%>
|
|
49
|
+
env:
|
|
50
|
+
GH_TOKEN: ${{ secrets.PSTACK_REPO_TOKEN }}
|
|
51
|
+
run: |
|
|
52
|
+
latest=$(gh release view --repo <%= pluginRepo %> --json tagName --jq .tagName)
|
|
53
|
+
npx --no-install pstack update --to="${latest#v}" --allow-dirty
|
|
54
|
+
<%_ } else { _%>
|
|
55
|
+
run: |
|
|
56
|
+
latest=$(npm view <%= pluginName %> version)
|
|
57
|
+
npx --no-install pstack update --to="${latest}" --allow-dirty
|
|
58
|
+
<%_ } _%>
|
|
59
|
+
<%_ if (upgradeScope === 'nx-minor') { _%>
|
|
60
|
+
- name: Upgrade Nx within its current major
|
|
61
|
+
run: |
|
|
62
|
+
major=$(node -p "require('nx/package.json').version.split('.')[0]")
|
|
63
|
+
npx nx migrate "nx@${major}"
|
|
64
|
+
npm install
|
|
65
|
+
if [ -f migrations.json ]; then
|
|
66
|
+
npx nx migrate --run-migrations
|
|
67
|
+
rm migrations.json
|
|
68
|
+
fi
|
|
69
|
+
<%_ } _%>
|
|
70
|
+
- uses: peter-evans/create-pull-request@v6
|
|
71
|
+
with:
|
|
72
|
+
branch: chore/dependency-upgrade
|
|
73
|
+
base: <%= baseBranch %>
|
|
74
|
+
title: 'chore(deps): scheduled dependency upgrade'
|
|
75
|
+
commit-message: 'chore(deps): scheduled dependency upgrade'
|
|
76
|
+
body: |
|
|
77
|
+
Scheduled dependency upgrade (<%= upgradeScope %>), opened by the dependency-upgrade workflow.
|
|
78
|
+
|
|
79
|
+
Review the changes and the CI result before merging.
|
|
80
|
+
delete-branch: true
|