@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
package/lib/cli.js ADDED
@@ -0,0 +1,140 @@
1
+ const inquirer = require('inquirer');
2
+
3
+ const defaultConfig = {
4
+ appName: 'my-app',
5
+ appScope: '@app',
6
+ appType: 'angular',
7
+ appOptions: [],
8
+ appOptionsEclTheme: 'ecl-ec',
9
+ appFeatures: [],
10
+ groupId: 'ec.europa.digit',
11
+ artifactId: 'myapp',
12
+ packageManager: 'yarn',
13
+ npmInstall: true,
14
+ appStart: true,
15
+ };
16
+
17
+ module.exports.start = (options) => {
18
+
19
+ // if inputConfig is provided, we merge it with defaultConfig and return without CLI interactions
20
+ if (options.inputConfig) {
21
+ return {
22
+ ...defaultConfig,
23
+ ...options.inputConfig
24
+ };
25
+ }
26
+
27
+ // CLI interactions
28
+ return inquirer.prompt([
29
+ {
30
+ type: 'list',
31
+ name: 'appType',
32
+ message: 'Select an application type :',
33
+ choices: [
34
+ { name: 'eUI Angular - Desktop', value: 'angular' },
35
+ { name: 'eUI Angular - Mobile Ionic', value: 'mobile' },
36
+ { name: 'eUI Angular + Spring Boot web module - JDK + Maven required !!!', value: 'web-spring-boot' },
37
+ { name: 'eUI Angular + Maven web module (JEE Spring maven web module) - JDK + Maven required !!!', value: 'web-maven' },
38
+ ],
39
+ default: 0,
40
+ validate: function (value) {
41
+ if (value.length) {
42
+ return true;
43
+ }
44
+ }
45
+ },
46
+ {
47
+ name: 'groupId',
48
+ type: 'input',
49
+ message: 'Enter the groupId :',
50
+ default: defaultConfig.groupId,
51
+ validate: function (value) {
52
+ if (value.length) {
53
+ return true;
54
+ }
55
+ },
56
+ when: function (answers) {
57
+ return (answers.appType === 'web-spring-boot');
58
+ }
59
+ },
60
+ {
61
+ name: 'artifactId',
62
+ type: 'input',
63
+ message: 'Enter the artifactId :',
64
+ default: defaultConfig.artifactId,
65
+ validate: function (value) {
66
+ if (value.length) {
67
+ return true;
68
+ }
69
+ },
70
+ when: function (answers) {
71
+ return (answers.appType === 'web-spring-boot');
72
+ }
73
+ },
74
+ {
75
+ type: 'checkbox',
76
+ name: 'appOptions',
77
+ default: defaultConfig.appOptions,
78
+ message: 'Select one or more additional configuration options :',
79
+ choices: [
80
+ { name: 'eUI ECL app-shell template and configuration - for ec.europa.eu apps', value: 'ecl' },
81
+ ],
82
+ when: function (answers) {
83
+ return (answers.appType !== 'mobile');
84
+ }
85
+ },
86
+
87
+ {
88
+ type: 'list',
89
+ name: 'appOptionsEclTheme',
90
+ default: defaultConfig.appOptionsEclTheme,
91
+ message: 'Select which eUI ECL theme flavor you need :',
92
+ choices: [
93
+ { name: 'eUI ECL - EC theme', value: 'ecl-ec' },
94
+ { name: 'eUI ECL - EU theme', value: 'ecl-eu' },
95
+ ],
96
+ when: function (answers) {
97
+ return (answers.appOptions && answers.appOptions.includes('ecl') && answers.appType !== 'mobile');
98
+ }
99
+ },
100
+
101
+ {
102
+ name: 'npmInstall',
103
+ type: 'confirm',
104
+ message: 'Install dependencies when the app is generated :',
105
+ default: defaultConfig.npmInstall
106
+ },
107
+
108
+ {
109
+ type: 'list',
110
+ name: 'packageManager',
111
+ message: 'Package manager for installation :',
112
+ choices: [
113
+ { name: 'Yarn 1.x (default)', value: 'yarn' },
114
+ { name: 'Pnpm - experimental', value: 'pnpm' },
115
+ ],
116
+ default: 0,
117
+ when: function (answers) {
118
+ return (answers.npmInstall);
119
+ },
120
+ validate: function (value) {
121
+ if (value.length) {
122
+ return true;
123
+ }
124
+ }
125
+ },
126
+ ])
127
+ .then((answers) => {
128
+ let outputConfig;
129
+ outputConfig = {
130
+ ...defaultConfig,
131
+ ...answers
132
+ };
133
+ console.log('--provided config : \n', outputConfig);
134
+ return outputConfig;
135
+ })
136
+ .catch((e) => {
137
+ throw e;
138
+ })
139
+ }
140
+
package/lib/config.js ADDED
@@ -0,0 +1,59 @@
1
+ const path = require('path');
2
+
3
+ const skeletonsPath = path.join(__dirname, 'skeletons');
4
+ const version = require(path.join(__dirname, '../package.json')).version;
5
+
6
+ module.exports.targetPath = path.resolve(process.cwd());
7
+ module.exports.skeletonsPath = skeletonsPath;
8
+
9
+ module.exports.angularBasePath = path.join(skeletonsPath, '_angular/base');
10
+ module.exports.angularBaseMobilePath = path.join(skeletonsPath, '_angular/base-mobile');
11
+
12
+ module.exports.webMavenPath = path.join(skeletonsPath, 'web-maven');
13
+ module.exports.webSpringBootPath = path.join(skeletonsPath, 'web-spring-boot');
14
+
15
+ module.exports.webPhpStarterRepo = 'webgate.ec.europa.eu/CITnet/stash/scm/csdr/eui-php-starter.git'
16
+ module.exports.webSymfonyPath = path.join(skeletonsPath, 'web-symfony');
17
+
18
+ module.exports.optionsPath = {
19
+ "ecl-ec": path.join(skeletonsPath, '_angular/options/ecl-ec'),
20
+ "ecl-eu": path.join(skeletonsPath, '_angular/options/ecl-eu'),
21
+ };
22
+ module.exports.pnpmOptionPath = path.join(skeletonsPath, '_angular/options/pnpm');
23
+
24
+ module.exports.version = version;
25
+
26
+ // f.e. :
27
+ // eui-cli --config appType:angular,npmInstall:false --targetPath eui-angular
28
+ // eui-cli --config appType:angular,appOptions:ecl,npmInstall:false --targetPath eui-angular-ecl-ec
29
+
30
+ module.exports.parseInputConfig = (inputConfig) => {
31
+
32
+ if (!inputConfig) {
33
+ return;
34
+ }
35
+
36
+ const configArray = inputConfig.split(',').map(item => {
37
+ const x = item.split(':');
38
+
39
+ const propName = x[0];
40
+ let value = x[1];
41
+
42
+ // treating text to boolean values : f.e. : npmInstall=true
43
+ if (value === 'true') {
44
+ value = true;
45
+ }
46
+ if (value === 'false') {
47
+ value = false;
48
+ }
49
+
50
+ // treating string array values : f.e. : appOptions=ecl_something
51
+ if (propName === 'appOptions') {
52
+ value = value.split('_');
53
+ }
54
+
55
+ return { [propName]: value };
56
+ });
57
+
58
+ return Object.assign({}, ...configArray);
59
+ }
@@ -0,0 +1,72 @@
1
+ const childProcess = require('child_process');
2
+ const execSync = childProcess.execSync;
3
+ const cli = require('./cli');
4
+ const build = require('./build');
5
+ const postBuild = require('./post-build');
6
+ const install = require('./install');
7
+ const path = require('path');
8
+ const utils = require('./utils');
9
+
10
+ const appGenerate = (options) => {
11
+ if (options.inputConfig) {
12
+ utils.logInfo('Creating your project - automated mode : \n');
13
+ } else {
14
+ utils.logInfo('Configuring your project : please answer the following : \n');
15
+ }
16
+
17
+ // Query the questions
18
+ // -------------------
19
+ return Promise.resolve()
20
+ .then(() => {
21
+ return cli.start(options);
22
+ })
23
+ .then((config) => {
24
+ // Storing config
25
+ // --------------
26
+ const cliConfig = config;
27
+ // Building the file structure
28
+ // ---------------------------
29
+ return build.start({
30
+ config: config,
31
+ targetPath: options.targetPath
32
+ })
33
+ // Post build operations
34
+ // ---------------------
35
+ .then(() => {
36
+ return postBuild.start({
37
+ config: cliConfig,
38
+ targetPath: options.targetPath
39
+ });
40
+ })
41
+ // Install dependencies
42
+ // --------------------
43
+ .then(() => {
44
+ return install.start({
45
+ config: cliConfig,
46
+ targetPath: options.targetPath,
47
+ });
48
+ })
49
+ // starting app
50
+ .then(() => {
51
+ if (!cliConfig.appStart || typeof cliConfig.npmInstall !== 'boolean' || !cliConfig.npmInstall) {
52
+ return;
53
+ }
54
+ utils.logInfo('*****************************************************************');
55
+ utils.logInfo(' Starting eUI app... browser will open soon on localhost:4200');
56
+ utils.logInfo('*****************************************************************');
57
+
58
+ const wd = path.resolve(utils.getAngularPath(options.targetPath, cliConfig.appName, cliConfig.appType, cliConfig.artifactId));
59
+ return execSync("npm start", { cwd: wd, stdio: "inherit" });
60
+ })
61
+ })
62
+ .catch((e) => {
63
+ console.error(e);
64
+ process.exitCode = 1;
65
+ })
66
+ .finally(() => process.exit())
67
+ }
68
+
69
+
70
+ module.exports = {
71
+ appGenerate,
72
+ };
package/lib/install.js ADDED
@@ -0,0 +1,45 @@
1
+ const childProcess = require('child_process');
2
+ const execSync = childProcess.execSync;
3
+ const path = require('path');
4
+ const utils = require('./utils');
5
+
6
+ module.exports.start = (options) => {
7
+
8
+ if (typeof options.config.npmInstall !== 'boolean' || !options.config.npmInstall) {
9
+ return;
10
+ }
11
+
12
+ return Promise.resolve()
13
+ .then(() => {
14
+ return install(options.config, options.targetPath)
15
+ })
16
+ .catch((e) => {
17
+ throw e;
18
+ })
19
+ }
20
+
21
+ const install = (cliConfig, targetPath) => {
22
+
23
+ const wd = path.resolve(utils.getAngularPath(targetPath, cliConfig.appName, cliConfig.appType, cliConfig.artifactId));
24
+
25
+ console.log('');
26
+ console.log('');
27
+ console.log('*****************************************************');
28
+ console.log(' Installing app dependencies... PLEASE WAIT....');
29
+ console.log('*****************************************************');
30
+
31
+ return Promise.resolve()
32
+ .then(() => {
33
+ if (cliConfig.packageManager === 'pnpm') {
34
+ return execSync("pnpm install", { cwd: wd, stdio: "inherit" });
35
+
36
+ } else {
37
+ return execSync("yarn", { cwd: wd, stdio: "inherit" });
38
+ }
39
+ })
40
+
41
+ .catch((e) => {
42
+ throw e;
43
+ })
44
+ }
45
+
@@ -0,0 +1,115 @@
1
+ <?xml version="1.0"?>
2
+ <project name="eUI-build" basedir=".">
3
+
4
+ <taskdef resource="net/sf/antcontrib/antlib.xml">
5
+ <classpath>
6
+ <fileset dir="lib" includes="ant-contrib-*.jar"/>
7
+ </classpath>
8
+ </taskdef>
9
+
10
+ <scriptdef language="javascript" name="lower">
11
+ <attribute name="string" />
12
+ <attribute name="to" />
13
+
14
+ project.setProperty( attributes.get( "to" ),
15
+ attributes.get( "string" ).toLowerCase() );
16
+ </scriptdef>
17
+
18
+ <scriptdef language="javascript" name="ucfirst">
19
+ <attribute name="string" />
20
+ <attribute name="to" />
21
+
22
+ var the_string = attributes.get( "string" );
23
+ project.setProperty( attributes.get( "to" ),
24
+ the_string.substr(0,1).toUpperCase() + the_string.substr(1) );
25
+ </scriptdef>
26
+
27
+ <scriptdef name="camelCaseString" language="javascript">
28
+ <attribute name="text" />
29
+ <attribute name="separator" />
30
+ <attribute name="property" />
31
+ <attribute name="first" />
32
+ <![CDATA[
33
+ var string = attributes.get("text");
34
+ var stringArray = string.split(attributes.get("separator"));
35
+ var result = "";
36
+ var s;
37
+
38
+ for (var i=0; i<stringArray.length;i++) {
39
+ s = stringArray[i];
40
+ if (i == 0) {
41
+ if (attributes.get("first") == 'true') {
42
+ result += s.substring(0,1).toUpperCase() + s.substr(1);
43
+ } else {
44
+ result += s;
45
+ }
46
+ } else {
47
+ result += s.substring(0,1).toUpperCase() + s.substr(1);
48
+ }
49
+ }
50
+
51
+ project.setProperty(attributes.get("property"), result);
52
+ ]]>
53
+ </scriptdef>
54
+
55
+
56
+ <macrodef name="replaceAll" taskname="@{taskname}">
57
+ <attribute name="src" />
58
+ <attribute name="dest" default="" />
59
+ <attribute name="replace" default="" />
60
+ <attribute name="with" default="" />
61
+ <sequential>
62
+ <loadresource property="@{dest}">
63
+ <propertyresource name="@{src}" />
64
+ <filterchain>
65
+ <tokenfilter>
66
+ <filetokenizer/>
67
+ <replacestring from="@{replace}" to="@{with}"/>
68
+ </tokenfilter>
69
+ </filterchain>
70
+ </loadresource>
71
+ </sequential>
72
+ </macrodef>
73
+
74
+
75
+
76
+ <!--======================================================================-->
77
+ <!-- TOKEN FILTERS -->
78
+ <!--======================================================================-->
79
+
80
+ <!--application files replacement-->
81
+ <filter token="app.name" value="${app.artifact.id}"/>
82
+ <filter token="app.name.display" value="${app.artifact.id}"/>
83
+ <filter token="app.group.id" value="${app.group.id}"/>
84
+
85
+ <target name="generate.web-spring-boot">
86
+ <echo></echo>
87
+ <echo>TARGET : ${target.path}</echo>
88
+ <echo></echo>
89
+ <echo>app.name: ${app.name}</echo>
90
+ <echo>app.artifact.id: ${app.artifact.id}</echo>
91
+ <echo>app.group.id: ${app.group.id}</echo>
92
+ <echo></echo>
93
+
94
+ <copy todir="${target.path}" filtering="true" overwrite="true">
95
+ <fileset dir="${src.path}"/>
96
+ </copy>
97
+
98
+ <!--REPLACE MODULE NAMES DIRECTORIES-->
99
+ <move toFile="${target.path}/${app.artifact.id}-web-rest"
100
+ file="${target.path}/myapp-web-rest"/>
101
+ <move toFile="${target.path}/${app.artifact.id}-web"
102
+ file="${target.path}/myapp-web"/>
103
+
104
+ <!--RENAMING JAVA SOURCES TARGET by custom app group id provided-->
105
+
106
+ <replaceAll src="app.group.id" dest="app.group.id.dir" replace="." with="/"/>
107
+
108
+ <move tofile="${target.path}/${app.name}-web-rest/src/main/java/${app.group.id.dir}/${app.name}"
109
+ file="${target.path}/${app.name}-web-rest/src/main/java/myapp"/>
110
+ <mkdir dir="${target.path}/${app.name}-web-rest/src/test/java/${app.group.id.dir}/${app.name}"/>
111
+
112
+ </target>
113
+
114
+ </project>
115
+
@@ -0,0 +1,64 @@
1
+ <project xmlns="http://maven.apache.org/POM/4.0.0"
2
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
4
+ http://maven.apache.org/maven-v4_0_0.xsd">
5
+
6
+ <modelVersion>4.0.0</modelVersion>
7
+ <groupId>eu.europa.ec.digit.eui</groupId>
8
+ <artifactId>eui-cli-build</artifactId>
9
+ <version>0.1.0</version>
10
+ <packaging>pom</packaging>
11
+
12
+ <name>eUI CLI app generator</name>
13
+
14
+ <properties>
15
+ <src.path></src.path>
16
+ <target.path></target.path>
17
+ <app.group.id></app.group.id>
18
+ <app.artifact.id></app.artifact.id>
19
+ </properties>
20
+
21
+ <profiles>
22
+ <profile>
23
+ <id>build-web-spring-boot</id>
24
+ <build>
25
+ <plugins>
26
+ <plugin>
27
+ <groupId>org.apache.maven.plugins</groupId>
28
+ <artifactId>maven-antrun-plugin</artifactId>
29
+ <version>1.7</version>
30
+ <executions>
31
+ <execution>
32
+ <id>pre-install</id>
33
+ <phase>generate-sources</phase>
34
+ <configuration>
35
+
36
+ <target>
37
+ <ant dir="${basedir}" target="generate.web-spring-boot">
38
+ <property name="src.path" value="${src.path}"/>
39
+ <property name="target.path" value="${target.path}"/>
40
+ <property name="app.group.id" value="${app.group.id}"/>
41
+ <property name="app.artifact.id" value="${app.artifact.id}"/>
42
+ <property name="app.name" value="${app.artifact.id}"/>
43
+ </ant>
44
+ </target>
45
+
46
+ </configuration>
47
+ <goals>
48
+ <goal>run</goal>
49
+ </goals>
50
+ </execution>
51
+ </executions>
52
+ </plugin>
53
+
54
+ </plugins>
55
+
56
+ </build>
57
+ </profile>
58
+ </profiles>
59
+
60
+ </project>
61
+
62
+
63
+
64
+
@@ -0,0 +1,31 @@
1
+ const path = require('path');
2
+ const utils = require('./utils');
3
+
4
+ module.exports.start = (options) => {
5
+ return Promise.resolve()
6
+ .then(() => {
7
+ return postBuild(options.config, options.targetPath,)
8
+ })
9
+ .catch((e) => {
10
+ throw e;
11
+ })
12
+ }
13
+
14
+ const postBuild = (cliConfig, targetPath) => {
15
+ const appName = cliConfig.appName;
16
+ const appType = cliConfig.appType;
17
+ const artifactId = cliConfig.artifactId;
18
+
19
+ console.log(`Post build`);
20
+
21
+ return Promise.resolve()
22
+ .then(() => {
23
+ console.log('--renaming .gitignore');
24
+ const angularPath = utils.getAngularPath(targetPath, appName, appType, artifactId);
25
+ return utils.move(path.join(angularPath, 'gitignore_TO_REPLACE'), path.join(angularPath, '.gitignore'));
26
+ })
27
+
28
+ .catch((e) => {
29
+ throw e;
30
+ })
31
+ }
@@ -0,0 +1,16 @@
1
+ # This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
2
+ # For additional information regarding the format and rule options, please see:
3
+ # https://github.com/browserslist/browserslist#queries
4
+
5
+ # For the full list of supported browsers by the Angular framework, please see:
6
+ # https://angular.io/guide/browser-support
7
+
8
+ # You can see what browsers were selected by your queries by running:
9
+ # npx browserslist
10
+
11
+ last 1 Chrome version
12
+ last 1 Firefox version
13
+ last 2 Edge major versions
14
+ last 2 Safari major versions
15
+ last 2 iOS major versions
16
+ Firefox ESR
@@ -0,0 +1,16 @@
1
+ # Editor configuration, see http://editorconfig.org
2
+ root = true
3
+
4
+ [*]
5
+ charset = utf-8
6
+ indent_style = space
7
+ indent_size = 4
8
+ insert_final_newline = true
9
+ trim_trailing_whitespace = true
10
+
11
+ [*.scss]
12
+ indent_size = 4
13
+
14
+ [*.md]
15
+ max_line_length = off
16
+ trim_trailing_whitespace = false
@@ -0,0 +1,26 @@
1
+ # eUI starter app
2
+
3
+ ## Development server
4
+
5
+ ````npm start```` to start the angular project with node-express proxy mock server
6
+
7
+ ````npm run start-proxy```` to start the angular project with real backend proxy server deployed
8
+
9
+ ````npm run build```` to build, lint and test your project for DEV
10
+
11
+ ````npm run build-prod```` to build, lint and test your project for PROD
12
+
13
+ ````npm run build-prod-skip-test```` to build and lint your project for PROD - Unit test skipped - to be used on Bamboo plans
14
+
15
+ ````npm run build-prod-stats```` to build, lint and test your project for PROD - with stats.json file generated for webpack-bundle-analyzer input
16
+
17
+ * check package.json for more info on executable scripts provided
18
+
19
+ ## Further help
20
+
21
+ - https://eui.ecdevops.eu
22
+
23
+ - register on [MS Teams](https://teams.microsoft.com/l/team/19%3a2f5bb6b7d1e24c4aabaa62229d3e1955%40thread.tacv2/conversations?groupId=fb6def72-c57b-4e8f-a82e-49be65d6e1f5&tenantId=b24c8b06-522c-46fe-9080-70926f8dddb1) with your EC mail account, for extra-muros please send a mail to DIGIT-EUI-SUPPORT@ec.europa.eu
24
+
25
+ - For bugs / request new features : Drop us an email at : DIGIT-EUI-SUPPORT@ec.europa.eu
26
+