@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.
Files changed (252) hide show
  1. package/README.md +1 -1
  2. package/bin/eui-cli.js +67 -0
  3. package/bin/scripts/build-app.js +12 -0
  4. package/bin/scripts/lint-app.js +22 -0
  5. package/bin/scripts/new.js +39 -0
  6. package/bin/scripts/serve-app.js +12 -0
  7. package/lib/app-utils/build.js +176 -0
  8. package/lib/app-utils/projects.js +41 -0
  9. package/lib/app-utils/serve.js +78 -0
  10. package/lib/build.js +130 -0
  11. package/lib/cli.js +140 -0
  12. package/lib/config.js +59 -0
  13. package/lib/generators.js +72 -0
  14. package/lib/install.js +45 -0
  15. package/lib/maven-build/build.xml +115 -0
  16. package/lib/maven-build/lib/ant-contrib-20061014.jar +0 -0
  17. package/lib/maven-build/pom.xml +64 -0
  18. package/lib/post-build.js +31 -0
  19. package/lib/skeletons/_angular/base/.browserslistrc +16 -0
  20. package/lib/skeletons/_angular/base/.editorconfig +16 -0
  21. package/lib/skeletons/_angular/base/README.md +26 -0
  22. package/lib/skeletons/_angular/base/angular.json +129 -0
  23. package/lib/skeletons/_angular/base/gitignore_TO_REPLACE +51 -0
  24. package/lib/skeletons/_angular/base/mock/app/models/user.js +6 -0
  25. package/lib/skeletons/_angular/base/mock/app/routes/index.js +5 -0
  26. package/lib/skeletons/_angular/base/mock/app/routes/user_routes.js +44 -0
  27. package/lib/skeletons/_angular/base/mock/db/db.json +10 -0
  28. package/lib/skeletons/_angular/base/mock/server.js +23 -0
  29. package/lib/skeletons/_angular/base/package.json +39 -0
  30. package/lib/skeletons/_angular/base/proxy-mock.conf.json +6 -0
  31. package/lib/skeletons/_angular/base/proxy.conf.json +6 -0
  32. package/lib/skeletons/_angular/base/src/.eslintrc.json +121 -0
  33. package/lib/skeletons/_angular/base/src/app/app-starter.service.spec.ts +68 -0
  34. package/lib/skeletons/_angular/base/src/app/app-starter.service.ts +68 -0
  35. package/lib/skeletons/_angular/base/src/app/app.component.html +35 -0
  36. package/lib/skeletons/_angular/base/src/app/app.component.spec.ts +60 -0
  37. package/lib/skeletons/_angular/base/src/app/app.component.ts +35 -0
  38. package/lib/skeletons/_angular/base/src/app/app.config.ts +84 -0
  39. package/lib/skeletons/_angular/base/src/app/app.routes.ts +9 -0
  40. package/lib/skeletons/_angular/base/src/app/features/home/home.component.html +41 -0
  41. package/lib/skeletons/_angular/base/src/app/features/home/home.component.ts +17 -0
  42. package/lib/skeletons/_angular/base/src/app/features/home/home.routes.ts +6 -0
  43. package/lib/skeletons/_angular/base/src/app/features/module1/components/page1/page1.component.html +7 -0
  44. package/lib/skeletons/_angular/base/src/app/features/module1/components/page1/page1.component.ts +10 -0
  45. package/lib/skeletons/_angular/base/src/app/features/module1/components/page2/page2.component.html +7 -0
  46. package/lib/skeletons/_angular/base/src/app/features/module1/components/page2/page2.component.ts +10 -0
  47. package/lib/skeletons/_angular/base/src/app/features/module1/module1.component.html +7 -0
  48. package/lib/skeletons/_angular/base/src/app/features/module1/module1.component.ts +10 -0
  49. package/lib/skeletons/_angular/base/src/app/features/module1/module1.routes.ts +10 -0
  50. package/lib/skeletons/_angular/base/src/app/features/module2/module2.component.html +7 -0
  51. package/lib/skeletons/_angular/base/src/app/features/module2/module2.component.ts +10 -0
  52. package/lib/skeletons/_angular/base/src/app/features/module2/module2.routes.ts +6 -0
  53. package/lib/skeletons/_angular/base/src/app/shared/testing/router.mock.ts +18 -0
  54. package/lib/skeletons/_angular/base/src/assets/config/env-json-config-dev.json +8 -0
  55. package/lib/skeletons/_angular/base/src/assets/config/env-json-config-prod.json +8 -0
  56. package/lib/skeletons/_angular/base/src/assets/config/env-json-config.json +7 -0
  57. package/lib/skeletons/_angular/base/src/assets/i18n/en.json +7 -0
  58. package/lib/skeletons/_angular/base/src/assets/i18n/fr.json +7 -0
  59. package/lib/skeletons/_angular/base/src/config/global.ts +33 -0
  60. package/lib/skeletons/_angular/base/src/config/index.ts +8 -0
  61. package/lib/skeletons/_angular/base/src/config/modules.ts +7 -0
  62. package/lib/skeletons/_angular/base/src/dummy.spec.ts +6 -0
  63. package/lib/skeletons/_angular/base/src/environments/environment.prod.ts +11 -0
  64. package/lib/skeletons/_angular/base/src/environments/environment.ts +15 -0
  65. package/lib/skeletons/_angular/base/src/favicon.ico +0 -0
  66. package/lib/skeletons/_angular/base/src/index.html +20 -0
  67. package/lib/skeletons/_angular/base/src/karma.conf.js +47 -0
  68. package/lib/skeletons/_angular/base/src/main.ts +20 -0
  69. package/lib/skeletons/_angular/base/src/styles.scss +1 -0
  70. package/lib/skeletons/_angular/base/src/tsconfig.app.json +18 -0
  71. package/lib/skeletons/_angular/base/src/tsconfig.spec.json +10 -0
  72. package/lib/skeletons/_angular/base/tsconfig.json +27 -0
  73. package/lib/skeletons/_angular/base-mobile/angular.json +156 -0
  74. package/lib/skeletons/_angular/base-mobile/ionic.config.json +5 -0
  75. package/lib/skeletons/_angular/base-mobile/ngsw-config.json +33 -0
  76. package/lib/skeletons/_angular/base-mobile/package.json +27 -0
  77. package/lib/skeletons/_angular/base-mobile/src/app/app-routing.module.ts +18 -0
  78. package/lib/skeletons/_angular/base-mobile/src/app/app-starter.service.ts +73 -0
  79. package/lib/skeletons/_angular/base-mobile/src/app/app.component.html +47 -0
  80. package/lib/skeletons/_angular/base-mobile/src/app/app.component.ts +81 -0
  81. package/lib/skeletons/_angular/base-mobile/src/app/app.config.ts +81 -0
  82. package/lib/skeletons/_angular/base-mobile/src/app/app.module.ts +44 -0
  83. package/lib/skeletons/_angular/base-mobile/src/app/core/components/.gitkeep +0 -0
  84. package/lib/skeletons/_angular/base-mobile/src/app/core/core.module.ts +89 -0
  85. package/lib/skeletons/_angular/base-mobile/src/app/core/reducers/index.ts +32 -0
  86. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about-routing.module.ts +45 -0
  87. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.html +70 -0
  88. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.ts +19 -0
  89. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.module.ts +30 -0
  90. package/lib/skeletons/_angular/base-mobile/src/app/features/about/change-log/changelog.component.html +11 -0
  91. package/lib/skeletons/_angular/base-mobile/src/app/features/about/change-log/changelog.component.ts +102 -0
  92. package/lib/skeletons/_angular/base-mobile/src/app/features/about/help-support/help-support.component.html +20 -0
  93. package/lib/skeletons/_angular/base-mobile/src/app/features/about/help-support/help-support.component.ts +75 -0
  94. package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.html +12 -0
  95. package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.ts +8 -0
  96. package/lib/skeletons/_angular/base-mobile/src/app/features/about/licence-details/licence-details.component.html +48 -0
  97. package/lib/skeletons/_angular/base-mobile/src/app/features/about/licence-details/licence-details.component.ts +7 -0
  98. package/lib/skeletons/_angular/base-mobile/src/app/features/about/opensource-licences/opensource-licences.component.html +11 -0
  99. package/lib/skeletons/_angular/base-mobile/src/app/features/about/opensource-licences/opensource-licences.component.ts +31 -0
  100. package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.html +11 -0
  101. package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.ts +103 -0
  102. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home-routing.module.ts +15 -0
  103. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.html +11 -0
  104. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.ts +9 -0
  105. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.module.ts +18 -0
  106. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.html +11 -0
  107. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.ts +8 -0
  108. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.html +11 -0
  109. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.ts +8 -0
  110. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1-routing.module.ts +18 -0
  111. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.html +15 -0
  112. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.ts +17 -0
  113. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.module.ts +21 -0
  114. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2-routing.module.ts +16 -0
  115. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.html +11 -0
  116. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.ts +7 -0
  117. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.module.ts +17 -0
  118. package/lib/skeletons/_angular/base-mobile/src/app/shared/shared.module.ts +16 -0
  119. package/lib/skeletons/_angular/base-mobile/src/app/shared/testing/router.mock.ts +18 -0
  120. package/lib/skeletons/_angular/base-mobile/src/assets/docs/pdf-test.pdf +0 -0
  121. package/lib/skeletons/_angular/base-mobile/src/assets/i18n/en.json +25 -0
  122. package/lib/skeletons/_angular/base-mobile/src/assets/i18n/es.json +24 -0
  123. package/lib/skeletons/_angular/base-mobile/src/assets/i18n/fr.json +25 -0
  124. package/lib/skeletons/_angular/base-mobile/src/assets/i18n/tr.json +25 -0
  125. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-1024.png +0 -0
  126. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-114.png +0 -0
  127. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-120.png +0 -0
  128. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-128.png +0 -0
  129. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-144.png +0 -0
  130. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-152.png +0 -0
  131. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-16.png +0 -0
  132. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-180.png +0 -0
  133. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-192.png +0 -0
  134. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-32.png +0 -0
  135. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-36.png +0 -0
  136. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-384.png +0 -0
  137. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-48.png +0 -0
  138. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-512.png +0 -0
  139. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-57.png +0 -0
  140. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-60.png +0 -0
  141. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-72.png +0 -0
  142. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-76.png +0 -0
  143. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-96.png +0 -0
  144. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1125-2436.png +0 -0
  145. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1170-2532.png +0 -0
  146. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1179-2556.png +0 -0
  147. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2208.png +0 -0
  148. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2688.png +0 -0
  149. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1284-2778.png +0 -0
  150. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1290-2796.png +0 -0
  151. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1488-2266.png +0 -0
  152. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1536-2048.png +0 -0
  153. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1620-2160.png +0 -0
  154. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1640-2360.png +0 -0
  155. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2224.png +0 -0
  156. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2388.png +0 -0
  157. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-2048-2732.png +0 -0
  158. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-640-1136.png +0 -0
  159. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-750-1334.png +0 -0
  160. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-828-1792.png +0 -0
  161. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1125-2436.png +0 -0
  162. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1170-2532.png +0 -0
  163. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1179-2556.png +0 -0
  164. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2208.png +0 -0
  165. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2688.png +0 -0
  166. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1284-2778.png +0 -0
  167. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1290-2796.png +0 -0
  168. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1488-2266.png +0 -0
  169. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1536-2048.png +0 -0
  170. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1620-2160.png +0 -0
  171. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1640-2360.png +0 -0
  172. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2224.png +0 -0
  173. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2388.png +0 -0
  174. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-2048-2732.png +0 -0
  175. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-640-1136.png +0 -0
  176. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-750-1334.png +0 -0
  177. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-828-1792.png +0 -0
  178. package/lib/skeletons/_angular/base-mobile/src/assets/images/app-icon.svg +10 -0
  179. package/lib/skeletons/_angular/base-mobile/src/config/global.ts +39 -0
  180. package/lib/skeletons/_angular/base-mobile/src/config/index.ts +8 -0
  181. package/lib/skeletons/_angular/base-mobile/src/config/modules.ts +7 -0
  182. package/lib/skeletons/_angular/base-mobile/src/index.html +76 -0
  183. package/lib/skeletons/_angular/base-mobile/src/main.ts +23 -0
  184. package/lib/skeletons/_angular/base-mobile/src/manifest.webmanifest +66 -0
  185. package/lib/skeletons/_angular/base-mobile/src/tsconfig.app.json +20 -0
  186. package/lib/skeletons/_angular/base-mobile/tsconfig.json +27 -0
  187. package/lib/skeletons/_angular/options/ecl-ec/angular.json +181 -0
  188. package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.html +237 -0
  189. package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.ts +65 -0
  190. package/lib/skeletons/_angular/options/ecl-ec/src/app/app.config.ts +84 -0
  191. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/home/home.component.html +71 -0
  192. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/home/home.component.ts +20 -0
  193. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page1/page1.component.html +1 -0
  194. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page1/page1.component.ts +7 -0
  195. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page2/page2.component.html +1 -0
  196. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/components/page2/page2.component.ts +7 -0
  197. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/module1.component.html +1 -0
  198. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module1/module1.component.ts +7 -0
  199. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module2/module2.component.html +1 -0
  200. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/module2/module2.component.ts +7 -0
  201. package/lib/skeletons/_angular/options/ecl-ec/src/config/global.ts +23 -0
  202. package/lib/skeletons/_angular/options/ecl-eu/angular.json +181 -0
  203. package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.html +203 -0
  204. package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.ts +65 -0
  205. package/lib/skeletons/_angular/options/ecl-eu/src/app/app.config.ts +84 -0
  206. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/home/home.component.html +71 -0
  207. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/home/home.component.ts +20 -0
  208. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page1/page1.component.html +1 -0
  209. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page1/page1.component.ts +7 -0
  210. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page2/page2.component.html +1 -0
  211. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/components/page2/page2.component.ts +7 -0
  212. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/module1.component.html +1 -0
  213. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module1/module1.component.ts +7 -0
  214. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module2/module2.component.html +1 -0
  215. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/module2/module2.component.ts +7 -0
  216. package/lib/skeletons/_angular/options/ecl-eu/src/app/shared/shared.module.ts +15 -0
  217. package/lib/skeletons/_angular/options/ecl-eu/src/config/global.ts +23 -0
  218. package/lib/skeletons/_angular/options/pnpm/package.json +72 -0
  219. package/lib/skeletons/web-maven/package.json +17 -0
  220. package/lib/skeletons/web-maven/pom.xml +55 -0
  221. package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/servlet/SpringWebApplicationInitializer.java +22 -0
  222. package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/spring/SpringRestConfiguration.java +24 -0
  223. package/lib/skeletons/web-maven/src/main/java/eu/europa/ec/digit/eui/angular2clistarter/spring/rest/UserDetailsResource.java +23 -0
  224. package/lib/skeletons/web-maven/src/main/resources/ecas-config-application-name.xml +7 -0
  225. package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/dispatcher-servlet.xml +11 -0
  226. package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/web.xml +38 -0
  227. package/lib/skeletons/web-maven/src/main/webapp/WEB-INF/weblogic.xml +16 -0
  228. package/lib/skeletons/web-maven/src/main/webapp/index.jsp +30 -0
  229. package/lib/skeletons/web-spring-boot/myapp-web/pom.xml +83 -0
  230. package/lib/skeletons/web-spring-boot/myapp-web-rest/pom.xml +83 -0
  231. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/MyappApplication.java +46 -0
  232. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/domain/Address.java +65 -0
  233. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/domain/Building.java +44 -0
  234. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/repositories/BuildingRepository.java +11 -0
  235. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/BuildingResource.java +26 -0
  236. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/SwaggerConfig.java +16 -0
  237. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/HateoasPageableHandlerMethodArgumentResolver.java +45 -0
  238. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/HypermediaSupport.java +25 -0
  239. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/resources/support/PageJsonSerializer.java +17 -0
  240. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/CachingPreventionFilter.java +29 -0
  241. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/CsrfPreventionFilter.java +35 -0
  242. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/FakeAuthenticationFilter.java +372 -0
  243. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/security/SecurityConfig.java +47 -0
  244. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingSearchCriteria.java +26 -0
  245. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingService.java +10 -0
  246. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/java/myapp/services/BuildingServiceImpl.java +26 -0
  247. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/resources/application.properties +0 -0
  248. package/lib/skeletons/web-spring-boot/myapp-web-rest/src/main/resources/data.sql +11 -0
  249. package/lib/skeletons/web-spring-boot/pom.xml +30 -0
  250. package/lib/utils.js +217 -0
  251. package/package.json +10 -13
  252. 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,5 @@
1
+ {
2
+ "name": "app",
3
+ "integrations": {},
4
+ "type": "angular"
5
+ }
@@ -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 {}