@eui/tools 5.0.0-rc.9 → 5.1.0
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/.version.properties +1 -1
- package/CHANGELOG.md +829 -21
- package/bin/eui-scripts.js +6 -6
- package/bin/scripts/build-package-sub.js +20 -0
- package/bin/scripts/version.js +12 -0
- package/global.test.js +61 -45
- package/package.json +14 -13
- package/sandbox.js +229 -6
- package/scripts/csdr/audit/audit-utils.js +2 -2
- package/scripts/csdr/cli/app.js +43 -5
- package/scripts/csdr/cli/package.js +93 -9
- package/scripts/csdr/cli/skeletons/app-eui10/angular-config.json +20 -0
- package/scripts/csdr/cli/skeletons/app-eui10/dependencies-base.json +2 -0
- package/scripts/csdr/cli/skeletons/app-eui10/dependencies-composite.json +5 -0
- package/scripts/csdr/cli/skeletons/app-eui10/gitignore_TO_REPLACE +63 -0
- package/scripts/csdr/cli/skeletons/app-eui10/mock/app/models/user.js +8 -0
- package/scripts/csdr/cli/skeletons/app-eui10/mock/app/routes/index.js +5 -0
- package/scripts/csdr/cli/skeletons/app-eui10/mock/app/routes/user_routes.js +24 -0
- package/scripts/csdr/cli/skeletons/app-eui10/mock/db/db.json +12 -0
- package/scripts/csdr/cli/skeletons/app-eui10/mock/server.js +16 -0
- package/scripts/csdr/cli/skeletons/app-eui10/package.json +6 -0
- package/scripts/csdr/cli/skeletons/app-eui10/scripts.json +5 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/app-routing.module.ts +18 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/app-starter.service.ts +68 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/app.component.html +29 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/app.component.ts +55 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/app.module.ts +27 -0
- package/scripts/{utils/pre-build/translations/common.js → csdr/cli/skeletons/app-eui10/src/app/core/components/.gitkeep} +0 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/core/core.module.ts +84 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/core/reducers/index.ts +33 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/home/home-routing.module.ts +15 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/home/home.component.html +7 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/home/home.component.ts +19 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/home/home.module.ts +18 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/module1/components/page1/page1.component.html +7 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/module1/components/page1/page1.component.ts +7 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/module1/components/page2/page2.component.html +7 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/module1/components/page2/page2.component.ts +7 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/module1/module1-routing.module.ts +18 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/module1/module1.component.html +7 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/module1/module1.component.ts +8 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/module1/module1.module.ts +21 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/module2/module2-routing.module.ts +16 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/module2/module2.component.html +8 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/module2/module2.component.ts +7 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/features/module2/module2.module.ts +17 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/shared/shared.module.ts +21 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/app/shared/testing/router.mock.ts +18 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/assets/config/env-json-config.json +8 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/assets/i18n/en.json +7 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/assets/i18n/fr.json +7 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/config/global.ts +20 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/config/index.ts +8 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/config/modules.ts +4 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/environments/environment.prod.ts +9 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/environments/environment.ts +9 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/index.html +21 -0
- package/scripts/csdr/cli/skeletons/app-eui10/src/styles.scss +1 -0
- package/scripts/csdr/cli/skeletons/app-eui10/tslint.json +17 -0
- package/scripts/csdr/cli/skeletons/app-showcase/angular-config.json +98 -28
- package/scripts/csdr/cli/skeletons/app-showcase/dependencies-composite.json +1 -1
- package/scripts/csdr/cli/skeletons/app-showcase/src/app/app.component.html +16 -18
- package/scripts/csdr/cli/skeletons/app-showcase/src/app/app.routes.ts +1 -1
- package/scripts/csdr/cli/skeletons/app-showcase/src/app/features/_home/home.module.ts +2 -2
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/angular-config.json +33 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/dependencies-composite.json +5 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/gitignore_TO_REPLACE +50 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/package.json +6 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/scripts.json +3 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/app-routing.module.ts +21 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/app.component.html +26 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/app.component.ts +19 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/app.routes.ts +7 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/features/_home/home-routing.module.ts +15 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/features/_home/home.component.html +7 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/features/_home/home.component.ts +8 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/app/features/_home/home.module.ts +17 -0
- package/scripts/csdr/cli/skeletons/{app-showcase → app-showcase-eui13}/src/app/features/shared/shared.module.ts +0 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/assets/app-metadata.json +8 -0
- package/scripts/csdr/cli/skeletons/app-showcase-eui13/src/assets/config/env-json-config.json +41 -0
- package/scripts/csdr/cli/skeletons/{app-showcase → app-showcase-eui13}/src/index.html +0 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/assets/i18n/en.json +3 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/assets/i18n/fr.json +3 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/gitignore_TO_REPLACE +46 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/karma.conf.js +7 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/ng-package.json +7 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/package.json +4 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/src/dummy.spec.ts.TO_REPLACE +5 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/src/index.ts +1 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/src/lib/module.ts +11 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/src/test.ts.TO_REPLACE +21 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/tsconfig.lib.json +32 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/tsconfig.spec.json +17 -0
- package/scripts/csdr/cli/skeletons/package/frontend-eui10/tslint.json +17 -0
- package/scripts/csdr/cli/skeletons/package/frontend-option-route/src/lib/components/cmp1/cmp1.component.html +1 -0
- package/scripts/csdr/cli/skeletons/package/frontend-option-route/src/lib/components/cmp1/cmp1.component.spec.ts.TO_REPLACE +25 -0
- package/scripts/csdr/cli/skeletons/package/frontend-option-route/src/lib/components/cmp1/cmp1.component.ts +14 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote/angular.json +3 -3
- package/scripts/csdr/cli/skeletons/package/frontend-remote/dependencies-composite.json +1 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/app/dummy.scss +3 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/app/dummy.spec.ts +6 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/app/module.component.ts +62 -28
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/app/module.ts +44 -39
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/app/routing.module.ts +23 -9
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/assets/i18n-compiled/en.json +1 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/assets/i18n-compiled/fr.json +1 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/config/global.ts +6 -5
- package/scripts/csdr/cli/skeletons/package/frontend-remote/src/index.html +1 -1
- package/scripts/csdr/cli/skeletons/package/frontend-remote/tsconfig.app.json +3 -1
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/angular.json +90 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/browserslist +10 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/dependencies-base.json +2 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/dependencies-composite.json +6 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/gitignore_TO_REPLACE +64 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/karma.conf.js +7 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/package.json_TO_REPLACE +8 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/dummy.scss +3 -0
- package/scripts/csdr/cli/skeletons/package/{frontend-remote/src/app/dummy.spec.ts.TO_REPLACE → frontend-remote-eui10/src/app/dummy.spec.ts} +0 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/fallback.component.ts +11 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/module.component.ts +90 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/module.ts +219 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/reducers/custom-route-serializer.ts +28 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/reducers/index.ts +42 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/app/routing.module.ts +55 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/assets/.gitkeep +0 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/config/global.ts +31 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/config/index.ts +20 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/config/modules.ts +3 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/environments/environment.prod.ts +3 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/environments/environment.ts +15 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/favicon.ico +0 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/index.html +10 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/main.ts +12 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/polyfills.ts +86 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/src/test.ts.TO_REPLACE +20 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/tsconfig.app.json +20 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/tsconfig.spec.json +18 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/tslint-remote.json +7 -0
- package/scripts/csdr/cli/skeletons/package/frontend-remote-eui10/tslint.json +17 -0
- package/scripts/csdr/cli/skeletons/package/{frontend-remote → frontend-remote-eui10}/webpack.extra.js +0 -0
- package/scripts/csdr/config/angular.js +724 -83
- package/scripts/csdr/config/global.js +43 -6
- package/scripts/csdr/config/packages.js +64 -1
- package/scripts/csdr/config/projects.js +24 -6
- package/scripts/csdr/config/projects.test.js +11 -9
- package/scripts/csdr/config/sync.js +6 -3
- package/scripts/csdr/init/init-utils.js +108 -0
- package/scripts/csdr/init/init.js +11 -0
- package/scripts/csdr/init/prompt.js +3 -1
- package/scripts/csdr/init/resources/10.x/yarn.lock +16428 -0
- package/scripts/csdr/init/resources/13.x/browserslistrc +6 -0
- package/scripts/csdr/init/resources/13.x/resolutions.json +6 -0
- package/scripts/csdr/init/resources/14.x/browserslistrc +6 -0
- package/scripts/csdr/init/resources/14.x/resolutions.json +5 -0
- package/scripts/csdr/init/resources/nodejs-10.x/resolutions.json +8 -0
- package/scripts/csdr/install/build-app.js +6 -38
- package/scripts/csdr/install/build-package.js +16 -157
- package/scripts/csdr/install/common.js +19 -10
- package/scripts/csdr/install/composite-core.js +256 -0
- package/scripts/csdr/install/install-utils.js +8 -4
- package/scripts/csdr/install/local-dev.js +6 -4
- package/scripts/csdr/install/packages.js +90 -0
- package/scripts/csdr/install/projects.js +76 -0
- package/scripts/csdr/install/{remote.js → remotes.js} +46 -51
- package/scripts/csdr/metadata/app-envs.js +0 -39
- package/scripts/csdr/metadata/app-history.js +0 -66
- package/scripts/csdr/metadata/app-versions.js +2 -12
- package/scripts/csdr/metadata/app.js +49 -9
- package/scripts/csdr/metadata/common.js +23 -47
- package/scripts/csdr/metadata/metadata-utils.js +2 -0
- package/scripts/csdr/metadata/package-envs.js +71 -0
- package/scripts/csdr/metadata/package-history.js +5 -0
- package/scripts/csdr/metadata/package-versions.js +79 -0
- package/scripts/csdr/metadata/package.js +95 -105
- package/scripts/csdr/metadata/stats.js +9 -5
- package/scripts/csdr/metadata/v2/app/_app.js +21 -0
- package/scripts/csdr/metadata/v2/app/app.js +25 -0
- package/scripts/csdr/metadata/v2/app/index.js +3 -0
- package/scripts/csdr/metadata/v2/global/_global.js +21 -0
- package/scripts/csdr/metadata/v2/global/global.js +25 -0
- package/scripts/csdr/metadata/v2/global/index.js +3 -0
- package/scripts/csdr/metadata/v2/index.js +5 -0
- package/scripts/csdr/metadata/v2/migrate-devops-metadata.js +207 -0
- package/scripts/csdr/metadata/v2/package/_package.js +21 -0
- package/scripts/csdr/metadata/v2/package/index.js +3 -0
- package/scripts/csdr/metadata/v2/package/package.js +25 -0
- package/scripts/csdr/release/app/release-app.js +16 -21
- package/scripts/csdr/release/package/backend.js +26 -0
- package/scripts/csdr/release/package/common.js +220 -18
- package/scripts/csdr/release/package/release-package.js +28 -10
- package/scripts/csdr/release/package/remote.js +2 -17
- package/scripts/csdr/release/package/ui.js +86 -3
- package/scripts/csdr/sync/sync-utils.js +6 -0
- package/scripts/csdr/templates/maven-settings.template +13 -0
- package/scripts/csdr/version/app-common.js +32 -0
- package/scripts/csdr/version/app-env-target.js +5 -295
- package/scripts/csdr/version/app.js +5 -3
- package/scripts/csdr/version/common.js +282 -0
- package/scripts/csdr/version/{app-env-target.test.js → common.test.js} +48 -36
- package/scripts/csdr/version/package-common.js +158 -0
- package/scripts/csdr/version/package-default.js +144 -0
- package/scripts/csdr/version/package-remote.js +51 -0
- package/scripts/csdr/version/package.js +16 -270
- package/scripts/csdr/version/version-utils.js +12 -7
- package/scripts/utils/api-utils.js +126 -0
- package/scripts/utils/build/app/build-app-utils.js +11 -9
- package/scripts/utils/build/package/angular.js +4 -30
- package/scripts/utils/build/package/build-package-utils.js +50 -1
- package/scripts/utils/build/package/element.js +17 -18
- package/scripts/utils/build/package/nodeJs.js +2 -1
- package/scripts/utils/build/package/skeletons/elements/index.html +9 -0
- package/scripts/utils/build/package/styles.js +92 -92
- package/scripts/utils/git-utils.js +76 -6
- package/scripts/utils/index.js +3 -4
- package/scripts/utils/notification/common.js +5 -0
- package/scripts/utils/notification/mail-utils.js +3 -0
- package/scripts/utils/notification/mailstack.js +3 -5
- package/scripts/utils/notification/package.js +0 -2
- package/scripts/utils/notification/slack-utils.js +6 -7
- package/scripts/utils/pre-build/elements.js +8 -4
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton/src/_generated/app/app.module.ts +1 -1
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton/tsconfig.app.json +1 -2
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/app/app.module.ts +52 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/app/core/reducers/index.ts +40 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/config/global.ts +4 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/config/index.ts +8 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/config/modules.ts +4 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/environments/environment.dev.ts +9 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/environments/environment.prod.ts +9 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/environments/environment.ts +21 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/favicon.ico +0 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/karma.conf.js +7 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/main.ts +21 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/polyfills.ts +86 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/src/_generated/tst.ts +33 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/tsconfig.app.json +19 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/tsconfig.spec.json +9 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui13/tslint.json +17 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/app/app.module.ts +52 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/app/core/reducers/index.ts +40 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/config/global.ts +4 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/config/index.ts +8 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/config/modules.ts +4 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/environments/environment.dev.ts +9 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/environments/environment.prod.ts +9 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/environments/environment.ts +21 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/favicon.ico +0 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/karma.conf.js +7 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/main.ts +21 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/polyfills.ts +86 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/src/_generated/tst.ts +33 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/tsconfig.app.json +19 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/tsconfig.spec.json +9 -0
- package/scripts/utils/pre-build/injection/app-sources-full-skeleton-eui14/tslint.json +17 -0
- package/scripts/utils/pre-build/injection/config.js +30 -31
- package/scripts/utils/pre-build/injection/externals.js +70 -72
- package/scripts/utils/pre-build/injection/injection-utils.js +2 -0
- package/scripts/utils/pre-build/injection/routes-replacement.js +322 -0
- package/scripts/utils/pre-build/injection/skeletons.js +9 -3
- package/scripts/utils/pre-build/projects.js +20 -15
- package/scripts/utils/pre-build/translations/elements.js +21 -11
- package/scripts/utils/serve/app.js +7 -4
- package/scripts/utils/test/test-utils.js +39 -1
- package/scripts/utils/tools.js +402 -290
- package/bin/scripts/csdr-jira-update.js +0 -12
- package/bin/scripts/csdr-migrate-package.js +0 -17
- package/bin/scripts/e2e-app.js +0 -62
- package/scripts/csdr/install/composite-utils.js +0 -292
- package/scripts/csdr/jira/jira-utils.js +0 -169
- package/scripts/csdr/jira/update.js +0 -153
- package/scripts/migration/eui8-migration.js +0 -94
- package/scripts/migration/migrate-utils.js +0 -191
- package/scripts/utils/confluence-utils.js +0 -126
package/scripts/csdr/cli/app.js
CHANGED
|
@@ -12,14 +12,22 @@ const configUtils = require('../config/config-utils');
|
|
|
12
12
|
|
|
13
13
|
// CONSTANTS
|
|
14
14
|
const TARGET_ROOT_PATH = path.join(process.cwd(), 'apps');
|
|
15
|
-
const
|
|
15
|
+
const APP_SKELETON_EUI7_PATH = path.join(__dirname, 'skeletons', 'app');
|
|
16
|
+
const APP_SKELETON_EUI10_PATH = path.join(__dirname, 'skeletons', 'app-eui10');
|
|
17
|
+
const APP_SKELETON_EUI13_PATH = path.join(__dirname, 'skeletons', 'app-eui13');
|
|
16
18
|
const APP_SHOWCASE_SKELETON_PATH = path.join(__dirname, 'skeletons', 'app-showcase');
|
|
19
|
+
const APP_SHOWCASE_SKELETON_EUI13_PATH = path.join(__dirname, 'skeletons', 'app-showcase-eui13');
|
|
17
20
|
|
|
18
21
|
const defaultConfig = {
|
|
19
22
|
appType: {
|
|
20
23
|
DEFAULT: 'default',
|
|
21
24
|
SHOWCASE: 'showcase'
|
|
22
25
|
},
|
|
26
|
+
appVersion: {
|
|
27
|
+
EUI7: 'v7',
|
|
28
|
+
EUI10: 'v10',
|
|
29
|
+
EUI13: 'v13'
|
|
30
|
+
},
|
|
23
31
|
appName: 'my-app',
|
|
24
32
|
appScope: '@app'
|
|
25
33
|
}
|
|
@@ -44,6 +52,24 @@ const prompt = () => {
|
|
|
44
52
|
}
|
|
45
53
|
}
|
|
46
54
|
},
|
|
55
|
+
{
|
|
56
|
+
type: 'list',
|
|
57
|
+
name: 'appVersion',
|
|
58
|
+
message: 'Select eUI version target :',
|
|
59
|
+
choices: [
|
|
60
|
+
{ name: 'v10', value: defaultConfig.appVersion.EUI10 },
|
|
61
|
+
{ name: 'v13', value: defaultConfig.appVersion.EUI13 },
|
|
62
|
+
],
|
|
63
|
+
default: defaultConfig.appVersion.EUI10,
|
|
64
|
+
// when: function (answers) {
|
|
65
|
+
// return (answers.appType === defaultConfig.appType.SHOWCASE);
|
|
66
|
+
// },
|
|
67
|
+
validate: function (value) {
|
|
68
|
+
if (value.length) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
47
73
|
{
|
|
48
74
|
name: 'appName',
|
|
49
75
|
type: 'input',
|
|
@@ -66,7 +92,7 @@ const prompt = () => {
|
|
|
66
92
|
|
|
67
93
|
|
|
68
94
|
|
|
69
|
-
const build = (name, scope, appType, targetPath) => {
|
|
95
|
+
const build = (name, scope, appType, targetPath, appVersion) => {
|
|
70
96
|
tools.logTitle('Generating application');
|
|
71
97
|
|
|
72
98
|
return Promise.resolve()
|
|
@@ -78,10 +104,22 @@ const build = (name, scope, appType, targetPath) => {
|
|
|
78
104
|
.then(() => {
|
|
79
105
|
tools.logInfo('Copying skeleton to target');
|
|
80
106
|
if (appType === defaultConfig.appType.DEFAULT) {
|
|
81
|
-
|
|
107
|
+
if (appVersion === defaultConfig.appVersion.EUI13) {
|
|
108
|
+
return tools.copydir(APP_SKELETON_EUI13_PATH, targetPath, true);
|
|
109
|
+
}
|
|
110
|
+
if (appVersion === defaultConfig.appVersion.EUI10) {
|
|
111
|
+
return tools.copydir(APP_SKELETON_EUI10_PATH, targetPath, true);
|
|
112
|
+
}
|
|
113
|
+
if (appVersion === defaultConfig.appVersion.EUI7) {
|
|
114
|
+
return tools.copydir(APP_SKELETON_EUI7_PATH, targetPath, true);
|
|
115
|
+
}
|
|
82
116
|
|
|
83
117
|
} else if (appType === defaultConfig.appType.SHOWCASE) {
|
|
84
|
-
|
|
118
|
+
if (appVersion === defaultConfig.appVersion.EUI13) {
|
|
119
|
+
return tools.copydir(APP_SHOWCASE_SKELETON_EUI13_PATH, targetPath, true);
|
|
120
|
+
} else {
|
|
121
|
+
return tools.copydir(APP_SHOWCASE_SKELETON_PATH, targetPath, true);
|
|
122
|
+
}
|
|
85
123
|
}
|
|
86
124
|
})
|
|
87
125
|
|
|
@@ -157,7 +195,7 @@ module.exports.generate = () => {
|
|
|
157
195
|
|
|
158
196
|
const targetPath = path.join(TARGET_ROOT_PATH, answers.appName);
|
|
159
197
|
|
|
160
|
-
return build(answers.appName, answers.appScope, answers.appType, targetPath);
|
|
198
|
+
return build(answers.appName, answers.appScope, answers.appType, targetPath, answers.appVersion);
|
|
161
199
|
})
|
|
162
200
|
|
|
163
201
|
.catch((e) => {
|
|
@@ -13,7 +13,9 @@ const configUtils = require('../config/config-utils');
|
|
|
13
13
|
const TARGET_ROOT_PATH = path.join(process.cwd(), 'packages');
|
|
14
14
|
const SKELETONS_ROOT_PATH = path.join(__dirname, 'skeletons', 'package');
|
|
15
15
|
const FRONTEND_SKELETON_PATH = path.join(SKELETONS_ROOT_PATH, 'frontend');
|
|
16
|
+
const FRONTEND_SKELETON_EUI10_PATH = path.join(SKELETONS_ROOT_PATH, 'frontend-eui10');
|
|
16
17
|
const FRONTEND_SKELETON_REMOTE_PATH = path.join(SKELETONS_ROOT_PATH, 'frontend-remote');
|
|
18
|
+
const FRONTEND_SKELETON_REMOTE_EUI10_PATH = path.join(SKELETONS_ROOT_PATH, 'frontend-remote-eui10');
|
|
17
19
|
const FRONTEND_OPTION_ROUTE_PATH = path.join(SKELETONS_ROOT_PATH, 'frontend-option-route');
|
|
18
20
|
const BACKEND_SKELETON_PATH = path.join(SKELETONS_ROOT_PATH, 'backend');
|
|
19
21
|
|
|
@@ -28,7 +30,13 @@ const defaultConfig = {
|
|
|
28
30
|
DEFAULT: 'default',
|
|
29
31
|
REMOTE: 'remote'
|
|
30
32
|
},
|
|
33
|
+
pkgFrontendVersion: {
|
|
34
|
+
DEFAULT: 'eui7',
|
|
35
|
+
EUI10: 'eui10'
|
|
36
|
+
},
|
|
31
37
|
isRouteModule: true,
|
|
38
|
+
isCsdrRepo: true,
|
|
39
|
+
externalRepoName: null,
|
|
32
40
|
pkgGroupId: 'eu.europa.ec.cc'
|
|
33
41
|
};
|
|
34
42
|
|
|
@@ -76,6 +84,24 @@ const prompt = () => {
|
|
|
76
84
|
}
|
|
77
85
|
}
|
|
78
86
|
},
|
|
87
|
+
{
|
|
88
|
+
type: 'list',
|
|
89
|
+
name: 'pkgFrontendVersion',
|
|
90
|
+
message: 'Select eUI version target :',
|
|
91
|
+
choices: [
|
|
92
|
+
{ name: 'v7', value: defaultConfig.pkgFrontendVersion.DEFAULT },
|
|
93
|
+
{ name: 'v10', value: defaultConfig.pkgFrontendVersion.EUI10 },
|
|
94
|
+
],
|
|
95
|
+
default: defaultConfig.pkgFrontendType.DEFAULT,
|
|
96
|
+
when: function (answers) {
|
|
97
|
+
return (answers.pkgType === defaultConfig.pkgType.FRONTEND);
|
|
98
|
+
},
|
|
99
|
+
validate: function (value) {
|
|
100
|
+
if (value.length) {
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
79
105
|
{
|
|
80
106
|
name: 'pkgScope',
|
|
81
107
|
type: 'input',
|
|
@@ -99,7 +125,24 @@ const prompt = () => {
|
|
|
99
125
|
answers.pkgFrontendType !== defaultConfig.pkgFrontendType.REMOTE
|
|
100
126
|
);
|
|
101
127
|
}
|
|
102
|
-
}
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: 'isCsdrRepo',
|
|
131
|
+
type: 'confirm',
|
|
132
|
+
message: 'Is the repository within CSDR git project ?',
|
|
133
|
+
default: defaultConfig.isCsdrRepo
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: 'externalRepoName',
|
|
137
|
+
type: 'input',
|
|
138
|
+
message: 'Enter the project CITnet project name where the repository is located :',
|
|
139
|
+
default: defaultConfig.externalRepoName,
|
|
140
|
+
when: function (answers) {
|
|
141
|
+
return (
|
|
142
|
+
answers.isCsdrRepo === false
|
|
143
|
+
);
|
|
144
|
+
}
|
|
145
|
+
},
|
|
103
146
|
]);
|
|
104
147
|
})
|
|
105
148
|
|
|
@@ -110,22 +153,40 @@ const prompt = () => {
|
|
|
110
153
|
|
|
111
154
|
|
|
112
155
|
|
|
113
|
-
const buildFrontend = (name, scope, frontendType, isRouteModule) => {
|
|
156
|
+
const buildFrontend = (name, scope, frontendType, frontendVersion, isRouteModule, isCsdrRepo, externalRepoName) => {
|
|
114
157
|
tools.logTitle('Generating package');
|
|
115
158
|
|
|
116
159
|
let fullName = scope.substr(1) + '-' + name;
|
|
160
|
+
let npmPkgName, repoName;
|
|
161
|
+
|
|
117
162
|
if (frontendType === defaultConfig.pkgFrontendType.DEFAULT) {
|
|
118
163
|
fullName += '-ui';
|
|
164
|
+
npmPkgName = `${scope}/${name}`;
|
|
165
|
+
|
|
119
166
|
} else if (frontendType === defaultConfig.pkgFrontendType.REMOTE) {
|
|
120
|
-
|
|
167
|
+
if (frontendVersion === defaultConfig.pkgFrontendVersion.EUI10) {
|
|
168
|
+
fullName += '-eui10-remote-el-ui';
|
|
169
|
+
npmPkgName = `${scope}/${name}-eui10-remote-el`;
|
|
170
|
+
|
|
171
|
+
} else {
|
|
172
|
+
fullName += '-remote-el-ui';
|
|
173
|
+
npmPkgName = `${scope}/${name}-remote-el`;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (isCsdrRepo) {
|
|
178
|
+
repoName = `${fullName}.git`;
|
|
179
|
+
|
|
180
|
+
} else {
|
|
181
|
+
repoName = `${externalRepoName}/${fullName}.git`;
|
|
121
182
|
}
|
|
122
183
|
|
|
123
184
|
const targetPath = path.join(TARGET_ROOT_PATH, fullName);
|
|
124
185
|
|
|
125
186
|
const pkg = {
|
|
126
187
|
name: fullName,
|
|
127
|
-
|
|
128
|
-
npmPkgName:
|
|
188
|
+
repoName: repoName,
|
|
189
|
+
npmPkgName: npmPkgName
|
|
129
190
|
};
|
|
130
191
|
|
|
131
192
|
return Promise.resolve()
|
|
@@ -143,9 +204,17 @@ const buildFrontend = (name, scope, frontendType, isRouteModule) => {
|
|
|
143
204
|
.then(() => {
|
|
144
205
|
tools.logInfo('Copying skeleton to target');
|
|
145
206
|
if (frontendType === defaultConfig.pkgFrontendType.REMOTE) {
|
|
146
|
-
|
|
207
|
+
if (frontendVersion === defaultConfig.pkgFrontendVersion.EUI10) {
|
|
208
|
+
return tools.copydir(FRONTEND_SKELETON_REMOTE_EUI10_PATH, targetPath, true);
|
|
209
|
+
} else {
|
|
210
|
+
return tools.copydir(FRONTEND_SKELETON_REMOTE_PATH, targetPath, true);
|
|
211
|
+
}
|
|
147
212
|
} else {
|
|
148
|
-
|
|
213
|
+
if (frontendVersion === defaultConfig.pkgFrontendVersion.EUI10) {
|
|
214
|
+
return tools.copydir(FRONTEND_SKELETON_EUI10_PATH, targetPath, true);
|
|
215
|
+
} else {
|
|
216
|
+
return tools.copydir(FRONTEND_SKELETON_PATH, targetPath, true);
|
|
217
|
+
}
|
|
149
218
|
}
|
|
150
219
|
})
|
|
151
220
|
|
|
@@ -171,6 +240,9 @@ const buildFrontend = (name, scope, frontendType, isRouteModule) => {
|
|
|
171
240
|
.then(() => {
|
|
172
241
|
return tools.replaceInPath(targetPath, '@module.scope@', scope);
|
|
173
242
|
})
|
|
243
|
+
.then(() => {
|
|
244
|
+
return tools.replaceInPath(targetPath, '@module.scope-name@', `${scope.substr(1)}-${name}`);
|
|
245
|
+
})
|
|
174
246
|
.then(() => {
|
|
175
247
|
return tools.replaceInPath(targetPath, '@module.scope.string@', scope.substr(1));
|
|
176
248
|
})
|
|
@@ -302,10 +374,22 @@ module.exports.generate = () => {
|
|
|
302
374
|
console.log(answers);
|
|
303
375
|
|
|
304
376
|
if (answers.pkgType === defaultConfig.pkgType.FRONTEND) {
|
|
305
|
-
return buildFrontend(
|
|
377
|
+
return buildFrontend(
|
|
378
|
+
answers.pkgName,
|
|
379
|
+
answers.pkgScope,
|
|
380
|
+
answers.pkgFrontendType,
|
|
381
|
+
answers.pkgFrontendVersion,
|
|
382
|
+
answers.isRouteModule,
|
|
383
|
+
answers.isCsdrRepo,
|
|
384
|
+
answers.externalRepoName,
|
|
385
|
+
);
|
|
306
386
|
|
|
307
387
|
} else if (answers.pkgType === defaultConfig.pkgType.BACKEND) {
|
|
308
|
-
return buildBackend(
|
|
388
|
+
return buildBackend(
|
|
389
|
+
answers.pkgName,
|
|
390
|
+
answers.pkgScope,
|
|
391
|
+
answers.pkgGroupId,
|
|
392
|
+
);
|
|
309
393
|
}
|
|
310
394
|
})
|
|
311
395
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"build": {
|
|
3
|
+
"assets": [
|
|
4
|
+
"apps/@app.name@/src/favicon.ico",
|
|
5
|
+
"apps/@app.name@/src/assets",
|
|
6
|
+
{
|
|
7
|
+
"glob": "**/*",
|
|
8
|
+
"input": "node_modules/@eui/core/assets/",
|
|
9
|
+
"output": "./assets"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"styles": [
|
|
13
|
+
"node_modules/@eui/styles/dist/styles/eui.css",
|
|
14
|
+
"node_modules/@eui/styles/dist/styles/eui-components.css",
|
|
15
|
+
"node_modules/@eui/styles/dist/styles/eui-next.css",
|
|
16
|
+
"apps/@app.name@/src/styles.scss"
|
|
17
|
+
],
|
|
18
|
+
"scripts": []
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
|
2
|
+
|
|
3
|
+
# compiled output
|
|
4
|
+
**/node_modules
|
|
5
|
+
**/target
|
|
6
|
+
**/build
|
|
7
|
+
**/dist
|
|
8
|
+
**/out-tsc
|
|
9
|
+
**/tmp
|
|
10
|
+
**/tests/reports
|
|
11
|
+
# /src/assets/i18n-compiled/*
|
|
12
|
+
# /src/assets/openid-login-config*
|
|
13
|
+
|
|
14
|
+
# IDEs and editors
|
|
15
|
+
/.idea
|
|
16
|
+
.project
|
|
17
|
+
.classpath
|
|
18
|
+
.c9/
|
|
19
|
+
*.launch
|
|
20
|
+
.settings/
|
|
21
|
+
*.sublime-workspace
|
|
22
|
+
|
|
23
|
+
# IDE - VSCode
|
|
24
|
+
.vscode/*
|
|
25
|
+
!.vscode/settings.json
|
|
26
|
+
!.vscode/tasks.json
|
|
27
|
+
!.vscode/launch.json
|
|
28
|
+
!.vscode/extensions.json
|
|
29
|
+
|
|
30
|
+
# misc
|
|
31
|
+
/.sass-cache
|
|
32
|
+
/connect.lock
|
|
33
|
+
/coverage
|
|
34
|
+
/libpeerconnection.log
|
|
35
|
+
npm-debug.log
|
|
36
|
+
testem.log
|
|
37
|
+
/typings
|
|
38
|
+
yarn-error.log
|
|
39
|
+
|
|
40
|
+
# e2e
|
|
41
|
+
/e2e/*.js
|
|
42
|
+
/e2e/*.map
|
|
43
|
+
|
|
44
|
+
# System Files
|
|
45
|
+
.DS_Store
|
|
46
|
+
Thumbs.db
|
|
47
|
+
|
|
48
|
+
/*.iml
|
|
49
|
+
|
|
50
|
+
/proxy-mock.conf.json
|
|
51
|
+
/proxy.conf.json
|
|
52
|
+
/src/assets/dynamic-config.prod.json
|
|
53
|
+
/src/assets/jsrsasign-all-min.js
|
|
54
|
+
/src/assets/oidc-client.min.js
|
|
55
|
+
/src/assets/openid-login-config.json
|
|
56
|
+
/src/assets/openid-login.js
|
|
57
|
+
/src/karma.conf.js
|
|
58
|
+
/src/main.ts
|
|
59
|
+
/src/polyfills.ts
|
|
60
|
+
/src/test.ts
|
|
61
|
+
/tsconfig.app.json
|
|
62
|
+
/tsconfig.spec.json
|
|
63
|
+
/webpack.extra.js
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const User = require('../models/user');
|
|
2
|
+
const uuid = require('uuid');
|
|
3
|
+
|
|
4
|
+
module.exports = function (app, db) {
|
|
5
|
+
db.then(db => {
|
|
6
|
+
|
|
7
|
+
app.get('/api/user-details', (req, res) => {
|
|
8
|
+
res.send(db.get('user-details'))
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
app.get('/api/users', (req, res) => {
|
|
12
|
+
res.send(db.get('users'))
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
app.post('/api/users', (req, res) => {
|
|
16
|
+
db.get('users')
|
|
17
|
+
.push({ ...User, ...req.body, ...{ id: uuid.v1() } })
|
|
18
|
+
.last()
|
|
19
|
+
.write()
|
|
20
|
+
.then(user => res.send(user))
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
});
|
|
24
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const express = require('express');
|
|
2
|
+
const bodyParser = require('body-parser');
|
|
3
|
+
const app = express();
|
|
4
|
+
const low = require('lowdb')
|
|
5
|
+
const FileAsync = require('lowdb/adapters/FileAsync')
|
|
6
|
+
const adapter = new FileAsync('apps/@app.name@/mock/db/db.json')
|
|
7
|
+
const db = low(adapter)
|
|
8
|
+
const port = 3000;
|
|
9
|
+
|
|
10
|
+
app.use(bodyParser.urlencoded({ extended: true }));
|
|
11
|
+
|
|
12
|
+
require('./app/routes')(app, db);
|
|
13
|
+
|
|
14
|
+
app.listen(port, () => {
|
|
15
|
+
console.log('We are live on ' + port);
|
|
16
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@app.name@:start-mock-server": "nodemon --ext js --watch ./apps/@app.name@/mock ./apps/@app.name@/mock/server.js",
|
|
3
|
+
"@app.name@:start-serve": "eui-scripts serve-app @app.name@ --configuration=proxy-mock",
|
|
4
|
+
"@app.name@:start": "npm-run-all --parallel @app.name@:start-mock-server @app.name@:start-serve"
|
|
5
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { RouterModule, Routes } from '@angular/router';
|
|
3
|
+
|
|
4
|
+
const routes: Routes = [
|
|
5
|
+
{ path: '', redirectTo: 'home', pathMatch: 'full' },
|
|
6
|
+
{ path: 'index.jsp', redirectTo: 'home' },
|
|
7
|
+
{ path: 'home', loadChildren: './features/home/home.module#Module' },
|
|
8
|
+
{ path: 'module1', loadChildren: './features/module1/module1.module#Module' },
|
|
9
|
+
{ path: 'module2', loadChildren: './features/module2/module2.module#Module' },
|
|
10
|
+
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
@NgModule({
|
|
14
|
+
imports: [
|
|
15
|
+
RouterModule.forRoot(routes),
|
|
16
|
+
],
|
|
17
|
+
})
|
|
18
|
+
export class AppRoutingModule {}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import {
|
|
3
|
+
CONFIG_TOKEN,
|
|
4
|
+
UserService,
|
|
5
|
+
EuiAppConfig,
|
|
6
|
+
UserDetails,
|
|
7
|
+
UserPreferences,
|
|
8
|
+
I18nService,
|
|
9
|
+
} from '@eui/core';
|
|
10
|
+
import { HttpClient } from '@angular/common/http';
|
|
11
|
+
import { Observable, of, zip } from 'rxjs';
|
|
12
|
+
import { switchMap } from 'rxjs/operators';
|
|
13
|
+
|
|
14
|
+
@Injectable({
|
|
15
|
+
providedIn: 'root',
|
|
16
|
+
})
|
|
17
|
+
export class AppStarterService {
|
|
18
|
+
defaultUserPreferences: UserPreferences;
|
|
19
|
+
|
|
20
|
+
constructor(
|
|
21
|
+
protected userService: UserService,
|
|
22
|
+
protected i18nService: I18nService,
|
|
23
|
+
@Inject(CONFIG_TOKEN) private config: EuiAppConfig,
|
|
24
|
+
protected http: HttpClient,
|
|
25
|
+
) {
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
start(): Observable<any> {
|
|
29
|
+
|
|
30
|
+
return zip(
|
|
31
|
+
this.initUserService().pipe(
|
|
32
|
+
switchMap((userStatus) => {
|
|
33
|
+
console.log(userStatus);
|
|
34
|
+
return this.i18nService.init();
|
|
35
|
+
}),
|
|
36
|
+
),
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Fetches user details,
|
|
42
|
+
* create user: UserState object
|
|
43
|
+
* then initialise to the UserService on run time
|
|
44
|
+
*/
|
|
45
|
+
initUserService(): Observable<any> {
|
|
46
|
+
return zip(
|
|
47
|
+
this.fetchUserDetails(),
|
|
48
|
+
).pipe(
|
|
49
|
+
switchMap(([userDetails]) => {
|
|
50
|
+
return this.userService.init(userDetails);
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Fetches user details
|
|
56
|
+
*/
|
|
57
|
+
private fetchUserDetails(): Observable<UserDetails> {
|
|
58
|
+
// const url = this.config.modules.your_custom_module.your_custom_endpoint
|
|
59
|
+
const moduleCoreApi = this.config.modules.core;
|
|
60
|
+
const url = `${moduleCoreApi.base}${moduleCoreApi.userDetails}`;
|
|
61
|
+
const user = { userId: 'anonymous' };
|
|
62
|
+
|
|
63
|
+
if (!url) {
|
|
64
|
+
return of(user);
|
|
65
|
+
}
|
|
66
|
+
return this.http.get<UserDetails>(url);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<eui-app [userInfos]="userInfos?.fullName" isSidebarOpen=true>
|
|
2
|
+
<eui-app-toolbar>
|
|
3
|
+
<eui-toolbar>
|
|
4
|
+
<eui-toolbar-logo></eui-toolbar-logo>
|
|
5
|
+
<eui-toolbar-app appName="@app.name@"></eui-toolbar-app>
|
|
6
|
+
<eui-toolbar-environment>MOCK</eui-toolbar-environment>
|
|
7
|
+
<eui-toolbar-items euiPositionRight>
|
|
8
|
+
<eui-toolbar-item-user-profile>
|
|
9
|
+
<eui-user-profile-menu>
|
|
10
|
+
<eui-user-profile-menu-item>
|
|
11
|
+
<eui-icon iconClass="eui-icon-person-thin"></eui-icon> {{ 'eui.my-profile-informations' | translate }}
|
|
12
|
+
</eui-user-profile-menu-item>
|
|
13
|
+
<eui-user-profile-menu-item>
|
|
14
|
+
<eui-icon iconClass="eui-icon-logout-thin"></eui-icon> {{ 'eui.sign-out' | translate }}
|
|
15
|
+
</eui-user-profile-menu-item>
|
|
16
|
+
</eui-user-profile-menu>
|
|
17
|
+
</eui-toolbar-item-user-profile>
|
|
18
|
+
<eui-toolbar-item-notifications>
|
|
19
|
+
<eui-notifications [count]="notificationItems?.length" [items]="notificationItems"></eui-notifications>
|
|
20
|
+
</eui-toolbar-item-notifications>
|
|
21
|
+
</eui-toolbar-items>
|
|
22
|
+
</eui-toolbar>
|
|
23
|
+
</eui-app-toolbar>
|
|
24
|
+
<eui-app-sidebar>
|
|
25
|
+
<eui-app-sidebar-body>
|
|
26
|
+
<eui-app-sidebar-menu [items]="sidebarItems"></eui-app-sidebar-menu>
|
|
27
|
+
</eui-app-sidebar-body>
|
|
28
|
+
</eui-app-sidebar>
|
|
29
|
+
</eui-app>
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Component, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { Store } from '@ngrx/store';
|
|
3
|
+
import {
|
|
4
|
+
getUserState,
|
|
5
|
+
UserState,
|
|
6
|
+
} from '@eui/core';
|
|
7
|
+
import { Observable, Subscription } from 'rxjs';
|
|
8
|
+
import { AppStarterService } from './app-starter.service';
|
|
9
|
+
|
|
10
|
+
@Component({
|
|
11
|
+
selector: 'app-root',
|
|
12
|
+
templateUrl: './app.component.html',
|
|
13
|
+
})
|
|
14
|
+
export class AppComponent implements OnInit, OnDestroy {
|
|
15
|
+
userInfos: UserState;
|
|
16
|
+
// Observe state changes
|
|
17
|
+
userState: Observable<UserState>;
|
|
18
|
+
// an array to keep all subscriptions and easily unsubscribe
|
|
19
|
+
subs: Subscription[] = [];
|
|
20
|
+
|
|
21
|
+
sidebarItems = [
|
|
22
|
+
{ label: 'Home', url: 'home', iconClass: 'eui-icon-home' },
|
|
23
|
+
{ label: 'Module 1', url: 'module1', iconClass: 'eui-icon-work', children: [
|
|
24
|
+
{ label: 'page 1', url: 'module1/page1' },
|
|
25
|
+
{ label: 'page 2', url: 'module1/page2' },
|
|
26
|
+
] },
|
|
27
|
+
{ label: 'Module 2', url: 'module2', iconClass: 'eui-icon-work' },
|
|
28
|
+
];
|
|
29
|
+
notificationItems = [
|
|
30
|
+
{ label: 'Title label 1', subLabel: 'Subtitle label' },
|
|
31
|
+
{ label: 'Title label 2', subLabel: 'Subtitle label' },
|
|
32
|
+
{ label: 'Title label 3', subLabel: 'Subtitle label' },
|
|
33
|
+
{ label: 'Title label 4', subLabel: 'Subtitle label' },
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
constructor(
|
|
37
|
+
private store: Store<any>,
|
|
38
|
+
private appStarterService: AppStarterService,
|
|
39
|
+
) {
|
|
40
|
+
this.appStarterService.start().subscribe(() => {
|
|
41
|
+
this.userState = <any>this.store.select(getUserState);
|
|
42
|
+
this.subs.push(this.userState.subscribe((user: UserState) => {
|
|
43
|
+
this.userInfos = { ...user };
|
|
44
|
+
console.log(user);
|
|
45
|
+
}));
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
ngOnInit() {
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
ngOnDestroy() {
|
|
53
|
+
this.subs.forEach((s: Subscription) => s.unsubscribe());
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BrowserModule } from '@angular/platform-browser';
|
|
2
|
+
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
|
|
5
|
+
import { AppRoutingModule } from './app-routing.module';
|
|
6
|
+
import { AppComponent } from './app.component';
|
|
7
|
+
import { CoreModule } from './core/core.module';
|
|
8
|
+
import { AppStarterService } from './app-starter.service';
|
|
9
|
+
|
|
10
|
+
@NgModule({
|
|
11
|
+
declarations: [
|
|
12
|
+
AppComponent,
|
|
13
|
+
],
|
|
14
|
+
imports: [
|
|
15
|
+
BrowserModule,
|
|
16
|
+
BrowserAnimationsModule,
|
|
17
|
+
CoreModule,
|
|
18
|
+
AppRoutingModule,
|
|
19
|
+
],
|
|
20
|
+
providers: [
|
|
21
|
+
AppStarterService,
|
|
22
|
+
],
|
|
23
|
+
bootstrap: [
|
|
24
|
+
AppComponent,
|
|
25
|
+
],
|
|
26
|
+
})
|
|
27
|
+
export class AppModule {}
|