@nrwl/angular 14.8.8 → 14.9.0-beta.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/CHANGELOG.md +1 -1
- package/LICENSE +22 -22
- package/README.md +5 -26
- package/esm2020/index.mjs +2 -3
- package/esm2020/mf/mf.mjs +5 -2
- package/esm2020/src/runtime/nx/data-persistence.mjs +2 -59
- package/esm2020/testing/index.mjs +1 -18
- package/esm2020/testing/src/testing-utils.mjs +5 -1
- package/executors.d.ts +2 -0
- package/executors.js +2 -0
- package/executors.js.map +1 -1
- package/executors.json +15 -20
- package/fesm2015/nrwl-angular-mf.mjs +4 -1
- package/fesm2015/nrwl-angular-mf.mjs.map +1 -1
- package/fesm2015/nrwl-angular-testing.mjs +5 -19
- package/fesm2015/nrwl-angular-testing.mjs.map +1 -1
- package/fesm2015/nrwl-angular.mjs +2 -79
- package/fesm2015/nrwl-angular.mjs.map +1 -1
- package/fesm2020/nrwl-angular-mf.mjs +4 -1
- package/fesm2020/nrwl-angular-mf.mjs.map +1 -1
- package/fesm2020/nrwl-angular-testing.mjs +5 -19
- package/fesm2020/nrwl-angular-testing.mjs.map +1 -1
- package/fesm2020/nrwl-angular.mjs +2 -79
- package/fesm2020/nrwl-angular.mjs.map +1 -1
- package/generators.d.ts +3 -5
- package/generators.js +3 -5
- package/generators.js.map +1 -1
- package/generators.json +25 -52
- package/index.d.ts +1 -2
- package/index.js +1 -4
- package/index.js.map +1 -1
- package/mf/mf.d.ts +1 -1
- package/mf/mf.js +6 -2
- package/mf/mf.js.map +1 -1
- package/migrations.json +505 -1108
- package/module-federation/index.d.ts +1 -1
- package/module-federation/index.js +3 -3
- package/module-federation/index.js.map +1 -1
- package/ng-package.json +3 -2
- package/package.json +27 -19
- package/plugins/component-testing.d.ts +1 -1
- package/plugins/component-testing.js +50 -19
- package/plugins/component-testing.js.map +1 -1
- package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.d.ts +2 -4
- package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js +24 -68
- package/src/builders/module-federation-dev-server/module-federation-dev-server.impl.js.map +1 -1
- package/src/builders/module-federation-dev-server/schema.d.ts +2 -0
- package/src/builders/module-federation-dev-server/schema.json +17 -2
- package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.d.ts +4 -0
- package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.js +95 -0
- package/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.js.map +1 -0
- package/src/builders/module-federation-dev-ssr/schema.d.ts +17 -0
- package/src/builders/module-federation-dev-ssr/schema.json +90 -0
- package/src/builders/utilities/buildable-libs.d.ts +9 -0
- package/src/builders/utilities/buildable-libs.js +17 -0
- package/src/builders/utilities/buildable-libs.js.map +1 -0
- package/src/builders/utilities/module-federation.d.ts +6 -0
- package/src/builders/utilities/module-federation.js +71 -0
- package/src/builders/utilities/module-federation.js.map +1 -0
- package/src/builders/utilities/webpack.d.ts +5 -0
- package/src/builders/utilities/webpack.js +29 -1
- package/src/builders/utilities/webpack.js.map +1 -1
- package/src/builders/webpack-browser/schema.d.ts +9 -0
- package/src/builders/webpack-browser/schema.json +26 -4
- package/src/builders/webpack-browser/validate-options.d.ts +2 -0
- package/src/builders/webpack-browser/validate-options.js +41 -0
- package/src/builders/webpack-browser/validate-options.js.map +1 -0
- package/src/builders/webpack-browser/webpack-browser.impl.d.ts +2 -9
- package/src/builders/webpack-browser/webpack-browser.impl.js +58 -56
- package/src/builders/webpack-browser/webpack-browser.impl.js.map +1 -1
- package/src/builders/webpack-dev-server/lib/index.js.map +1 -0
- package/src/builders/webpack-dev-server/lib/normalize-options.js.map +1 -0
- package/src/builders/webpack-dev-server/schema.d.ts +21 -0
- package/src/builders/webpack-dev-server/schema.json +116 -0
- package/src/builders/webpack-dev-server/webpack-dev-server.impl.d.ts +4 -0
- package/src/builders/webpack-dev-server/webpack-dev-server.impl.js +92 -0
- package/src/builders/webpack-dev-server/webpack-dev-server.impl.js.map +1 -0
- package/src/builders/webpack-server/schema.d.ts +7 -19
- package/src/builders/webpack-server/schema.json +279 -64
- package/src/builders/webpack-server/validate-options.d.ts +2 -0
- package/src/builders/webpack-server/validate-options.js +34 -0
- package/src/builders/webpack-server/validate-options.js.map +1 -0
- package/src/builders/webpack-server/webpack-server.impl.d.ts +3 -3
- package/src/builders/webpack-server/webpack-server.impl.js +52 -73
- package/src/builders/webpack-server/webpack-server.impl.js.map +1 -1
- package/src/executors/delegate-build/delegate-build.impl.js +2 -2
- package/src/executors/delegate-build/delegate-build.impl.js.map +1 -1
- package/src/executors/delegate-build/schema.json +5 -2
- package/src/executors/file-server/file-server.impl.js +5 -2
- package/src/executors/file-server/file-server.impl.js.map +1 -1
- package/src/executors/file-server/schema.d.ts +1 -0
- package/src/executors/file-server/schema.json +10 -2
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-package.transform.js +15 -19
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-package/entry-point/write-package.transform.js.map +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/styles/stylesheet-processor.js +21 -27
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/styles/stylesheet-processor.js.map +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.js +3 -6
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ts/cache-compiler-host.js.map +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +5 -3
- package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js.map +1 -1
- package/src/executors/ng-packagr-lite/schema.json +6 -3
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +21 -27
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js.map +1 -1
- package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.js +30 -10
- package/src/executors/package/ng-packagr-adjustments/ts/cache-compiler-host.js.map +1 -1
- package/src/executors/package/package.impl.d.ts +1 -1
- package/src/executors/package/package.impl.js +5 -3
- package/src/executors/package/package.impl.js.map +1 -1
- package/src/executors/package/schema.json +6 -3
- package/src/executors/utilities/angular-version-utils.d.ts +6 -0
- package/src/executors/utilities/angular-version-utils.js +20 -0
- package/src/executors/utilities/angular-version-utils.js.map +1 -0
- package/src/executors/utilities/typescript.d.ts +13 -0
- package/src/executors/utilities/typescript.js +49 -0
- package/src/executors/utilities/typescript.js.map +1 -0
- package/src/generators/add-linting/add-linting.d.ts +1 -1
- package/src/generators/add-linting/add-linting.js +29 -10
- package/src/generators/add-linting/add-linting.js.map +1 -1
- package/src/generators/add-linting/angular-v14/add-linting.d.ts +4 -0
- package/src/generators/add-linting/angular-v14/add-linting.js +40 -0
- package/src/generators/add-linting/angular-v14/add-linting.js.map +1 -0
- package/src/generators/add-linting/angular-v14/lib/add-angular-eslint-dependencies.d.ts +2 -0
- package/src/generators/add-linting/angular-v14/lib/add-angular-eslint-dependencies.js +14 -0
- package/src/generators/add-linting/angular-v14/lib/add-angular-eslint-dependencies.js.map +1 -0
- package/src/generators/add-linting/angular-v14/lib/add-project-lint-target.d.ts +3 -0
- package/src/generators/add-linting/angular-v14/lib/add-project-lint-target.js +21 -0
- package/src/generators/add-linting/angular-v14/lib/add-project-lint-target.js.map +1 -0
- package/src/generators/add-linting/angular-v14/lib/create-eslint-configuration.d.ts +78 -0
- package/src/generators/add-linting/angular-v14/lib/create-eslint-configuration.js +111 -0
- package/src/generators/add-linting/angular-v14/lib/create-eslint-configuration.js.map +1 -0
- package/src/generators/add-linting/angular-v14/schema.d.ts +9 -0
- package/src/generators/add-linting/lib/add-angular-eslint-dependencies.d.ts +2 -2
- package/src/generators/add-linting/lib/add-angular-eslint-dependencies.js +1 -1
- package/src/generators/add-linting/lib/add-angular-eslint-dependencies.js.map +1 -1
- package/src/generators/add-linting/lib/add-project-lint-target.js +4 -2
- package/src/generators/add-linting/lib/add-project-lint-target.js.map +1 -1
- package/src/generators/add-linting/lib/create-eslint-configuration.d.ts +75 -0
- package/src/generators/add-linting/lib/create-eslint-configuration.js +44 -4
- package/src/generators/add-linting/lib/create-eslint-configuration.js.map +1 -1
- package/src/generators/add-linting/schema.json +16 -5
- package/src/generators/application/angular-v14/application.d.ts +4 -0
- package/src/generators/application/angular-v14/application.js +90 -0
- package/src/generators/application/angular-v14/application.js.map +1 -0
- package/src/generators/application/angular-v14/files/src/app/app.routes.ts__tpl__ +3 -0
- package/src/generators/application/angular-v14/files/src/favicon.ico +0 -0
- package/src/generators/application/angular-v14/files/tsconfig.editor.json__tpl__ +5 -0
- package/src/generators/application/angular-v14/lib/add-e2e.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/add-e2e.js +51 -0
- package/src/generators/application/angular-v14/lib/add-e2e.js.map +1 -0
- package/src/generators/application/angular-v14/lib/add-linting.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/add-linting.js +23 -0
- package/src/generators/application/angular-v14/lib/add-linting.js.map +1 -0
- package/src/generators/application/angular-v14/lib/add-protractor.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/add-protractor.js +18 -0
- package/src/generators/application/angular-v14/lib/add-protractor.js.map +1 -0
- package/src/generators/application/{lib/add-mf.d.ts → angular-v14/lib/add-proxy-config.d.ts} +1 -1
- package/src/generators/application/angular-v14/lib/add-proxy-config.js +23 -0
- package/src/generators/application/angular-v14/lib/add-proxy-config.js.map +1 -0
- package/src/generators/application/angular-v14/lib/add-unit-test-runner.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/add-unit-test-runner.js +22 -0
- package/src/generators/application/angular-v14/lib/add-unit-test-runner.js.map +1 -0
- package/src/generators/application/angular-v14/lib/convert-to-standalone-app.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/convert-to-standalone-app.js +86 -0
- package/src/generators/application/angular-v14/lib/convert-to-standalone-app.js.map +1 -0
- package/src/generators/application/angular-v14/lib/create-files.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/create-files.js +12 -0
- package/src/generators/application/angular-v14/lib/create-files.js.map +1 -0
- package/src/generators/application/angular-v14/lib/enable-strict-type-checking.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/enable-strict-type-checking.js +27 -0
- package/src/generators/application/angular-v14/lib/enable-strict-type-checking.js.map +1 -0
- package/src/generators/application/angular-v14/lib/index.d.ts +20 -0
- package/src/generators/application/angular-v14/lib/index.js +24 -0
- package/src/generators/application/angular-v14/lib/index.js.map +1 -0
- package/src/generators/application/angular-v14/lib/normalize-options.d.ts +4 -0
- package/src/generators/application/angular-v14/lib/normalize-options.js +40 -0
- package/src/generators/application/angular-v14/lib/normalize-options.js.map +1 -0
- package/src/generators/application/angular-v14/lib/normalized-schema.d.ts +15 -0
- package/src/generators/application/angular-v14/lib/normalized-schema.js +3 -0
- package/src/generators/application/angular-v14/lib/normalized-schema.js.map +1 -0
- package/src/generators/application/angular-v14/lib/nrwl-home-tpl.d.ts +4 -0
- package/src/generators/application/angular-v14/lib/nrwl-home-tpl.js +823 -0
- package/src/generators/application/angular-v14/lib/nrwl-home-tpl.js.map +1 -0
- package/src/generators/application/angular-v14/lib/remove-scaffolded-e2e.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/remove-scaffolded-e2e.js +23 -0
- package/src/generators/application/angular-v14/lib/remove-scaffolded-e2e.js.map +1 -0
- package/src/generators/application/angular-v14/lib/root-router-config.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/root-router-config.js +20 -0
- package/src/generators/application/angular-v14/lib/root-router-config.js.map +1 -0
- package/src/generators/application/angular-v14/lib/set-app-strict-default.d.ts +2 -0
- package/src/generators/application/angular-v14/lib/set-app-strict-default.js +16 -0
- package/src/generators/application/angular-v14/lib/set-app-strict-default.js.map +1 -0
- package/src/generators/application/angular-v14/lib/update-app-component-template.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/update-app-component-template.js +26 -0
- package/src/generators/application/angular-v14/lib/update-app-component-template.js.map +1 -0
- package/src/generators/application/angular-v14/lib/update-component-spec.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/update-component-spec.js +33 -0
- package/src/generators/application/angular-v14/lib/update-component-spec.js.map +1 -0
- package/src/generators/application/{lib/set-default-project.d.ts → angular-v14/lib/update-config-files.d.ts} +1 -1
- package/src/generators/application/angular-v14/lib/update-config-files.js +76 -0
- package/src/generators/application/angular-v14/lib/update-config-files.js.map +1 -0
- package/src/generators/application/angular-v14/lib/update-e2e-project.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/update-e2e-project.js +40 -0
- package/src/generators/application/angular-v14/lib/update-e2e-project.js.map +1 -0
- package/src/generators/application/angular-v14/lib/update-editor-tsconfig.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/update-editor-tsconfig.js +27 -0
- package/src/generators/application/angular-v14/lib/update-editor-tsconfig.js.map +1 -0
- package/src/generators/application/angular-v14/lib/update-nx-component-template.d.ts +3 -0
- package/src/generators/application/angular-v14/lib/update-nx-component-template.js +31 -0
- package/src/generators/application/angular-v14/lib/update-nx-component-template.js.map +1 -0
- package/src/generators/application/angular-v14/schema.d.ts +30 -0
- package/src/generators/application/application.d.ts +2 -2
- package/src/generators/application/application.js +68 -50
- package/src/generators/application/application.js.map +1 -1
- package/src/generators/application/files/src/app/app.routes.ts__tpl__ +3 -0
- package/src/generators/application/files/tsconfig.editor.json__tpl__ +1 -1
- package/src/generators/application/lib/add-e2e.js +2 -8
- package/src/generators/application/lib/add-e2e.js.map +1 -1
- package/src/generators/application/lib/add-protractor.d.ts +1 -1
- package/src/generators/application/lib/add-protractor.js +2 -2
- package/src/generators/application/lib/add-protractor.js.map +1 -1
- package/src/generators/application/lib/add-unit-test-runner.js +1 -7
- package/src/generators/application/lib/add-unit-test-runner.js.map +1 -1
- package/src/generators/application/lib/convert-to-standalone-app.js +13 -14
- package/src/generators/application/lib/convert-to-standalone-app.js.map +1 -1
- package/src/generators/application/lib/create-files.d.ts +1 -1
- package/src/generators/application/lib/create-files.js +6 -3
- package/src/generators/application/lib/create-files.js.map +1 -1
- package/src/generators/application/lib/index.d.ts +0 -2
- package/src/generators/application/lib/index.js +0 -2
- package/src/generators/application/lib/index.js.map +1 -1
- package/src/generators/application/lib/normalize-options.js +17 -24
- package/src/generators/application/lib/normalize-options.js.map +1 -1
- package/src/generators/application/lib/normalized-schema.d.ts +3 -2
- package/src/generators/application/lib/nrwl-home-tpl.js +28 -7
- package/src/generators/application/lib/nrwl-home-tpl.js.map +1 -1
- package/src/generators/application/lib/root-router-config.js +11 -6
- package/src/generators/application/lib/root-router-config.js.map +1 -1
- package/src/generators/application/lib/set-app-strict-default.js +7 -7
- package/src/generators/application/lib/set-app-strict-default.js.map +1 -1
- package/src/generators/application/lib/update-app-component-template.d.ts +1 -1
- package/src/generators/application/lib/update-app-component-template.js +21 -14
- package/src/generators/application/lib/update-app-component-template.js.map +1 -1
- package/src/generators/application/lib/update-component-spec.js +12 -8
- package/src/generators/application/lib/update-component-spec.js.map +1 -1
- package/src/generators/application/lib/update-config-files.js +8 -10
- package/src/generators/application/lib/update-config-files.js.map +1 -1
- package/src/generators/application/lib/update-e2e-project.js +2 -3
- package/src/generators/application/lib/update-e2e-project.js.map +1 -1
- package/src/generators/application/lib/update-nx-component-template.js +12 -8
- package/src/generators/application/lib/update-nx-component-template.js.map +1 -1
- package/src/generators/application/schema.d.ts +3 -25
- package/src/generators/application/schema.json +25 -46
- package/src/generators/component/component.js +12 -20
- package/src/generators/component/component.js.map +1 -1
- package/src/generators/component/lib/entry-point.js +5 -3
- package/src/generators/component/lib/entry-point.js.map +1 -1
- package/src/generators/component/lib/normalize-options.d.ts +1 -1
- package/src/generators/component/lib/normalize-options.js +9 -17
- package/src/generators/component/lib/normalize-options.js.map +1 -1
- package/src/generators/component/schema.d.ts +1 -2
- package/src/generators/component/schema.json +11 -4
- package/src/generators/component-cypress-spec/lib/get-args-default-value.js +9 -5
- package/src/generators/component-cypress-spec/lib/get-args-default-value.js.map +1 -1
- package/src/generators/component-cypress-spec/lib/get-component-selector.js +7 -3
- package/src/generators/component-cypress-spec/lib/get-component-selector.js.map +1 -1
- package/src/generators/component-cypress-spec/schema.json +18 -7
- package/src/generators/component-story/files/__componentFileName__.stories.ts__tmpl__ +9 -15
- package/src/generators/component-story/schema.json +10 -5
- package/src/generators/component-test/component-test.d.ts +1 -0
- package/src/generators/component-test/component-test.js +1 -0
- package/src/generators/component-test/component-test.js.map +1 -1
- package/src/generators/component-test/files/__componentFileName__.cy.ts__tpl__ +13 -9
- package/src/generators/component-test/schema.json +16 -6
- package/src/generators/convert-to-with-mf/lib/check-name-matches.js +5 -3
- package/src/generators/convert-to-with-mf/lib/check-name-matches.js.map +1 -1
- package/src/generators/convert-to-with-mf/lib/check-shared-npm-packages.js +7 -5
- package/src/generators/convert-to-with-mf/lib/check-shared-npm-packages.js.map +1 -1
- package/src/generators/convert-to-with-mf/lib/is-host-remote-config.d.ts +2 -2
- package/src/generators/convert-to-with-mf/lib/is-host-remote-config.js +12 -6
- package/src/generators/convert-to-with-mf/lib/is-host-remote-config.js.map +1 -1
- package/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.d.ts +1 -1
- package/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.js +4 -2
- package/src/generators/convert-to-with-mf/lib/parse-ast-webpack-config.js.map +1 -1
- package/src/generators/convert-to-with-mf/schema.json +8 -1
- package/src/generators/convert-tslint-to-eslint/schema.json +4 -2
- package/src/generators/cypress-component-configuration/files/cypress/support/commands.ts__tpl__ +42 -0
- package/src/generators/cypress-component-configuration/schema.json +12 -4
- package/src/generators/directive/directive.d.ts +4 -0
- package/src/generators/directive/directive.js +51 -0
- package/src/generators/directive/directive.js.map +1 -0
- package/src/generators/directive/files/__directiveFileName__/__directiveFileName__.directive.spec.ts__tpl__ +8 -0
- package/src/generators/directive/files/__directiveFileName__/__directiveFileName__.directive.ts__tpl__ +11 -0
- package/src/generators/directive/schema.d.ts +14 -0
- package/src/generators/directive/schema.json +92 -0
- package/src/generators/host/files/src/main.server.ts__tmpl__ +66 -0
- package/src/generators/host/files/webpack.server.config.js__tmpl__ +3 -0
- package/src/generators/host/host.d.ts +1 -1
- package/src/generators/host/host.js +16 -42
- package/src/generators/host/host.js.map +1 -1
- package/src/generators/host/lib/add-ssr.d.ts +3 -0
- package/src/generators/host/lib/add-ssr.js +40 -0
- package/src/generators/host/lib/add-ssr.js.map +1 -0
- package/src/generators/host/lib/index.d.ts +1 -0
- package/src/generators/host/lib/index.js +5 -0
- package/src/generators/host/lib/index.js.map +1 -0
- package/src/generators/host/schema.d.ts +2 -3
- package/src/generators/host/schema.json +21 -8
- package/src/generators/init/angular-v14/init.d.ts +4 -0
- package/src/generators/init/angular-v14/init.js +156 -0
- package/src/generators/init/angular-v14/init.js.map +1 -0
- package/src/generators/init/angular-v14/schema.d.ts +14 -0
- package/src/generators/init/init.d.ts +1 -1
- package/src/generators/init/init.js +111 -89
- package/src/generators/init/init.js.map +1 -1
- package/src/generators/init/schema.d.ts +2 -2
- package/src/generators/init/schema.json +19 -12
- package/src/generators/library/lib/add-children.js +16 -17
- package/src/generators/library/lib/add-children.js.map +1 -1
- package/src/generators/library/lib/add-lazy-loaded-router-configuration.d.ts +1 -1
- package/src/generators/library/lib/add-lazy-loaded-router-configuration.js +24 -11
- package/src/generators/library/lib/add-lazy-loaded-router-configuration.js.map +1 -1
- package/src/generators/library/lib/add-load-children.js +12 -14
- package/src/generators/library/lib/add-load-children.js.map +1 -1
- package/src/generators/library/lib/add-module.js +2 -2
- package/src/generators/library/lib/add-module.js.map +1 -1
- package/src/generators/library/lib/add-router-configuration.d.ts +1 -1
- package/src/generators/library/lib/add-router-configuration.js +21 -9
- package/src/generators/library/lib/add-router-configuration.js.map +1 -1
- package/src/generators/library/lib/add-standalone-component.js +6 -6
- package/src/generators/library/lib/add-standalone-component.js.map +1 -1
- package/src/generators/library/lib/enable-strict-type-checking.js +8 -8
- package/src/generators/library/lib/enable-strict-type-checking.js.map +1 -1
- package/src/generators/library/lib/normalize-options.d.ts +1 -1
- package/src/generators/library/lib/normalize-options.js +15 -23
- package/src/generators/library/lib/normalize-options.js.map +1 -1
- package/src/generators/library/lib/normalized-schema.d.ts +5 -5
- package/src/generators/library/lib/update-ng-package.js +1 -1
- package/src/generators/library/lib/update-ng-package.js.map +1 -1
- package/src/generators/library/lib/update-project.js +27 -23
- package/src/generators/library/lib/update-project.js.map +1 -1
- package/src/generators/library/lib/update-tsconfig.d.ts +1 -1
- package/src/generators/library/lib/update-tsconfig.js +7 -20
- package/src/generators/library/lib/update-tsconfig.js.map +1 -1
- package/src/generators/library/library.compat.d.ts +1 -1
- package/src/generators/library/library.d.ts +2 -2
- package/src/generators/library/library.js +18 -23
- package/src/generators/library/library.js.map +1 -1
- package/src/generators/library/schema.d.ts +6 -5
- package/src/generators/library/schema.json +44 -28
- package/src/generators/library-secondary-entry-point/lib/add-path-mapping.js +2 -2
- package/src/generators/library-secondary-entry-point/lib/add-path-mapping.js.map +1 -1
- package/src/generators/library-secondary-entry-point/schema.json +6 -3
- package/src/generators/move/lib/update-module-name.js +2 -2
- package/src/generators/move/lib/update-module-name.js.map +1 -1
- package/src/generators/move/lib/update-ng-package.js +18 -7
- package/src/generators/move/lib/update-ng-package.js.map +1 -1
- package/src/generators/move/schema.json +6 -3
- package/src/generators/ng-add/files/root/apps/__dot__gitkeep +0 -0
- package/src/generators/ng-add/migrate-from-angular-cli.d.ts +2 -2
- package/src/generators/ng-add/migrate-from-angular-cli.js +44 -63
- package/src/generators/ng-add/migrate-from-angular-cli.js.map +1 -1
- package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.d.ts +9 -0
- package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.js +78 -0
- package/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.js.map +1 -0
- package/src/generators/ng-add/migrators/builders/angular-devkit-ng-packagr.migrator.d.ts +10 -0
- package/src/generators/ng-add/migrators/builders/angular-devkit-ng-packagr.migrator.js +97 -0
- package/src/generators/ng-add/migrators/builders/angular-devkit-ng-packagr.migrator.js.map +1 -0
- package/src/generators/ng-add/migrators/builders/angular-eslint-lint.migrator.d.ts +12 -0
- package/src/generators/ng-add/migrators/builders/angular-eslint-lint.migrator.js +117 -0
- package/src/generators/ng-add/migrators/builders/angular-eslint-lint.migrator.js.map +1 -0
- package/src/generators/ng-add/migrators/builders/builder-migrator-class.type.d.ts +6 -0
- package/src/generators/ng-add/migrators/builders/builder-migrator-class.type.js +3 -0
- package/src/generators/ng-add/migrators/builders/builder-migrator-class.type.js.map +1 -0
- package/src/generators/ng-add/migrators/builders/builder.migrator.d.ts +13 -0
- package/src/generators/ng-add/migrators/builders/builder.migrator.js +45 -0
- package/src/generators/ng-add/migrators/builders/builder.migrator.js.map +1 -0
- package/src/generators/ng-add/migrators/builders/index.d.ts +5 -0
- package/src/generators/ng-add/migrators/builders/index.js +9 -0
- package/src/generators/ng-add/migrators/builders/index.js.map +1 -0
- package/src/generators/ng-add/migrators/index.d.ts +2 -0
- package/src/generators/ng-add/migrators/index.js +6 -0
- package/src/generators/ng-add/migrators/index.js.map +1 -0
- package/src/generators/ng-add/migrators/migrator.d.ts +23 -0
- package/src/generators/ng-add/migrators/migrator.js +124 -0
- package/src/generators/ng-add/migrators/migrator.js.map +1 -0
- package/src/generators/ng-add/{utilities → migrators/projects}/app.migrator.d.ts +6 -12
- package/src/generators/ng-add/{utilities → migrators/projects}/app.migrator.js +81 -206
- package/src/generators/ng-add/migrators/projects/app.migrator.js.map +1 -0
- package/src/generators/ng-add/{utilities → migrators/projects}/e2e.migrator.d.ts +4 -5
- package/src/generators/ng-add/{utilities → migrators/projects}/e2e.migrator.js +54 -41
- package/src/generators/ng-add/migrators/projects/e2e.migrator.js.map +1 -0
- package/src/generators/ng-add/migrators/projects/index.d.ts +4 -0
- package/src/generators/ng-add/migrators/projects/index.js +8 -0
- package/src/generators/ng-add/migrators/projects/index.js.map +1 -0
- package/src/generators/ng-add/migrators/projects/lib.migrator.d.ts +11 -0
- package/src/generators/ng-add/migrators/projects/lib.migrator.js +62 -0
- package/src/generators/ng-add/migrators/projects/lib.migrator.js.map +1 -0
- package/src/generators/ng-add/migrators/projects/project.migrator.d.ts +25 -0
- package/src/generators/ng-add/migrators/projects/project.migrator.js +185 -0
- package/src/generators/ng-add/migrators/projects/project.migrator.js.map +1 -0
- package/src/generators/ng-add/schema.d.ts +1 -2
- package/src/generators/ng-add/schema.json +14 -12
- package/src/generators/ng-add/utilities/dependencies.d.ts +2 -0
- package/src/generators/ng-add/utilities/dependencies.js +30 -0
- package/src/generators/ng-add/utilities/dependencies.js.map +1 -0
- package/src/generators/ng-add/utilities/format-files-task.d.ts +2 -0
- package/src/generators/ng-add/utilities/format-files-task.js +17 -0
- package/src/generators/ng-add/utilities/format-files-task.js.map +1 -0
- package/src/generators/ng-add/utilities/index.d.ts +8 -0
- package/src/generators/ng-add/utilities/index.js +12 -0
- package/src/generators/ng-add/utilities/index.js.map +1 -0
- package/src/generators/ng-add/utilities/normalize-options.d.ts +3 -3
- package/src/generators/ng-add/utilities/normalize-options.js.map +1 -1
- package/src/generators/ng-add/utilities/projects.d.ts +4 -0
- package/src/generators/ng-add/utilities/projects.js +36 -0
- package/src/generators/ng-add/utilities/projects.js.map +1 -0
- package/src/generators/ng-add/utilities/types.d.ts +14 -9
- package/src/generators/ng-add/utilities/validation-logging.d.ts +2 -1
- package/src/generators/ng-add/utilities/validation-logging.js +21 -2
- package/src/generators/ng-add/utilities/validation-logging.js.map +1 -1
- package/src/generators/ng-add/utilities/workspace.d.ts +9 -6
- package/src/generators/ng-add/utilities/workspace.js +107 -84
- package/src/generators/ng-add/utilities/workspace.js.map +1 -1
- package/src/generators/ngrx/files/{__directory__ → latest/__directory__}/__fileName__.effects.spec.ts__tmpl__ +2 -6
- package/src/generators/ngrx/files/latest/__directory__/__fileName__.effects.ts__tmpl__ +22 -0
- package/src/generators/ngrx/files/{__directory__ → latest/__directory__}/__fileName__.facade.spec.ts__tmpl__ +0 -2
- package/src/generators/ngrx/files/latest/__directory__/__fileName__.facade.ts__tmpl__ +27 -0
- package/src/generators/ngrx/files/{__directory__ → latest/__directory__}/__fileName__.selectors.spec.ts__tmpl__ +8 -8
- package/src/generators/ngrx/files/{__directory__ → latest/__directory__}/__fileName__.selectors.ts__tmpl__ +14 -14
- package/src/generators/ngrx/files/no-inject/__directory__/__fileName__.effects.ts__tmpl__ +22 -0
- package/src/generators/ngrx/files/{__directory__ → no-inject/__directory__}/__fileName__.facade.ts__tmpl__ +5 -5
- package/src/generators/ngrx/lib/add-exports-barrel.d.ts +2 -2
- package/src/generators/ngrx/lib/add-exports-barrel.js +14 -11
- package/src/generators/ngrx/lib/add-exports-barrel.js.map +1 -1
- package/src/generators/ngrx/lib/add-imports-to-module.d.ts +2 -2
- package/src/generators/ngrx/lib/add-imports-to-module.js +112 -36
- package/src/generators/ngrx/lib/add-imports-to-module.js.map +1 -1
- package/src/generators/ngrx/lib/add-ngrx-to-package-json.js +16 -12
- package/src/generators/ngrx/lib/add-ngrx-to-package-json.js.map +1 -1
- package/src/generators/ngrx/lib/generate-files.d.ts +2 -2
- package/src/generators/ngrx/lib/generate-files.js +9 -5
- package/src/generators/ngrx/lib/generate-files.js.map +1 -1
- package/src/generators/ngrx/lib/index.d.ts +1 -0
- package/src/generators/ngrx/lib/index.js +3 -1
- package/src/generators/ngrx/lib/index.js.map +1 -1
- package/src/generators/ngrx/lib/normalize-options.d.ts +4 -1
- package/src/generators/ngrx/lib/normalize-options.js +7 -1
- package/src/generators/ngrx/lib/normalize-options.js.map +1 -1
- package/src/generators/ngrx/lib/validate-options.d.ts +3 -0
- package/src/generators/ngrx/lib/validate-options.js +39 -0
- package/src/generators/ngrx/lib/validate-options.js.map +1 -0
- package/src/generators/ngrx/ngrx.d.ts +1 -1
- package/src/generators/ngrx/ngrx.js +10 -12
- package/src/generators/ngrx/ngrx.js.map +1 -1
- package/src/generators/ngrx/schema.d.ts +3 -6
- package/src/generators/ngrx/schema.json +31 -12
- package/src/generators/pipe/files/__pipeFileName__/__pipeFileName__.pipe.spec.ts__tpl__ +8 -0
- package/src/generators/pipe/files/__pipeFileName__/__pipeFileName__.pipe.ts__tpl__ +13 -0
- package/src/generators/pipe/pipe.d.ts +4 -0
- package/src/generators/pipe/pipe.js +45 -0
- package/src/generators/pipe/pipe.js.map +1 -0
- package/src/generators/pipe/schema.d.ts +12 -0
- package/src/generators/pipe/schema.json +73 -0
- package/src/generators/remote/files/src/main.server.ts__tmpl__ +74 -0
- package/src/generators/remote/files/webpack.server.config.js__tmpl__ +3 -0
- package/src/generators/remote/lib/add-ssr.d.ts +5 -0
- package/src/generators/remote/lib/add-ssr.js +45 -0
- package/src/generators/remote/lib/add-ssr.js.map +1 -0
- package/src/generators/remote/lib/find-next-available-port.d.ts +2 -0
- package/src/generators/remote/lib/find-next-available-port.js +19 -0
- package/src/generators/remote/lib/find-next-available-port.js.map +1 -0
- package/src/generators/remote/lib/index.d.ts +2 -0
- package/src/generators/remote/lib/index.js +6 -0
- package/src/generators/remote/lib/index.js.map +1 -0
- package/src/generators/remote/remote.d.ts +1 -1
- package/src/generators/remote/remote.js +17 -71
- package/src/generators/remote/remote.js.map +1 -1
- package/src/generators/remote/schema.d.ts +2 -3
- package/src/generators/remote/schema.json +18 -7
- package/src/generators/scam/lib/convert-component-to-scam.js +9 -5
- package/src/generators/scam/lib/convert-component-to-scam.js.map +1 -1
- package/src/generators/scam/lib/normalize-options.js +4 -6
- package/src/generators/scam/lib/normalize-options.js.map +1 -1
- package/src/generators/scam/scam.js +3 -5
- package/src/generators/scam/scam.js.map +1 -1
- package/src/generators/scam/schema.d.ts +1 -2
- package/src/generators/scam/schema.json +15 -3
- package/src/generators/scam-directive/lib/convert-directive-to-scam.js +9 -5
- package/src/generators/scam-directive/lib/convert-directive-to-scam.js.map +1 -1
- package/src/generators/scam-directive/lib/normalize-options.js +4 -6
- package/src/generators/scam-directive/lib/normalize-options.js.map +1 -1
- package/src/generators/scam-directive/scam-directive.js +3 -5
- package/src/generators/scam-directive/scam-directive.js.map +1 -1
- package/src/generators/scam-directive/schema.d.ts +1 -2
- package/src/generators/scam-directive/schema.json +17 -4
- package/src/generators/scam-pipe/lib/convert-pipe-to-scam.js +9 -5
- package/src/generators/scam-pipe/lib/convert-pipe-to-scam.js.map +1 -1
- package/src/generators/scam-pipe/lib/normalize-options.js +4 -6
- package/src/generators/scam-pipe/lib/normalize-options.js.map +1 -1
- package/src/generators/scam-pipe/scam-pipe.js +3 -5
- package/src/generators/scam-pipe/scam-pipe.js.map +1 -1
- package/src/generators/scam-pipe/schema.d.ts +1 -2
- package/src/generators/scam-pipe/schema.json +17 -4
- package/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.d.ts +1 -1
- package/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.js +2 -2
- package/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.js.map +1 -1
- package/src/generators/scam-to-standalone/lib/get-component-data-from-ast.d.ts +3 -3
- package/src/generators/scam-to-standalone/lib/get-component-data-from-ast.js +4 -4
- package/src/generators/scam-to-standalone/lib/get-component-data-from-ast.js.map +1 -1
- package/src/generators/scam-to-standalone/lib/get-module-metadata-from-ast.d.ts +3 -3
- package/src/generators/scam-to-standalone/lib/get-module-metadata-from-ast.js +8 -8
- package/src/generators/scam-to-standalone/lib/get-module-metadata-from-ast.js.map +1 -1
- package/src/generators/scam-to-standalone/lib/selector-exists-in-ast.d.ts +1 -1
- package/src/generators/scam-to-standalone/lib/selector-exists-in-ast.js +2 -2
- package/src/generators/scam-to-standalone/lib/selector-exists-in-ast.js.map +1 -1
- package/src/generators/scam-to-standalone/lib/verify-is-inline-scam.d.ts +1 -1
- package/src/generators/scam-to-standalone/scam-to-standalone.js +7 -0
- package/src/generators/scam-to-standalone/scam-to-standalone.js.map +1 -1
- package/src/generators/scam-to-standalone/schema.json +9 -5
- package/src/generators/setup-mf/files/entry-module-files/entry.module.ts__tmpl__ +3 -7
- package/src/generators/setup-mf/files/{standalone-entry-component-files/routes.ts__tmpl__ → entry-module-files/entry.routes.ts__tmpl__} +1 -1
- package/src/generators/setup-mf/files/standalone-entry-component-files/entry.routes.ts__tmpl__ +4 -0
- package/src/generators/setup-mf/files/webpack/module-federation.config.js__tmpl__ +1 -1
- package/src/generators/setup-mf/files/webpack/webpack.prod.config.js__tmpl__ +1 -1
- package/src/generators/setup-mf/lib/add-remote-entry.js +20 -13
- package/src/generators/setup-mf/lib/add-remote-entry.js.map +1 -1
- package/src/generators/setup-mf/lib/add-remote-to-host.js +19 -29
- package/src/generators/setup-mf/lib/add-remote-to-host.js.map +1 -1
- package/src/generators/setup-mf/lib/fix-bootstrap.js +12 -8
- package/src/generators/setup-mf/lib/fix-bootstrap.js.map +1 -1
- package/src/generators/setup-mf/lib/generate-config.d.ts +1 -1
- package/src/generators/setup-mf/lib/generate-config.js +5 -5
- package/src/generators/setup-mf/lib/index.d.ts +2 -0
- package/src/generators/setup-mf/lib/index.js +2 -0
- package/src/generators/setup-mf/lib/index.js.map +1 -1
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.d.ts +3 -0
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js +61 -0
- package/src/generators/setup-mf/lib/remove-dead-code-from-remote.js.map +1 -0
- package/src/generators/setup-mf/lib/setup-host-if-dynamic.js +1 -1
- package/src/generators/setup-mf/lib/setup-host-if-dynamic.js.map +1 -1
- package/src/generators/setup-mf/lib/setup-serve-target.js +1 -1
- package/src/generators/setup-mf/lib/setup-serve-target.js.map +1 -1
- package/src/generators/setup-mf/lib/update-host-app-routes.d.ts +3 -0
- package/src/generators/setup-mf/lib/update-host-app-routes.js +38 -0
- package/src/generators/setup-mf/lib/update-host-app-routes.js.map +1 -0
- package/src/generators/setup-mf/schema.json +9 -5
- package/src/generators/setup-mf/setup-mf.js +15 -3
- package/src/generators/setup-mf/setup-mf.js.map +1 -1
- package/src/generators/setup-ssr/files/__serverFileName__ +60 -0
- package/src/generators/setup-ssr/files/src/__main__ +11 -0
- package/src/generators/setup-ssr/files/src/app/__rootModuleFileName__ +14 -0
- package/src/generators/setup-ssr/files/src/main.ts__tpl__ +16 -0
- package/src/generators/setup-ssr/files/tsconfig.server.json__tpl__ +15 -0
- package/src/generators/setup-ssr/lib/generate-files.d.ts +3 -0
- package/src/generators/setup-ssr/lib/generate-files.js +11 -0
- package/src/generators/setup-ssr/lib/generate-files.js.map +1 -0
- package/src/generators/setup-ssr/lib/index.d.ts +4 -0
- package/src/generators/setup-ssr/lib/index.js +8 -0
- package/src/generators/setup-ssr/lib/index.js.map +1 -0
- package/src/generators/setup-ssr/lib/normalize-options.d.ts +12 -0
- package/src/generators/setup-ssr/lib/normalize-options.js +19 -0
- package/src/generators/setup-ssr/lib/normalize-options.js.map +1 -0
- package/src/generators/setup-ssr/lib/update-app-module.d.ts +3 -0
- package/src/generators/setup-ssr/lib/update-app-module.js +23 -0
- package/src/generators/setup-ssr/lib/update-app-module.js.map +1 -0
- package/src/generators/setup-ssr/lib/update-project-config.d.ts +3 -0
- package/src/generators/setup-ssr/lib/update-project-config.js +73 -0
- package/src/generators/setup-ssr/lib/update-project-config.js.map +1 -0
- package/src/generators/setup-ssr/schema.d.ts +10 -0
- package/src/generators/setup-ssr/schema.json +60 -0
- package/src/generators/setup-ssr/setup-ssr.compat.js +6 -0
- package/src/generators/setup-ssr/setup-ssr.compat.js.map +1 -0
- package/src/generators/setup-ssr/setup-ssr.d.ts +4 -0
- package/src/generators/setup-ssr/setup-ssr.js +33 -0
- package/src/generators/setup-ssr/setup-ssr.js.map +1 -0
- package/src/generators/setup-tailwind/lib/detect-tailwind-installed-version.js +5 -5
- package/src/generators/setup-tailwind/lib/detect-tailwind-installed-version.js.map +1 -1
- package/src/generators/setup-tailwind/schema.json +6 -3
- package/src/generators/stories/schema.json +6 -3
- package/src/generators/stories/stories.js +0 -1
- package/src/generators/stories/stories.js.map +1 -1
- package/src/generators/storybook-configuration/lib/generate-storybook-configuration.d.ts +1 -1
- package/src/generators/storybook-configuration/lib/generate-storybook-configuration.js +6 -2
- package/src/generators/storybook-configuration/lib/generate-storybook-configuration.js.map +1 -1
- package/src/generators/storybook-configuration/schema.d.ts +2 -1
- package/src/generators/storybook-configuration/schema.json +20 -8
- package/src/generators/utils/create-ts-config.d.ts +8 -0
- package/src/generators/utils/create-ts-config.js +36 -0
- package/src/generators/utils/create-ts-config.js.map +1 -0
- package/src/generators/utils/export-scam.d.ts +1 -1
- package/src/generators/utils/file-info.d.ts +3 -3
- package/src/generators/utils/file-info.js +3 -4
- package/src/generators/utils/file-info.js.map +1 -1
- package/src/generators/utils/find-module.d.ts +4 -0
- package/src/generators/utils/find-module.js +59 -0
- package/src/generators/utils/find-module.js.map +1 -0
- package/src/generators/utils/get-new-project-name.d.ts +6 -0
- package/src/generators/utils/get-new-project-name.js +13 -0
- package/src/generators/utils/get-new-project-name.js.map +1 -0
- package/src/generators/utils/index.d.ts +1 -0
- package/src/generators/utils/index.js +1 -0
- package/src/generators/utils/index.js.map +1 -1
- package/src/generators/utils/insert-ngmodule-import.d.ts +1 -2
- package/src/generators/utils/insert-ngmodule-import.js +42 -21
- package/src/generators/utils/insert-ngmodule-import.js.map +1 -1
- package/src/generators/utils/path.d.ts +2 -0
- package/src/generators/utils/path.js +19 -4
- package/src/generators/utils/path.js.map +1 -1
- package/src/generators/utils/storybook-ast/component-info.js +26 -11
- package/src/generators/utils/storybook-ast/component-info.js.map +1 -1
- package/src/generators/utils/storybook-ast/entry-point.d.ts +1 -1
- package/src/generators/utils/storybook-ast/module-info.js +49 -24
- package/src/generators/utils/storybook-ast/module-info.js.map +1 -1
- package/src/generators/utils/storybook-ast/storybook-inputs.d.ts +1 -1
- package/src/generators/utils/storybook-ast/storybook-inputs.js +20 -9
- package/src/generators/utils/storybook-ast/storybook-inputs.js.map +1 -1
- package/src/generators/utils/testing.d.ts +8 -0
- package/src/generators/utils/testing.js +44 -7
- package/src/generators/utils/testing.js.map +1 -1
- package/src/generators/utils/types.d.ts +1 -1
- package/src/generators/utils/version-utils.d.ts +14 -0
- package/src/generators/utils/version-utils.js +64 -0
- package/src/generators/utils/version-utils.js.map +1 -0
- package/src/generators/web-worker/lib/update-tsconfig.js +2 -2
- package/src/generators/web-worker/lib/update-tsconfig.js.map +1 -1
- package/src/generators/web-worker/schema.json +12 -4
- package/src/generators/web-worker/web-worker.js +2 -2
- package/src/generators/web-worker/web-worker.js.map +1 -1
- package/src/migrations/update-14-2-0/remove-show-circular-dependencies-option.js +1 -1
- package/src/migrations/update-14-2-0/remove-show-circular-dependencies-option.js.map +1 -1
- package/src/migrations/update-14-2-0/update-router-initial-navigation.js +5 -1
- package/src/migrations/update-14-2-0/update-router-initial-navigation.js.map +1 -1
- package/src/migrations/update-14-2-0/update-tsconfig-target.js +1 -1
- package/src/migrations/update-14-2-0/update-tsconfig-target.js.map +1 -1
- package/src/migrations/update-14-8-0/rename-webpack-server.d.ts +2 -0
- package/src/migrations/update-14-8-0/rename-webpack-server.js +22 -0
- package/src/migrations/update-14-8-0/rename-webpack-server.js.map +1 -0
- package/src/migrations/update-15-0-0/add-karma-inputs.js +47 -0
- package/src/migrations/update-15-0-0/add-karma-inputs.js.map +1 -0
- package/src/migrations/update-15-0-0/switch-to-jasmine-marbles.d.ts +2 -0
- package/src/migrations/update-15-0-0/switch-to-jasmine-marbles.js +94 -0
- package/src/migrations/update-15-0-0/switch-to-jasmine-marbles.js.map +1 -0
- package/src/migrations/update-15-2-0/remove-browserlist-config.d.ts +3 -0
- package/src/migrations/update-15-2-0/remove-browserlist-config.js +62 -0
- package/src/migrations/update-15-2-0/remove-browserlist-config.js.map +1 -0
- package/src/migrations/update-15-2-0/remove-platform-server-exports.js +65 -0
- package/src/migrations/update-15-2-0/remove-platform-server-exports.js.map +1 -0
- package/src/migrations/{update-12-0-0/update-ngcc-postinstall.js → update-15-2-0/update-angular-cli.js} +8 -3
- package/src/migrations/update-15-2-0/update-angular-cli.js.map +1 -0
- package/src/migrations/update-15-2-0/update-karma-main-file.js +73 -0
- package/src/migrations/update-15-2-0/update-karma-main-file.js.map +1 -0
- package/src/migrations/update-15-2-0/update-typescript-target.d.ts +2 -0
- package/src/migrations/update-15-2-0/update-typescript-target.js +52 -0
- package/src/migrations/update-15-2-0/update-typescript-target.js.map +1 -0
- package/src/migrations/update-15-2-0/update-workspace-config.d.ts +2 -0
- package/src/migrations/update-15-2-0/update-workspace-config.js +28 -0
- package/src/migrations/update-15-2-0/update-workspace-config.js.map +1 -0
- package/src/migrations/update-15-5-0/update-angular-cli.js +27 -0
- package/src/migrations/update-15-5-0/update-angular-cli.js.map +1 -0
- package/src/migrations/update-15-7-0/install-required-packages.js +39 -0
- package/src/migrations/update-15-7-0/install-required-packages.js.map +1 -0
- package/src/migrations/update-15-8-0/update-angular-cli.js +27 -0
- package/src/migrations/update-15-8-0/update-angular-cli.js.map +1 -0
- package/src/runtime/nx/data-persistence.d.ts +8 -50
- package/src/runtime/nx/data-persistence.js +1 -57
- package/src/runtime/nx/data-persistence.js.map +1 -1
- package/src/utils/backward-compatible-versions.d.ts +6 -0
- package/src/utils/backward-compatible-versions.js +36 -0
- package/src/utils/backward-compatible-versions.js.map +1 -0
- package/src/utils/cli-config-utils.d.ts +1 -0
- package/src/utils/cli-config-utils.js +46 -0
- package/src/utils/cli-config-utils.js.map +1 -0
- package/src/{generators/ng-add/utilities → utils}/file-change-recorder.d.ts +1 -1
- package/src/{generators/ng-add/utilities → utils}/file-change-recorder.js +7 -7
- package/src/utils/file-change-recorder.js.map +1 -0
- package/src/utils/get-mf-projects.js +4 -4
- package/src/utils/get-mf-projects.js.map +1 -1
- package/src/utils/mf/utils.d.ts +12 -17
- package/src/utils/mf/utils.js +50 -47
- package/src/utils/mf/utils.js.map +1 -1
- package/src/utils/mf/with-module-federation-ssr.d.ts +2 -0
- package/src/utils/mf/with-module-federation-ssr.js +45 -0
- package/src/utils/mf/with-module-federation-ssr.js.map +1 -0
- package/src/utils/mf/with-module-federation.d.ts +2 -16
- package/src/utils/mf/with-module-federation.js +2 -114
- package/src/utils/mf/with-module-federation.js.map +1 -1
- package/src/utils/nx-devkit/ast-utils.d.ts +10 -2
- package/src/utils/nx-devkit/ast-utils.js +135 -58
- package/src/utils/nx-devkit/ast-utils.js.map +1 -1
- package/src/utils/nx-devkit/route-utils.d.ts +3 -0
- package/src/utils/nx-devkit/route-utils.js +87 -0
- package/src/utils/nx-devkit/route-utils.js.map +1 -0
- package/src/utils/nx-devkit/testing.js +12 -24
- package/src/utils/nx-devkit/testing.js.map +1 -1
- package/src/utils/test-runners.d.ts +0 -1
- package/src/utils/test-runners.js +0 -1
- package/src/utils/test-runners.js.map +1 -1
- package/src/utils/version-utils.d.ts +3 -0
- package/src/utils/version-utils.js +22 -0
- package/src/utils/version-utils.js.map +1 -0
- package/src/utils/versions.d.ts +13 -13
- package/src/utils/versions.js +14 -14
- package/src/utils/versions.js.map +1 -1
- package/tailwind.js +1 -1
- package/tailwind.js.map +1 -1
- package/testing/index.d.ts +0 -17
- package/testing/index.js +1 -18
- package/testing/index.js.map +1 -1
- package/testing/src/testing-utils.d.ts +4 -0
- package/testing/src/testing-utils.js +4 -0
- package/testing/src/testing-utils.js.map +1 -1
- package/esm2020/src/runtime/nx/nx.module.mjs +0 -23
- package/scripts/nx-cli-warning.js +0 -40
- package/src/builders/webpack-server/lib/index.js.map +0 -1
- package/src/builders/webpack-server/lib/normalize-options.js.map +0 -1
- package/src/generators/application/files/tsconfig.json +0 -10
- package/src/generators/application/lib/add-mf.js +0 -24
- package/src/generators/application/lib/add-mf.js.map +0 -1
- package/src/generators/application/lib/set-default-project.js +0 -13
- package/src/generators/application/lib/set-default-project.js.map +0 -1
- package/src/generators/change-storybook-targets/change-storybook-targets.d.ts +0 -4
- package/src/generators/change-storybook-targets/change-storybook-targets.js +0 -17
- package/src/generators/change-storybook-targets/change-storybook-targets.js.map +0 -1
- package/src/generators/change-storybook-targets/compat.js +0 -6
- package/src/generators/change-storybook-targets/compat.js.map +0 -1
- package/src/generators/change-storybook-targets/schema.d.ts +0 -3
- package/src/generators/change-storybook-targets/schema.json +0 -17
- package/src/generators/downgrade-module/compat.d.ts +0 -2
- package/src/generators/downgrade-module/compat.js +0 -6
- package/src/generators/downgrade-module/compat.js.map +0 -1
- package/src/generators/downgrade-module/downgrade-module.d.ts +0 -4
- package/src/generators/downgrade-module/downgrade-module.js +0 -26
- package/src/generators/downgrade-module/downgrade-module.js.map +0 -1
- package/src/generators/downgrade-module/files/main.ts__tmpl__ +0 -26
- package/src/generators/downgrade-module/lib/add-entry-components-to-module.d.ts +0 -3
- package/src/generators/downgrade-module/lib/add-entry-components-to-module.js +0 -10
- package/src/generators/downgrade-module/lib/add-entry-components-to-module.js.map +0 -1
- package/src/generators/downgrade-module/lib/index.d.ts +0 -4
- package/src/generators/downgrade-module/lib/index.js +0 -8
- package/src/generators/downgrade-module/lib/index.js.map +0 -1
- package/src/generators/downgrade-module/lib/normalize-options.d.ts +0 -2
- package/src/generators/downgrade-module/lib/normalize-options.js +0 -9
- package/src/generators/downgrade-module/lib/normalize-options.js.map +0 -1
- package/src/generators/downgrade-module/lib/update-main.d.ts +0 -3
- package/src/generators/downgrade-module/lib/update-main.js +0 -20
- package/src/generators/downgrade-module/lib/update-main.js.map +0 -1
- package/src/generators/downgrade-module/lib/update-module-bootstrap.d.ts +0 -3
- package/src/generators/downgrade-module/lib/update-module-bootstrap.js +0 -15
- package/src/generators/downgrade-module/lib/update-module-bootstrap.js.map +0 -1
- package/src/generators/downgrade-module/schema.d.ts +0 -7
- package/src/generators/downgrade-module/schema.json +0 -38
- package/src/generators/karma/compat.d.ts +0 -2
- package/src/generators/karma/compat.js +0 -6
- package/src/generators/karma/compat.js.map +0 -1
- package/src/generators/karma/files/karma.conf.js__tmpl__ +0 -44
- package/src/generators/karma/karma.d.ts +0 -4
- package/src/generators/karma/karma.js +0 -57
- package/src/generators/karma/karma.js.map +0 -1
- package/src/generators/karma/schema.d.ts +0 -3
- package/src/generators/karma/schema.json +0 -17
- package/src/generators/karma-project/compat.d.ts +0 -2
- package/src/generators/karma-project/compat.js +0 -6
- package/src/generators/karma-project/compat.js.map +0 -1
- package/src/generators/karma-project/files/karma.conf.js__tmpl__ +0 -16
- package/src/generators/karma-project/files/src/test.ts__tmpl__ +0 -22
- package/src/generators/karma-project/files/tsconfig.spec.json +0 -9
- package/src/generators/karma-project/karma-project.d.ts +0 -4
- package/src/generators/karma-project/karma-project.js +0 -25
- package/src/generators/karma-project/karma-project.js.map +0 -1
- package/src/generators/karma-project/lib/check-test-target.d.ts +0 -2
- package/src/generators/karma-project/lib/check-test-target.js +0 -12
- package/src/generators/karma-project/lib/check-test-target.js.map +0 -1
- package/src/generators/karma-project/lib/generate-karma-project-files.d.ts +0 -2
- package/src/generators/karma-project/lib/generate-karma-project-files.js +0 -15
- package/src/generators/karma-project/lib/generate-karma-project-files.js.map +0 -1
- package/src/generators/karma-project/lib/update-tsconfig.d.ts +0 -2
- package/src/generators/karma-project/lib/update-tsconfig.js +0 -21
- package/src/generators/karma-project/lib/update-tsconfig.js.map +0 -1
- package/src/generators/karma-project/lib/update-workspace-config.d.ts +0 -2
- package/src/generators/karma-project/lib/update-workspace-config.js +0 -29
- package/src/generators/karma-project/lib/update-workspace-config.js.map +0 -1
- package/src/generators/karma-project/schema.d.ts +0 -5
- package/src/generators/karma-project/schema.json +0 -27
- package/src/generators/library/files/lib/tsconfig.json__tpl__ +0 -14
- package/src/generators/ng-add/files/prettier/__dot__prettierignore +0 -4
- package/src/generators/ng-add/utilities/app.migrator.js.map +0 -1
- package/src/generators/ng-add/utilities/e2e.migrator.js.map +0 -1
- package/src/generators/ng-add/utilities/file-change-recorder.js.map +0 -1
- package/src/generators/ng-add/utilities/get-all-projects.d.ts +0 -3
- package/src/generators/ng-add/utilities/get-all-projects.js +0 -26
- package/src/generators/ng-add/utilities/get-all-projects.js.map +0 -1
- package/src/generators/ng-add/utilities/lib.migrator.d.ts +0 -24
- package/src/generators/ng-add/utilities/lib.migrator.js +0 -268
- package/src/generators/ng-add/utilities/lib.migrator.js.map +0 -1
- package/src/generators/ng-add/utilities/project.migrator.d.ts +0 -36
- package/src/generators/ng-add/utilities/project.migrator.js +0 -242
- package/src/generators/ng-add/utilities/project.migrator.js.map +0 -1
- package/src/generators/ng-add/utilities/validate-projects.d.ts +0 -2
- package/src/generators/ng-add/utilities/validate-projects.js +0 -46
- package/src/generators/ng-add/utilities/validate-projects.js.map +0 -1
- package/src/generators/ngrx/files/__directory__/__fileName__.effects.ts__tmpl__ +0 -37
- package/src/generators/upgrade-module/compat.d.ts +0 -2
- package/src/generators/upgrade-module/compat.js +0 -6
- package/src/generators/upgrade-module/compat.js.map +0 -1
- package/src/generators/upgrade-module/files/__name__-setup.ts__tmpl__ +0 -39
- package/src/generators/upgrade-module/files/hybrid.spec.ts__tmpl__ +0 -32
- package/src/generators/upgrade-module/lib/add-imports-to-module.d.ts +0 -3
- package/src/generators/upgrade-module/lib/add-imports-to-module.js +0 -17
- package/src/generators/upgrade-module/lib/add-imports-to-module.js.map +0 -1
- package/src/generators/upgrade-module/lib/create-files.d.ts +0 -3
- package/src/generators/upgrade-module/lib/create-files.js +0 -13
- package/src/generators/upgrade-module/lib/create-files.js.map +0 -1
- package/src/generators/upgrade-module/lib/index.d.ts +0 -4
- package/src/generators/upgrade-module/lib/index.js +0 -8
- package/src/generators/upgrade-module/lib/index.js.map +0 -1
- package/src/generators/upgrade-module/lib/normalize-options.d.ts +0 -2
- package/src/generators/upgrade-module/lib/normalize-options.js +0 -9
- package/src/generators/upgrade-module/lib/normalize-options.js.map +0 -1
- package/src/generators/upgrade-module/lib/update-module-bootstrap.d.ts +0 -3
- package/src/generators/upgrade-module/lib/update-module-bootstrap.js +0 -24
- package/src/generators/upgrade-module/lib/update-module-bootstrap.js.map +0 -1
- package/src/generators/upgrade-module/schema.d.ts +0 -9
- package/src/generators/upgrade-module/schema.json +0 -47
- package/src/generators/upgrade-module/upgrade-module.d.ts +0 -4
- package/src/generators/upgrade-module/upgrade-module.js +0 -26
- package/src/generators/upgrade-module/upgrade-module.js.map +0 -1
- package/src/generators/utils/upgrade.d.ts +0 -2
- package/src/generators/utils/upgrade.js +0 -25
- package/src/generators/utils/upgrade.js.map +0 -1
- package/src/migrations/update-12-0-0/update-ngcc-postinstall.js.map +0 -1
- package/src/migrations/update-12-3-0/convert-webpack-browser-build-target-to-delegate-build.d.ts +0 -2
- package/src/migrations/update-12-3-0/convert-webpack-browser-build-target-to-delegate-build.js +0 -97
- package/src/migrations/update-12-3-0/convert-webpack-browser-build-target-to-delegate-build.js.map +0 -1
- package/src/migrations/update-12-3-0/update-angular-eslint-rules.js +0 -60
- package/src/migrations/update-12-3-0/update-angular-eslint-rules.js.map +0 -1
- package/src/migrations/update-12-3-0/update-storybook.d.ts +0 -2
- package/src/migrations/update-12-3-0/update-storybook.js +0 -64
- package/src/migrations/update-12-3-0/update-storybook.js.map +0 -1
- package/src/migrations/update-12-3-0/update-webpack-browser-config.d.ts +0 -2
- package/src/migrations/update-12-3-0/update-webpack-browser-config.js +0 -67
- package/src/migrations/update-12-3-0/update-webpack-browser-config.js.map +0 -1
- package/src/migrations/update-12-9-0/update-invalid-import-paths.d.ts +0 -10
- package/src/migrations/update-12-9-0/update-invalid-import-paths.js +0 -94
- package/src/migrations/update-12-9-0/update-invalid-import-paths.js.map +0 -1
- package/src/migrations/update-13-0-0/add-postcss-packages.d.ts +0 -2
- package/src/migrations/update-13-0-0/add-postcss-packages.js +0 -23
- package/src/migrations/update-13-0-0/add-postcss-packages.js.map +0 -1
- package/src/migrations/update-13-2-0/opt-out-testbed-teardown.js +0 -231
- package/src/migrations/update-13-2-0/opt-out-testbed-teardown.js.map +0 -1
- package/src/migrations/update-13-2-0/update-angular-config.js +0 -37
- package/src/migrations/update-13-2-0/update-angular-config.js.map +0 -1
- package/src/migrations/update-13-2-0/update-angular-jest-config.d.ts +0 -3
- package/src/migrations/update-13-2-0/update-angular-jest-config.js +0 -79
- package/src/migrations/update-13-2-0/update-angular-jest-config.js.map +0 -1
- package/src/migrations/update-13-2-0/update-libraries.js +0 -59
- package/src/migrations/update-13-2-0/update-libraries.js.map +0 -1
- package/src/migrations/update-13-2-0/update-testing-imports.js +0 -108
- package/src/migrations/update-13-2-0/update-testing-imports.js.map +0 -1
- package/src/migrations/update-13-3-0/update-mfe-webpack-config.d.ts +0 -6
- package/src/migrations/update-13-3-0/update-mfe-webpack-config.js +0 -120
- package/src/migrations/update-13-3-0/update-mfe-webpack-config.js.map +0 -1
- package/src/migrations/update-13-5-0/remove-library-generator-style-default.js +0 -24
- package/src/migrations/update-13-5-0/remove-library-generator-style-default.js.map +0 -1
- package/src/migrations/update-13-5-0/update-mfe-config.test-data.d.ts +0 -20
- package/src/migrations/update-13-5-0/update-mfe-config.test-data.js +0 -718
- package/src/migrations/update-13-5-0/update-mfe-config.test-data.js.map +0 -1
- package/src/migrations/update-13-5-0/update-mfe-configs.d.ts +0 -5
- package/src/migrations/update-13-5-0/update-mfe-configs.js +0 -157
- package/src/migrations/update-13-5-0/update-mfe-configs.js.map +0 -1
- package/src/migrations/update-13-8-1/add-cypress-mf-workaround.d.ts +0 -2
- package/src/migrations/update-13-8-1/add-cypress-mf-workaround.js +0 -38
- package/src/migrations/update-13-8-1/add-cypress-mf-workaround.js.map +0 -1
- package/src/migrations/update-13-8-4/migrate-karma-conf.d.ts +0 -2
- package/src/migrations/update-13-8-4/migrate-karma-conf.js +0 -39
- package/src/migrations/update-13-8-4/migrate-karma-conf.js.map +0 -1
- package/src/migrations/update-13-9-0/set-build-libs-from-source.d.ts +0 -2
- package/src/migrations/update-13-9-0/set-build-libs-from-source.js +0 -27
- package/src/migrations/update-13-9-0/set-build-libs-from-source.js.map +0 -1
- package/src/migrations/update-14-0-0/rename-mf-config.d.ts +0 -2
- package/src/migrations/update-14-0-0/rename-mf-config.js +0 -27
- package/src/migrations/update-14-0-0/rename-mf-config.js.map +0 -1
- package/src/migrations/update-14-5-7/update-rxjs.d.ts +0 -2
- package/src/migrations/update-14-5-7/update-rxjs.js +0 -30
- package/src/migrations/update-14-5-7/update-rxjs.js.map +0 -1
- package/src/runtime/nx/nx.module.d.ts +0 -15
- package/src/runtime/nx/nx.module.js +0 -24
- package/src/runtime/nx/nx.module.js.map +0 -1
- package/src/utils/mf/mf-webpack.d.ts +0 -15
- package/src/utils/mf/mf-webpack.js +0 -185
- package/src/utils/mf/mf-webpack.js.map +0 -1
- package/src/utils/mf/typescript.d.ts +0 -2
- package/src/utils/mf/typescript.js +0 -28
- package/src/utils/mf/typescript.js.map +0 -1
- package/src/utils/nx-devkit/standalone-utils.d.ts +0 -2
- package/src/utils/nx-devkit/standalone-utils.js +0 -37
- package/src/utils/nx-devkit/standalone-utils.js.map +0 -1
- /package/src/builders/{webpack-server → webpack-dev-server}/lib/index.d.ts +0 -0
- /package/src/builders/{webpack-server → webpack-dev-server}/lib/index.js +0 -0
- /package/src/builders/{webpack-server → webpack-dev-server}/lib/normalize-options.d.ts +0 -0
- /package/src/builders/{webpack-server → webpack-dev-server}/lib/normalize-options.js +0 -0
- /package/src/generators/ngrx/files/{__directory__ → latest/__directory__}/__fileName__.actions.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{__directory__ → latest/__directory__}/__fileName__.models.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{__directory__ → latest/__directory__}/__fileName__.reducer.spec.ts__tmpl__ +0 -0
- /package/src/generators/ngrx/files/{__directory__ → latest/__directory__}/__fileName__.reducer.ts__tmpl__ +0 -0
- /package/src/generators/{host/files → setup-mf/files/host-files}/app.component.spec.ts__tmpl__ +0 -0
- /package/src/generators/{change-storybook-targets/compat.d.ts → setup-ssr/setup-ssr.compat.d.ts} +0 -0
- /package/src/migrations/{update-12-3-0/update-angular-eslint-rules.d.ts → update-15-0-0/add-karma-inputs.d.ts} +0 -0
- /package/src/migrations/{update-12-0-0/update-ngcc-postinstall.d.ts → update-15-2-0/remove-platform-server-exports.d.ts} +0 -0
- /package/src/migrations/{update-13-2-0/opt-out-testbed-teardown.d.ts → update-15-2-0/update-angular-cli.d.ts} +0 -0
- /package/src/migrations/{update-13-2-0/update-angular-config.d.ts → update-15-2-0/update-karma-main-file.d.ts} +0 -0
- /package/src/migrations/{update-13-2-0/update-testing-imports.d.ts → update-15-5-0/update-angular-cli.d.ts} +0 -0
- /package/src/migrations/{update-13-2-0/update-libraries.d.ts → update-15-7-0/install-required-packages.d.ts} +0 -0
- /package/src/migrations/{update-13-5-0/remove-library-generator-style-default.d.ts → update-15-8-0/update-angular-cli.d.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @nrwl/angular
|
package/LICENSE
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
(The MIT License)
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2017-
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
-
a copy of this software and associated documentation files (the
|
|
7
|
-
'Software'), to deal in the Software without restriction, including
|
|
8
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
-
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
-
the following conditions:
|
|
12
|
-
|
|
13
|
-
The above copyright notice and this permission notice shall be
|
|
14
|
-
included in all copies or substantial portions of the Software.
|
|
15
|
-
|
|
16
|
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
19
|
-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
20
|
-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
21
|
-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
22
|
-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1
|
+
(The MIT License)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2017-2023 Narwhal Technologies Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
a copy of this software and associated documentation files (the
|
|
7
|
+
'Software'), to deal in the Software without restriction, including
|
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
+
the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be
|
|
14
|
+
included in all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
19
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
20
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
21
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
22
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
CHANGED
|
@@ -43,40 +43,19 @@ npm init nx-workspace
|
|
|
43
43
|
yarn create nx-workspace
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
? What to create in the new workspace (Use arrow keys)
|
|
50
|
-
❯ apps [an empty workspace with no plugins with a layout that works best for building apps]
|
|
51
|
-
core [an empty workspace with no plugins set up to publish npm packages (similar to yarn workspaces)]
|
|
52
|
-
ts [an empty workspace with the JS/TS plugin preinstalled]
|
|
53
|
-
react [a workspace with a single React application]
|
|
54
|
-
angular [a workspace with a single Angular application]
|
|
55
|
-
next.js [a workspace with a single Next.js application]
|
|
56
|
-
nest [a workspace with a single Nest application]
|
|
57
|
-
express [a workspace with a single Express application]
|
|
58
|
-
web components [a workspace with a single app built using web components]
|
|
59
|
-
react-native [a workspace with a single React Native application]
|
|
60
|
-
react-express [a workspace with a full stack application (React + Express)]
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
Select the preset that works best for you
|
|
64
|
-
|
|
65
|
-
### Adding Nx to an Existing Monorepo
|
|
46
|
+
### Adding Nx to an Existing Repository
|
|
66
47
|
|
|
67
48
|
Run:
|
|
68
49
|
|
|
69
50
|
```bash
|
|
70
|
-
npx
|
|
51
|
+
npx nx@latest init
|
|
71
52
|
```
|
|
72
53
|
|
|
73
54
|
## Documentation & Resources
|
|
74
55
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
- [Nx
|
|
78
|
-
- [Tutorial: Adding Nx to an Existing Monorepo](/recipe/adding-to-monorepo)
|
|
79
|
-
- [Official Nx YouTube Channel](https://www.youtube.com/c/Nrwl_io)
|
|
56
|
+
- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
|
|
57
|
+
- [Intro to Nx](https://nx.dev/getting-started/intro)
|
|
58
|
+
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
|
|
80
59
|
- [Blog Posts About Nx](https://blog.nrwl.io/nx/home)
|
|
81
60
|
|
|
82
61
|
<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg"
|
package/esm2020/index.mjs
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLEtBQUssRUFDTCxVQUFVLEVBQ1YsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNsQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIERhdGFQZXJzaXN0ZW5jZSxcbiAgZmV0Y2gsXG4gIG5hdmlnYXRpb24sXG4gIG9wdGltaXN0aWNVcGRhdGUsXG4gIHBlc3NpbWlzdGljVXBkYXRlLFxufSBmcm9tICcuL3NyYy9ydW50aW1lL254L2RhdGEtcGVyc2lzdGVuY2UnO1xuZXhwb3J0IHsgTnhNb2R1bGUgfSBmcm9tICcuL3NyYy9ydW50aW1lL254L254Lm1vZHVsZSc7XG4iXX0=
|
|
1
|
+
export { fetch, navigation, optimisticUpdate, pessimisticUpdate, } from './src/runtime/nx/data-persistence';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ2xCLE1BQU0sbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBmZXRjaCxcbiAgbmF2aWdhdGlvbixcbiAgb3B0aW1pc3RpY1VwZGF0ZSxcbiAgcGVzc2ltaXN0aWNVcGRhdGUsXG59IGZyb20gJy4vc3JjL3J1bnRpbWUvbngvZGF0YS1wZXJzaXN0ZW5jZSc7XG4iXX0=
|
package/esm2020/mf/mf.mjs
CHANGED
|
@@ -36,10 +36,13 @@ async function loadRemoteContainer(remoteName) {
|
|
|
36
36
|
const remoteUrl = remoteUrlDefinitions
|
|
37
37
|
? remoteUrlDefinitions[remoteName]
|
|
38
38
|
: await resolveRemoteUrl(remoteName);
|
|
39
|
-
|
|
39
|
+
let containerUrl = remoteUrl;
|
|
40
|
+
if (!remoteUrl.endsWith('.mjs') && !remoteUrl.endsWith('.js')) {
|
|
41
|
+
containerUrl = `${remoteUrl}${remoteUrl.endsWith('/') ? '' : '/'}remoteEntry.mjs`;
|
|
42
|
+
}
|
|
40
43
|
const container = await loadModule(containerUrl);
|
|
41
44
|
await container.init(__webpack_share_scopes__.default);
|
|
42
45
|
remoteContainerMap.set(remoteName, container);
|
|
43
46
|
return container;
|
|
44
47
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9tZi9tZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxJQUFJLGdCQUEwQyxDQUFDO0FBQy9DLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsaUJBQTJDO0lBRTNDLGdCQUFnQixHQUFHLGlCQUFpQixDQUFDO0FBQ3ZDLENBQUM7QUFFRCxJQUFJLG9CQUE0QyxDQUFDO0FBQ2pELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxXQUFtQztJQUN0RSxvQkFBb0IsR0FBRyxXQUFXLENBQUM7QUFDckMsQ0FBQztBQUVELElBQUksZUFBZSxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO0FBQ2pELElBQUksa0JBQWtCLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7QUFDcEQsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO0lBQzNFLE1BQU0sZUFBZSxHQUFHLEdBQUcsVUFBVSxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQ3RELElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUN4QyxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDN0M7SUFFRCxNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO1FBQ2xELENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxNQUFNLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTFDLE1BQU0sT0FBTyxHQUFHLE1BQU0sU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRCxNQUFNLE1BQU0sR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUV6QixlQUFlLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUU3QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsR0FBVztJQUM3QixPQUFPLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsSUFBSSwwQkFBMEIsR0FBRyxLQUFLLENBQUM7QUFDdkMsS0FBSyxVQUFVLG1CQUFtQixDQUFDLFVBQWtCO0lBQ25ELElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1FBQzlDLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0hBQWtILENBQ25ILENBQUM7S0FDSDtJQUVELElBQUksQ0FBQywwQkFBMEIsRUFBRTtRQUMvQiwwQkFBMEIsR0FBRyxJQUFJLENBQUM7UUFDbEMsTUFBTSx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUMzQztJQUVELE1BQU0sU0FBUyxHQUFHLG9CQUFvQjtRQUNwQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxNQUFNLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXZDLElBQUksWUFBWSxHQUFHLFNBQVMsQ0FBQztJQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDN0QsWUFBWSxHQUFHLEdBQUcsU0FBUyxHQUN6QixTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQ2pDLGlCQUFpQixDQUFDO0tBQ25CO0lBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakQsTUFBTSxTQUFTLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXZELGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUMsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFJlc29sdmVSZW1vdGVVcmxGdW5jdGlvbiA9IChcbiAgcmVtb3RlTmFtZTogc3RyaW5nXG4pID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPjtcblxuZGVjbGFyZSBjb25zdCBfX3dlYnBhY2tfaW5pdF9zaGFyaW5nX186IChzY29wZTogJ2RlZmF1bHQnKSA9PiBQcm9taXNlPHZvaWQ+O1xuZGVjbGFyZSBjb25zdCBfX3dlYnBhY2tfc2hhcmVfc2NvcGVzX186IHsgZGVmYXVsdDogdW5rbm93biB9O1xuXG5sZXQgcmVzb2x2ZVJlbW90ZVVybDogUmVzb2x2ZVJlbW90ZVVybEZ1bmN0aW9uO1xuZXhwb3J0IGZ1bmN0aW9uIHNldFJlbW90ZVVybFJlc29sdmVyKFxuICBfcmVzb2x2ZVJlbW90ZVVybDogUmVzb2x2ZVJlbW90ZVVybEZ1bmN0aW9uXG4pIHtcbiAgcmVzb2x2ZVJlbW90ZVVybCA9IF9yZXNvbHZlUmVtb3RlVXJsO1xufVxuXG5sZXQgcmVtb3RlVXJsRGVmaW5pdGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5leHBvcnQgZnVuY3Rpb24gc2V0UmVtb3RlRGVmaW5pdGlvbnMoZGVmaW5pdGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgcmVtb3RlVXJsRGVmaW5pdGlvbnMgPSBkZWZpbml0aW9ucztcbn1cblxubGV0IHJlbW90ZU1vZHVsZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCB1bmtub3duPigpO1xubGV0IHJlbW90ZUNvbnRhaW5lck1hcCA9IG5ldyBNYXA8c3RyaW5nLCB1bmtub3duPigpO1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRSZW1vdGVNb2R1bGUocmVtb3RlTmFtZTogc3RyaW5nLCBtb2R1bGVOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgcmVtb3RlTW9kdWxlS2V5ID0gYCR7cmVtb3RlTmFtZX06JHttb2R1bGVOYW1lfWA7XG4gIGlmIChyZW1vdGVNb2R1bGVNYXAuaGFzKHJlbW90ZU1vZHVsZUtleSkpIHtcbiAgICByZXR1cm4gcmVtb3RlTW9kdWxlTWFwLmdldChyZW1vdGVNb2R1bGVLZXkpO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyID0gcmVtb3RlQ29udGFpbmVyTWFwLmhhcyhyZW1vdGVOYW1lKVxuICAgID8gcmVtb3RlQ29udGFpbmVyTWFwLmdldChyZW1vdGVOYW1lKVxuICAgIDogYXdhaXQgbG9hZFJlbW90ZUNvbnRhaW5lcihyZW1vdGVOYW1lKTtcblxuICBjb25zdCBmYWN0b3J5ID0gYXdhaXQgY29udGFpbmVyLmdldChtb2R1bGVOYW1lKTtcbiAgY29uc3QgTW9kdWxlID0gZmFjdG9yeSgpO1xuXG4gIHJlbW90ZU1vZHVsZU1hcC5zZXQocmVtb3RlTW9kdWxlS2V5LCBNb2R1bGUpO1xuXG4gIHJldHVybiBNb2R1bGU7XG59XG5cbmZ1bmN0aW9uIGxvYWRNb2R1bGUodXJsOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGltcG9ydCgvKiB3ZWJwYWNrSWdub3JlOnRydWUgKi8gdXJsKTtcbn1cblxubGV0IGluaXRpYWxTaGFyaW5nU2NvcGVDcmVhdGVkID0gZmFsc2U7XG5hc3luYyBmdW5jdGlvbiBsb2FkUmVtb3RlQ29udGFpbmVyKHJlbW90ZU5hbWU6IHN0cmluZykge1xuICBpZiAoIXJlc29sdmVSZW1vdGVVcmwgJiYgIXJlbW90ZVVybERlZmluaXRpb25zKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0NhbGwgc2V0UmVtb3RlRGVmaW5pdGlvbnMgb3Igc2V0UmVtb3RlVXJsUmVzb2x2ZXIgdG8gYWxsb3cgRHluYW1pYyBGZWRlcmF0aW9uIHRvIGZpbmQgdGhlIHJlbW90ZSBhcHBzIGNvcnJlY3RseS4nXG4gICAgKTtcbiAgfVxuXG4gIGlmICghaW5pdGlhbFNoYXJpbmdTY29wZUNyZWF0ZWQpIHtcbiAgICBpbml0aWFsU2hhcmluZ1Njb3BlQ3JlYXRlZCA9IHRydWU7XG4gICAgYXdhaXQgX193ZWJwYWNrX2luaXRfc2hhcmluZ19fKCdkZWZhdWx0Jyk7XG4gIH1cblxuICBjb25zdCByZW1vdGVVcmwgPSByZW1vdGVVcmxEZWZpbml0aW9uc1xuICAgID8gcmVtb3RlVXJsRGVmaW5pdGlvbnNbcmVtb3RlTmFtZV1cbiAgICA6IGF3YWl0IHJlc29sdmVSZW1vdGVVcmwocmVtb3RlTmFtZSk7XG5cbiAgbGV0IGNvbnRhaW5lclVybCA9IHJlbW90ZVVybDtcbiAgaWYgKCFyZW1vdGVVcmwuZW5kc1dpdGgoJy5tanMnKSAmJiAhcmVtb3RlVXJsLmVuZHNXaXRoKCcuanMnKSkge1xuICAgIGNvbnRhaW5lclVybCA9IGAke3JlbW90ZVVybH0ke1xuICAgICAgcmVtb3RlVXJsLmVuZHNXaXRoKCcvJykgPyAnJyA6ICcvJ1xuICAgIH1yZW1vdGVFbnRyeS5tanNgO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyID0gYXdhaXQgbG9hZE1vZHVsZShjb250YWluZXJVcmwpO1xuICBhd2FpdCBjb250YWluZXIuaW5pdChfX3dlYnBhY2tfc2hhcmVfc2NvcGVzX18uZGVmYXVsdCk7XG5cbiAgcmVtb3RlQ29udGFpbmVyTWFwLnNldChyZW1vdGVOYW1lLCBjb250YWluZXIpO1xuICByZXR1cm4gY29udGFpbmVyO1xufVxuIl19
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ofType } from '@ngrx/effects';
|
|
3
1
|
import { ROUTER_NAVIGATION } from '@ngrx/router-store';
|
|
4
2
|
import { isObservable, of } from 'rxjs';
|
|
5
|
-
import { catchError, concatMap, filter, groupBy, map, mergeMap, switchMap,
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@ngrx/store";
|
|
8
|
-
import * as i2 from "@ngrx/effects";
|
|
3
|
+
import { catchError, concatMap, filter, groupBy, map, mergeMap, switchMap, } from 'rxjs/operators';
|
|
9
4
|
/**
|
|
10
5
|
*
|
|
11
6
|
* @whatItDoes Handles pessimistic updates (updating the server first).
|
|
@@ -323,58 +318,6 @@ function normalizeActionAndState(args) {
|
|
|
323
318
|
}
|
|
324
319
|
return [action, ...slices];
|
|
325
320
|
}
|
|
326
|
-
/**
|
|
327
|
-
* @whatItDoes Provides convenience methods for implementing common operations of persisting data.
|
|
328
|
-
*
|
|
329
|
-
* @deprecated Use the individual operators instead. Will be removed in v15.
|
|
330
|
-
*/
|
|
331
|
-
export class DataPersistence {
|
|
332
|
-
constructor(store, actions) {
|
|
333
|
-
this.store = store;
|
|
334
|
-
this.actions = actions;
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* See {@link pessimisticUpdate} operator for more information.
|
|
338
|
-
*
|
|
339
|
-
* @deprecated Use the {@link pessimisticUpdate} operator instead.
|
|
340
|
-
* The {@link DataPersistence} class will be removed in v15.
|
|
341
|
-
*/
|
|
342
|
-
pessimisticUpdate(actionType, opts) {
|
|
343
|
-
return this.actions.pipe(ofType(actionType), withLatestFrom(this.store), pessimisticUpdate(opts));
|
|
344
|
-
}
|
|
345
|
-
/**
|
|
346
|
-
* See {@link optimisticUpdate} operator for more information.
|
|
347
|
-
*
|
|
348
|
-
* @deprecated Use the {@link optimisticUpdate} operator instead.
|
|
349
|
-
* The {@link DataPersistence} class will be removed in v15.
|
|
350
|
-
*/
|
|
351
|
-
optimisticUpdate(actionType, opts) {
|
|
352
|
-
return this.actions.pipe(ofType(actionType), withLatestFrom(this.store), optimisticUpdate(opts));
|
|
353
|
-
}
|
|
354
|
-
/**
|
|
355
|
-
* See {@link fetch} operator for more information.
|
|
356
|
-
*
|
|
357
|
-
* @deprecated Use the {@link fetch} operator instead.
|
|
358
|
-
* The {@link DataPersistence} class will be removed in v15.
|
|
359
|
-
*/
|
|
360
|
-
fetch(actionType, opts) {
|
|
361
|
-
return this.actions.pipe(ofType(actionType), withLatestFrom(this.store), fetch(opts));
|
|
362
|
-
}
|
|
363
|
-
/**
|
|
364
|
-
* See {@link navigation} operator for more information.
|
|
365
|
-
*
|
|
366
|
-
* @deprecated Use the {@link navigation} operator instead.
|
|
367
|
-
* The {@link DataPersistence} class will be removed in v15.
|
|
368
|
-
*/
|
|
369
|
-
navigation(component, opts) {
|
|
370
|
-
return this.actions.pipe(withLatestFrom(this.store), navigation(component, opts));
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
DataPersistence.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: DataPersistence, deps: [{ token: i1.Store }, { token: i2.Actions }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
374
|
-
DataPersistence.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: DataPersistence });
|
|
375
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: DataPersistence, decorators: [{
|
|
376
|
-
type: Injectable
|
|
377
|
-
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Actions }]; } });
|
|
378
321
|
function findSnapshot(component, s) {
|
|
379
322
|
if (s.routeConfig && s.routeConfig.component === component) {
|
|
380
323
|
return s;
|
|
@@ -398,4 +341,4 @@ function wrapIntoObservable(obj) {
|
|
|
398
341
|
return of(obj);
|
|
399
342
|
}
|
|
400
343
|
}
|
|
401
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wZXJzaXN0ZW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ydW50aW1lL254L2RhdGEtcGVyc2lzdGVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQVcsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBMEIsTUFBTSxvQkFBb0IsQ0FBQztBQUUvRSxPQUFPLEVBQUUsWUFBWSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEVBQ04sT0FBTyxFQUNQLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULGNBQWMsR0FDZixNQUFNLGdCQUFnQixDQUFDOzs7O0FBcUN4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3REc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLElBQWlDO0lBRWpDLE9BQU8sQ0FBQyxNQUFnQyxFQUFzQixFQUFFO1FBQzlELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDaEIsaUJBQWlCLEVBQUUsRUFDbkIsU0FBUyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ3hELENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlERztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsSUFBZ0M7SUFFaEMsT0FBTyxDQUFDLE1BQWdDLEVBQXNCLEVBQUU7UUFDOUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUNoQixpQkFBaUIs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LE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7SUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7UUFDMUIsTUFBTSxFQUFFLEdBQUcsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0QyxJQUFJLEVBQUUsRUFBRTtZQUNOLE9BQU8sRUFBRSxDQUFDO1NBQ1g7S0FDRjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUksR0FBNkI7SUFDMUQsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDckIsT0FBTyxHQUFHLENBQUM7S0FDWjtTQUFNLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDZixPQUFPLEVBQUUsRUFBRSxDQUFDO0tBQ2I7U0FBTTtRQUNMLE9BQU8sRUFBRSxDQUFDLEdBQVEsQ0FBQyxDQUFDO0tBQ3JCO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBST1VURVJfTkFWSUdBVElPTiwgUm91dGVyTmF2aWdhdGlvbkFjdGlvbiB9IGZyb20gJ0BuZ3J4L3JvdXRlci1zdG9yZSc7XG5pbXBvcnQgeyBBY3Rpb24sIFN0b3JlLCBBY3Rpb25DcmVhdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgY29uY2F0TWFwLFxuICBmaWx0ZXIsXG4gIGdyb3VwQnksXG4gIG1hcCxcbiAgbWVyZ2VNYXAsXG4gIHN3aXRjaE1hcCxcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBQZXNzaW1pc3RpY1VwZGF0ZU9wdHM8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBPiB7XG4gIHJ1bihhOiBBLCAuLi5zbGljZXM6IFsuLi5UXSk6IE9ic2VydmFibGU8QWN0aW9uPiB8IEFjdGlvbiB8IHZvaWQ7XG4gIG9uRXJyb3IoYTogQSwgZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHwgYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGltaXN0aWNVcGRhdGVPcHRzPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQT4ge1xuICBydW4oYTogQSwgLi4uc2xpY2VzOiBbLi4uVF0pOiBPYnNlcnZhYmxlPEFjdGlvbj4gfCBBY3Rpb24gfCB2b2lkO1xuICB1bmRvQWN0aW9uKGE6IEEsIGU6IGFueSk6IE9ic2VydmFibGU8QWN0aW9uPiB8IEFjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaE9wdHM8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBPiB7XG4gIGlkPyhhOiBBLCAuLi5zbGljZXM6IFsuLi5UXSk6IGFueTtcbiAgcnVuKGE6IEEsIC4uLnNsaWNlczogWy4uLlRdKTogT2JzZXJ2YWJsZTxBY3Rpb24+IHwgQWN0aW9uIHwgdm9pZDtcbiAgb25FcnJvcj8oYTogQSwgZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHwgYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbmRsZU5hdmlnYXRpb25PcHRzPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPj4ge1xuICBydW4oXG4gICAgYTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICAuLi5zbGljZXM6IFsuLi5UXVxuICApOiBPYnNlcnZhYmxlPEFjdGlvbj4gfCBBY3Rpb24gfCB2b2lkO1xuICBvbkVycm9yPyhhOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4gfCBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvbk9yQWN0aW9uV2l0aFN0YXRlczxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEE+ID1cbiAgfCBBXG4gIHwgW0EsIC4uLlRdO1xuZXhwb3J0IHR5cGUgQWN0aW9uT3JBY3Rpb25XaXRoU3RhdGU8VCwgQT4gPSBBY3Rpb25PckFjdGlvbldpdGhTdGF0ZXM8W1RdLCBBPjtcbmV4cG9ydCB0eXBlIEFjdGlvblN0YXRlc1N0cmVhbTxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEE+ID0gT2JzZXJ2YWJsZTxcbiAgQWN0aW9uT3JBY3Rpb25XaXRoU3RhdGVzPFQsIEE+XG4+O1xuZXhwb3J0IHR5cGUgQWN0aW9uU3RhdGVTdHJlYW08VCwgQT4gPSBPYnNlcnZhYmxlPFxuICBBY3Rpb25PckFjdGlvbldpdGhTdGF0ZXM8W1RdLCBBPlxuPjtcblxuLyoqXG4gKlxuICogQHdoYXRJdERvZXMgSGFuZGxlcyBwZXNzaW1pc3RpYyB1cGRhdGVzICh1cGRhdGluZyB0aGUgc2VydmVyIGZpcnN0KS5cbiAqXG4gKiBVcGRhdGluZyB0aGUgc2VydmVyLCB3aGVuIGltcGxlbWVudGVkIG5haXZlbHksIHN1ZmZlcnMgZnJvbSByYWNlIGNvbmRpdGlvbnMgYW5kIHBvb3IgZXJyb3IgaGFuZGxpbmcuXG4gKlxuICogYHBlc3NpbWlzdGljVXBkYXRlYCBhZGRyZXNzZXMgdGhlc2UgcHJvYmxlbXMuIEl0IHJ1bnMgYWxsIGZldGNoZXMgaW4gb3JkZXIsIHdoaWNoIHJlbW92ZXMgcmFjZSBjb25kaXRpb25zXG4gKiBhbmQgZm9yY2VzIHRoZSBkZXZlbG9wZXIgdG8gaGFuZGxlIGVycm9ycy5cbiAqXG4gKiAjIyBFeGFtcGxlOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIEBJbmplY3RhYmxlKClcbiAqIGNsYXNzIFRvZG9FZmZlY3RzIHtcbiAqICAgdXBkYXRlVG9kbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAqICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gKiAgICAgICBvZlR5cGUoJ1VQREFURV9UT0RPJyksXG4gKiAgICAgICBwZXNzaW1pc3RpY1VwZGF0ZSh7XG4gKiAgICAgICAgIC8vIHByb3ZpZGVzIGFuIGFjdGlvblxuICogICAgICAgICBydW46IChhY3Rpb246IFVwZGF0ZVRvZG8pID0+IHtcbiAqICAgICAgICAgICAvLyB1cGRhdGUgdGhlIGJhY2tlbmQgZmlyc3QsIGFuZCB0aGVuIGRpc3BhdGNoIGFuIGFjdGlvbiB0aGF0IHdpbGxcbiAqICAgICAgICAgICAvLyB1cGRhdGUgdGhlIGNsaWVudCBzaWRlXG4gKiAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFja2VuZC51cGRhdGVUb2RvKGFjdGlvbi50b2RvLmlkLCBhY3Rpb24udG9kbykucGlwZShcbiAqICAgICAgICAgICAgIG1hcCgodXBkYXRlZCkgPT4gKHtcbiAqICAgICAgICAgICAgICAgdHlwZTogJ1VQREFURV9UT0RPX1NVQ0NFU1MnLFxuICogICAgICAgICAgICAgICB0b2RvOiB1cGRhdGVkLFxuICogICAgICAgICAgICAgfSkpXG4gKiAgICAgICAgICAgKTtcbiAqICAgICAgICAgfSxcbiAqICAgICAgICAgb25FcnJvcjogKGFjdGlvbjogVXBkYXRlVG9kbywgZXJyb3I6IGFueSkgPT4ge1xuICogICAgICAgICAgIC8vIHdlIGRvbid0IG5lZWQgdG8gdW5kbyB0aGUgY2hhbmdlcyBvbiB0aGUgY2xpZW50IHNpZGUuXG4gKiAgICAgICAgICAgLy8gd2UgY2FuIGRpc3BhdGNoIGFuIGVycm9yLCBvciBzaW1wbHkgbG9nIHRoZSBlcnJvciBoZXJlIGFuZCByZXR1cm4gYG51bGxgXG4gKiAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICB9KVxuICogICAgIClcbiAqICAgKTtcbiAqXG4gKiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgYmFja2VuZDogQmFja2VuZCkge31cbiAqIH1cbiAqIGBgYFxuICpcbiAqIE5vdGUgdGhhdCBpZiB5b3UgZG9uJ3QgcmV0dXJuIGEgbmV3IGFjdGlvbiBmcm9tIHRoZSBydW4gY2FsbGJhY2ssIHlvdSBtdXN0IHNldCB0aGUgZGlzcGF0Y2ggcHJvcGVydHlcbiAqIG9mIHRoZSBlZmZlY3QgdG8gZmFsc2UsIGxpa2UgdGhpczpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjbGFzcyBUb2RvRWZmZWN0cyB7XG4gKiAgIHVwZGF0ZVRvZG8kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gKiAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICogICAgICAgLy8uLi5cbiAqICAgICApLCB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gKiAgICk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gb3B0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gcGVzc2ltaXN0aWNVcGRhdGU8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBIGV4dGVuZHMgQWN0aW9uPihcbiAgb3B0czogUGVzc2ltaXN0aWNVcGRhdGVPcHRzPFQsIEE+XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IEFjdGlvblN0YXRlc1N0cmVhbTxULCBBPik6IE9ic2VydmFibGU8QWN0aW9uPiA9PiB7XG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKFxuICAgICAgbWFwQWN0aW9uQW5kU3RhdGUoKSxcbiAgICAgIGNvbmNhdE1hcChydW5XaXRoRXJyb3JIYW5kbGluZyhvcHRzLnJ1biwgb3B0cy5vbkVycm9yKSlcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqXG4gKiBAd2hhdEl0RG9lcyBIYW5kbGVzIG9wdGltaXN0aWMgdXBkYXRlcyAodXBkYXRpbmcgdGhlIGNsaWVudCBmaXJzdCkuXG4gKlxuICogSXQgcnVucyBhbGwgZmV0Y2hlcyBpbiBvcmRlciwgd2hpY2ggcmVtb3ZlcyByYWNlIGNvbmRpdGlvbnMgYW5kIGZvcmNlcyB0aGUgZGV2ZWxvcGVyIHRvIGhhbmRsZSBlcnJvcnMuXG4gKlxuICogV2hlbiB1c2luZyBgb3B0aW1pc3RpY1VwZGF0ZWAsIGluIGNhc2Ugb2YgYSBmYWlsdXJlLCB0aGUgZGV2ZWxvcGVyIGhhcyBhbHJlYWR5IHVwZGF0ZWQgdGhlIHN0YXRlIGxvY2FsbHksXG4gKiBzbyB0aGUgZGV2ZWxvcGVyIG11c3QgcHJvdmlkZSBhbiB1bmRvIGFjdGlvbi5cbiAqXG4gKiBUaGUgZXJyb3IgaGFuZGxpbmcgbXVzdCBiZSBkb25lIGluIHRoZSBjYWxsYmFjaywgb3IgYnkgbWVhbnMgb2YgdGhlIHVuZG8gYWN0aW9uLlxuICpcbiAqICMjIEV4YW1wbGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogQEluamVjdGFibGUoKVxuICogY2xhc3MgVG9kb0VmZmVjdHMge1xuICogICB1cGRhdGVUb2RvJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICogICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAqICAgICAgIG9mVHlwZSgnVVBEQVRFX1RPRE8nKSxcbiAqICAgICAgIG9wdGltaXN0aWNVcGRhdGUoe1xuICogICAgICAgICAvLyBwcm92aWRlcyBhbiBhY3Rpb25cbiAqICAgICAgICAgcnVuOiAoYWN0aW9uOiBVcGRhdGVUb2RvKSA9PiB7XG4gKiAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFja2VuZC51cGRhdGVUb2RvKGFjdGlvbi50b2RvLmlkLCBhY3Rpb24udG9kbykucGlwZShcbiAqICAgICAgICAgICAgIG1hcFRvKHtcbiAqICAgICAgICAgICAgICAgdHlwZTogJ1VQREFURV9UT0RPX1NVQ0NFU1MnLFxuICogICAgICAgICAgICAgfSlcbiAqICAgICAgICAgICApO1xuICogICAgICAgICB9LFxuICogICAgICAgICB1bmRvQWN0aW9uOiAoYWN0aW9uOiBVcGRhdGVUb2RvLCBlcnJvcjogYW55KSA9PiB7XG4gKiAgICAgICAgICAgLy8gZGlzcGF0Y2ggYW4gdW5kbyBhY3Rpb24gdG8gdW5kbyB0aGUgY2hhbmdlcyBpbiB0aGUgY2xpZW50IHN0YXRlXG4gKiAgICAgICAgICAgcmV0dXJuIHtcbiAqICAgICAgICAgICAgIHR5cGU6ICdVTkRPX1RPRE9fVVBEQVRFJyxcbiAqICAgICAgICAgICAgIHRvZG86IGFjdGlvbi50b2RvLFxuICogICAgICAgICAgIH07XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICB9KVxuICogICAgIClcbiAqICAgKTtcbiAqXG4gKiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgYmFja2VuZDogQmFja2VuZCkge31cbiAqIH1cbiAqIGBgYFxuICpcbiAqIE5vdGUgdGhhdCBpZiB5b3UgZG9uJ3QgcmV0dXJuIGEgbmV3IGFjdGlvbiBmcm9tIHRoZSBydW4gY2FsbGJhY2ssIHlvdSBtdXN0IHNldCB0aGUgZGlzcGF0Y2ggcHJvcGVydHlcbiAqIG9mIHRoZSBlZmZlY3QgdG8gZmFsc2UsIGxpa2UgdGhpczpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjbGFzcyBUb2RvRWZmZWN0cyB7XG4gKiAgIHVwZGF0ZVRvZG8kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gKiAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICogICAgICAgLy8uLi5cbiAqICAgICApLCB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gKiAgICk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gb3B0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gb3B0aW1pc3RpY1VwZGF0ZTxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEEgZXh0ZW5kcyBBY3Rpb24+KFxuICBvcHRzOiBPcHRpbWlzdGljVXBkYXRlT3B0czxULCBBPlxuKSB7XG4gIHJldHVybiAoc291cmNlOiBBY3Rpb25TdGF0ZXNTdHJlYW08VCwgQT4pOiBPYnNlcnZhYmxlPEFjdGlvbj4gPT4ge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShcbiAgICAgIG1hcEFjdGlvbkFuZFN0YXRlKCksXG4gICAgICBjb25jYXRNYXAocnVuV2l0aEVycm9ySGFuZGxpbmcob3B0cy5ydW4sIG9wdHMudW5kb0FjdGlvbikpXG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKlxuICogQHdoYXRJdERvZXMgSGFuZGxlcyBkYXRhIGZldGNoaW5nLlxuICpcbiAqIERhdGEgZmV0Y2hpbmcgaW1wbGVtZW50ZWQgbmFpdmVseSBzdWZmZXJzIGZyb20gcmFjZSBjb25kaXRpb25zIGFuZCBwb29yIGVycm9yIGhhbmRsaW5nLlxuICpcbiAqIGBmZXRjaGAgYWRkcmVzc2VzIHRoZXNlIHByb2JsZW1zLiBJdCBydW5zIGFsbCBmZXRjaGVzIGluIG9yZGVyLCB3aGljaCByZW1vdmVzIHJhY2UgY29uZGl0aW9uc1xuICogYW5kIGZvcmNlcyB0aGUgZGV2ZWxvcGVyIHRvIGhhbmRsZSBlcnJvcnMuXG4gKlxuICogIyMgRXhhbXBsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBASW5qZWN0YWJsZSgpXG4gKiBjbGFzcyBUb2RvRWZmZWN0cyB7XG4gKiAgIGxvYWRUb2RvcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAqICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gKiAgICAgICBvZlR5cGUoJ0dFVF9UT0RPUycpLFxuICogICAgICAgZmV0Y2goe1xuICogICAgICAgICAvLyBwcm92aWRlcyBhbiBhY3Rpb25cbiAqICAgICAgICAgcnVuOiAoYTogR2V0VG9kb3MpID0+IHtcbiAqICAgICAgICAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldEFsbCgpLnBpcGUoXG4gKiAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiAoe1xuICogICAgICAgICAgICAgICB0eXBlOiAnVE9ET1MnLFxuICogICAgICAgICAgICAgICB0b2RvczogcmVzcG9uc2UudG9kb3MsXG4gKiAgICAgICAgICAgICB9KSlcbiAqICAgICAgICAgICApO1xuICogICAgICAgICB9LFxuICogICAgICAgICBvbkVycm9yOiAoYWN0aW9uOiBHZXRUb2RvcywgZXJyb3I6IGFueSkgPT4ge1xuICogICAgICAgICAgIC8vIGRpc3BhdGNoIGFuIHVuZG8gYWN0aW9uIHRvIHVuZG8gdGhlIGNoYW5nZXMgaW4gdGhlIGNsaWVudCBzdGF0ZVxuICogICAgICAgICAgIHJldHVybiBudWxsO1xuICogICAgICAgICB9LFxuICogICAgICAgfSlcbiAqICAgICApXG4gKiAgICk7XG4gKlxuICogICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLCBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmQpIHt9XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBUaGlzIGlzIGNvcnJlY3QsIGJ1dCBiZWNhdXNlIGl0IHNldCB0aGUgY29uY3VycmVuY3kgdG8gMSwgaXQgbWF5IG5vdCBiZSBwZXJmb3JtYW50LlxuICpcbiAqIFRvIGZpeCB0aGF0LCB5b3UgY2FuIHByb3ZpZGUgdGhlIGBpZGAgZnVuY3Rpb24sIGxpa2UgdGhpczpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBASW5qZWN0YWJsZSgpXG4gKiBjbGFzcyBUb2RvRWZmZWN0cyB7XG4gKiAgIGxvYWRUb2RvJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICogICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAqICAgICAgIG9mVHlwZSgnR0VUX1RPRE8nKSxcbiAqICAgICAgIGZldGNoKHtcbiAqICAgICAgICAgaWQ6ICh0b2RvOiBHZXRUb2RvKSA9PiB7XG4gKiAgICAgICAgICAgcmV0dXJuIHRvZG8uaWQ7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICAgIC8vIHByb3ZpZGVzIGFuIGFjdGlvblxuICogICAgICAgICBydW46ICh0b2RvOiBHZXRUb2RvKSA9PiB7XG4gKiAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXRUb2RvKHRvZG8uaWQpLm1hcCgocmVzcG9uc2UpID0+ICh7XG4gKiAgICAgICAgICAgICB0eXBlOiAnTE9BRF9UT0RPX1NVQ0NFU1MnLFxuICogICAgICAgICAgICAgdG9kbzogcmVzcG9uc2UudG9kbyxcbiAqICAgICAgICAgICB9KSk7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICAgIG9uRXJyb3I6IChhY3Rpb246IEdldFRvZG8sIGVycm9yOiBhbnkpID0+IHtcbiAqICAgICAgICAgICAvLyBkaXNwYXRjaCBhbiB1bmRvIGFjdGlvbiB0byB1bmRvIHRoZSBjaGFuZ2VzIGluIHRoZSBjbGllbnQgc3RhdGVcbiAqICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAqICAgICAgICAgfSxcbiAqICAgICAgIH0pXG4gKiAgICAgKVxuICogICApO1xuICpcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucywgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kKSB7fVxuICogfVxuICogYGBgXG4gKlxuICogV2l0aCB0aGlzIHNldHVwLCB0aGUgcmVxdWVzdHMgZm9yIFRvZG8gMSB3aWxsIHJ1biBjb25jdXJyZW50bHkgd2l0aCB0aGUgcmVxdWVzdHMgZm9yIFRvZG8gMi5cbiAqXG4gKiBJbiBhZGRpdGlvbiwgaWYgdGhlcmUgYXJlIG11bHRpcGxlIHJlcXVlc3RzIGZvciBUb2RvIDEgc2NoZWR1bGVkLCBpdCB3aWxsIG9ubHkgcnVuIHRoZSBsYXN0IG9uZS5cbiAqXG4gKiBAcGFyYW0gb3B0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmV0Y2g8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBIGV4dGVuZHMgQWN0aW9uPihcbiAgb3B0czogRmV0Y2hPcHRzPFQsIEE+XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IEFjdGlvblN0YXRlc1N0cmVhbTxULCBBPik6IE9ic2VydmFibGU8QWN0aW9uPiA9PiB7XG4gICAgaWYgKG9wdHMuaWQpIHtcbiAgICAgIGNvbnN0IGdyb3VwZWRGZXRjaGVzID0gc291cmNlLnBpcGUoXG4gICAgICAgIG1hcEFjdGlvbkFuZFN0YXRlKCksXG4gICAgICAgIGdyb3VwQnkoKFthY3Rpb24sIC4uLnN0b3JlXSkgPT4ge1xuICAgICAgICAgIHJldHVybiBvcHRzLmlkKGFjdGlvbiwgLi4uc3RvcmUpO1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGdyb3VwZWRGZXRjaGVzLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKChwYWlycykgPT5cbiAgICAgICAgICBwYWlycy5waXBlKHN3aXRjaE1hcChydW5XaXRoRXJyb3JIYW5kbGluZyhvcHRzLnJ1biwgb3B0cy5vbkVycm9yKSkpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKFxuICAgICAgbWFwQWN0aW9uQW5kU3RhdGUoKSxcbiAgICAgIGNvbmNhdE1hcChydW5XaXRoRXJyb3JIYW5kbGluZyhvcHRzLnJ1biwgb3B0cy5vbkVycm9yKSlcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqIEB3aGF0SXREb2VzIEhhbmRsZXMgZGF0YSBmZXRjaGluZyBhcyBwYXJ0IG9mIHJvdXRlciBuYXZpZ2F0aW9uLlxuICpcbiAqIERhdGEgZmV0Y2hpbmcgaW1wbGVtZW50ZWQgbmFpdmVseSBzdWZmZXJzIGZyb20gcmFjZSBjb25kaXRpb25zIGFuZCBwb29yIGVycm9yIGhhbmRsaW5nLlxuICpcbiAqIGBuYXZpZ2F0aW9uYCBhZGRyZXNzZXMgdGhlc2UgcHJvYmxlbXMuXG4gKlxuICogSXQgY2hlY2tzIGlmIGFuIGFjdGl2YXRlZCByb3V0ZXIgc3RhdGUgY29udGFpbnMgdGhlIHBhc3NlZCBpbiBjb21wb25lbnQgdHlwZSwgYW5kLCBpZiBpdCBkb2VzLCBydW5zIHRoZSBgcnVuYFxuICogY2FsbGJhY2suIEl0IHByb3ZpZGVzIHRoZSBhY3RpdmF0ZWQgc25hcHNob3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21wb25lbnQgYW5kIHRoZSBjdXJyZW50IHN0YXRlLiBBbmQgaXQgb25seSBydW5zXG4gKiB0aGUgbGFzdCByZXF1ZXN0LlxuICpcbiAqICMjIEV4YW1wbGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogQEluamVjdGFibGUoKVxuICogY2xhc3MgVG9kb0VmZmVjdHMge1xuICogICBsb2FkVG9kbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAqICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gKiAgICAgICAvLyBsaXN0ZW5zIGZvciB0aGUgcm91dGVyTmF2aWdhdGlvbiBhY3Rpb24gZnJvbSBAbmdyeC9yb3V0ZXItc3RvcmVcbiAqICAgICAgIG5hdmlnYXRpb24oVG9kb0NvbXBvbmVudCwge1xuICogICAgICAgICBydW46IChhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSA9PiB7XG4gKiAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICogICAgICAgICAgICAgLmZldGNoVG9kbyhhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LnBhcmFtc1snaWQnXSlcbiAqICAgICAgICAgICAgIC5waXBlKFxuICogICAgICAgICAgICAgICBtYXAoKHRvZG8pID0+ICh7XG4gKiAgICAgICAgICAgICAgICAgdHlwZTogJ0xPQURfVE9ET19TVUNDRVNTJyxcbiAqICAgICAgICAgICAgICAgICB0b2RvOiB0b2RvLFxuICogICAgICAgICAgICAgICB9KSlcbiAqICAgICAgICAgICAgICk7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICAgIG9uRXJyb3I6IChcbiAqICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICogICAgICAgICAgIGVycm9yOiBhbnlcbiAqICAgICAgICAgKSA9PiB7XG4gKiAgICAgICAgICAgLy8gd2UgY2FuIGxvZyBhbmQgZXJyb3IgaGVyZSBhbmQgcmV0dXJuIG51bGxcbiAqICAgICAgICAgICAvLyB3ZSBjYW4gYWxzbyBuYXZpZ2F0ZSBiYWNrXG4gKiAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICB9KVxuICogICAgIClcbiAqICAgKTtcbiAqXG4gKiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgYmFja2VuZDogQmFja2VuZCkge31cbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBjb21wb25lbnRcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuYXZpZ2F0aW9uPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQSBleHRlbmRzIEFjdGlvbj4oXG4gIGNvbXBvbmVudDogVHlwZTxhbnk+LFxuICBvcHRzOiBIYW5kbGVOYXZpZ2F0aW9uT3B0czxUPlxuKSB7XG4gIHJldHVybiAoc291cmNlOiBBY3Rpb25TdGF0ZXNTdHJlYW08VCwgQT4pID0+IHtcbiAgICBjb25zdCBuYXYgPSBzb3VyY2UucGlwZShcbiAgICAgIG1hcEFjdGlvbkFuZFN0YXRlKCksXG4gICAgICBmaWx0ZXIoKFthY3Rpb25dKSA9PiBpc1N0YXRlU25hcHNob3QoYWN0aW9uKSksXG4gICAgICBtYXAoKFthY3Rpb24sIC4uLnNsaWNlc10pID0+IHtcbiAgICAgICAgaWYgKCFpc1N0YXRlU25hcHNob3QoYWN0aW9uKSkge1xuICAgICAgICAgIC8vIEJlY2F1c2Ugb2YgdGhlIGFib3ZlIGZpbHRlciB3ZSdsbCBuZXZlciBnZXQgaGVyZSxcbiAgICAgICAgICAvLyBidXQgdGhpcyBwcm9wZXJseSB0eXBlIG5hcnJvd3MgYGFjdGlvbmBcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIGZpbmRTbmFwc2hvdChjb21wb25lbnQsIGFjdGlvbi5wYXlsb2FkLnJvdXRlclN0YXRlLnJvb3QpLFxuICAgICAgICAgIC4uLnNsaWNlcyxcbiAgICAgICAgXSBhcyBbQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgLi4uVF07XG4gICAgICB9KSxcbiAgICAgIGZpbHRlcigoW3NuYXBzaG90XSkgPT4gISFzbmFwc2hvdClcbiAgICApO1xuXG4gICAgcmV0dXJuIG5hdi5waXBlKHN3aXRjaE1hcChydW5XaXRoRXJyb3JIYW5kbGluZyhvcHRzLnJ1biwgb3B0cy5vbkVycm9yKSkpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBpc1N0YXRlU25hcHNob3QoXG4gIGFjdGlvbjogYW55XG4pOiBhY3Rpb24gaXMgUm91dGVyTmF2aWdhdGlvbkFjdGlvbjxSb3V0ZXJTdGF0ZVNuYXBzaG90PiB7XG4gIHJldHVybiBhY3Rpb24udHlwZSA9PT0gUk9VVEVSX05BVklHQVRJT047XG59XG5cbmZ1bmN0aW9uIHJ1bldpdGhFcnJvckhhbmRsaW5nPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQSwgUj4oXG4gIHJ1bjogKGE6IEEsIC4uLnNsaWNlczogWy4uLlRdKSA9PiBPYnNlcnZhYmxlPFI+IHwgUiB8IHZvaWQsXG4gIG9uRXJyb3I6IGFueVxuKSB7XG4gIHJldHVybiAoW2FjdGlvbiwgLi4uc2xpY2VzXTogW0EsIC4uLlRdKTogT2JzZXJ2YWJsZTxSPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHIgPSB3cmFwSW50b09ic2VydmFibGUocnVuKGFjdGlvbiwgLi4uc2xpY2VzKSk7XG4gICAgICByZXR1cm4gci5waXBlKGNhdGNoRXJyb3IoKGUpID0+IHdyYXBJbnRvT2JzZXJ2YWJsZShvbkVycm9yKGFjdGlvbiwgZSkpKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHdyYXBJbnRvT2JzZXJ2YWJsZShvbkVycm9yKGFjdGlvbiwgZSkpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBAd2hhdEl0RG9lcyBtYXBzIE9ic2VydmFibGU8QWN0aW9uIHwgW0FjdGlvbiwgU3RhdGVdPiB0b1xuICogT2JzZXJ2YWJsZTxbQWN0aW9uLCBTdGF0ZV0+XG4gKi9cbmZ1bmN0aW9uIG1hcEFjdGlvbkFuZFN0YXRlPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQT4oKSB7XG4gIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPEFjdGlvbk9yQWN0aW9uV2l0aFN0YXRlczxULCBBPj4pID0+IHtcbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICBtYXAoKHZhbHVlKSA9PiBub3JtYWxpemVBY3Rpb25BbmRTdGF0ZSh2YWx1ZSkgYXMgW0EsIC4uLlRdKVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQHdoYXRJdERvZXMgTm9ybWFsaXplcyBlaXRoZXIgYSBiYXJlIGFjdGlvbiBvciBhbiBhcnJheSBvZiBhY3Rpb24gYW5kIHNsaWNlc1xuICogaW50byBhbiBhcnJheSBvZiBhY3Rpb24gYW5kIHNsaWNlcyAob3IgdW5kZWZpbmVkKVxuICovXG5mdW5jdGlvbiBub3JtYWxpemVBY3Rpb25BbmRTdGF0ZTxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEE+KFxuICBhcmdzOiBBY3Rpb25PckFjdGlvbldpdGhTdGF0ZXM8VCwgQT5cbik6IFtBLCAuLi5UXSB7XG4gIGxldCBhY3Rpb246IEEsIHNsaWNlczogVDtcblxuICBpZiAoYXJncyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgW2FjdGlvbiwgLi4uc2xpY2VzXSA9IGFyZ3M7XG4gIH0gZWxzZSB7XG4gICAgc2xpY2VzID0gW10gYXMgVDtcbiAgICBhY3Rpb24gPSBhcmdzO1xuICB9XG5cbiAgcmV0dXJuIFthY3Rpb24sIC4uLnNsaWNlc107XG59XG5cbi8qKlxuICogQHdoYXRJdERvZXMgUHJvdmlkZXMgY29udmVuaWVuY2UgbWV0aG9kcyBmb3IgaW1wbGVtZW50aW5nIGNvbW1vbiBvcGVyYXRpb25zIG9mIHBlcnNpc3RpbmcgZGF0YS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBVc2UgdGhlIGluZGl2aWR1YWwgb3BlcmF0b3JzIGluc3RlYWQuIFdpbGwgYmUgcmVtb3ZlZCBpbiB2MTUuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXRhUGVyc2lzdGVuY2U8VD4ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgc3RvcmU6IFN0b3JlPFQ+LCBwdWJsaWMgYWN0aW9uczogQWN0aW9ucykge31cblxuICAvKipcbiAgICogU2VlIHtAbGluayBwZXNzaW1pc3RpY1VwZGF0ZX0gb3BlcmF0b3IgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSB0aGUge0BsaW5rIHBlc3NpbWlzdGljVXBkYXRlfSBvcGVyYXRvciBpbnN0ZWFkLlxuICAgKiBUaGUge0BsaW5rIERhdGFQZXJzaXN0ZW5jZX0gY2xhc3Mgd2lsbCBiZSByZW1vdmVkIGluIHYxNS5cbiAgICovXG4gIHBlc3NpbWlzdGljVXBkYXRlPEEgZXh0ZW5kcyBBY3Rpb24gPSBBY3Rpb24+KFxuICAgIGFjdGlvblR5cGU6IHN0cmluZyB8IEFjdGlvbkNyZWF0b3IsXG4gICAgb3B0czogUGVzc2ltaXN0aWNVcGRhdGVPcHRzPFtUXSwgQT5cbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25zLnBpcGUoXG4gICAgICBvZlR5cGU8QT4oYWN0aW9uVHlwZSksXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlKSxcbiAgICAgIHBlc3NpbWlzdGljVXBkYXRlKG9wdHMpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIG9wdGltaXN0aWNVcGRhdGV9IG9wZXJhdG9yIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgdGhlIHtAbGluayBvcHRpbWlzdGljVXBkYXRlfSBvcGVyYXRvciBpbnN0ZWFkLlxuICAgKiBUaGUge0BsaW5rIERhdGFQZXJzaXN0ZW5jZX0gY2xhc3Mgd2lsbCBiZSByZW1vdmVkIGluIHYxNS5cbiAgICovXG4gIG9wdGltaXN0aWNVcGRhdGU8QSBleHRlbmRzIEFjdGlvbiA9IEFjdGlvbj4oXG4gICAgYWN0aW9uVHlwZTogc3RyaW5nIHwgQWN0aW9uQ3JlYXRvcixcbiAgICBvcHRzOiBPcHRpbWlzdGljVXBkYXRlT3B0czxbVF0sIEE+XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9ucy5waXBlKFxuICAgICAgb2ZUeXBlPEE+KGFjdGlvblR5cGUpLFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZSksXG4gICAgICBvcHRpbWlzdGljVXBkYXRlKG9wdHMpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIGZldGNofSBvcGVyYXRvciBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHRoZSB7QGxpbmsgZmV0Y2h9IG9wZXJhdG9yIGluc3RlYWQuXG4gICAqIFRoZSB7QGxpbmsgRGF0YVBlcnNpc3RlbmNlfSBjbGFzcyB3aWxsIGJlIHJlbW92ZWQgaW4gdjE1LlxuICAgKi9cbiAgZmV0Y2g8QSBleHRlbmRzIEFjdGlvbiA9IEFjdGlvbj4oXG4gICAgYWN0aW9uVHlwZTogc3RyaW5nIHwgQWN0aW9uQ3JlYXRvcixcbiAgICBvcHRzOiBGZXRjaE9wdHM8W1RdLCBBPlxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbnMucGlwZShcbiAgICAgIG9mVHlwZTxBPihhY3Rpb25UeXBlKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUpLFxuICAgICAgZmV0Y2gob3B0cylcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlZSB7QGxpbmsgbmF2aWdhdGlvbn0gb3BlcmF0b3IgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSB0aGUge0BsaW5rIG5hdmlnYXRpb259IG9wZXJhdG9yIGluc3RlYWQuXG4gICAqIFRoZSB7QGxpbmsgRGF0YVBlcnNpc3RlbmNlfSBjbGFzcyB3aWxsIGJlIHJlbW92ZWQgaW4gdjE1LlxuICAgKi9cbiAgbmF2aWdhdGlvbihcbiAgICBjb21wb25lbnQ6IFR5cGU8YW55PixcbiAgICBvcHRzOiBIYW5kbGVOYXZpZ2F0aW9uT3B0czxbVF0+XG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9ucy5waXBlKFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZSksXG4gICAgICBuYXZpZ2F0aW9uKGNvbXBvbmVudCwgb3B0cylcbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRTbmFwc2hvdChcbiAgY29tcG9uZW50OiBUeXBlPGFueT4sXG4gIHM6IEFjdGl2YXRlZFJvdXRlU25hcHNob3Rcbik6IEFjdGl2YXRlZFJvdXRlU25hcHNob3Qge1xuICBpZiAocy5yb3V0ZUNvbmZpZyAmJiBzLnJvdXRlQ29uZmlnLmNvbXBvbmVudCA9PT0gY29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHM7XG4gIH1cbiAgZm9yIChjb25zdCBjIG9mIHMuY2hpbGRyZW4pIHtcbiAgICBjb25zdCBzcyA9IGZpbmRTbmFwc2hvdChjb21wb25lbnQsIGMpO1xuICAgIGlmIChzcykge1xuICAgICAgcmV0dXJuIHNzO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gd3JhcEludG9PYnNlcnZhYmxlPE8+KG9iajogT2JzZXJ2YWJsZTxPPiB8IE8gfCB2b2lkKTogT2JzZXJ2YWJsZTxPPiB7XG4gIGlmIChpc09ic2VydmFibGUob2JqKSkge1xuICAgIHJldHVybiBvYmo7XG4gIH0gZWxzZSBpZiAoIW9iaikge1xuICAgIHJldHVybiBvZigpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBvZihvYmogYXMgTyk7XG4gIH1cbn1cbiJdfQ==
|
|
344
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wZXJzaXN0ZW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ydW50aW1lL254L2RhdGEtcGVyc2lzdGVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsTUFBTSxFQUNOLE9BQU8sRUFDUCxHQUFHLEVBQ0gsUUFBUSxFQUNSLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBcUN4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3REc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLElBQWlDO0lBRWpDLE9BQU8sQ0FBQyxNQUFnQyxFQUFzQixFQUFFO1FBQzlELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDaEIsaUJBQWlCLEVBQUUsRUFDbkIsU0FBUyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ3hELENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlERztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsSUFBZ0M7SUFFaEMsT0FBTyxDQUFDLE1BQWdDLEVBQXNCLEVBQUU7UUFDOUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUNoQixpQkFBaUIsRUFBRSxFQUNuQixTQUFTLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDM0QsQ0FBQztJQUNKLENB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LElBQUksRUFBRSxFQUFFO1lBQ04sT0FBTyxFQUFFLENBQUM7U0FDWDtLQUNGO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBSSxHQUE2QjtJQUMxRCxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNyQixPQUFPLEdBQUcsQ0FBQztLQUNaO1NBQU0sSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNmLE9BQU8sRUFBRSxFQUFFLENBQUM7S0FDYjtTQUFNO1FBQ0wsT0FBTyxFQUFFLENBQUMsR0FBUSxDQUFDLENBQUM7S0FDckI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgdHlwZSB7IFJvdXRlck5hdmlnYXRpb25BY3Rpb24gfSBmcm9tICdAbmdyeC9yb3V0ZXItc3RvcmUnO1xuaW1wb3J0IHsgUk9VVEVSX05BVklHQVRJT04gfSBmcm9tICdAbmdyeC9yb3V0ZXItc3RvcmUnO1xuaW1wb3J0IHR5cGUgeyBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGNvbmNhdE1hcCxcbiAgZmlsdGVyLFxuICBncm91cEJ5LFxuICBtYXAsXG4gIG1lcmdlTWFwLFxuICBzd2l0Y2hNYXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBQZXNzaW1pc3RpY1VwZGF0ZU9wdHM8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBPiB7XG4gIHJ1bihhOiBBLCAuLi5zbGljZXM6IFsuLi5UXSk6IE9ic2VydmFibGU8QWN0aW9uPiB8IEFjdGlvbiB8IHZvaWQ7XG4gIG9uRXJyb3IoYTogQSwgZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHwgYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGltaXN0aWNVcGRhdGVPcHRzPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQT4ge1xuICBydW4oYTogQSwgLi4uc2xpY2VzOiBbLi4uVF0pOiBPYnNlcnZhYmxlPEFjdGlvbj4gfCBBY3Rpb24gfCB2b2lkO1xuICB1bmRvQWN0aW9uKGE6IEEsIGU6IGFueSk6IE9ic2VydmFibGU8QWN0aW9uPiB8IEFjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZXRjaE9wdHM8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBPiB7XG4gIGlkPyhhOiBBLCAuLi5zbGljZXM6IFsuLi5UXSk6IGFueTtcbiAgcnVuKGE6IEEsIC4uLnNsaWNlczogWy4uLlRdKTogT2JzZXJ2YWJsZTxBY3Rpb24+IHwgQWN0aW9uIHwgdm9pZDtcbiAgb25FcnJvcj8oYTogQSwgZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHwgYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbmRsZU5hdmlnYXRpb25PcHRzPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPj4ge1xuICBydW4oXG4gICAgYTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICAuLi5zbGljZXM6IFsuLi5UXVxuICApOiBPYnNlcnZhYmxlPEFjdGlvbj4gfCBBY3Rpb24gfCB2b2lkO1xuICBvbkVycm9yPyhhOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4gfCBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvbk9yQWN0aW9uV2l0aFN0YXRlczxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEE+ID1cbiAgfCBBXG4gIHwgW0EsIC4uLlRdO1xuZXhwb3J0IHR5cGUgQWN0aW9uT3JBY3Rpb25XaXRoU3RhdGU8VCwgQT4gPSBBY3Rpb25PckFjdGlvbldpdGhTdGF0ZXM8W1RdLCBBPjtcbmV4cG9ydCB0eXBlIEFjdGlvblN0YXRlc1N0cmVhbTxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEE+ID0gT2JzZXJ2YWJsZTxcbiAgQWN0aW9uT3JBY3Rpb25XaXRoU3RhdGVzPFQsIEE+XG4+O1xuZXhwb3J0IHR5cGUgQWN0aW9uU3RhdGVTdHJlYW08VCwgQT4gPSBPYnNlcnZhYmxlPFxuICBBY3Rpb25PckFjdGlvbldpdGhTdGF0ZXM8W1RdLCBBPlxuPjtcblxuLyoqXG4gKlxuICogQHdoYXRJdERvZXMgSGFuZGxlcyBwZXNzaW1pc3RpYyB1cGRhdGVzICh1cGRhdGluZyB0aGUgc2VydmVyIGZpcnN0KS5cbiAqXG4gKiBVcGRhdGluZyB0aGUgc2VydmVyLCB3aGVuIGltcGxlbWVudGVkIG5haXZlbHksIHN1ZmZlcnMgZnJvbSByYWNlIGNvbmRpdGlvbnMgYW5kIHBvb3IgZXJyb3IgaGFuZGxpbmcuXG4gKlxuICogYHBlc3NpbWlzdGljVXBkYXRlYCBhZGRyZXNzZXMgdGhlc2UgcHJvYmxlbXMuIEl0IHJ1bnMgYWxsIGZldGNoZXMgaW4gb3JkZXIsIHdoaWNoIHJlbW92ZXMgcmFjZSBjb25kaXRpb25zXG4gKiBhbmQgZm9yY2VzIHRoZSBkZXZlbG9wZXIgdG8gaGFuZGxlIGVycm9ycy5cbiAqXG4gKiAjIyBFeGFtcGxlOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIEBJbmplY3RhYmxlKClcbiAqIGNsYXNzIFRvZG9FZmZlY3RzIHtcbiAqICAgdXBkYXRlVG9kbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAqICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gKiAgICAgICBvZlR5cGUoJ1VQREFURV9UT0RPJyksXG4gKiAgICAgICBwZXNzaW1pc3RpY1VwZGF0ZSh7XG4gKiAgICAgICAgIC8vIHByb3ZpZGVzIGFuIGFjdGlvblxuICogICAgICAgICBydW46IChhY3Rpb246IFVwZGF0ZVRvZG8pID0+IHtcbiAqICAgICAgICAgICAvLyB1cGRhdGUgdGhlIGJhY2tlbmQgZmlyc3QsIGFuZCB0aGVuIGRpc3BhdGNoIGFuIGFjdGlvbiB0aGF0IHdpbGxcbiAqICAgICAgICAgICAvLyB1cGRhdGUgdGhlIGNsaWVudCBzaWRlXG4gKiAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFja2VuZC51cGRhdGVUb2RvKGFjdGlvbi50b2RvLmlkLCBhY3Rpb24udG9kbykucGlwZShcbiAqICAgICAgICAgICAgIG1hcCgodXBkYXRlZCkgPT4gKHtcbiAqICAgICAgICAgICAgICAgdHlwZTogJ1VQREFURV9UT0RPX1NVQ0NFU1MnLFxuICogICAgICAgICAgICAgICB0b2RvOiB1cGRhdGVkLFxuICogICAgICAgICAgICAgfSkpXG4gKiAgICAgICAgICAgKTtcbiAqICAgICAgICAgfSxcbiAqICAgICAgICAgb25FcnJvcjogKGFjdGlvbjogVXBkYXRlVG9kbywgZXJyb3I6IGFueSkgPT4ge1xuICogICAgICAgICAgIC8vIHdlIGRvbid0IG5lZWQgdG8gdW5kbyB0aGUgY2hhbmdlcyBvbiB0aGUgY2xpZW50IHNpZGUuXG4gKiAgICAgICAgICAgLy8gd2UgY2FuIGRpc3BhdGNoIGFuIGVycm9yLCBvciBzaW1wbHkgbG9nIHRoZSBlcnJvciBoZXJlIGFuZCByZXR1cm4gYG51bGxgXG4gKiAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICB9KVxuICogICAgIClcbiAqICAgKTtcbiAqXG4gKiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgYmFja2VuZDogQmFja2VuZCkge31cbiAqIH1cbiAqIGBgYFxuICpcbiAqIE5vdGUgdGhhdCBpZiB5b3UgZG9uJ3QgcmV0dXJuIGEgbmV3IGFjdGlvbiBmcm9tIHRoZSBydW4gY2FsbGJhY2ssIHlvdSBtdXN0IHNldCB0aGUgZGlzcGF0Y2ggcHJvcGVydHlcbiAqIG9mIHRoZSBlZmZlY3QgdG8gZmFsc2UsIGxpa2UgdGhpczpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjbGFzcyBUb2RvRWZmZWN0cyB7XG4gKiAgIHVwZGF0ZVRvZG8kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gKiAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICogICAgICAgLy8uLi5cbiAqICAgICApLCB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gKiAgICk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gb3B0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gcGVzc2ltaXN0aWNVcGRhdGU8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBIGV4dGVuZHMgQWN0aW9uPihcbiAgb3B0czogUGVzc2ltaXN0aWNVcGRhdGVPcHRzPFQsIEE+XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IEFjdGlvblN0YXRlc1N0cmVhbTxULCBBPik6IE9ic2VydmFibGU8QWN0aW9uPiA9PiB7XG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKFxuICAgICAgbWFwQWN0aW9uQW5kU3RhdGUoKSxcbiAgICAgIGNvbmNhdE1hcChydW5XaXRoRXJyb3JIYW5kbGluZyhvcHRzLnJ1biwgb3B0cy5vbkVycm9yKSlcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqXG4gKiBAd2hhdEl0RG9lcyBIYW5kbGVzIG9wdGltaXN0aWMgdXBkYXRlcyAodXBkYXRpbmcgdGhlIGNsaWVudCBmaXJzdCkuXG4gKlxuICogSXQgcnVucyBhbGwgZmV0Y2hlcyBpbiBvcmRlciwgd2hpY2ggcmVtb3ZlcyByYWNlIGNvbmRpdGlvbnMgYW5kIGZvcmNlcyB0aGUgZGV2ZWxvcGVyIHRvIGhhbmRsZSBlcnJvcnMuXG4gKlxuICogV2hlbiB1c2luZyBgb3B0aW1pc3RpY1VwZGF0ZWAsIGluIGNhc2Ugb2YgYSBmYWlsdXJlLCB0aGUgZGV2ZWxvcGVyIGhhcyBhbHJlYWR5IHVwZGF0ZWQgdGhlIHN0YXRlIGxvY2FsbHksXG4gKiBzbyB0aGUgZGV2ZWxvcGVyIG11c3QgcHJvdmlkZSBhbiB1bmRvIGFjdGlvbi5cbiAqXG4gKiBUaGUgZXJyb3IgaGFuZGxpbmcgbXVzdCBiZSBkb25lIGluIHRoZSBjYWxsYmFjaywgb3IgYnkgbWVhbnMgb2YgdGhlIHVuZG8gYWN0aW9uLlxuICpcbiAqICMjIEV4YW1wbGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogQEluamVjdGFibGUoKVxuICogY2xhc3MgVG9kb0VmZmVjdHMge1xuICogICB1cGRhdGVUb2RvJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICogICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAqICAgICAgIG9mVHlwZSgnVVBEQVRFX1RPRE8nKSxcbiAqICAgICAgIG9wdGltaXN0aWNVcGRhdGUoe1xuICogICAgICAgICAvLyBwcm92aWRlcyBhbiBhY3Rpb25cbiAqICAgICAgICAgcnVuOiAoYWN0aW9uOiBVcGRhdGVUb2RvKSA9PiB7XG4gKiAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFja2VuZC51cGRhdGVUb2RvKGFjdGlvbi50b2RvLmlkLCBhY3Rpb24udG9kbykucGlwZShcbiAqICAgICAgICAgICAgIG1hcFRvKHtcbiAqICAgICAgICAgICAgICAgdHlwZTogJ1VQREFURV9UT0RPX1NVQ0NFU1MnLFxuICogICAgICAgICAgICAgfSlcbiAqICAgICAgICAgICApO1xuICogICAgICAgICB9LFxuICogICAgICAgICB1bmRvQWN0aW9uOiAoYWN0aW9uOiBVcGRhdGVUb2RvLCBlcnJvcjogYW55KSA9PiB7XG4gKiAgICAgICAgICAgLy8gZGlzcGF0Y2ggYW4gdW5kbyBhY3Rpb24gdG8gdW5kbyB0aGUgY2hhbmdlcyBpbiB0aGUgY2xpZW50IHN0YXRlXG4gKiAgICAgICAgICAgcmV0dXJuIHtcbiAqICAgICAgICAgICAgIHR5cGU6ICdVTkRPX1RPRE9fVVBEQVRFJyxcbiAqICAgICAgICAgICAgIHRvZG86IGFjdGlvbi50b2RvLFxuICogICAgICAgICAgIH07XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICB9KVxuICogICAgIClcbiAqICAgKTtcbiAqXG4gKiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgYmFja2VuZDogQmFja2VuZCkge31cbiAqIH1cbiAqIGBgYFxuICpcbiAqIE5vdGUgdGhhdCBpZiB5b3UgZG9uJ3QgcmV0dXJuIGEgbmV3IGFjdGlvbiBmcm9tIHRoZSBydW4gY2FsbGJhY2ssIHlvdSBtdXN0IHNldCB0aGUgZGlzcGF0Y2ggcHJvcGVydHlcbiAqIG9mIHRoZSBlZmZlY3QgdG8gZmFsc2UsIGxpa2UgdGhpczpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjbGFzcyBUb2RvRWZmZWN0cyB7XG4gKiAgIHVwZGF0ZVRvZG8kID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gKiAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICogICAgICAgLy8uLi5cbiAqICAgICApLCB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gKiAgICk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gb3B0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gb3B0aW1pc3RpY1VwZGF0ZTxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEEgZXh0ZW5kcyBBY3Rpb24+KFxuICBvcHRzOiBPcHRpbWlzdGljVXBkYXRlT3B0czxULCBBPlxuKSB7XG4gIHJldHVybiAoc291cmNlOiBBY3Rpb25TdGF0ZXNTdHJlYW08VCwgQT4pOiBPYnNlcnZhYmxlPEFjdGlvbj4gPT4ge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShcbiAgICAgIG1hcEFjdGlvbkFuZFN0YXRlKCksXG4gICAgICBjb25jYXRNYXAocnVuV2l0aEVycm9ySGFuZGxpbmcob3B0cy5ydW4sIG9wdHMudW5kb0FjdGlvbikpXG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKlxuICogQHdoYXRJdERvZXMgSGFuZGxlcyBkYXRhIGZldGNoaW5nLlxuICpcbiAqIERhdGEgZmV0Y2hpbmcgaW1wbGVtZW50ZWQgbmFpdmVseSBzdWZmZXJzIGZyb20gcmFjZSBjb25kaXRpb25zIGFuZCBwb29yIGVycm9yIGhhbmRsaW5nLlxuICpcbiAqIGBmZXRjaGAgYWRkcmVzc2VzIHRoZXNlIHByb2JsZW1zLiBJdCBydW5zIGFsbCBmZXRjaGVzIGluIG9yZGVyLCB3aGljaCByZW1vdmVzIHJhY2UgY29uZGl0aW9uc1xuICogYW5kIGZvcmNlcyB0aGUgZGV2ZWxvcGVyIHRvIGhhbmRsZSBlcnJvcnMuXG4gKlxuICogIyMgRXhhbXBsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBASW5qZWN0YWJsZSgpXG4gKiBjbGFzcyBUb2RvRWZmZWN0cyB7XG4gKiAgIGxvYWRUb2RvcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAqICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gKiAgICAgICBvZlR5cGUoJ0dFVF9UT0RPUycpLFxuICogICAgICAgZmV0Y2goe1xuICogICAgICAgICAvLyBwcm92aWRlcyBhbiBhY3Rpb25cbiAqICAgICAgICAgcnVuOiAoYTogR2V0VG9kb3MpID0+IHtcbiAqICAgICAgICAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldEFsbCgpLnBpcGUoXG4gKiAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiAoe1xuICogICAgICAgICAgICAgICB0eXBlOiAnVE9ET1MnLFxuICogICAgICAgICAgICAgICB0b2RvczogcmVzcG9uc2UudG9kb3MsXG4gKiAgICAgICAgICAgICB9KSlcbiAqICAgICAgICAgICApO1xuICogICAgICAgICB9LFxuICogICAgICAgICBvbkVycm9yOiAoYWN0aW9uOiBHZXRUb2RvcywgZXJyb3I6IGFueSkgPT4ge1xuICogICAgICAgICAgIC8vIGRpc3BhdGNoIGFuIHVuZG8gYWN0aW9uIHRvIHVuZG8gdGhlIGNoYW5nZXMgaW4gdGhlIGNsaWVudCBzdGF0ZVxuICogICAgICAgICAgIHJldHVybiBudWxsO1xuICogICAgICAgICB9LFxuICogICAgICAgfSlcbiAqICAgICApXG4gKiAgICk7XG4gKlxuICogICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLCBwcml2YXRlIGJhY2tlbmQ6IEJhY2tlbmQpIHt9XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBUaGlzIGlzIGNvcnJlY3QsIGJ1dCBiZWNhdXNlIGl0IHNldCB0aGUgY29uY3VycmVuY3kgdG8gMSwgaXQgbWF5IG5vdCBiZSBwZXJmb3JtYW50LlxuICpcbiAqIFRvIGZpeCB0aGF0LCB5b3UgY2FuIHByb3ZpZGUgdGhlIGBpZGAgZnVuY3Rpb24sIGxpa2UgdGhpczpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBASW5qZWN0YWJsZSgpXG4gKiBjbGFzcyBUb2RvRWZmZWN0cyB7XG4gKiAgIGxvYWRUb2RvJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICogICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAqICAgICAgIG9mVHlwZSgnR0VUX1RPRE8nKSxcbiAqICAgICAgIGZldGNoKHtcbiAqICAgICAgICAgaWQ6ICh0b2RvOiBHZXRUb2RvKSA9PiB7XG4gKiAgICAgICAgICAgcmV0dXJuIHRvZG8uaWQ7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICAgIC8vIHByb3ZpZGVzIGFuIGFjdGlvblxuICogICAgICAgICBydW46ICh0b2RvOiBHZXRUb2RvKSA9PiB7XG4gKiAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXRUb2RvKHRvZG8uaWQpLm1hcCgocmVzcG9uc2UpID0+ICh7XG4gKiAgICAgICAgICAgICB0eXBlOiAnTE9BRF9UT0RPX1NVQ0NFU1MnLFxuICogICAgICAgICAgICAgdG9kbzogcmVzcG9uc2UudG9kbyxcbiAqICAgICAgICAgICB9KSk7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICAgIG9uRXJyb3I6IChhY3Rpb246IEdldFRvZG8sIGVycm9yOiBhbnkpID0+IHtcbiAqICAgICAgICAgICAvLyBkaXNwYXRjaCBhbiB1bmRvIGFjdGlvbiB0byB1bmRvIHRoZSBjaGFuZ2VzIGluIHRoZSBjbGllbnQgc3RhdGVcbiAqICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAqICAgICAgICAgfSxcbiAqICAgICAgIH0pXG4gKiAgICAgKVxuICogICApO1xuICpcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucywgcHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kKSB7fVxuICogfVxuICogYGBgXG4gKlxuICogV2l0aCB0aGlzIHNldHVwLCB0aGUgcmVxdWVzdHMgZm9yIFRvZG8gMSB3aWxsIHJ1biBjb25jdXJyZW50bHkgd2l0aCB0aGUgcmVxdWVzdHMgZm9yIFRvZG8gMi5cbiAqXG4gKiBJbiBhZGRpdGlvbiwgaWYgdGhlcmUgYXJlIG11bHRpcGxlIHJlcXVlc3RzIGZvciBUb2RvIDEgc2NoZWR1bGVkLCBpdCB3aWxsIG9ubHkgcnVuIHRoZSBsYXN0IG9uZS5cbiAqXG4gKiBAcGFyYW0gb3B0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmV0Y2g8VCBleHRlbmRzIEFycmF5PHVua25vd24+LCBBIGV4dGVuZHMgQWN0aW9uPihcbiAgb3B0czogRmV0Y2hPcHRzPFQsIEE+XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IEFjdGlvblN0YXRlc1N0cmVhbTxULCBBPik6IE9ic2VydmFibGU8QWN0aW9uPiA9PiB7XG4gICAgaWYgKG9wdHMuaWQpIHtcbiAgICAgIGNvbnN0IGdyb3VwZWRGZXRjaGVzID0gc291cmNlLnBpcGUoXG4gICAgICAgIG1hcEFjdGlvbkFuZFN0YXRlKCksXG4gICAgICAgIGdyb3VwQnkoKFthY3Rpb24sIC4uLnN0b3JlXSkgPT4ge1xuICAgICAgICAgIHJldHVybiBvcHRzLmlkKGFjdGlvbiwgLi4uc3RvcmUpO1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGdyb3VwZWRGZXRjaGVzLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKChwYWlycykgPT5cbiAgICAgICAgICBwYWlycy5waXBlKHN3aXRjaE1hcChydW5XaXRoRXJyb3JIYW5kbGluZyhvcHRzLnJ1biwgb3B0cy5vbkVycm9yKSkpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKFxuICAgICAgbWFwQWN0aW9uQW5kU3RhdGUoKSxcbiAgICAgIGNvbmNhdE1hcChydW5XaXRoRXJyb3JIYW5kbGluZyhvcHRzLnJ1biwgb3B0cy5vbkVycm9yKSlcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqIEB3aGF0SXREb2VzIEhhbmRsZXMgZGF0YSBmZXRjaGluZyBhcyBwYXJ0IG9mIHJvdXRlciBuYXZpZ2F0aW9uLlxuICpcbiAqIERhdGEgZmV0Y2hpbmcgaW1wbGVtZW50ZWQgbmFpdmVseSBzdWZmZXJzIGZyb20gcmFjZSBjb25kaXRpb25zIGFuZCBwb29yIGVycm9yIGhhbmRsaW5nLlxuICpcbiAqIGBuYXZpZ2F0aW9uYCBhZGRyZXNzZXMgdGhlc2UgcHJvYmxlbXMuXG4gKlxuICogSXQgY2hlY2tzIGlmIGFuIGFjdGl2YXRlZCByb3V0ZXIgc3RhdGUgY29udGFpbnMgdGhlIHBhc3NlZCBpbiBjb21wb25lbnQgdHlwZSwgYW5kLCBpZiBpdCBkb2VzLCBydW5zIHRoZSBgcnVuYFxuICogY2FsbGJhY2suIEl0IHByb3ZpZGVzIHRoZSBhY3RpdmF0ZWQgc25hcHNob3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21wb25lbnQgYW5kIHRoZSBjdXJyZW50IHN0YXRlLiBBbmQgaXQgb25seSBydW5zXG4gKiB0aGUgbGFzdCByZXF1ZXN0LlxuICpcbiAqICMjIEV4YW1wbGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogQEluamVjdGFibGUoKVxuICogY2xhc3MgVG9kb0VmZmVjdHMge1xuICogICBsb2FkVG9kbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAqICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gKiAgICAgICAvLyBsaXN0ZW5zIGZvciB0aGUgcm91dGVyTmF2aWdhdGlvbiBhY3Rpb24gZnJvbSBAbmdyeC9yb3V0ZXItc3RvcmVcbiAqICAgICAgIG5hdmlnYXRpb24oVG9kb0NvbXBvbmVudCwge1xuICogICAgICAgICBydW46IChhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSA9PiB7XG4gKiAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICogICAgICAgICAgICAgLmZldGNoVG9kbyhhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LnBhcmFtc1snaWQnXSlcbiAqICAgICAgICAgICAgIC5waXBlKFxuICogICAgICAgICAgICAgICBtYXAoKHRvZG8pID0+ICh7XG4gKiAgICAgICAgICAgICAgICAgdHlwZTogJ0xPQURfVE9ET19TVUNDRVNTJyxcbiAqICAgICAgICAgICAgICAgICB0b2RvOiB0b2RvLFxuICogICAgICAgICAgICAgICB9KSlcbiAqICAgICAgICAgICAgICk7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICAgIG9uRXJyb3I6IChcbiAqICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICogICAgICAgICAgIGVycm9yOiBhbnlcbiAqICAgICAgICAgKSA9PiB7XG4gKiAgICAgICAgICAgLy8gd2UgY2FuIGxvZyBhbmQgZXJyb3IgaGVyZSBhbmQgcmV0dXJuIG51bGxcbiAqICAgICAgICAgICAvLyB3ZSBjYW4gYWxzbyBuYXZpZ2F0ZSBiYWNrXG4gKiAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gKiAgICAgICAgIH0sXG4gKiAgICAgICB9KVxuICogICAgIClcbiAqICAgKTtcbiAqXG4gKiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsIHByaXZhdGUgYmFja2VuZDogQmFja2VuZCkge31cbiAqIH1cbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBjb21wb25lbnRcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuYXZpZ2F0aW9uPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQSBleHRlbmRzIEFjdGlvbj4oXG4gIGNvbXBvbmVudDogVHlwZTxhbnk+LFxuICBvcHRzOiBIYW5kbGVOYXZpZ2F0aW9uT3B0czxUPlxuKSB7XG4gIHJldHVybiAoc291cmNlOiBBY3Rpb25TdGF0ZXNTdHJlYW08VCwgQT4pID0+IHtcbiAgICBjb25zdCBuYXYgPSBzb3VyY2UucGlwZShcbiAgICAgIG1hcEFjdGlvbkFuZFN0YXRlKCksXG4gICAgICBmaWx0ZXIoKFthY3Rpb25dKSA9PiBpc1N0YXRlU25hcHNob3QoYWN0aW9uKSksXG4gICAgICBtYXAoKFthY3Rpb24sIC4uLnNsaWNlc10pID0+IHtcbiAgICAgICAgaWYgKCFpc1N0YXRlU25hcHNob3QoYWN0aW9uKSkge1xuICAgICAgICAgIC8vIEJlY2F1c2Ugb2YgdGhlIGFib3ZlIGZpbHRlciB3ZSdsbCBuZXZlciBnZXQgaGVyZSxcbiAgICAgICAgICAvLyBidXQgdGhpcyBwcm9wZXJseSB0eXBlIG5hcnJvd3MgYGFjdGlvbmBcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIGZpbmRTbmFwc2hvdChjb21wb25lbnQsIGFjdGlvbi5wYXlsb2FkLnJvdXRlclN0YXRlLnJvb3QpLFxuICAgICAgICAgIC4uLnNsaWNlcyxcbiAgICAgICAgXSBhcyBbQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgLi4uVF07XG4gICAgICB9KSxcbiAgICAgIGZpbHRlcigoW3NuYXBzaG90XSkgPT4gISFzbmFwc2hvdClcbiAgICApO1xuXG4gICAgcmV0dXJuIG5hdi5waXBlKHN3aXRjaE1hcChydW5XaXRoRXJyb3JIYW5kbGluZyhvcHRzLnJ1biwgb3B0cy5vbkVycm9yKSkpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBpc1N0YXRlU25hcHNob3QoXG4gIGFjdGlvbjogYW55XG4pOiBhY3Rpb24gaXMgUm91dGVyTmF2aWdhdGlvbkFjdGlvbjxSb3V0ZXJTdGF0ZVNuYXBzaG90PiB7XG4gIHJldHVybiBhY3Rpb24udHlwZSA9PT0gUk9VVEVSX05BVklHQVRJT047XG59XG5cbmZ1bmN0aW9uIHJ1bldpdGhFcnJvckhhbmRsaW5nPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQSwgUj4oXG4gIHJ1bjogKGE6IEEsIC4uLnNsaWNlczogWy4uLlRdKSA9PiBPYnNlcnZhYmxlPFI+IHwgUiB8IHZvaWQsXG4gIG9uRXJyb3I6IGFueVxuKSB7XG4gIHJldHVybiAoW2FjdGlvbiwgLi4uc2xpY2VzXTogW0EsIC4uLlRdKTogT2JzZXJ2YWJsZTxSPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHIgPSB3cmFwSW50b09ic2VydmFibGUocnVuKGFjdGlvbiwgLi4uc2xpY2VzKSk7XG4gICAgICByZXR1cm4gci5waXBlKGNhdGNoRXJyb3IoKGUpID0+IHdyYXBJbnRvT2JzZXJ2YWJsZShvbkVycm9yKGFjdGlvbiwgZSkpKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHdyYXBJbnRvT2JzZXJ2YWJsZShvbkVycm9yKGFjdGlvbiwgZSkpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBAd2hhdEl0RG9lcyBtYXBzIE9ic2VydmFibGU8QWN0aW9uIHwgW0FjdGlvbiwgU3RhdGVdPiB0b1xuICogT2JzZXJ2YWJsZTxbQWN0aW9uLCBTdGF0ZV0+XG4gKi9cbmZ1bmN0aW9uIG1hcEFjdGlvbkFuZFN0YXRlPFQgZXh0ZW5kcyBBcnJheTx1bmtub3duPiwgQT4oKSB7XG4gIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPEFjdGlvbk9yQWN0aW9uV2l0aFN0YXRlczxULCBBPj4pID0+IHtcbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICBtYXAoKHZhbHVlKSA9PiBub3JtYWxpemVBY3Rpb25BbmRTdGF0ZSh2YWx1ZSkgYXMgW0EsIC4uLlRdKVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQHdoYXRJdERvZXMgTm9ybWFsaXplcyBlaXRoZXIgYSBiYXJlIGFjdGlvbiBvciBhbiBhcnJheSBvZiBhY3Rpb24gYW5kIHNsaWNlc1xuICogaW50byBhbiBhcnJheSBvZiBhY3Rpb24gYW5kIHNsaWNlcyAob3IgdW5kZWZpbmVkKVxuICovXG5mdW5jdGlvbiBub3JtYWxpemVBY3Rpb25BbmRTdGF0ZTxUIGV4dGVuZHMgQXJyYXk8dW5rbm93bj4sIEE+KFxuICBhcmdzOiBBY3Rpb25PckFjdGlvbldpdGhTdGF0ZXM8VCwgQT5cbik6IFtBLCAuLi5UXSB7XG4gIGxldCBhY3Rpb246IEEsIHNsaWNlczogVDtcblxuICBpZiAoYXJncyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgW2FjdGlvbiwgLi4uc2xpY2VzXSA9IGFyZ3M7XG4gIH0gZWxzZSB7XG4gICAgc2xpY2VzID0gW10gYXMgVDtcbiAgICBhY3Rpb24gPSBhcmdzO1xuICB9XG5cbiAgcmV0dXJuIFthY3Rpb24sIC4uLnNsaWNlc107XG59XG5cbmZ1bmN0aW9uIGZpbmRTbmFwc2hvdChcbiAgY29tcG9uZW50OiBUeXBlPGFueT4sXG4gIHM6IEFjdGl2YXRlZFJvdXRlU25hcHNob3Rcbik6IEFjdGl2YXRlZFJvdXRlU25hcHNob3Qge1xuICBpZiAocy5yb3V0ZUNvbmZpZyAmJiBzLnJvdXRlQ29uZmlnLmNvbXBvbmVudCA9PT0gY29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHM7XG4gIH1cbiAgZm9yIChjb25zdCBjIG9mIHMuY2hpbGRyZW4pIHtcbiAgICBjb25zdCBzcyA9IGZpbmRTbmFwc2hvdChjb21wb25lbnQsIGMpO1xuICAgIGlmIChzcykge1xuICAgICAgcmV0dXJuIHNzO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gd3JhcEludG9PYnNlcnZhYmxlPE8+KG9iajogT2JzZXJ2YWJsZTxPPiB8IE8gfCB2b2lkKTogT2JzZXJ2YWJsZTxPPiB7XG4gIGlmIChpc09ic2VydmFibGUob2JqKSkge1xuICAgIHJldHVybiBvYmo7XG4gIH0gZWxzZSBpZiAoIW9iaikge1xuICAgIHJldHVybiBvZigpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBvZihvYmogYXMgTyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,19 +1,2 @@
|
|
|
1
|
-
import { cold as rxjsMarblesCold, hot as rxjsMarblesHot, getTestScheduler as rxjsMarblesTestScheduler, time as rxjsMarblesTime, } from 'jasmine-marbles';
|
|
2
|
-
/**
|
|
3
|
-
* @deprecated Import from 'jasmine-marbles' instead. Will be removed in Nx v15.
|
|
4
|
-
*/
|
|
5
|
-
export const cold = rxjsMarblesCold;
|
|
6
|
-
/**
|
|
7
|
-
* @deprecated Import from 'jasmine-marbles' instead. Will be removed in Nx v15.
|
|
8
|
-
*/
|
|
9
|
-
export const hot = rxjsMarblesHot;
|
|
10
|
-
/**
|
|
11
|
-
* @deprecated Import from 'jasmine-marbles' instead. Will be removed in Nx v15.
|
|
12
|
-
*/
|
|
13
|
-
export const getTestScheduler = rxjsMarblesTestScheduler;
|
|
14
|
-
/**
|
|
15
|
-
* @deprecated Import from 'jasmine-marbles' instead. Will be removed in Nx v15.
|
|
16
|
-
*/
|
|
17
|
-
export const time = rxjsMarblesTime;
|
|
18
1
|
export { readAll, readFirst } from './src/testing-utils';
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0aW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyByZWFkQWxsLCByZWFkRmlyc3QgfSBmcm9tICcuL3NyYy90ZXN0aW5nLXV0aWxzJztcbiJdfQ==
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { first, toArray } from 'rxjs/operators';
|
|
2
2
|
/**
|
|
3
|
+
* @deprecated This will be removed in a later version of Nx. Since RxJS 7, use firstValueFrom(obs$.pipe(toArray())) or lastValueFrom(obs$.pipe(toArray())).
|
|
4
|
+
*
|
|
3
5
|
* @whatItDoes reads all the values from an observable and returns a promise
|
|
4
6
|
* with an array of all values. This should be used in combination with async/await.
|
|
5
7
|
*
|
|
@@ -15,6 +17,8 @@ export function readAll(o) {
|
|
|
15
17
|
return o.pipe(toArray()).toPromise();
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
20
|
+
* @deprecated This will be removed in a later version of Nx. Since RxJS 7, use firstValueFrom(obs$)
|
|
21
|
+
*
|
|
18
22
|
* @whatItDoes reads the first value from an observable and returns a promise
|
|
19
23
|
* with it. This should be used in combination with async/await.
|
|
20
24
|
*
|
|
@@ -29,4 +33,4 @@ export function readAll(o) {
|
|
|
29
33
|
export function readFirst(o) {
|
|
30
34
|
return o.pipe(first()).toPromise();
|
|
31
35
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3Rpbmcvc3JjL3Rlc3RpbmctdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FBSSxDQUFnQjtJQUN6QyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUN2QyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUksQ0FBZ0I7SUFDM0MsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QsIHRvQXJyYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBsYXRlciB2ZXJzaW9uIG9mIE54LiBTaW5jZSBSeEpTIDcsIHVzZSBmaXJzdFZhbHVlRnJvbShvYnMkLnBpcGUodG9BcnJheSgpKSkgb3IgbGFzdFZhbHVlRnJvbShvYnMkLnBpcGUodG9BcnJheSgpKSkuXG4gKlxuICogQHdoYXRJdERvZXMgcmVhZHMgYWxsIHRoZSB2YWx1ZXMgZnJvbSBhbiBvYnNlcnZhYmxlIGFuZCByZXR1cm5zIGEgcHJvbWlzZVxuICogd2l0aCBhbiBhcnJheSBvZiBhbGwgdmFsdWVzLiBUaGlzIHNob3VsZCBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYXN5bmMvYXdhaXQuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG9icyA9IG9mKDEsIDIsIDMsIDQpO1xuICogY29uc3QgcmVzID0gYXdhaXQgcmVhZEFsbChvYnMpXG4gKiBleHBlY3QocmVzKS50b0VxdWFsKFsxLCAyLCAzLCA0XSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRBbGw8VD4obzogT2JzZXJ2YWJsZTxUPik6IFByb21pc2U8VFtdPiB7XG4gIHJldHVybiBvLnBpcGUodG9BcnJheSgpKS50b1Byb21pc2UoKTtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGxhdGVyIHZlcnNpb24gb2YgTnguIFNpbmNlIFJ4SlMgNywgdXNlIGZpcnN0VmFsdWVGcm9tKG9icyQpXG4gKlxuICogQHdoYXRJdERvZXMgcmVhZHMgdGhlIGZpcnN0IHZhbHVlIGZyb20gYW4gb2JzZXJ2YWJsZSBhbmQgcmV0dXJucyBhIHByb21pc2VcbiAqIHdpdGggaXQuIFRoaXMgc2hvdWxkIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhc3luYy9hd2FpdC5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb2JzID0gb2YoMSwgMiwgMywgNCk7XG4gKiBjb25zdCByZXMgPSBhd2FpdCByZWFkRmlyc3Qob2JzKVxuICogZXhwZWN0KHJlcykudG9FcXVhbCgxKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVhZEZpcnN0PFQ+KG86IE9ic2VydmFibGU8VD4pOiBQcm9taXNlPFQ+IHtcbiAgcmV0dXJuIG8ucGlwZShmaXJzdCgpKS50b1Byb21pc2UoKTtcbn1cbiJdfQ==
|
package/executors.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export * from './src/builders/module-federation-dev-server/module-federation-dev-server.impl';
|
|
2
|
+
export * from './src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl';
|
|
2
3
|
export * from './src/builders/webpack-browser/webpack-browser.impl';
|
|
4
|
+
export * from './src/builders/webpack-dev-server/webpack-dev-server.impl';
|
|
3
5
|
export * from './src/builders/webpack-server/webpack-server.impl';
|
|
4
6
|
export * from './src/executors/delegate-build/delegate-build.impl';
|
|
5
7
|
export * from './src/executors/ng-packagr-lite/ng-packagr-lite.impl';
|
package/executors.js
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./src/builders/module-federation-dev-server/module-federation-dev-server.impl"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./src/builders/webpack-browser/webpack-browser.impl"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./src/builders/webpack-dev-server/webpack-dev-server.impl"), exports);
|
|
6
8
|
tslib_1.__exportStar(require("./src/builders/webpack-server/webpack-server.impl"), exports);
|
|
7
9
|
tslib_1.__exportStar(require("./src/executors/delegate-build/delegate-build.impl"), exports);
|
|
8
10
|
tslib_1.__exportStar(require("./src/executors/ng-packagr-lite/ng-packagr-lite.impl"), exports);
|
package/executors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executors.js","sourceRoot":"","sources":["../../../packages/angular/executors.ts"],"names":[],"mappings":";;;AAAA,wHAA8F;AAC9F,8FAAoE;AACpE,4FAAkE;AAClE,6FAAmE;AACnE,+FAAqE;AACrE,+EAAqD"}
|
|
1
|
+
{"version":3,"file":"executors.js","sourceRoot":"","sources":["../../../packages/angular/executors.ts"],"names":[],"mappings":";;;AAAA,wHAA8F;AAC9F,kHAAwF;AACxF,8FAAoE;AACpE,oGAA0E;AAC1E,4FAAkE;AAClE,6FAAmE;AACnE,+FAAqE;AACrE,+EAAqD"}
|
package/executors.json
CHANGED
|
@@ -8,32 +8,17 @@
|
|
|
8
8
|
"ng-packagr-lite": {
|
|
9
9
|
"implementation": "./src/executors/ng-packagr-lite/ng-packagr-lite.impl",
|
|
10
10
|
"schema": "./src/executors/ng-packagr-lite/schema.json",
|
|
11
|
-
"description": "Builds a library with support for incremental builds."
|
|
11
|
+
"description": "Builds a library with support for incremental builds.\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nrwl/angular:package` executor but with some key differences:\n- It doesn't run `ngcc` automatically (`ngcc` needs to be run separately beforehand if needed, this can be done in a `postinstall` hook on `package.json`).\n- It only produces ESM2020 bundles.\n- It doesn't generate package exports in the `package.json`."
|
|
12
12
|
},
|
|
13
13
|
"package": {
|
|
14
14
|
"implementation": "./src/executors/package/package.impl",
|
|
15
15
|
"schema": "./src/executors/package/schema.json",
|
|
16
|
-
"description": "Builds and packages an Angular library to be distributed as an NPM package
|
|
17
|
-
},
|
|
18
|
-
"webpack-browser": {
|
|
19
|
-
"implementation": "./src/builders/webpack-browser/webpack-browser.impl",
|
|
20
|
-
"schema": "./src/builders/webpack-browser/schema.json",
|
|
21
|
-
"description": "The `webpack-browser` executor is very similar to the standard `browser` builder provided by the Angular Devkit. It allows you to build your Angular application to a build artifact that can be hosted online. There are some key differences: \n- Supports Custom Webpack Configurations \n- Supports Incremental Building"
|
|
22
|
-
},
|
|
23
|
-
"webpack-server": {
|
|
24
|
-
"implementation": "./src/builders/webpack-server/webpack-server.impl",
|
|
25
|
-
"schema": "./src/builders/webpack-server/schema.json",
|
|
26
|
-
"description": "The `webpack-server` executor is very similar to the standard `dev-server` builder provided by the Angular Devkit. It is usually used in tandem with `@nrwl/angular:webpack-browser` when your Angular application uses a custom webpack configuration."
|
|
27
|
-
},
|
|
28
|
-
"module-federation-dev-server": {
|
|
29
|
-
"implementation": "./src/builders/module-federation-dev-server/module-federation-dev-server.impl",
|
|
30
|
-
"schema": "./src/builders/module-federation-dev-server/schema.json",
|
|
31
|
-
"description": "The module-federation-dev-server executor is reserved exclusively for use with host Module Federation applications. It allows the user to specify which remote applications should be served with the host."
|
|
16
|
+
"description": "Builds and packages an Angular library producing an output following the Angular Package Format (APF) to be distributed as an NPM package.\nThis executor is similar to the `@angular-devkit/build-angular:ng-packagr` with additional support for incremental builds."
|
|
32
17
|
},
|
|
33
18
|
"file-server": {
|
|
34
19
|
"implementation": "./src/executors/file-server/file-server.impl",
|
|
35
20
|
"schema": "./src/executors/file-server/schema.json",
|
|
36
|
-
"description": "
|
|
21
|
+
"description": "Serves a static web application from a folder."
|
|
37
22
|
}
|
|
38
23
|
},
|
|
39
24
|
"builders": {
|
|
@@ -45,7 +30,7 @@
|
|
|
45
30
|
"ng-packagr-lite": {
|
|
46
31
|
"implementation": "./src/executors/ng-packagr-lite/compat",
|
|
47
32
|
"schema": "./src/executors/ng-packagr-lite/schema.json",
|
|
48
|
-
"description": "Builds a library with support for incremental builds."
|
|
33
|
+
"description": "Builds a library with support for incremental builds.\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nrwl/angular:package` executor but with some key differences:\n- It doesn't run `ngcc` automatically (`ngcc` needs to be run separately beforehand if needed, this can be done in a `postinstall` hook on `package.json`)\n- It only produces ESM2020 bundles\n- It doesn't generate package exports in the `package.json`"
|
|
49
34
|
},
|
|
50
35
|
"package": {
|
|
51
36
|
"implementation": "./src/executors/package/compat",
|
|
@@ -57,16 +42,26 @@
|
|
|
57
42
|
"schema": "./src/builders/webpack-browser/schema.json",
|
|
58
43
|
"description": "The `webpack-browser` executor is very similar to the standard `browser` builder provided by the Angular Devkit. It allows you to build your Angular application to a build artifact that can be hosted online. There are some key differences: \n- Supports Custom Webpack Configurations \n- Supports Incremental Building"
|
|
59
44
|
},
|
|
45
|
+
"webpack-dev-server": {
|
|
46
|
+
"implementation": "./src/builders/webpack-dev-server/webpack-dev-server.impl",
|
|
47
|
+
"schema": "./src/builders/webpack-dev-server/schema.json",
|
|
48
|
+
"description": "The `webpack-dev-server` executor is very similar to the standard `dev-server` builder provided by the Angular Devkit. It is usually used in tandem with `@nrwl/angular:webpack-browser` when your Angular application uses a custom webpack configuration."
|
|
49
|
+
},
|
|
60
50
|
"webpack-server": {
|
|
61
51
|
"implementation": "./src/builders/webpack-server/webpack-server.impl",
|
|
62
52
|
"schema": "./src/builders/webpack-server/schema.json",
|
|
63
|
-
"description": "The `webpack-server` executor is very similar to the standard `
|
|
53
|
+
"description": "The `webpack-server` executor is very similar to the standard `server` builder provided by the Angular Devkit. It is usually used in tandem with `@nrwl/angular:webpack-browser` when your Angular application uses a custom webpack configuration and NgUniversal for SSR."
|
|
64
54
|
},
|
|
65
55
|
"module-federation-dev-server": {
|
|
66
56
|
"implementation": "./src/builders/module-federation-dev-server/module-federation-dev-server.impl",
|
|
67
57
|
"schema": "./src/builders/module-federation-dev-server/schema.json",
|
|
68
58
|
"description": "The module-federation-dev-server executor is reserved exclusively for use with host Module Federation applications. It allows the user to specify which remote applications should be served with the host."
|
|
69
59
|
},
|
|
60
|
+
"module-federation-dev-ssr": {
|
|
61
|
+
"implementation": "./src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl",
|
|
62
|
+
"schema": "./src/builders/module-federation-dev-ssr/schema.json",
|
|
63
|
+
"description": "The module-federation-dev-ssr executor is reserved exclusively for use with host Module Federation applications that use SSR. It allows the user to specify which remote applications should be served with the host."
|
|
64
|
+
},
|
|
70
65
|
"file-server": {
|
|
71
66
|
"implementation": "./src/executors/file-server/compat",
|
|
72
67
|
"schema": "./src/executors/file-server/schema.json",
|
|
@@ -41,7 +41,10 @@ function loadRemoteContainer(remoteName) {
|
|
|
41
41
|
const remoteUrl = remoteUrlDefinitions
|
|
42
42
|
? remoteUrlDefinitions[remoteName]
|
|
43
43
|
: yield resolveRemoteUrl(remoteName);
|
|
44
|
-
|
|
44
|
+
let containerUrl = remoteUrl;
|
|
45
|
+
if (!remoteUrl.endsWith('.mjs') && !remoteUrl.endsWith('.js')) {
|
|
46
|
+
containerUrl = `${remoteUrl}${remoteUrl.endsWith('/') ? '' : '/'}remoteEntry.mjs`;
|
|
47
|
+
}
|
|
45
48
|
const container = yield loadModule(containerUrl);
|
|
46
49
|
yield container.init(__webpack_share_scopes__.default);
|
|
47
50
|
remoteContainerMap.set(remoteName, container);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nrwl-angular-mf.mjs","sources":["../../mf/mf.ts","../../mf/nrwl-angular-mf.ts"],"sourcesContent":["export type ResolveRemoteUrlFunction = (\n remoteName: string\n) => string | Promise<string>;\n\ndeclare const __webpack_init_sharing__: (scope: 'default') => Promise<void>;\ndeclare const __webpack_share_scopes__: { default: unknown };\n\nlet resolveRemoteUrl: ResolveRemoteUrlFunction;\nexport function setRemoteUrlResolver(\n _resolveRemoteUrl: ResolveRemoteUrlFunction\n) {\n resolveRemoteUrl = _resolveRemoteUrl;\n}\n\nlet remoteUrlDefinitions: Record<string, string>;\nexport function setRemoteDefinitions(definitions: Record<string, string>) {\n remoteUrlDefinitions = definitions;\n}\n\nlet remoteModuleMap = new Map<string, unknown>();\nlet remoteContainerMap = new Map<string, unknown>();\nexport async function loadRemoteModule(remoteName: string, moduleName: string) {\n const remoteModuleKey = `${remoteName}:${moduleName}`;\n if (remoteModuleMap.has(remoteModuleKey)) {\n return remoteModuleMap.get(remoteModuleKey);\n }\n\n const container = remoteContainerMap.has(remoteName)\n ? remoteContainerMap.get(remoteName)\n : await loadRemoteContainer(remoteName);\n\n const factory = await container.get(moduleName);\n const Module = factory();\n\n remoteModuleMap.set(remoteModuleKey, Module);\n\n return Module;\n}\n\nfunction loadModule(url: string) {\n return import(/* webpackIgnore:true */ url);\n}\n\nlet initialSharingScopeCreated = false;\nasync function loadRemoteContainer(remoteName: string) {\n if (!resolveRemoteUrl && !remoteUrlDefinitions) {\n throw new Error(\n 'Call setRemoteDefinitions or setRemoteUrlResolver to allow Dynamic Federation to find the remote apps correctly.'\n );\n }\n\n if (!initialSharingScopeCreated) {\n initialSharingScopeCreated = true;\n await __webpack_init_sharing__('default');\n }\n\n const remoteUrl = remoteUrlDefinitions\n ? remoteUrlDefinitions[remoteName]\n : await resolveRemoteUrl(remoteName);\n\n
|
|
1
|
+
{"version":3,"file":"nrwl-angular-mf.mjs","sources":["../../mf/mf.ts","../../mf/nrwl-angular-mf.ts"],"sourcesContent":["export type ResolveRemoteUrlFunction = (\n remoteName: string\n) => string | Promise<string>;\n\ndeclare const __webpack_init_sharing__: (scope: 'default') => Promise<void>;\ndeclare const __webpack_share_scopes__: { default: unknown };\n\nlet resolveRemoteUrl: ResolveRemoteUrlFunction;\nexport function setRemoteUrlResolver(\n _resolveRemoteUrl: ResolveRemoteUrlFunction\n) {\n resolveRemoteUrl = _resolveRemoteUrl;\n}\n\nlet remoteUrlDefinitions: Record<string, string>;\nexport function setRemoteDefinitions(definitions: Record<string, string>) {\n remoteUrlDefinitions = definitions;\n}\n\nlet remoteModuleMap = new Map<string, unknown>();\nlet remoteContainerMap = new Map<string, unknown>();\nexport async function loadRemoteModule(remoteName: string, moduleName: string) {\n const remoteModuleKey = `${remoteName}:${moduleName}`;\n if (remoteModuleMap.has(remoteModuleKey)) {\n return remoteModuleMap.get(remoteModuleKey);\n }\n\n const container = remoteContainerMap.has(remoteName)\n ? remoteContainerMap.get(remoteName)\n : await loadRemoteContainer(remoteName);\n\n const factory = await container.get(moduleName);\n const Module = factory();\n\n remoteModuleMap.set(remoteModuleKey, Module);\n\n return Module;\n}\n\nfunction loadModule(url: string) {\n return import(/* webpackIgnore:true */ url);\n}\n\nlet initialSharingScopeCreated = false;\nasync function loadRemoteContainer(remoteName: string) {\n if (!resolveRemoteUrl && !remoteUrlDefinitions) {\n throw new Error(\n 'Call setRemoteDefinitions or setRemoteUrlResolver to allow Dynamic Federation to find the remote apps correctly.'\n );\n }\n\n if (!initialSharingScopeCreated) {\n initialSharingScopeCreated = true;\n await __webpack_init_sharing__('default');\n }\n\n const remoteUrl = remoteUrlDefinitions\n ? remoteUrlDefinitions[remoteName]\n : await resolveRemoteUrl(remoteName);\n\n let containerUrl = remoteUrl;\n if (!remoteUrl.endsWith('.mjs') && !remoteUrl.endsWith('.js')) {\n containerUrl = `${remoteUrl}${\n remoteUrl.endsWith('/') ? '' : '/'\n }remoteEntry.mjs`;\n }\n\n const container = await loadModule(containerUrl);\n await container.init(__webpack_share_scopes__.default);\n\n remoteContainerMap.set(remoteName, container);\n return container;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAOA,IAAI,gBAA0C,CAAC;AACzC,SAAU,oBAAoB,CAClC,iBAA2C,EAAA;IAE3C,gBAAgB,GAAG,iBAAiB,CAAC;AACvC,CAAC;AAED,IAAI,oBAA4C,CAAC;AAC3C,SAAU,oBAAoB,CAAC,WAAmC,EAAA;IACtE,oBAAoB,GAAG,WAAW,CAAC;AACrC,CAAC;AAED,IAAI,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;AACjD,IAAI,kBAAkB,GAAG,IAAI,GAAG,EAAmB,CAAC;AAC9B,SAAA,gBAAgB,CAAC,UAAkB,EAAE,UAAkB,EAAA;;AAC3E,QAAA,MAAM,eAAe,GAAG,CAAA,EAAG,UAAU,CAAI,CAAA,EAAA,UAAU,EAAE,CAAC;AACtD,QAAA,IAAI,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;AACxC,YAAA,OAAO,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC7C,SAAA;AAED,QAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;AAClD,cAAE,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;AACpC,cAAE,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAChD,QAAA,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;AAEzB,QAAA,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAE7C,QAAA,OAAO,MAAM,CAAC;KACf,CAAA,CAAA;AAAA,CAAA;AAED,SAAS,UAAU,CAAC,GAAW,EAAA;AAC7B,IAAA,OAAO,gCAAgC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,IAAI,0BAA0B,GAAG,KAAK,CAAC;AACvC,SAAe,mBAAmB,CAAC,UAAkB,EAAA;;AACnD,QAAA,IAAI,CAAC,gBAAgB,IAAI,CAAC,oBAAoB,EAAE;AAC9C,YAAA,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;AACH,SAAA;QAED,IAAI,CAAC,0BAA0B,EAAE;YAC/B,0BAA0B,GAAG,IAAI,CAAC;AAClC,YAAA,MAAM,wBAAwB,CAAC,SAAS,CAAC,CAAC;AAC3C,SAAA;QAED,MAAM,SAAS,GAAG,oBAAoB;AACpC,cAAE,oBAAoB,CAAC,UAAU,CAAC;AAClC,cAAE,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEvC,IAAI,YAAY,GAAG,SAAS,CAAC;AAC7B,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC7D,YAAA,YAAY,GAAG,CAAG,EAAA,SAAS,GACzB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GACjC,iBAAiB,CAAC;AACnB,SAAA;AAED,QAAA,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAEvD,QAAA,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC9C,QAAA,OAAO,SAAS,CAAC;KAClB,CAAA,CAAA;AAAA;;ACxED;;AAEG;;;;"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { cold as cold$1, hot as hot$1, getTestScheduler as getTestScheduler$1, time as time$1 } from 'jasmine-marbles';
|
|
2
1
|
import { toArray, first } from 'rxjs/operators';
|
|
3
2
|
|
|
4
3
|
/**
|
|
4
|
+
* @deprecated This will be removed in a later version of Nx. Since RxJS 7, use firstValueFrom(obs$.pipe(toArray())) or lastValueFrom(obs$.pipe(toArray())).
|
|
5
|
+
*
|
|
5
6
|
* @whatItDoes reads all the values from an observable and returns a promise
|
|
6
7
|
* with an array of all values. This should be used in combination with async/await.
|
|
7
8
|
*
|
|
@@ -17,6 +18,8 @@ function readAll(o) {
|
|
|
17
18
|
return o.pipe(toArray()).toPromise();
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
21
|
+
* @deprecated This will be removed in a later version of Nx. Since RxJS 7, use firstValueFrom(obs$)
|
|
22
|
+
*
|
|
20
23
|
* @whatItDoes reads the first value from an observable and returns a promise
|
|
21
24
|
* with it. This should be used in combination with async/await.
|
|
22
25
|
*
|
|
@@ -32,26 +35,9 @@ function readFirst(o) {
|
|
|
32
35
|
return o.pipe(first()).toPromise();
|
|
33
36
|
}
|
|
34
37
|
|
|
35
|
-
/**
|
|
36
|
-
* @deprecated Import from 'jasmine-marbles' instead. Will be removed in Nx v15.
|
|
37
|
-
*/
|
|
38
|
-
const cold = cold$1;
|
|
39
|
-
/**
|
|
40
|
-
* @deprecated Import from 'jasmine-marbles' instead. Will be removed in Nx v15.
|
|
41
|
-
*/
|
|
42
|
-
const hot = hot$1;
|
|
43
|
-
/**
|
|
44
|
-
* @deprecated Import from 'jasmine-marbles' instead. Will be removed in Nx v15.
|
|
45
|
-
*/
|
|
46
|
-
const getTestScheduler = getTestScheduler$1;
|
|
47
|
-
/**
|
|
48
|
-
* @deprecated Import from 'jasmine-marbles' instead. Will be removed in Nx v15.
|
|
49
|
-
*/
|
|
50
|
-
const time = time$1;
|
|
51
|
-
|
|
52
38
|
/**
|
|
53
39
|
* Generated bundle index. Do not edit.
|
|
54
40
|
*/
|
|
55
41
|
|
|
56
|
-
export {
|
|
42
|
+
export { readAll, readFirst };
|
|
57
43
|
//# sourceMappingURL=nrwl-angular-testing.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nrwl-angular-testing.mjs","sources":["../../testing/src/testing-utils.ts","../../testing/
|
|
1
|
+
{"version":3,"file":"nrwl-angular-testing.mjs","sources":["../../testing/src/testing-utils.ts","../../testing/nrwl-angular-testing.ts"],"sourcesContent":["import type { Observable } from 'rxjs';\nimport { first, toArray } from 'rxjs/operators';\n\n/**\n * @deprecated This will be removed in a later version of Nx. Since RxJS 7, use firstValueFrom(obs$.pipe(toArray())) or lastValueFrom(obs$.pipe(toArray())).\n *\n * @whatItDoes reads all the values from an observable and returns a promise\n * with an array of all values. This should be used in combination with async/await.\n *\n * ## Example\n *\n * ```typescript\n * const obs = of(1, 2, 3, 4);\n * const res = await readAll(obs)\n * expect(res).toEqual([1, 2, 3, 4]);\n * ```\n */\nexport function readAll<T>(o: Observable<T>): Promise<T[]> {\n return o.pipe(toArray()).toPromise();\n}\n\n/**\n * @deprecated This will be removed in a later version of Nx. Since RxJS 7, use firstValueFrom(obs$)\n *\n * @whatItDoes reads the first value from an observable and returns a promise\n * with it. This should be used in combination with async/await.\n *\n * ## Example\n *\n * ```typescript\n * const obs = of(1, 2, 3, 4);\n * const res = await readFirst(obs)\n * expect(res).toEqual(1);\n * ```\n */\nexport function readFirst<T>(o: Observable<T>): Promise<T> {\n return o.pipe(first()).toPromise();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAGA;;;;;;;;;;;;;AAaG;AACG,SAAU,OAAO,CAAI,CAAgB,EAAA;IACzC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;;AAaG;AACG,SAAU,SAAS,CAAI,CAAgB,EAAA;IAC3C,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;AACrC;;ACrCA;;AAEG;;;;"}
|