@eui/cli 21.0.0-alpha.4 → 21.0.0-alpha.40
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/README.md +1 -1
- package/bin/eui-cli.js +67 -0
- package/bin/scripts/build-app.js +12 -0
- package/bin/scripts/lint-app.js +22 -0
- package/bin/scripts/new.js +39 -0
- package/bin/scripts/serve-app.js +12 -0
- package/lib/app-utils/build.js +176 -0
- package/lib/app-utils/projects.js +41 -0
- package/lib/app-utils/serve.js +78 -0
- package/lib/build.js +130 -0
- package/lib/cli.js +140 -0
- package/lib/config.js +59 -0
- package/lib/generators.js +72 -0
- package/lib/install.js +45 -0
- package/lib/maven-build/build.xml +115 -0
- package/lib/maven-build/lib/ant-contrib-20061014.jar +0 -0
- package/lib/maven-build/pom.xml +64 -0
- package/lib/post-build.js +31 -0
- package/lib/skeletons/_angular/base/.browserslistrc +16 -0
- package/lib/skeletons/_angular/base/.editorconfig +16 -0
- package/lib/skeletons/_angular/base/README.md +26 -0
- package/lib/skeletons/_angular/base/angular.json +129 -0
- package/lib/skeletons/_angular/base/gitignore_TO_REPLACE +51 -0
- package/lib/skeletons/_angular/base/mock/app/models/user.js +6 -0
- package/lib/skeletons/_angular/base/mock/app/routes/index.js +5 -0
- package/lib/skeletons/_angular/base/mock/app/routes/user_routes.js +44 -0
- package/lib/skeletons/_angular/base/mock/db/db.json +10 -0
- package/lib/skeletons/_angular/base/mock/server.js +23 -0
- package/lib/skeletons/_angular/base/package.json +39 -0
- package/lib/skeletons/_angular/base/proxy-mock.conf.json +6 -0
- package/lib/skeletons/_angular/base/proxy.conf.json +6 -0
- package/lib/skeletons/_angular/base/src/.eslintrc.json +121 -0
- package/lib/skeletons/_angular/base/src/app/app-starter.service.spec.ts +68 -0
- package/lib/skeletons/_angular/base/src/app/app-starter.service.ts +68 -0
- package/lib/skeletons/_angular/base/src/app/app.component.html +35 -0
- package/lib/skeletons/_angular/base/src/app/app.component.spec.ts +60 -0
- package/lib/skeletons/_angular/base/src/app/app.component.ts +35 -0
- package/lib/skeletons/_angular/base/src/app/app.config.ts +84 -0
- package/lib/skeletons/_angular/base/src/app/app.routes.ts +9 -0
- package/lib/skeletons/_angular/base/src/app/features/home/home.component.html +41 -0
- package/lib/skeletons/_angular/base/src/app/features/home/home.component.ts +17 -0
- package/lib/skeletons/_angular/base/src/app/features/home/home.routes.ts +6 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page1/page1.component.html +7 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page1/page1.component.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page2/page2.component.html +7 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page2/page2.component.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/module1.component.html +7 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/module1.component.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module1/module1.routes.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module2/module2.component.html +7 -0
- package/lib/skeletons/_angular/base/src/app/features/module2/module2.component.ts +10 -0
- package/lib/skeletons/_angular/base/src/app/features/module2/module2.routes.ts +6 -0
- package/lib/skeletons/_angular/base/src/app/shared/testing/router.mock.ts +18 -0
- package/lib/skeletons/_angular/base/src/assets/config/env-json-config-dev.json +8 -0
- package/lib/skeletons/_angular/base/src/assets/config/env-json-config-prod.json +8 -0
- package/lib/skeletons/_angular/base/src/assets/config/env-json-config.json +7 -0
- package/lib/skeletons/_angular/base/src/assets/i18n/en.json +7 -0
- package/lib/skeletons/_angular/base/src/assets/i18n/fr.json +7 -0
- package/lib/skeletons/_angular/base/src/config/global.ts +33 -0
- package/lib/skeletons/_angular/base/src/config/index.ts +8 -0
- package/lib/skeletons/_angular/base/src/config/modules.ts +7 -0
- package/lib/skeletons/_angular/base/src/dummy.spec.ts +6 -0
- package/lib/skeletons/_angular/base/src/environments/environment.prod.ts +11 -0
- package/lib/skeletons/_angular/base/src/environments/environment.ts +15 -0
- package/lib/skeletons/_angular/base/src/favicon.ico +0 -0
- package/lib/skeletons/_angular/base/src/index.html +20 -0
- package/lib/skeletons/_angular/base/src/karma.conf.js +47 -0
- package/lib/skeletons/_angular/base/src/main.ts +20 -0
- package/lib/skeletons/_angular/base/src/styles.scss +1 -0
- package/lib/skeletons/_angular/base/src/tsconfig.app.json +18 -0
- package/lib/skeletons/_angular/base/src/tsconfig.spec.json +10 -0
- package/lib/skeletons/_angular/base/tsconfig.json +27 -0
- package/lib/skeletons/_angular/base-mobile/angular.json +156 -0
- package/lib/skeletons/_angular/base-mobile/ionic.config.json +5 -0
- package/lib/skeletons/_angular/base-mobile/ngsw-config.json +33 -0
- package/lib/skeletons/_angular/base-mobile/package.json +27 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app-routing.module.ts +18 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app-starter.service.ts +73 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app.component.html +47 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app.component.ts +81 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app.config.ts +81 -0
- package/lib/skeletons/_angular/base-mobile/src/app/app.module.ts +44 -0
- package/lib/skeletons/_angular/base-mobile/src/app/core/components/.gitkeep +0 -0
- package/lib/skeletons/_angular/base-mobile/src/app/core/core.module.ts +89 -0
- package/lib/skeletons/_angular/base-mobile/src/app/core/reducers/index.ts +32 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/about-routing.module.ts +45 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.html +70 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.ts +19 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.module.ts +30 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/change-log/changelog.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/change-log/changelog.component.ts +102 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/help-support/help-support.component.html +20 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/help-support/help-support.component.ts +75 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.html +12 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.ts +8 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/licence-details/licence-details.component.html +48 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/licence-details/licence-details.component.ts +7 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/opensource-licences/opensource-licences.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/opensource-licences/opensource-licences.component.ts +31 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.ts +103 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/home/home-routing.module.ts +15 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.ts +9 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.module.ts +18 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.ts +8 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.ts +8 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1-routing.module.ts +18 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.html +15 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.ts +17 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.module.ts +21 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2-routing.module.ts +16 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.html +11 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.ts +7 -0
- package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.module.ts +17 -0
- package/lib/skeletons/_angular/base-mobile/src/app/shared/shared.module.ts +16 -0
- package/lib/skeletons/_angular/base-mobile/src/app/shared/testing/router.mock.ts +18 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/docs/pdf-test.pdf +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/i18n/en.json +25 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/i18n/es.json +24 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/i18n/fr.json +25 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/i18n/tr.json +25 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-1024.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-114.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-120.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-128.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-144.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-152.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-16.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-180.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-192.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-32.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-36.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-384.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-48.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-512.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-57.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-60.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-72.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-76.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-96.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1125-2436.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1170-2532.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1179-2556.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2208.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2688.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1284-2778.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1290-2796.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1488-2266.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1536-2048.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1620-2160.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1640-2360.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2224.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2388.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-2048-2732.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-640-1136.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-750-1334.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-828-1792.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1125-2436.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1170-2532.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1179-2556.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2208.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2688.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1284-2778.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1290-2796.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1488-2266.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1536-2048.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1620-2160.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1640-2360.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2224.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2388.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-2048-2732.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-640-1136.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-750-1334.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-828-1792.png +0 -0
- package/lib/skeletons/_angular/base-mobile/src/assets/images/app-icon.svg +10 -0
- package/lib/skeletons/_angular/base-mobile/src/config/global.ts +39 -0
- package/lib/skeletons/_angular/base-mobile/src/config/index.ts +8 -0
- package/lib/skeletons/_angular/base-mobile/src/config/modules.ts +7 -0
- package/lib/skeletons/_angular/base-mobile/src/index.html +76 -0
- package/lib/skeletons/_angular/base-mobile/src/main.ts +23 -0
- package/lib/skeletons/_angular/base-mobile/src/manifest.webmanifest +66 -0
- package/lib/skeletons/_angular/base-mobile/src/tsconfig.app.json +20 -0
- package/lib/skeletons/_angular/base-mobile/tsconfig.json +27 -0
- package/lib/skeletons/_angular/options/ecl-ec/angular.json +181 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.html +237 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.ts +65 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/app.config.ts +84 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/home/home.component.html +71 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/home/home.component.ts +20 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page1/page1.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page1/page1.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page2/page2.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page2/page2.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/module1.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/module1.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module2/module2.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module2/module2.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-ec/src/config/global.ts +23 -0
- package/lib/skeletons/_angular/options/ecl-eu/angular.json +181 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.html +203 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.ts +65 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/app.config.ts +84 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/home/home.component.html +71 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/home/home.component.ts +20 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page1/page1.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page1/page1.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page2/page2.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page2/page2.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/module1.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/module1.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module2/module2.component.html +1 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module2/module2.component.ts +7 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/app/shared/shared.module.ts +15 -0
- package/lib/skeletons/_angular/options/ecl-eu/src/config/global.ts +23 -0
- package/lib/skeletons/_angular/options/pnpm/package.json +72 -0
- package/lib/skeletons/web-maven/package.json +17 -0
- package/lib/skeletons/web-maven/pom.xml +55 -0
- package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/servlet/SpringWebApplicationInitializer.java +22 -0
- package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/spring/SpringRestConfiguration.java +24 -0
- package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/spring/rest/UserDetailsResource.java +23 -0
- package/lib/skeletons/web-maven/src/main/resources/ecas-config-application-name.xml +7 -0
- package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/dispatcher-servlet.xml +11 -0
- package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/web.xml +38 -0
- package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/weblogic.xml +16 -0
- package/lib/skeletons/web-maven/src/main/webapp/index.jsp +30 -0
- package/lib/skeletons/web-spring-boot/myapp-web/pom.xml +83 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/pom.xml +83 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/MyappApplication.java +46 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/domain/Address.java +65 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/domain/Building.java +44 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/repositories/BuildingRepository.java +11 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/BuildingResource.java +26 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/SwaggerConfig.java +16 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/HateoasPageableHandlerMethodArgumentResolver.java +45 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/HypermediaSupport.java +25 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/PageJsonSerializer.java +17 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/CachingPreventionFilter.java +29 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/CsrfPreventionFilter.java +35 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/FakeAuthenticationFilter.java +372 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/SecurityConfig.java +47 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingSearchCriteria.java +26 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingService.java +10 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingServiceImpl.java +26 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/resources/application.properties +0 -0
- package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/resources/data.sql +11 -0
- package/lib/skeletons/web-spring-boot/pom.xml +30 -0
- package/lib/utils.js +217 -0
- package/package.json +10 -13
- package/sonar-project.properties +14 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compileOnSave": false,
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"baseUrl": "./",
|
|
5
|
+
"outDir": "./dist/out-tsc",
|
|
6
|
+
"target": "ES2022",
|
|
7
|
+
"module": "ES2022",
|
|
8
|
+
"useDefineForClassFields": false,
|
|
9
|
+
"lib": [
|
|
10
|
+
"ES2022",
|
|
11
|
+
"dom"
|
|
12
|
+
],
|
|
13
|
+
"sourceMap": true,
|
|
14
|
+
"declaration": false,
|
|
15
|
+
"moduleResolution": "bundler",
|
|
16
|
+
"emitDecoratorMetadata": false,
|
|
17
|
+
"experimentalDecorators": true,
|
|
18
|
+
"allowSyntheticDefaultImports": true,
|
|
19
|
+
"importHelpers": true,
|
|
20
|
+
"typeRoots": [
|
|
21
|
+
"node_modules/@types"
|
|
22
|
+
],
|
|
23
|
+
"paths": {
|
|
24
|
+
"@shared/*": ["src/app/shared/*"],
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"newProjectRoot": "projects",
|
|
5
|
+
"cli": {
|
|
6
|
+
"analytics": false
|
|
7
|
+
},
|
|
8
|
+
"projects": {
|
|
9
|
+
"app": {
|
|
10
|
+
"root": "",
|
|
11
|
+
"sourceRoot": "src",
|
|
12
|
+
"projectType": "application",
|
|
13
|
+
"prefix": "app",
|
|
14
|
+
"schematics": {
|
|
15
|
+
"@schematics/angular:component": {
|
|
16
|
+
"style": "scss"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"architect": {
|
|
20
|
+
"build": {
|
|
21
|
+
"builder": "@angular-devkit/build-angular:browser",
|
|
22
|
+
"options": {
|
|
23
|
+
"outputPath": "dist",
|
|
24
|
+
"index": "src/index.html",
|
|
25
|
+
"main": "src/main.ts",
|
|
26
|
+
"polyfills": ["zone.js"],
|
|
27
|
+
"tsConfig": "src/tsconfig.app.json",
|
|
28
|
+
"assets": [
|
|
29
|
+
"src/favicon.ico",
|
|
30
|
+
"src/assets",
|
|
31
|
+
"src/manifest.webmanifest",
|
|
32
|
+
{
|
|
33
|
+
"glob": "**/*",
|
|
34
|
+
"input": "src/assets",
|
|
35
|
+
"output": "assets"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"glob": "**/*",
|
|
39
|
+
"input": "node_modules/@eui/core/assets/",
|
|
40
|
+
"output": "./assets"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"glob": "**/*",
|
|
44
|
+
"input": "node_modules/@eui/ecl-core/assets/",
|
|
45
|
+
"output": "./assets"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"glob": "**/*",
|
|
49
|
+
"input": "node_modules/@eui/styles/dist/assets/images",
|
|
50
|
+
"output": "./assets/images"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"glob": "**/*.svg",
|
|
54
|
+
"input": "node_modules/ionicons/dist/ionicons/svg",
|
|
55
|
+
"output": "./svg"
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"styles": [
|
|
59
|
+
"node_modules/@eui/mobile-styles/dist/eui-mobile.css",
|
|
60
|
+
"src/styles.scss"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"configurations": {
|
|
64
|
+
"production": {
|
|
65
|
+
"fileReplacements": [
|
|
66
|
+
{
|
|
67
|
+
"replace": "src/environments/environment.ts",
|
|
68
|
+
"with": "src/environments/environment.prod.ts"
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"optimization": false,
|
|
72
|
+
"outputHashing": "all",
|
|
73
|
+
"sourceMap": false,
|
|
74
|
+
"aot": true,
|
|
75
|
+
"extractLicenses": true,
|
|
76
|
+
"budgets": [
|
|
77
|
+
{
|
|
78
|
+
"type": "initial",
|
|
79
|
+
"maximumWarning": "6mb",
|
|
80
|
+
"maximumError": "9mb"
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"production-optimized": {
|
|
85
|
+
"fileReplacements": [
|
|
86
|
+
{
|
|
87
|
+
"replace": "src/environments/environment.ts",
|
|
88
|
+
"with": "src/environments/environment.prod.ts"
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"optimization": {
|
|
92
|
+
"scripts": true,
|
|
93
|
+
"styles": {
|
|
94
|
+
"minify": false,
|
|
95
|
+
"inlineCritical": true
|
|
96
|
+
},
|
|
97
|
+
"fonts": true
|
|
98
|
+
},
|
|
99
|
+
"outputHashing": "all",
|
|
100
|
+
"sourceMap": false,
|
|
101
|
+
"extractLicenses": true,
|
|
102
|
+
"budgets": [
|
|
103
|
+
{
|
|
104
|
+
"type": "initial",
|
|
105
|
+
"maximumWarning": "2mb",
|
|
106
|
+
"maximumError": "6mb"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
"development": {
|
|
111
|
+
"optimization": false,
|
|
112
|
+
"extractLicenses": false,
|
|
113
|
+
"sourceMap": true
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"defaultConfiguration": "production"
|
|
117
|
+
},
|
|
118
|
+
"serve": {
|
|
119
|
+
"builder": "@angular-devkit/build-angular:dev-server",
|
|
120
|
+
"options": {
|
|
121
|
+
"browserTarget": "app:build"
|
|
122
|
+
},
|
|
123
|
+
"configurations": {
|
|
124
|
+
"proxy-mock": {
|
|
125
|
+
"browserTarget": "app:build:development",
|
|
126
|
+
"proxyConfig": "proxy-mock.conf.json"
|
|
127
|
+
},
|
|
128
|
+
"production": {
|
|
129
|
+
"browserTarget": "app:build:production"
|
|
130
|
+
},
|
|
131
|
+
"development": {
|
|
132
|
+
"browserTarget": "app:build:development"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"defaultConfiguration": "development"
|
|
136
|
+
},
|
|
137
|
+
"test": {
|
|
138
|
+
"builder": "@angular-devkit/build-angular:karma",
|
|
139
|
+
"options": {
|
|
140
|
+
"polyfills": ["zone.js", "zone.js/testing"],
|
|
141
|
+
"tsConfig": "src/tsconfig.spec.json",
|
|
142
|
+
"karmaConfig": "src/karma.conf.js",
|
|
143
|
+
"inlineStyleLanguage": "scss"
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"lint": {
|
|
147
|
+
"builder": "@angular-eslint/builder:lint",
|
|
148
|
+
"options": {
|
|
149
|
+
"lintFilePatterns": ["src/**/*.ts", "src/**/*.html"],
|
|
150
|
+
"eslintConfig": "src/.eslintrc.json"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./node_modules/@angular/service-worker/config/schema.json",
|
|
3
|
+
"index": "/index.html",
|
|
4
|
+
"appData": {
|
|
5
|
+
"version": "1.1.2"
|
|
6
|
+
},
|
|
7
|
+
"assetGroups": [
|
|
8
|
+
{
|
|
9
|
+
"name": "app",
|
|
10
|
+
"installMode": "prefetch",
|
|
11
|
+
"resources": {
|
|
12
|
+
"files": [
|
|
13
|
+
"/favicon.ico",
|
|
14
|
+
"/index.html",
|
|
15
|
+
"/manifest.webmanifest",
|
|
16
|
+
"/*.css",
|
|
17
|
+
"/*.js"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "assets",
|
|
23
|
+
"installMode": "lazy",
|
|
24
|
+
"updateMode": "prefetch",
|
|
25
|
+
"resources": {
|
|
26
|
+
"files": [
|
|
27
|
+
"/assets/**",
|
|
28
|
+
"/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "eui-angular-app",
|
|
3
|
+
"version": "21.0.0-alpha.40",
|
|
4
|
+
"license": "EUPL-1.1",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"ng": "ng",
|
|
7
|
+
"start-mock-server": "nodemon --watch ./mock ./mock/server.js",
|
|
8
|
+
"start-serve": "eui-scripts serve-app --configuration=proxy-mock",
|
|
9
|
+
"start": "npm-run-all --parallel start-mock-server start-serve",
|
|
10
|
+
"start-proxy": "eui-scripts serve-app --configuration=proxy",
|
|
11
|
+
"start-local": "eui-scripts serve-app",
|
|
12
|
+
"build": "eui-scripts build-app",
|
|
13
|
+
"build-dev": "eui-scripts build-app --configuration=development --configEnvTarget=DEV",
|
|
14
|
+
"build-prod": "eui-scripts build-app --configuration=production-optimized --configEnvTarget=PROD",
|
|
15
|
+
"build-prod-skip-test": "eui-scripts build-app --configuration=production-optimized --configEnvTarget=PROD --skipTest",
|
|
16
|
+
"build-prod-stats": "eui-scripts build-app --configuration=production-optimized --configEnvTarget=PROD --statsJson",
|
|
17
|
+
"app:build": "eui-scripts build-app",
|
|
18
|
+
"app:inject-config": "eui-scripts inject-config-app",
|
|
19
|
+
"generate-changelog": "eui-scripts generate-changelog"
|
|
20
|
+
},
|
|
21
|
+
"private": true,
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@eui/deps-base": "18.2.20",
|
|
24
|
+
"@eui/mobile-core": "18.1.3",
|
|
25
|
+
"@eui/mobile-styles": "18.1.3"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -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: 'screen/home', pathMatch: 'full' },
|
|
6
|
+
{ path: 'index.jsp', redirectTo: 'screen/home' },
|
|
7
|
+
{ path: 'screen/home', loadChildren: () => import('./features/home/home.module').then(m => m.Module) },
|
|
8
|
+
{ path: 'screen/module1', loadChildren: () => import('./features/module1/module1.module').then(m => m.Module) },
|
|
9
|
+
{ path: 'screen/module2', loadChildren: () => import('./features/module2/module2.module').then(m => m.Module) },
|
|
10
|
+
{ path: 'screen/about', loadChildren: () => import('./features/about/about.module').then(m => m.Module) },
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
@NgModule({
|
|
14
|
+
imports: [
|
|
15
|
+
RouterModule.forRoot(routes),
|
|
16
|
+
],
|
|
17
|
+
})
|
|
18
|
+
export class AppRoutingModule {}
|
|
@@ -0,0 +1,73 @@
|
|
|
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, catchError } 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
|
+
return this.i18nService.init();
|
|
34
|
+
}),
|
|
35
|
+
),
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Fetches user details,
|
|
41
|
+
* create user: UserState object
|
|
42
|
+
* then initialise to the UserService on run time
|
|
43
|
+
*/
|
|
44
|
+
initUserService(): Observable<any> {
|
|
45
|
+
return zip(
|
|
46
|
+
this.fetchUserDetails(),
|
|
47
|
+
).pipe(
|
|
48
|
+
switchMap(([userDetails]) => {
|
|
49
|
+
return this.userService.init(userDetails);
|
|
50
|
+
}),
|
|
51
|
+
catchError((err) => {
|
|
52
|
+
return of(null);
|
|
53
|
+
})
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Fetches user details
|
|
59
|
+
*/
|
|
60
|
+
private fetchUserDetails(): Observable<UserDetails> {
|
|
61
|
+
// const url = this.config.modules.your_custom_module.your_custom_endpoint
|
|
62
|
+
const moduleCoreApi = this.config.modules.core;
|
|
63
|
+
const url = `${moduleCoreApi.base}${moduleCoreApi.userDetails}`;
|
|
64
|
+
const user = { userId: 'anonymous' };
|
|
65
|
+
|
|
66
|
+
if (!url) {
|
|
67
|
+
return of(user);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return this.http.get<UserDetails>(url)
|
|
71
|
+
.pipe(catchError(err => { return of(null); }));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<euim-app>
|
|
2
|
+
<euim-sidebar id="mainSidebar">
|
|
3
|
+
<euim-user-profile>
|
|
4
|
+
<euim-user-profile-avatar>
|
|
5
|
+
<euim-avatar color="branding" size="m" fill="solid">
|
|
6
|
+
<euim-avatar-icon>
|
|
7
|
+
<ion-icon name="person-circle"></ion-icon>
|
|
8
|
+
</euim-avatar-icon>
|
|
9
|
+
</euim-avatar>
|
|
10
|
+
</euim-user-profile-avatar>
|
|
11
|
+
<euim-user-profile-infos>
|
|
12
|
+
<euim-user-profile-infos-item>
|
|
13
|
+
<div euimLabel euimLabelTitle>John Doe</div>
|
|
14
|
+
</euim-user-profile-infos-item>
|
|
15
|
+
<euim-user-profile-infos-item>
|
|
16
|
+
<div euimLabel euimLabelSubTitle>DG DIGIT</div>
|
|
17
|
+
</euim-user-profile-infos-item>
|
|
18
|
+
</euim-user-profile-infos>
|
|
19
|
+
<euim-user-profile-action>
|
|
20
|
+
<euim-language-selector color="branding"></euim-language-selector>
|
|
21
|
+
</euim-user-profile-action>
|
|
22
|
+
</euim-user-profile>
|
|
23
|
+
<euim-sidebar-content>
|
|
24
|
+
<ng-container *ngFor="let menuItem of sidebarItems">
|
|
25
|
+
<ion-item-divider *ngIf="menuItem?.isSection">
|
|
26
|
+
<ion-label>{{menuItem?.label}}</ion-label>
|
|
27
|
+
</ion-item-divider>
|
|
28
|
+
<ion-item *ngIf="!menuItem?.isSection"
|
|
29
|
+
(click)="onItemClick(menuItem)"
|
|
30
|
+
button
|
|
31
|
+
lines="none">
|
|
32
|
+
<ion-icon [color]="menuItem.iconColor" [name]="menuItem.icon"
|
|
33
|
+
slot="start"></ion-icon>
|
|
34
|
+
<ion-label>
|
|
35
|
+
<div euimDark euimLabel>{{menuItem?.label}}</div>
|
|
36
|
+
</ion-label>
|
|
37
|
+
</ion-item>
|
|
38
|
+
</ng-container>
|
|
39
|
+
</euim-sidebar-content>
|
|
40
|
+
<ion-footer>
|
|
41
|
+
<ion-item>
|
|
42
|
+
<div euimDark euimLabel euimSizeM>eUl/Mobile</div>
|
|
43
|
+
<div euimDefault euimLabel euimSizeS slot="end"></div>
|
|
44
|
+
</ion-item>
|
|
45
|
+
</ion-footer>
|
|
46
|
+
</euim-sidebar>
|
|
47
|
+
</euim-app>
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Component, OnDestroy } 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 { NavController } from "@ionic/angular";
|
|
9
|
+
|
|
10
|
+
@Component({
|
|
11
|
+
selector: 'app-root',
|
|
12
|
+
templateUrl: './app.component.html',
|
|
13
|
+
})
|
|
14
|
+
export class AppComponent implements 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
|
+
public sidebarItems: MenuItem[] = [
|
|
22
|
+
{
|
|
23
|
+
label: 'Home', url: 'screen/home', icon: 'home-outline',
|
|
24
|
+
iconColor: 'dark',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
isSection: true,
|
|
28
|
+
label: 'MODULE 1',
|
|
29
|
+
},
|
|
30
|
+
{ label: 'Module Page', url: 'screen/module1',
|
|
31
|
+
icon: 'document-outline', iconColor: 'dark', },
|
|
32
|
+
{ label: 'Page 1', url: 'screen/module1/page1',
|
|
33
|
+
icon: 'document-outline', iconColor: 'dark', },
|
|
34
|
+
{ label: 'Page 2', url: 'screen/module1/page2',
|
|
35
|
+
icon: 'document-outline', iconColor: 'dark', },
|
|
36
|
+
{
|
|
37
|
+
isSection: true,
|
|
38
|
+
label: 'MODULE 2',
|
|
39
|
+
},
|
|
40
|
+
{ label: 'Module Page', url: 'screen/module2',
|
|
41
|
+
icon: 'document-outline', iconColor: 'dark', },
|
|
42
|
+
{
|
|
43
|
+
label: 'About this app', url: 'screen/about',
|
|
44
|
+
icon: 'phone-portrait-outline', iconColor: 'dark',
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
constructor(
|
|
50
|
+
private store: Store<any>,
|
|
51
|
+
private navCtrl:NavController,
|
|
52
|
+
) {
|
|
53
|
+
this.userState = this.store.select(getUserState);
|
|
54
|
+
this.subs.push(this.userState.subscribe((user: UserState) => {
|
|
55
|
+
this.userInfos = { ...user };
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
ngOnDestroy() {
|
|
60
|
+
this.subs.forEach((s: Subscription) => s.unsubscribe());
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
onItemClick(menuItem: MenuItem): void {
|
|
64
|
+
if (menuItem && menuItem.url) {
|
|
65
|
+
if (menuItem.url.indexOf('http') > -1) {
|
|
66
|
+
window.open(menuItem.url, '_blank');
|
|
67
|
+
} else {
|
|
68
|
+
this.navCtrl.navigateRoot(menuItem.url).then();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface MenuItem {
|
|
76
|
+
icon?: string;
|
|
77
|
+
iconColor?: string;
|
|
78
|
+
label: string;
|
|
79
|
+
url?: string;
|
|
80
|
+
isSection?: boolean;
|
|
81
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/* pre-v19 - ignore this file
|
|
2
|
+
import { inject, provideAppInitializer } from '@angular/core';
|
|
3
|
+
import { ApplicationConfig, importProvidersFrom } from '@angular/core';
|
|
4
|
+
import { provideRouter } from '@angular/router';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
6
|
+
|
|
7
|
+
import { routes } from './app.routes';
|
|
8
|
+
import { AppStarterService } from './app-starter.service';
|
|
9
|
+
|
|
10
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
11
|
+
|
|
12
|
+
import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
|
|
13
|
+
import {
|
|
14
|
+
CachePreventionInterceptor,
|
|
15
|
+
CorsSecurityInterceptor,
|
|
16
|
+
CsrfPreventionInterceptor,
|
|
17
|
+
EuLoginSessionTimeoutHandlingInterceptor,
|
|
18
|
+
CoreModule as EuiCoreModule,
|
|
19
|
+
translateConfig,
|
|
20
|
+
EUI_CONFIG_TOKEN,
|
|
21
|
+
provideEuiInitializer,
|
|
22
|
+
EuiServiceStatus,
|
|
23
|
+
} from '@eui/core';
|
|
24
|
+
|
|
25
|
+
import { appConfig as euiAppConfig} from '../config';
|
|
26
|
+
import { environment } from '../environments/environment';
|
|
27
|
+
import { provideAnimations } from '@angular/platform-browser/animations';
|
|
28
|
+
|
|
29
|
+
const init = (): Observable<EuiServiceStatus> => {
|
|
30
|
+
const appStarter = inject(AppStarterService);
|
|
31
|
+
return appStarter.start();
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export const appConfig: ApplicationConfig = {
|
|
35
|
+
providers: [
|
|
36
|
+
{
|
|
37
|
+
provide: EUI_CONFIG_TOKEN,
|
|
38
|
+
useValue: { appConfig: euiAppConfig, environment }
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
// Sets the withCredentials on Ajax Request to send the JSESSIONID cookie to another domain.
|
|
42
|
+
// This is necessary when a request is being made to another domain that is protected by EU Login.
|
|
43
|
+
provide: HTTP_INTERCEPTORS,
|
|
44
|
+
useClass: CorsSecurityInterceptor,
|
|
45
|
+
multi: true,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
// When the authentication session is invalid, we need to re-authenticate. The browser refreshes the current URL,
|
|
49
|
+
// and lets the EU Login client redirect to the official EU Login page.
|
|
50
|
+
provide: HTTP_INTERCEPTORS,
|
|
51
|
+
useClass: EuLoginSessionTimeoutHandlingInterceptor,
|
|
52
|
+
multi: true,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
// Adds HTTP header to each Ajax request that ensures the request is set by a piece of JavaScript code in the application.
|
|
56
|
+
// This prevents dynamically-loaded content from forging a request in the name of the currently logged-in user.
|
|
57
|
+
// Be aware that this assumes that cross-site scripting (XSS) is already put in place, (default setting in Angular).
|
|
58
|
+
provide: HTTP_INTERCEPTORS,
|
|
59
|
+
useClass: CsrfPreventionInterceptor,
|
|
60
|
+
multi: true,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
// Asks the intermediate proxies not to return a cache copy of the resource.
|
|
64
|
+
// In matter of fact forces each server in the chain to validate the freshness of the resource.
|
|
65
|
+
provide: HTTP_INTERCEPTORS,
|
|
66
|
+
useClass: CachePreventionInterceptor,
|
|
67
|
+
multi: true,
|
|
68
|
+
},
|
|
69
|
+
provideEuiInitializer(),
|
|
70
|
+
provideAppInitializer(init),
|
|
71
|
+
provideHttpClient(withInterceptorsFromDi()),
|
|
72
|
+
importProvidersFrom(
|
|
73
|
+
EuiCoreModule.forRoot(),
|
|
74
|
+
TranslateModule.forRoot(translateConfig)
|
|
75
|
+
),
|
|
76
|
+
AppStarterService,
|
|
77
|
+
provideRouter(routes),
|
|
78
|
+
provideAnimations(),
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
*/
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { BrowserModule } from '@angular/platform-browser';
|
|
2
|
+
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
3
|
+
import { APP_INITIALIZER, 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
|
+
import { ServiceWorkerModule } from '@angular/service-worker';
|
|
10
|
+
|
|
11
|
+
@NgModule({
|
|
12
|
+
declarations: [
|
|
13
|
+
AppComponent,
|
|
14
|
+
],
|
|
15
|
+
imports: [
|
|
16
|
+
BrowserModule,
|
|
17
|
+
BrowserAnimationsModule,
|
|
18
|
+
CoreModule,
|
|
19
|
+
AppRoutingModule,
|
|
20
|
+
ServiceWorkerModule.register('ngsw-worker.js', {
|
|
21
|
+
enabled: false,
|
|
22
|
+
// Register the ServiceWorker as soon as the app is stable
|
|
23
|
+
// or after 30 seconds (whichever comes first).
|
|
24
|
+
registrationStrategy: 'registerWhenStable:30000'
|
|
25
|
+
}),
|
|
26
|
+
],
|
|
27
|
+
providers: [
|
|
28
|
+
AppStarterService,
|
|
29
|
+
{
|
|
30
|
+
provide: APP_INITIALIZER,
|
|
31
|
+
useFactory: (appStarterService) => {
|
|
32
|
+
return () => new Promise<void>((resolve) => {
|
|
33
|
+
appStarterService.start().subscribe(() => resolve());
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
deps: [AppStarterService],
|
|
37
|
+
multi: true
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
bootstrap: [
|
|
41
|
+
AppComponent,
|
|
42
|
+
],
|
|
43
|
+
})
|
|
44
|
+
export class AppModule {}
|
|
File without changes
|