@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,23 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
2
|
+
/**
|
|
3
|
+
* Every project.json in the tree (any depth; skips build output, node_modules and dot folders).
|
|
4
|
+
* Walks the tree instead of getProjects(), which needs Nx's native file globbing.
|
|
5
|
+
*/
|
|
6
|
+
export declare function projectJsonFiles(tree: Tree, dir?: string): string[];
|
|
7
|
+
export interface ReadProject {
|
|
8
|
+
/** project.json name, else its folder name. */
|
|
9
|
+
name: string;
|
|
10
|
+
/** Folder of the project.json. */
|
|
11
|
+
root: string;
|
|
12
|
+
json: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Every project of the tree with its name; throws naming the file when a project.json cannot be
|
|
16
|
+
* read (JSON with comments is fine) and when two projects share a name.
|
|
17
|
+
*/
|
|
18
|
+
export declare function readProjects(tree: Tree): ReadProject[];
|
|
19
|
+
/**
|
|
20
|
+
* Like readProjects, but never throws: unreadable project.json files (templates, broken JSON)
|
|
21
|
+
* are skipped and duplicate names are kept. For best-effort scans (ports, shared folders).
|
|
22
|
+
*/
|
|
23
|
+
export declare function scanProjects(tree: Tree): ReadProject[];
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scanProjects = exports.readProjects = exports.projectJsonFiles = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const SKIP = new Set(['node_modules', 'dist', 'tmp', 'coverage']);
|
|
6
|
+
/**
|
|
7
|
+
* Every project.json in the tree (any depth; skips build output, node_modules and dot folders).
|
|
8
|
+
* Walks the tree instead of getProjects(), which needs Nx's native file globbing.
|
|
9
|
+
*/
|
|
10
|
+
function projectJsonFiles(tree, dir = '') {
|
|
11
|
+
const out = [];
|
|
12
|
+
for (const child of tree.children(dir)) {
|
|
13
|
+
const rel = dir ? `${dir}/${child}` : child;
|
|
14
|
+
if (tree.isFile(rel)) {
|
|
15
|
+
if (child === 'project.json')
|
|
16
|
+
out.push(rel);
|
|
17
|
+
}
|
|
18
|
+
else if (!SKIP.has(child) && !child.startsWith('.')) {
|
|
19
|
+
out.push(...projectJsonFiles(tree, rel));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return out;
|
|
23
|
+
}
|
|
24
|
+
exports.projectJsonFiles = projectJsonFiles;
|
|
25
|
+
/**
|
|
26
|
+
* Every project of the tree with its name; throws naming the file when a project.json cannot be
|
|
27
|
+
* read (JSON with comments is fine) and when two projects share a name.
|
|
28
|
+
*/
|
|
29
|
+
function readProjects(tree) {
|
|
30
|
+
const seen = new Map();
|
|
31
|
+
return projectJsonFiles(tree).map((file) => {
|
|
32
|
+
const root = file.slice(0, -'/project.json'.length) || '.';
|
|
33
|
+
let json;
|
|
34
|
+
try {
|
|
35
|
+
json = (0, devkit_1.readJson)(tree, file);
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
throw new Error(`${file}: ${err.message.split('\n')[0]}`);
|
|
39
|
+
}
|
|
40
|
+
const name = typeof json['name'] === 'string' ? json['name'] : root.split('/').pop() ?? root;
|
|
41
|
+
const other = seen.get(name);
|
|
42
|
+
if (other !== undefined) {
|
|
43
|
+
throw new Error(`two projects are named "${name}" (${other}, ${root}); set "name" in one`);
|
|
44
|
+
}
|
|
45
|
+
seen.set(name, root);
|
|
46
|
+
return { name, root, json };
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
exports.readProjects = readProjects;
|
|
50
|
+
/**
|
|
51
|
+
* Like readProjects, but never throws: unreadable project.json files (templates, broken JSON)
|
|
52
|
+
* are skipped and duplicate names are kept. For best-effort scans (ports, shared folders).
|
|
53
|
+
*/
|
|
54
|
+
function scanProjects(tree) {
|
|
55
|
+
const out = [];
|
|
56
|
+
for (const file of projectJsonFiles(tree)) {
|
|
57
|
+
const root = file.slice(0, -'/project.json'.length) || '.';
|
|
58
|
+
let json;
|
|
59
|
+
try {
|
|
60
|
+
json = (0, devkit_1.readJson)(tree, file);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
if (typeof json !== 'object' || json === null || Array.isArray(json))
|
|
66
|
+
continue;
|
|
67
|
+
const name = typeof json['name'] === 'string' ? json['name'] : root.split('/').pop() ?? root;
|
|
68
|
+
out.push({ name, root, json });
|
|
69
|
+
}
|
|
70
|
+
return out;
|
|
71
|
+
}
|
|
72
|
+
exports.scanProjects = scanProjects;
|
|
73
|
+
//# sourceMappingURL=project-json-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-json-files.js","sourceRoot":"","sources":["../../../../src/lib/utils/project-json-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
2
|
+
import { Deps } from './dependencies';
|
|
3
|
+
/** `typecheck` target: tsc without output over the project's app or lib tsconfig. */
|
|
4
|
+
export declare function typecheckTarget(tsconfig: string): {
|
|
5
|
+
executor: string;
|
|
6
|
+
options: {
|
|
7
|
+
command: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
/** The tsconfig a project's typecheck uses (tsconfig.app.json, else tsconfig.lib.json), if any. */
|
|
11
|
+
export declare function typecheckTsconfig(tree: Tree, root: string): string | undefined;
|
|
12
|
+
/** Adds a typecheck target to the project at `root` when it has none; returns whether it did. */
|
|
13
|
+
export declare function addTypecheckTarget(tree: Tree, root: string): boolean;
|
|
14
|
+
/** Adds typecheck targets to every project that has a tsconfig.app/lib.json and no target. */
|
|
15
|
+
export declare function addTypecheckTargets(tree: Tree): string[];
|
|
16
|
+
export declare const TYPECHECK_TARGET_DEFAULTS: {
|
|
17
|
+
cache: boolean;
|
|
18
|
+
inputs: string[];
|
|
19
|
+
};
|
|
20
|
+
/** nx.json: typecheck cached (targetDefaults, and cacheableOperations when the workspace uses them). */
|
|
21
|
+
export declare function addTypecheckNxDefaults(tree: Tree): boolean;
|
|
22
|
+
export declare const CI_FILES: string[];
|
|
23
|
+
/** Adds typecheck to the affected step of the CI files; returns [changed, without the step]. */
|
|
24
|
+
export declare function addTypecheckToCi(tree: Tree): {
|
|
25
|
+
changed: string[];
|
|
26
|
+
unknown: string[];
|
|
27
|
+
};
|
|
28
|
+
export declare const QUALITY_RULES: {
|
|
29
|
+
readonly 'import/no-unresolved': "warn";
|
|
30
|
+
readonly 'unused-imports/no-unused-imports': "warn";
|
|
31
|
+
};
|
|
32
|
+
export declare const QUALITY_ESLINT_OVERRIDE: {
|
|
33
|
+
files: string[];
|
|
34
|
+
plugins: string[];
|
|
35
|
+
settings: {
|
|
36
|
+
'import/resolver': {
|
|
37
|
+
typescript: {
|
|
38
|
+
alwaysTryTypes: boolean;
|
|
39
|
+
project: string;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
rules: {
|
|
44
|
+
'import/no-unresolved': "warn";
|
|
45
|
+
'unused-imports/no-unused-imports': "warn";
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
export type EslintResult = 'added' | 'present' | 'no-json-config' | 'has-comments';
|
|
49
|
+
/** Adds the quality override to the root .eslintrc.json unless one of its rules is configured. */
|
|
50
|
+
export declare function addQualityEslintRules(tree: Tree): EslintResult;
|
|
51
|
+
/** eslint-plugin-unused-imports major matching @typescript-eslint (its peer). */
|
|
52
|
+
export declare function unusedImportsVersion(tree: Tree): string;
|
|
53
|
+
/** Packages the quality ESLint override needs. */
|
|
54
|
+
export declare function qualityEslintDependencies(tree: Tree): Deps;
|
|
55
|
+
export declare const LINT_STAGED_ESLINT_SCRIPT = "tools/scripts/lint-staged-eslint.js";
|
|
56
|
+
export declare const LINT_STAGED_MODES: readonly ["warn", "block"];
|
|
57
|
+
export type LintStagedMode = (typeof LINT_STAGED_MODES)[number];
|
|
58
|
+
/** The ESLint step of each mode (extra flags are appended). */
|
|
59
|
+
export declare const LINT_STAGED_ESLINT_COMMAND: Record<LintStagedMode, string>;
|
|
60
|
+
/**
|
|
61
|
+
* Runs the workspace's ESLint (never npx or a shell: paths with spaces stay one argument) on the
|
|
62
|
+
* staged files. Lint problems (exit 1) are reported without blocking the commit; ESLint that
|
|
63
|
+
* cannot be found or crashes (exit 2) still blocks.
|
|
64
|
+
*/
|
|
65
|
+
export declare const LINT_STAGED_ESLINT_JS = "#!/usr/bin/env node\n// Written by nx-polystack. lint-staged runs it for staged *.ts files: ESLint fixes what it can and\n// reports the rest without blocking the commit.\nconst { spawnSync } = require('child_process');\n\nconst args = process.argv.slice(2);\nif (!args.some((a) => !a.startsWith('-'))) process.exit(0);\nlet eslint;\ntry {\n eslint = require.resolve('eslint/bin/eslint.js', { paths: [process.cwd()] });\n} catch {\n console.error('lint-staged-eslint: ESLint is not installed in this workspace (npm install).');\n process.exit(2);\n}\nconst r = spawnSync(process.execPath, [eslint, ...args], { stdio: 'inherit' });\nif (r.error) {\n console.error('lint-staged-eslint: could not run ESLint: ' + r.error.message);\n process.exit(2);\n}\nif (r.status === 1) {\n console.warn(\n '\\nESLint found problems (shown above); the commit is not blocked. ' +\n 'To block commits on ESLint errors: pstack infra --lint-staged=block',\n );\n process.exit(0);\n}\nprocess.exit(r.status === null ? 2 : r.status);\n";
|
|
66
|
+
export type LintStagedResult = 'set' | 'unchanged' | 'other-config' | 'no-config' | 'no-eslint-step';
|
|
67
|
+
/**
|
|
68
|
+
* Switches the ESLint steps of the package.json lint-staged config to the mode, keeping their
|
|
69
|
+
* other flags and every other command (and writes the warn script).
|
|
70
|
+
*/
|
|
71
|
+
export declare function setLintStagedMode(tree: Tree, mode: LintStagedMode): LintStagedResult;
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setLintStagedMode = exports.LINT_STAGED_ESLINT_JS = exports.LINT_STAGED_ESLINT_COMMAND = exports.LINT_STAGED_MODES = exports.LINT_STAGED_ESLINT_SCRIPT = exports.qualityEslintDependencies = exports.unusedImportsVersion = exports.addQualityEslintRules = exports.QUALITY_ESLINT_OVERRIDE = exports.QUALITY_RULES = exports.addTypecheckToCi = exports.CI_FILES = exports.addTypecheckNxDefaults = exports.TYPECHECK_TARGET_DEFAULTS = exports.addTypecheckTargets = exports.addTypecheckTarget = exports.typecheckTsconfig = exports.typecheckTarget = void 0;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const dependencies_1 = require("./dependencies");
|
|
6
|
+
const lint_staged_1 = require("./lint-staged");
|
|
7
|
+
const project_json_files_1 = require("./project-json-files");
|
|
8
|
+
// ── typecheck ────────────────────────────────────────────────────────────────
|
|
9
|
+
/** `typecheck` target: tsc without output over the project's app or lib tsconfig. */
|
|
10
|
+
function typecheckTarget(tsconfig) {
|
|
11
|
+
return {
|
|
12
|
+
executor: 'nx:run-commands',
|
|
13
|
+
options: { command: `tsc --noEmit -p ${tsconfig}` },
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
exports.typecheckTarget = typecheckTarget;
|
|
17
|
+
/** The tsconfig a project's typecheck uses (tsconfig.app.json, else tsconfig.lib.json), if any. */
|
|
18
|
+
function typecheckTsconfig(tree, root) {
|
|
19
|
+
const base = root === '.' ? '' : `${root}/`;
|
|
20
|
+
return [`${base}tsconfig.app.json`, `${base}tsconfig.lib.json`].find((f) => tree.exists(f));
|
|
21
|
+
}
|
|
22
|
+
exports.typecheckTsconfig = typecheckTsconfig;
|
|
23
|
+
/** Adds a typecheck target to the project at `root` when it has none; returns whether it did. */
|
|
24
|
+
function addTypecheckTarget(tree, root) {
|
|
25
|
+
const file = root === '.' ? 'project.json' : `${root}/project.json`;
|
|
26
|
+
const tsconfig = typecheckTsconfig(tree, root);
|
|
27
|
+
if (!tsconfig || !tree.exists(file))
|
|
28
|
+
return false;
|
|
29
|
+
let json;
|
|
30
|
+
try {
|
|
31
|
+
json = (0, devkit_1.readJson)(tree, file); // project.json may hold comments
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
const targets = (json['targets'] ?? {});
|
|
37
|
+
if (targets['typecheck'] !== undefined)
|
|
38
|
+
return false;
|
|
39
|
+
json['targets'] = { ...targets, typecheck: typecheckTarget(tsconfig) };
|
|
40
|
+
tree.write(file, JSON.stringify(json, null, 2) + '\n');
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
exports.addTypecheckTarget = addTypecheckTarget;
|
|
44
|
+
/** Adds typecheck targets to every project that has a tsconfig.app/lib.json and no target. */
|
|
45
|
+
function addTypecheckTargets(tree) {
|
|
46
|
+
return (0, project_json_files_1.scanProjects)(tree)
|
|
47
|
+
.filter((p) => addTypecheckTarget(tree, p.root))
|
|
48
|
+
.map((p) => p.name);
|
|
49
|
+
}
|
|
50
|
+
exports.addTypecheckTargets = addTypecheckTargets;
|
|
51
|
+
exports.TYPECHECK_TARGET_DEFAULTS = {
|
|
52
|
+
cache: true,
|
|
53
|
+
inputs: [
|
|
54
|
+
'default',
|
|
55
|
+
'^production',
|
|
56
|
+
'{workspaceRoot}/tsconfig.base.json',
|
|
57
|
+
// App env files live in the workspace-root environments/ folder (no project owns them).
|
|
58
|
+
'{workspaceRoot}/environments/**/*',
|
|
59
|
+
],
|
|
60
|
+
};
|
|
61
|
+
/** nx.json: typecheck cached (targetDefaults, and cacheableOperations when the workspace uses them). */
|
|
62
|
+
function addTypecheckNxDefaults(tree) {
|
|
63
|
+
if (!tree.exists('nx.json'))
|
|
64
|
+
return false;
|
|
65
|
+
let nx; // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
66
|
+
try {
|
|
67
|
+
nx = (0, devkit_1.readJson)(tree, 'nx.json');
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
let changed = false;
|
|
73
|
+
nx['targetDefaults'] = nx['targetDefaults'] ?? {};
|
|
74
|
+
if (nx['targetDefaults']['typecheck'] === undefined) {
|
|
75
|
+
// Nx refuses an input it does not know: ^production only when the workspace defines it.
|
|
76
|
+
const named = (nx['namedInputs'] ?? {});
|
|
77
|
+
const own = named['default'] ? 'default' : '{projectRoot}/**/*';
|
|
78
|
+
const deps = named['production'] ? ['^production'] : named['default'] ? ['^default'] : [];
|
|
79
|
+
const rest = exports.TYPECHECK_TARGET_DEFAULTS.inputs.filter((i) => i.startsWith('{workspaceRoot}'));
|
|
80
|
+
nx['targetDefaults']['typecheck'] = { cache: true, inputs: [own, ...deps, ...rest] };
|
|
81
|
+
changed = true;
|
|
82
|
+
}
|
|
83
|
+
for (const runner of Object.values(nx['tasksRunnerOptions'] ?? {})) {
|
|
84
|
+
// eslint-disable-line @typescript-eslint/no-explicit-any
|
|
85
|
+
const ops = runner?.['options']?.['cacheableOperations'];
|
|
86
|
+
if (Array.isArray(ops) && !ops.includes('typecheck')) {
|
|
87
|
+
ops.push('typecheck');
|
|
88
|
+
changed = true;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (changed)
|
|
92
|
+
tree.write('nx.json', JSON.stringify(nx, null, 2) + '\n');
|
|
93
|
+
return changed;
|
|
94
|
+
}
|
|
95
|
+
exports.addTypecheckNxDefaults = addTypecheckNxDefaults;
|
|
96
|
+
// ── CI ───────────────────────────────────────────────────────────────────────
|
|
97
|
+
exports.CI_FILES = ['.github/workflows/ci.yml', 'Jenkinsfile'];
|
|
98
|
+
const AFFECTED_STEP = /nx affected -t lint test build\b/;
|
|
99
|
+
/** Adds typecheck to the affected step of the CI files; returns [changed, without the step]. */
|
|
100
|
+
function addTypecheckToCi(tree) {
|
|
101
|
+
const changed = [];
|
|
102
|
+
const unknown = [];
|
|
103
|
+
for (const file of exports.CI_FILES) {
|
|
104
|
+
const text = tree.read(file, 'utf8');
|
|
105
|
+
if (text === null)
|
|
106
|
+
continue;
|
|
107
|
+
if (/nx affected[^\n]*-t [^\n]*typecheck/.test(text))
|
|
108
|
+
continue;
|
|
109
|
+
if (!AFFECTED_STEP.test(text)) {
|
|
110
|
+
unknown.push(file);
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
tree.write(file, text.replace(new RegExp(AFFECTED_STEP.source, 'g'), 'nx affected -t lint typecheck test build'));
|
|
114
|
+
changed.push(file);
|
|
115
|
+
}
|
|
116
|
+
return { changed, unknown };
|
|
117
|
+
}
|
|
118
|
+
exports.addTypecheckToCi = addTypecheckToCi;
|
|
119
|
+
// ── ESLint ───────────────────────────────────────────────────────────────────
|
|
120
|
+
exports.QUALITY_RULES = {
|
|
121
|
+
'import/no-unresolved': 'warn',
|
|
122
|
+
'unused-imports/no-unused-imports': 'warn',
|
|
123
|
+
};
|
|
124
|
+
exports.QUALITY_ESLINT_OVERRIDE = {
|
|
125
|
+
files: ['*.ts', '*.tsx'],
|
|
126
|
+
plugins: ['import', 'unused-imports'],
|
|
127
|
+
settings: {
|
|
128
|
+
'import/resolver': { typescript: { alwaysTryTypes: true, project: 'tsconfig.base.json' } },
|
|
129
|
+
},
|
|
130
|
+
rules: { ...exports.QUALITY_RULES },
|
|
131
|
+
};
|
|
132
|
+
/** ESLint config files other than .eslintrc.json that the override cannot be merged into. */
|
|
133
|
+
const OTHER_ESLINT_CONFIGS = [
|
|
134
|
+
'.eslintrc.js',
|
|
135
|
+
'.eslintrc.cjs',
|
|
136
|
+
'.eslintrc.yaml',
|
|
137
|
+
'.eslintrc.yml',
|
|
138
|
+
'.eslintrc',
|
|
139
|
+
'eslint.config.js',
|
|
140
|
+
'eslint.config.mjs',
|
|
141
|
+
'eslint.config.cjs',
|
|
142
|
+
];
|
|
143
|
+
/** Adds the quality override to the root .eslintrc.json unless one of its rules is configured. */
|
|
144
|
+
function addQualityEslintRules(tree) {
|
|
145
|
+
const text = tree.read('.eslintrc.json', 'utf8');
|
|
146
|
+
if (text === null) {
|
|
147
|
+
return OTHER_ESLINT_CONFIGS.some((f) => tree.exists(f)) ? 'no-json-config' : 'present';
|
|
148
|
+
}
|
|
149
|
+
if (Object.keys(exports.QUALITY_RULES).some((rule) => text.includes(`"${rule}"`)))
|
|
150
|
+
return 'present';
|
|
151
|
+
let config;
|
|
152
|
+
try {
|
|
153
|
+
config = JSON.parse(text);
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
try {
|
|
157
|
+
(0, devkit_1.parseJson)(text);
|
|
158
|
+
return 'has-comments'; // valid with comments: rewriting would drop them
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
return 'no-json-config';
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
const overrides = Array.isArray(config['overrides']) ? config['overrides'] : [];
|
|
165
|
+
const override = JSON.parse(JSON.stringify(exports.QUALITY_ESLINT_OVERRIDE));
|
|
166
|
+
// Angular CLI style workspaces keep their paths in tsconfig.json.
|
|
167
|
+
if (!tree.exists('tsconfig.base.json') && tree.exists('tsconfig.json')) {
|
|
168
|
+
override.settings['import/resolver'].typescript.project = 'tsconfig.json';
|
|
169
|
+
}
|
|
170
|
+
overrides.push(override);
|
|
171
|
+
config['overrides'] = overrides;
|
|
172
|
+
tree.write('.eslintrc.json', JSON.stringify(config, null, 2) + '\n');
|
|
173
|
+
return 'added';
|
|
174
|
+
}
|
|
175
|
+
exports.addQualityEslintRules = addQualityEslintRules;
|
|
176
|
+
/** eslint-plugin-unused-imports major matching @typescript-eslint (its peer). */
|
|
177
|
+
function unusedImportsVersion(tree) {
|
|
178
|
+
const ts = ['@typescript-eslint/eslint-plugin', '@typescript-eslint/parser', 'typescript-eslint']
|
|
179
|
+
.map((p) => (0, dependencies_1.declaredVersion)(tree, p))
|
|
180
|
+
.find((v) => v !== undefined && /\d/.test(v)) ?? '';
|
|
181
|
+
const major = Number(/(\d+)/.exec(ts)?.[1] ?? '5');
|
|
182
|
+
if (major >= 8)
|
|
183
|
+
return '^4.1.4';
|
|
184
|
+
if (major >= 6)
|
|
185
|
+
return '^3.2.0';
|
|
186
|
+
return '^2.0.0';
|
|
187
|
+
}
|
|
188
|
+
exports.unusedImportsVersion = unusedImportsVersion;
|
|
189
|
+
/** Packages the quality ESLint override needs. */
|
|
190
|
+
function qualityEslintDependencies(tree) {
|
|
191
|
+
return {
|
|
192
|
+
'eslint-plugin-import': '^2.29.1',
|
|
193
|
+
'eslint-import-resolver-typescript': '^3.6.1',
|
|
194
|
+
'eslint-plugin-unused-imports': unusedImportsVersion(tree),
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
exports.qualityEslintDependencies = qualityEslintDependencies;
|
|
198
|
+
// ── lint-staged ──────────────────────────────────────────────────────────────
|
|
199
|
+
exports.LINT_STAGED_ESLINT_SCRIPT = 'tools/scripts/lint-staged-eslint.js';
|
|
200
|
+
exports.LINT_STAGED_MODES = ['warn', 'block'];
|
|
201
|
+
/** The ESLint step of each mode (extra flags are appended). */
|
|
202
|
+
exports.LINT_STAGED_ESLINT_COMMAND = {
|
|
203
|
+
warn: `node ${exports.LINT_STAGED_ESLINT_SCRIPT} --fix`,
|
|
204
|
+
block: 'eslint --fix',
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Runs the workspace's ESLint (never npx or a shell: paths with spaces stay one argument) on the
|
|
208
|
+
* staged files. Lint problems (exit 1) are reported without blocking the commit; ESLint that
|
|
209
|
+
* cannot be found or crashes (exit 2) still blocks.
|
|
210
|
+
*/
|
|
211
|
+
exports.LINT_STAGED_ESLINT_JS = `#!/usr/bin/env node
|
|
212
|
+
// Written by nx-polystack. lint-staged runs it for staged *.ts files: ESLint fixes what it can and
|
|
213
|
+
// reports the rest without blocking the commit.
|
|
214
|
+
const { spawnSync } = require('child_process');
|
|
215
|
+
|
|
216
|
+
const args = process.argv.slice(2);
|
|
217
|
+
if (!args.some((a) => !a.startsWith('-'))) process.exit(0);
|
|
218
|
+
let eslint;
|
|
219
|
+
try {
|
|
220
|
+
eslint = require.resolve('eslint/bin/eslint.js', { paths: [process.cwd()] });
|
|
221
|
+
} catch {
|
|
222
|
+
console.error('lint-staged-eslint: ESLint is not installed in this workspace (npm install).');
|
|
223
|
+
process.exit(2);
|
|
224
|
+
}
|
|
225
|
+
const r = spawnSync(process.execPath, [eslint, ...args], { stdio: 'inherit' });
|
|
226
|
+
if (r.error) {
|
|
227
|
+
console.error('lint-staged-eslint: could not run ESLint: ' + r.error.message);
|
|
228
|
+
process.exit(2);
|
|
229
|
+
}
|
|
230
|
+
if (r.status === 1) {
|
|
231
|
+
console.warn(
|
|
232
|
+
'\\nESLint found problems (shown above); the commit is not blocked. ' +
|
|
233
|
+
'To block commits on ESLint errors: pstack infra --lint-staged=block',
|
|
234
|
+
);
|
|
235
|
+
process.exit(0);
|
|
236
|
+
}
|
|
237
|
+
process.exit(r.status === null ? 2 : r.status);
|
|
238
|
+
`;
|
|
239
|
+
/** An ESLint step of lint-staged: [prefix, extra flags], or null. */
|
|
240
|
+
function eslintStep(cmd) {
|
|
241
|
+
const script = new RegExp(`^node\\s+(?:\\./)?${exports.LINT_STAGED_ESLINT_SCRIPT.replace(/[./]/g, '\\$&')}(?=\\s|$)`);
|
|
242
|
+
const m = script.exec(cmd) ?? /^(?:npx\s+(?:--no-install\s+|--no\s+)?)?eslint(?=\s|$)/.exec(cmd);
|
|
243
|
+
if (!m)
|
|
244
|
+
return null;
|
|
245
|
+
return cmd
|
|
246
|
+
.slice(m[0].length)
|
|
247
|
+
.trim()
|
|
248
|
+
.split(/\s+/)
|
|
249
|
+
.filter((f) => f && f !== '--fix')
|
|
250
|
+
.join(' ');
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Switches the ESLint steps of the package.json lint-staged config to the mode, keeping their
|
|
254
|
+
* other flags and every other command (and writes the warn script).
|
|
255
|
+
*/
|
|
256
|
+
function setLintStagedMode(tree, mode) {
|
|
257
|
+
if (!tree.exists('package.json'))
|
|
258
|
+
return 'no-config';
|
|
259
|
+
const pkg = JSON.parse(tree.read('package.json', 'utf8') ?? '{}');
|
|
260
|
+
const config = pkg['lint-staged'];
|
|
261
|
+
if (config === undefined)
|
|
262
|
+
return (0, lint_staged_1.hasLintStagedConfig)(tree) ? 'other-config' : 'no-config';
|
|
263
|
+
if (typeof config !== 'object' || config === null || Array.isArray(config))
|
|
264
|
+
return 'other-config';
|
|
265
|
+
let changed = false;
|
|
266
|
+
let found = false;
|
|
267
|
+
for (const [glob, cmds] of Object.entries(config)) {
|
|
268
|
+
const list = Array.isArray(cmds) ? cmds : [cmds];
|
|
269
|
+
const next = list.map((c) => {
|
|
270
|
+
if (typeof c !== 'string')
|
|
271
|
+
return c;
|
|
272
|
+
const flags = eslintStep(c.trim());
|
|
273
|
+
if (flags === null)
|
|
274
|
+
return c;
|
|
275
|
+
found = true;
|
|
276
|
+
return [exports.LINT_STAGED_ESLINT_COMMAND[mode], flags].filter(Boolean).join(' ');
|
|
277
|
+
});
|
|
278
|
+
if (JSON.stringify(next) !== JSON.stringify(list)) {
|
|
279
|
+
config[glob] = Array.isArray(cmds) ? next : next[0];
|
|
280
|
+
changed = true;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
if (!found)
|
|
284
|
+
return 'no-eslint-step';
|
|
285
|
+
if (mode === 'warn' && tree.read(exports.LINT_STAGED_ESLINT_SCRIPT, 'utf8') !== exports.LINT_STAGED_ESLINT_JS) {
|
|
286
|
+
tree.write(exports.LINT_STAGED_ESLINT_SCRIPT, exports.LINT_STAGED_ESLINT_JS);
|
|
287
|
+
changed = true;
|
|
288
|
+
}
|
|
289
|
+
if (!changed)
|
|
290
|
+
return 'unchanged';
|
|
291
|
+
tree.write('package.json', JSON.stringify(pkg, null, 2) + '\n');
|
|
292
|
+
return 'set';
|
|
293
|
+
}
|
|
294
|
+
exports.setLintStagedMode = setLintStagedMode;
|
|
295
|
+
//# sourceMappingURL=quality.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quality.js","sourceRoot":"","sources":["../../../../src/lib/utils/quality.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
2
|
+
/** Port Angular's dev-server and the flutter-build serve use when none is set. */
|
|
3
|
+
export declare const DEFAULT_SERVE_PORT = 4200;
|
|
4
|
+
type Target = {
|
|
5
|
+
executor?: string;
|
|
6
|
+
options?: Record<string, unknown>;
|
|
7
|
+
};
|
|
8
|
+
/** Angular/Ionic dev-server (Angular CLI or @nx/angular builder) or a Flutter serve target. */
|
|
9
|
+
export declare function isServeTarget(target: Target | undefined): boolean;
|
|
10
|
+
/** The serve target of a project.json (the `serve` target first, else any serve-like target). */
|
|
11
|
+
export declare function serveTargetOf(json: Record<string, unknown>): Target | undefined;
|
|
12
|
+
/** The port a serve target listens on (4200 when unset or not a number). */
|
|
13
|
+
export declare function portOf(target: Target): number;
|
|
14
|
+
/** The port set on a serve target (a number or a numeric string), else undefined. */
|
|
15
|
+
export declare function explicitPort(target: Target): number | undefined;
|
|
16
|
+
export interface UsedPort {
|
|
17
|
+
project: string;
|
|
18
|
+
port: number;
|
|
19
|
+
/** false when the port is the default because none is set. */
|
|
20
|
+
explicit: boolean;
|
|
21
|
+
}
|
|
22
|
+
/** Every app serve port of the workspace. */
|
|
23
|
+
export declare function usedServePorts(tree: Tree): UsedPort[];
|
|
24
|
+
/** The lowest port from `start` not in `used`. */
|
|
25
|
+
export declare function nextFreePort(used: Iterable<number>, start?: number): number;
|
|
26
|
+
/** Why `port` cannot be an app's dev-server port, or null. */
|
|
27
|
+
export declare function portProblem(port: unknown): string | null;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.portProblem = exports.nextFreePort = exports.usedServePorts = exports.explicitPort = exports.portOf = exports.serveTargetOf = exports.isServeTarget = exports.DEFAULT_SERVE_PORT = void 0;
|
|
4
|
+
const project_json_files_1 = require("./project-json-files");
|
|
5
|
+
/** Port Angular's dev-server and the flutter-build serve use when none is set. */
|
|
6
|
+
exports.DEFAULT_SERVE_PORT = 4200;
|
|
7
|
+
/** Angular/Ionic dev-server (Angular CLI or @nx/angular builder) or a Flutter serve target. */
|
|
8
|
+
function isServeTarget(target) {
|
|
9
|
+
if (!target || typeof target.executor !== 'string')
|
|
10
|
+
return false;
|
|
11
|
+
if (/^(@angular-devkit\/build-angular|@angular\/build|@nx\/angular):dev-server$/.test(target.executor)) {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
return (target.executor === '@mouryaamit/nx-polystack:flutter-build' &&
|
|
15
|
+
target.options?.['serve'] === true);
|
|
16
|
+
}
|
|
17
|
+
exports.isServeTarget = isServeTarget;
|
|
18
|
+
/** The serve target of a project.json (the `serve` target first, else any serve-like target). */
|
|
19
|
+
function serveTargetOf(json) {
|
|
20
|
+
const targets = (json['targets'] ?? {});
|
|
21
|
+
if (isServeTarget(targets['serve']))
|
|
22
|
+
return targets['serve'];
|
|
23
|
+
return Object.values(targets).find((t) => isServeTarget(t));
|
|
24
|
+
}
|
|
25
|
+
exports.serveTargetOf = serveTargetOf;
|
|
26
|
+
/** The port a serve target listens on (4200 when unset or not a number). */
|
|
27
|
+
function portOf(target) {
|
|
28
|
+
return explicitPort(target) ?? exports.DEFAULT_SERVE_PORT;
|
|
29
|
+
}
|
|
30
|
+
exports.portOf = portOf;
|
|
31
|
+
/** The port set on a serve target (a number or a numeric string), else undefined. */
|
|
32
|
+
function explicitPort(target) {
|
|
33
|
+
const p = target.options?.['port'];
|
|
34
|
+
const n = typeof p === 'string' && /^\d+$/.test(p.trim()) ? Number(p) : p;
|
|
35
|
+
return typeof n === 'number' && Number.isInteger(n) ? n : undefined;
|
|
36
|
+
}
|
|
37
|
+
exports.explicitPort = explicitPort;
|
|
38
|
+
/** Every app serve port of the workspace. */
|
|
39
|
+
function usedServePorts(tree) {
|
|
40
|
+
const out = [];
|
|
41
|
+
for (const p of (0, project_json_files_1.scanProjects)(tree)) {
|
|
42
|
+
const serve = serveTargetOf(p.json);
|
|
43
|
+
if (!serve)
|
|
44
|
+
continue;
|
|
45
|
+
out.push({
|
|
46
|
+
project: p.name,
|
|
47
|
+
port: portOf(serve),
|
|
48
|
+
explicit: explicitPort(serve) !== undefined,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return out;
|
|
52
|
+
}
|
|
53
|
+
exports.usedServePorts = usedServePorts;
|
|
54
|
+
/** The lowest port from `start` not in `used`. */
|
|
55
|
+
function nextFreePort(used, start = exports.DEFAULT_SERVE_PORT) {
|
|
56
|
+
const taken = new Set(used);
|
|
57
|
+
let port = start;
|
|
58
|
+
while (taken.has(port))
|
|
59
|
+
port++;
|
|
60
|
+
if (port > 65535)
|
|
61
|
+
throw new Error('no free dev-server port left');
|
|
62
|
+
return port;
|
|
63
|
+
}
|
|
64
|
+
exports.nextFreePort = nextFreePort;
|
|
65
|
+
/** Why `port` cannot be an app's dev-server port, or null. */
|
|
66
|
+
function portProblem(port) {
|
|
67
|
+
if (typeof port !== 'number' || !Number.isInteger(port) || port < 1024 || port > 65535) {
|
|
68
|
+
return `--port must be a whole number from 1024 to 65535 (got ${String(port)})`;
|
|
69
|
+
}
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
exports.portProblem = portProblem;
|
|
73
|
+
//# sourceMappingURL=serve-port.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve-port.js","sourceRoot":"","sources":["../../../../src/lib/utils/serve-port.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
2
|
+
export declare const SHARED_ASSETS_OUTPUT = "assets/shared";
|
|
3
|
+
/** Files of the shared assets folder that are not app assets (lib config, docs, sources). */
|
|
4
|
+
export declare const SHARED_ASSETS_IGNORE: string[];
|
|
5
|
+
export interface SharedLib {
|
|
6
|
+
/** Workspace-relative folder wired into apps (the project's sourceRoot when it has one). */
|
|
7
|
+
dir: string;
|
|
8
|
+
/** Nx project name of the folder, when it has a project.json. */
|
|
9
|
+
project?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface SharedLibs {
|
|
12
|
+
assets: SharedLib;
|
|
13
|
+
styles: SharedLib;
|
|
14
|
+
/** Files written (folders created on first use). */
|
|
15
|
+
created: string[];
|
|
16
|
+
notes: string[];
|
|
17
|
+
}
|
|
18
|
+
/** Workspace-relative path without ./, duplicate or trailing slashes. */
|
|
19
|
+
export declare function normPath(p: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* libs/shared/assets and libs/shared/styles, or a migrated workspace's libs/assets and
|
|
22
|
+
* libs/styles; creates what is missing (seed file and project.json). A folder that is already an
|
|
23
|
+
* Nx project is wired through its sourceRoot.
|
|
24
|
+
*/
|
|
25
|
+
export declare function ensureSharedLibs(tree: Tree): SharedLibs;
|
|
26
|
+
type BuildTarget = {
|
|
27
|
+
executor?: string;
|
|
28
|
+
options?: Record<string, unknown>;
|
|
29
|
+
};
|
|
30
|
+
/** The Angular browser build target of a project.json (`build` first), or undefined. */
|
|
31
|
+
export declare function angularBuildTargetOf(json: Record<string, unknown>): BuildTarget | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Wires the shared folders into an app's project.json (build assets, Sass include path,
|
|
34
|
+
* implicitDependencies); returns false when it already was.
|
|
35
|
+
*/
|
|
36
|
+
export declare function wireSharedLibs(json: Record<string, unknown>, build: BuildTarget, libs: Pick<SharedLibs, 'assets' | 'styles'>): boolean;
|
|
37
|
+
export {};
|