@genesislcap/blank-app-seed 3.30.0-prerelease.4 → 3.30.0-prerelease.41

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 (116) hide show
  1. package/.genx/configure.js +5 -0
  2. package/.genx/package.json +1 -1
  3. package/.genx/prompts/api.js +2 -9
  4. package/.genx/prompts/server.js +9 -0
  5. package/.genx/prompts.js +9 -2
  6. package/.genx/static.js +1 -1
  7. package/.genx/templates/angular/component/component.hbs +10 -0
  8. package/.genx/templates/angular/gridLayout.hbs +8 -8
  9. package/.genx/templates/react/chart.hbs +7 -3
  10. package/.genx/templates/react/component/component.column.defs.hbs +4 -2
  11. package/.genx/templates/react/component/component.create.form.hbs +2 -2
  12. package/.genx/templates/react/component/component.gridOptions.hbs +4 -2
  13. package/.genx/templates/react/component/component.hbs +68 -21
  14. package/.genx/templates/react/component/component.index.hbs +1 -1
  15. package/.genx/templates/react/component/component.update.form.hbs +1 -1
  16. package/.genx/templates/react/entityManager.hbs +62 -49
  17. package/.genx/templates/react/form.hbs +7 -3
  18. package/.genx/templates/react/grid.hbs +16 -10
  19. package/.genx/templates/react/gridLayout.hbs +8 -8
  20. package/.genx/templates/react/route.hbs +2 -2
  21. package/.genx/templates/react/tabsLayout.hbs +5 -5
  22. package/.genx/templates/web-components/component/component.hbs +10 -0
  23. package/.genx/templates/web-components/gridLayout.hbs +8 -8
  24. package/.genx/templates/web-components/route.template.hbs +2 -2
  25. package/.genx/utils/deleteGradleWrappers.js +12 -0
  26. package/.genx/utils/generateRoute.js +2 -1
  27. package/.genx/utils/generateTile.js +2 -2
  28. package/.genx/utils/index.js +2 -0
  29. package/.genx/versions.json +3 -3
  30. package/.gitignore +3 -0
  31. package/.idea/modules.xml +6 -6
  32. package/CHANGELOG.md +260 -0
  33. package/README.md +6 -10
  34. package/client-tmp/angular/__mocks__/fileMock.js +1 -0
  35. package/client-tmp/angular/angular.json +0 -29
  36. package/client-tmp/angular/jest.config.js +20 -0
  37. package/client-tmp/angular/package.json +6 -6
  38. package/client-tmp/angular/src/app/layouts/default/default.layout.spec.ts +2 -2
  39. package/client-tmp/angular/src/jest.setup.ts +46 -0
  40. package/client-tmp/angular/tsconfig.app.json +1 -2
  41. package/client-tmp/angular/tsconfig.json +1 -2
  42. package/client-tmp/angular/tsconfig.spec.json +13 -7
  43. package/client-tmp/react/.babelrc +2 -1
  44. package/client-tmp/react/.eslintrc.cjs +1 -0
  45. package/client-tmp/react/README.md +36 -24
  46. package/client-tmp/react/jest.config.ts +15 -0
  47. package/client-tmp/react/lint-css.ts +19 -0
  48. package/client-tmp/react/package.json +35 -13
  49. package/client-tmp/react/public/favicon.ico +0 -0
  50. package/client-tmp/react/public/index.html +13 -0
  51. package/client-tmp/react/src/App.tsx +95 -68
  52. package/client-tmp/react/src/components/ErrorMessage/{ErrorMessage.test.js → ErrorMessage.test.tsx} +18 -20
  53. package/client-tmp/react/src/components/ErrorMessage/{ErrorMessage.jsx → ErrorMessage.tsx} +9 -4
  54. package/client-tmp/react/src/config.ts +2 -16
  55. package/client-tmp/react/src/custom-elements.d.ts +21 -9
  56. package/client-tmp/react/src/environments/environment.prod.ts +8 -0
  57. package/client-tmp/react/src/environments/environment.ts +9 -0
  58. package/client-tmp/react/src/guards/ProtectedGuard.tsx +66 -0
  59. package/client-tmp/react/src/helpers/hasPermissionHelper.tsx +11 -0
  60. package/client-tmp/react/src/helpers/isAuthenticatedHelper.tsx +14 -0
  61. package/client-tmp/react/src/helpers/isConnectedHelper.tsx +16 -0
  62. package/client-tmp/react/src/layouts/blank/BlankLayout.tsx +1 -1
  63. package/client-tmp/react/src/layouts/default/DefaultLayout.tsx +26 -15
  64. package/client-tmp/react/src/main.tsx +21 -5
  65. package/client-tmp/react/src/pages/AuthPage/{AuthPage.test.js → AuthPage.test.tsx} +2 -2
  66. package/client-tmp/react/src/pages/AuthPage/{AuthPage.jsx → AuthPage.tsx} +3 -2
  67. package/client-tmp/react/src/pages/NotFoundPage/NotFoundPage.css +0 -0
  68. package/client-tmp/react/src/pages/NotFoundPage/NotFoundPage.tsx +14 -0
  69. package/client-tmp/react/src/pages/NotPermittedPage/{NotPermittedPage.test.js → NotPermittedPage.test.tsx} +3 -4
  70. package/client-tmp/react/src/pages/NotPermittedPage/NotPermittedPage.tsx +14 -0
  71. package/client-tmp/react/src/pbc/README.md +7 -0
  72. package/client-tmp/react/src/pbc/container.tsx +44 -0
  73. package/client-tmp/react/src/pbc/elementsRenderer.tsx +40 -0
  74. package/client-tmp/react/src/pbc/utils.ts +121 -0
  75. package/client-tmp/react/src/services/store.service.ts +48 -0
  76. package/client-tmp/react/src/share/foundation-login.ts +13 -6
  77. package/client-tmp/react/src/share/genesis-components.ts +49 -23
  78. package/client-tmp/react/src/store/AuthContext.tsx +0 -2
  79. package/client-tmp/react/src/store/RoutesContext.tsx +74 -0
  80. package/client-tmp/react/src/types/LayoutName.ts +3 -0
  81. package/client-tmp/react/src/types/RouteLayouts.ts +3 -1
  82. package/client-tmp/react/src/utils/getLayoutNameByRoute.ts +5 -0
  83. package/client-tmp/react/src/utils/history.ts +4 -2
  84. package/client-tmp/react/src/utils/index.ts +3 -1
  85. package/client-tmp/react/src/utils/layout.ts +11 -0
  86. package/client-tmp/react/test/e2e/fixture.ts +1 -1
  87. package/client-tmp/react/tsconfig.app.json +2 -26
  88. package/client-tmp/react/tsconfig.json +31 -8
  89. package/client-tmp/react/tsconfig.node.json +1 -1
  90. package/client-tmp/react/vite.config.ts +70 -0
  91. package/client-tmp/react/webpack.config.js +103 -0
  92. package/client-tmp/web-components/package.json +10 -8
  93. package/client-tmp/web-components/src/main/main.styles.ts +1 -1
  94. package/client-tmp/web-components/src/utils/index.ts +1 -0
  95. package/client-tmp/web-components/src/utils/layout.ts +11 -0
  96. package/client-tmp/web-components/tsconfig.json +1 -1
  97. package/package.json +1 -1
  98. package/server/build.gradle.kts +1 -0
  99. package/server/gradle.properties +1 -0
  100. package/server/settings.gradle.kts +8 -7
  101. package/settings.gradle.kts +7 -4
  102. package/testData/excel/.gitkeep +0 -0
  103. package/client-tmp/angular/karma.conf.js +0 -9
  104. package/client-tmp/angular/src/app/app.component.spec.ts +0 -23
  105. package/client-tmp/react/env.development.json +0 -3
  106. package/client-tmp/react/jest.config.js +0 -10
  107. package/client-tmp/react/lint-css.js +0 -18
  108. package/client-tmp/react/src/guards/AuthGuard.tsx +0 -32
  109. package/client-tmp/react/src/guards/PermissionsGuard.tsx +0 -37
  110. package/client-tmp/react/src/index.js +0 -17
  111. package/client-tmp/react/src/pages/NotPermittedPage/NotPermittedPage.jsx +0 -13
  112. package/client-tmp/react/src/reportWebVitals.js +0 -13
  113. package/client-tmp/react/vite.config.js +0 -59
  114. /package/client-tmp/react/{jest.setup.js → jest.setup.ts} +0 -0
  115. /package/client-tmp/react/src/{setupTests.js → setupTests.ts} +0 -0
  116. /package/server/{{appName}}-app/src/main/genesis/scripts/{{{appName}}-data-pipelines.kts → {{appName}}-pipelines.kts} +0 -0
@@ -2,13 +2,13 @@
2
2
  <rapid-layout-region type="vertical">
3
3
  {{#each route.tiles}}
4
4
  {{#ifEquals @index 0}}
5
- <rapid-layout-item title="{{../title}}">
6
- <{{kebabCase ../componentName}}></{{kebabCase ../componentName}}>
5
+ <rapid-layout-item title="{{this.title}}">
6
+ <{{kebabCase this.componentName}}></{{kebabCase this.componentName}}>
7
7
  </rapid-layout-item>
8
8
  {{/ifEquals}}
9
9
  {{#ifEquals @index 1}}
10
- <rapid-layout-item title="{{../title}}">
11
- <{{kebabCase ../componentName}}></{{kebabCase ../componentName}}>
10
+ <rapid-layout-item title="{{this.title}}">
11
+ <{{kebabCase this.componentName}}></{{kebabCase this.componentName}}>
12
12
  </rapid-layout-item>
13
13
  {{/ifEquals}}
14
14
  {{/each}}
@@ -16,13 +16,13 @@
16
16
  <rapid-layout-region type="vertical">
17
17
  {{#each route.tiles}}
18
18
  {{#ifEquals @index 2}}
19
- <rapid-layout-item title="{{../title}}">
20
- <{{kebabCase ../componentName}}></{{kebabCase ../componentName}}>
19
+ <rapid-layout-item title="{{this.title}}">
20
+ <{{kebabCase this.componentName}}></{{kebabCase this.componentName}}>
21
21
  </rapid-layout-item>
22
22
  {{/ifEquals}}
23
23
  {{#ifEquals @index 3}}
24
- <rapid-layout-item title="{{../title}}">
25
- <{{kebabCase ../componentName}}></{{kebabCase ../componentName}}>
24
+ <rapid-layout-item title="{{this.title}}">
25
+ <{{kebabCase this.componentName}}></{{kebabCase this.componentName}}>
26
26
  </rapid-layout-item>
27
27
  {{/ifEquals}}
28
28
  {{/each}}
@@ -1,5 +1,5 @@
1
- import { isDev } from '@genesislcap/foundation-utils';
2
1
  import { html } from '@genesislcap/web-core';
2
+ import { persistLayout } from '../../utils';
3
3
  import type { {{pascalCase route.name}} } from './{{kebabCase route.name}}';
4
4
  {{#each route.tiles}}
5
5
  import { {{pascalCase this.componentName}} } from './{{kebabCase this.title}}-{{this.componentType}}';
@@ -11,7 +11,7 @@ import { {{pascalCase this.componentName}} } from './{{kebabCase this.title}}-{{
11
11
 
12
12
  export const {{pascalCase route.name}}Template = html<{{pascalCase route.name}}>`
13
13
  {{#if route.tiles}}
14
- <rapid-layout auto-save-key="${() => (isDev() ? null : '{{route.layoutKey}}')}">
14
+ <rapid-layout auto-save-key="${() => persistLayout('{{route.layoutKey}}')}">
15
15
  {{> (lookup ./route 'layoutType') }}
16
16
  </rapid-layout>
17
17
  {{else}}
@@ -0,0 +1,12 @@
1
+ const { rmdirSync } = require('node:fs');
2
+ const { resolve } = require('node:path');
3
+
4
+ const deleteGradleWrappers = (
5
+ paths = ['../../gradle', '../../server/gradle'],
6
+ ) => {
7
+ paths.forEach((p) => {
8
+ rmdirSync(resolve(__dirname, p), { recursive: true, force: true });
9
+ });
10
+ };
11
+
12
+ module.exports = deleteGradleWrappers;
@@ -29,7 +29,7 @@ const getPathByFramework = {
29
29
  route: (clientSrcPath, routeName, changeCase) =>
30
30
  `${clientSrcPath}/${changeCase.pascalCase(routeName)}`,
31
31
  component: (routeDir, routeName, changeCase) =>
32
- `${routeDir}/${changeCase.pascalCase(routeName)}.jsx`,
32
+ `${routeDir}/${changeCase.pascalCase(routeName)}.tsx`,
33
33
  style: (routeDir, routeName, changeCase) =>
34
34
  `${routeDir}/${changeCase.pascalCase(routeName)}.css`,
35
35
  },
@@ -76,6 +76,7 @@ const generateRoute = (route, { changeCase, writeFileWithData }, framework) => {
76
76
 
77
77
  if (route?.tiles?.length) {
78
78
  route.tiles.forEach((tile) => {
79
+ tile.metadata = tile.metadata || {};
79
80
  generateTile(tile, route, { changeCase, writeFileWithData }, framework);
80
81
  });
81
82
  }
@@ -44,12 +44,12 @@ const getPathByFramework = {
44
44
  },
45
45
  [FRAMEWORK_REACT_ALIAS]: {
46
46
  ...defaultPathGetters,
47
- index: (componentPath) => `${componentPath}/index.jsx`,
47
+ index: (componentPath) => `${componentPath}/index.tsx`,
48
48
  clientSrcPath: `../../client/src/pages`,
49
49
  route: (clientSrcPath, tile, routeName, changeCase) =>
50
50
  `${clientSrcPath}/${changeCase.pascalCase(routeName)}/${changeCase.pascalCase(tile.name)}${changeCase.pascalCase(tile.componentType)}`,
51
51
  component: (componentPath, tile, changeCase) =>
52
- `${componentPath}/${changeCase.pascalCase(tile.name)}Component.jsx`,
52
+ `${componentPath}/${changeCase.pascalCase(tile.name)}Component.tsx`,
53
53
  style: (componentPath, tile, changeCase) =>
54
54
  `${componentPath}/${changeCase.pascalCase(tile.name)}Component.css`,
55
55
  addForm: (componentPath, tile, changeCase) =>
@@ -1,4 +1,5 @@
1
1
  const excludeFrameworks = require('./excludeFrameworks');
2
+ const deleteGradleWrappers = require('./deleteGradleWrappers');
2
3
  const formatRouteData = require('./formatRouteData');
3
4
  const generateRoute = require('./generateRoute');
4
5
  const generateCsv = require('./generateCsv');
@@ -11,6 +12,7 @@ const validateRoute = require('./validateRoute');
11
12
  const validateFrameworkAlias = require('./validateFrameworkAlias');
12
13
 
13
14
  module.exports = {
15
+ deleteGradleWrappers,
14
16
  excludeFrameworks,
15
17
  formatRouteData,
16
18
  generateRoute,
@@ -1,5 +1,5 @@
1
1
  {
2
- "UI": "14.206.2",
3
- "GSF": "8.3.0",
4
- "Auth": "8.3.0"
2
+ "UI": "14.217.3",
3
+ "GSF": "8.6.0-beta1",
4
+ "Auth": "8.6.0-beta1"
5
5
  }
package/.gitignore CHANGED
@@ -44,6 +44,7 @@ client/bootstrapDone
44
44
  .husky/.gitignore
45
45
  build-cache/
46
46
  server/h2/
47
+ project-zips
47
48
 
48
49
  # Ignore Gradle GUI config
49
50
  gradle-app.setting
@@ -107,3 +108,5 @@ custom-elements.json
107
108
  # Gradle tasks
108
109
  .bootstrapDone
109
110
  .tests.executed
111
+
112
+ blankappseedtest/
package/.idea/modules.xml CHANGED
@@ -2,12 +2,12 @@
2
2
  <project version="4">
3
3
  <component name="ProjectModuleManager">
4
4
  <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/genesisproduct-{{appName}}.{{appName}}-dictionary-cache.main.iml" filepath="$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/genesisproduct-{{appName}}.{{appName}}-dictionary-cache.main.iml" />
6
- <module fileurl="file://$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-fields/genesisproduct-{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-fields.main.iml" filepath="$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-fields/genesisproduct-{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-fields.main.iml" />
7
- <module fileurl="file://$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-dao/genesisproduct-{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-dao.main.iml" filepath="$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-dao/genesisproduct-{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-dao.main.iml" />
8
- <module fileurl="file://$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-view/genesisproduct-{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-view.main.iml" filepath="$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-view/genesisproduct-{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-view.main.iml" />
9
- <module fileurl="file://$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-hft/genesisproduct-{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-hft.main.iml" filepath="$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-hft/genesisproduct-{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-hft.main.iml" />
10
- <module fileurl="file://$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-sysdef/genesisproduct-{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-sysdef.main.iml" filepath="$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-sysdef/genesisproduct-{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-sysdef.main.iml" />
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}.{{appName}}-dictionary-cache.main.iml" filepath="$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}.{{appName}}-dictionary-cache.main.iml" />
6
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-fields/{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-fields.main.iml" filepath="$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-fields/{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-fields.main.iml" />
7
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-dao/{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-dao.main.iml" filepath="$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-dao/{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-dao.main.iml" />
8
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-view/{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-view.main.iml" filepath="$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-view/{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-view.main.iml" />
9
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-hft/{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-hft.main.iml" filepath="$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-hft/{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-hft.main.iml" />
10
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-sysdef/{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-sysdef.main.iml" filepath="$PROJECT_DIR$/.idea/modules/server/build/internal-modules/{{appName}}-dictionary-cache/{{appName}}-generated-sysdef/{{appName}}.{{appName}}-dictionary-cache.{{appName}}-generated-sysdef.main.iml" />
11
11
  </modules>
12
12
  </component>
13
13
  </project>
package/CHANGELOG.md CHANGED
@@ -1,5 +1,265 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.30.0-prerelease.41](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.40...v3.30.0-prerelease.41) (2024-11-11)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * react client - route level permissions - [FUI-2244](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/2244) (#392) 6062254
9
+
10
+ ## [3.30.0-prerelease.40](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.39...v3.30.0-prerelease.40) (2024-11-07)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 4f65917
16
+
17
+ ## [3.30.0-prerelease.39](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.38...v3.30.0-prerelease.39) (2024-11-07)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 10f2ab7
23
+
24
+ ## [3.30.0-prerelease.38](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.37...v3.30.0-prerelease.38) (2024-11-07)
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * script name for react template (GENC-892) (#388) (#389) 5764840
30
+
31
+ ## [3.30.0-prerelease.37](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.36...v3.30.0-prerelease.37) (2024-11-07)
32
+
33
+
34
+ ### Bug Fixes
35
+
36
+ * references in grid layout template GENC-910 (#390) 64280fa
37
+
38
+ ## [3.30.0-prerelease.36](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.35...v3.30.0-prerelease.36) (2024-11-07)
39
+
40
+
41
+ ### Features
42
+
43
+ * support base path in react app GENC-892 (#381) 388a44d
44
+
45
+ ## [3.30.0-prerelease.35](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.34...v3.30.0-prerelease.35) (2024-11-06)
46
+
47
+
48
+ ### Bug Fixes
49
+
50
+ * automated dependency version update [skip-ci] [PSD-9](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/9) (#378) e4f3afb
51
+
52
+ ## [3.30.0-prerelease.34](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.33...v3.30.0-prerelease.34) (2024-11-04)
53
+
54
+
55
+ ### Bug Fixes
56
+
57
+ * automated dependency version update [skip-ci] [PSD-9](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/9) (#375) a5d9161
58
+ * back-porting todo formatting fix to prerelease branch GENC-853 (#377) 8d6f214
59
+
60
+ ## [3.30.0-prerelease.33](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.32...v3.30.0-prerelease.33) (2024-10-29)
61
+
62
+
63
+ ### Bug Fixes
64
+
65
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 6f17702
66
+
67
+ ## [3.30.0-prerelease.32](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.31...v3.30.0-prerelease.32) (2024-10-29)
68
+
69
+
70
+ ### Bug Fixes
71
+
72
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) d26e635
73
+
74
+ ## [3.30.0-prerelease.31](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.30...v3.30.0-prerelease.31) (2024-10-25)
75
+
76
+
77
+ ### Bug Fixes
78
+
79
+ * home page url - react (#369) 388cf04
80
+
81
+ ## [3.30.0-prerelease.30](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.29...v3.30.0-prerelease.30) (2024-10-22)
82
+
83
+
84
+ ### Features
85
+
86
+ * adding support for comments/todos in generated UI files GENC-857 (#364) ba999e8
87
+
88
+ ## [3.30.0-prerelease.29](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.28...v3.30.0-prerelease.29) (2024-10-21)
89
+
90
+
91
+ ### Features
92
+
93
+ * update react version (#358) 22bb0ad
94
+
95
+ ## [3.30.0-prerelease.28](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.27...v3.30.0-prerelease.28) (2024-10-18)
96
+
97
+
98
+ ### Features
99
+
100
+ * allow to simply control layout persistence in dev [FUI-2211](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/2211) / GENC-871 (#363) c6fd6f5
101
+
102
+ ## [3.30.0-prerelease.27](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.26...v3.30.0-prerelease.27) (2024-10-17)
103
+
104
+
105
+ ### Features
106
+
107
+ * allow excluding Gradle wrappers GENC-824 (#357) 5d90d1d
108
+
109
+ ## [3.30.0-prerelease.26](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.25...v3.30.0-prerelease.26) (2024-10-16)
110
+
111
+
112
+ ### Features
113
+
114
+ * add genesis launcher (#356) 236417d
115
+
116
+ ## [3.30.0-prerelease.25](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.24...v3.30.0-prerelease.25) (2024-10-16)
117
+
118
+
119
+ ### Bug Fixes
120
+
121
+ * reformat ReadMe layout & allow markdown in description GENC-845 (#361) a1b8972
122
+
123
+ ## [3.30.0-prerelease.24](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.23...v3.30.0-prerelease.24) (2024-10-14)
124
+
125
+
126
+ ### Bug Fixes
127
+
128
+ * ignore project-zips folder CIDE-53 (#360) ddb86d5
129
+
130
+ ## [3.30.0-prerelease.23](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.22...v3.30.0-prerelease.23) (2024-10-08)
131
+
132
+
133
+ ### Bug Fixes
134
+
135
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 31595f3
136
+
137
+ ## [3.30.0-prerelease.22](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.21...v3.30.0-prerelease.22) (2024-10-08)
138
+
139
+
140
+ ### Bug Fixes
141
+
142
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 9dbc341
143
+
144
+ ## [3.30.0-prerelease.21](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.20...v3.30.0-prerelease.21) (2024-10-08)
145
+
146
+
147
+ ### Bug Fixes
148
+
149
+ * automated dependency version update [skip-ci] [PSD-9](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/9) (#355) a33c5e8
150
+
151
+ ## [3.30.0-prerelease.20](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.19...v3.30.0-prerelease.20) (2024-10-04)
152
+
153
+
154
+ ### Bug Fixes
155
+
156
+ * reduce apiHost steps when using genx in prompt mode - [FUI-2207](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/2207) (#343) f6ce411
157
+
158
+ ## [3.30.0-prerelease.19](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.18...v3.30.0-prerelease.19) (2024-10-03)
159
+
160
+
161
+ ### Bug Fixes
162
+
163
+ * automated dependency version update [skip-ci] [PSD-9](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/9) (#354) d5b0de0
164
+
165
+ ## [3.30.0-prerelease.18](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.17...v3.30.0-prerelease.18) (2024-09-30)
166
+
167
+
168
+ ### Bug Fixes
169
+
170
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 3ed1109
171
+
172
+ ## [3.30.0-prerelease.17](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.16...v3.30.0-prerelease.17) (2024-09-30)
173
+
174
+
175
+ ### Bug Fixes
176
+
177
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) a324936
178
+
179
+ ## [3.30.0-prerelease.16](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.15...v3.30.0-prerelease.16) (2024-09-30)
180
+
181
+
182
+ ### Features
183
+
184
+ * add webpack builder in react (#350) 69c4c6b, closes FUI-2173 FUI-2173 FUI-2173 FUI-2157 FUI-2157 origin/ak/FUI-2173 ak/FUI-2157 FUI-2157 FUI-2157 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140 FUI-2140
185
+
186
+ ## [3.30.0-prerelease.15](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.14...v3.30.0-prerelease.15) (2024-09-26)
187
+
188
+
189
+ ### Features
190
+
191
+ * pbc support in react [FUI-2140](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/2140) (#347) 4c41243, closes FUI-2173 FUI-2173 FUI-2173 FUI-2157 FUI-2157 origin/ak/FUI-2173 ak/FUI-2157 FUI-2157 FUI-2157
192
+
193
+ ## [3.30.0-prerelease.14](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.13...v3.30.0-prerelease.14) (2024-09-26)
194
+
195
+
196
+ ### Features
197
+
198
+ * replaced karma with jest in angular (#348) 805d7ec
199
+
200
+ ## [3.30.0-prerelease.13](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.12...v3.30.0-prerelease.13) (2024-09-18)
201
+
202
+
203
+ ### Bug Fixes
204
+
205
+ * update --nav-height value - [FUI-2207](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/2207) (#345) 83894b1
206
+
207
+ ## [3.30.0-prerelease.12](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.11...v3.30.0-prerelease.12) (2024-09-18)
208
+
209
+
210
+ ### Bug Fixes
211
+
212
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) d7eab5a
213
+
214
+ ## [3.30.0-prerelease.11](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.10...v3.30.0-prerelease.11) (2024-09-18)
215
+
216
+
217
+ ### Bug Fixes
218
+
219
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) eabf8c7
220
+
221
+ ## [3.30.0-prerelease.10](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.9...v3.30.0-prerelease.10) (2024-09-13)
222
+
223
+
224
+ ### Bug Fixes
225
+
226
+ * automated dependency version update [skip-ci] [PSD-9](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/9) (#342) d255814
227
+
228
+ ## [3.30.0-prerelease.9](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.8...v3.30.0-prerelease.9) (2024-09-12)
229
+
230
+
231
+ ### Features
232
+
233
+ * integrate TypeScript support into react - [FUI-2157](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/2157) (#338) ac55e1f
234
+
235
+ ## [3.30.0-prerelease.8](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.7...v3.30.0-prerelease.8) (2024-09-11)
236
+
237
+
238
+ ### Bug Fixes
239
+
240
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 09ba9a2
241
+
242
+ ## [3.30.0-prerelease.7](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.6...v3.30.0-prerelease.7) (2024-09-11)
243
+
244
+
245
+ ### Bug Fixes
246
+
247
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 5d4f8da
248
+
249
+ ## [3.30.0-prerelease.6](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.5...v3.30.0-prerelease.6) (2024-09-10)
250
+
251
+
252
+ ### Features
253
+
254
+ * product name specified with settings plugin property (#331) 082cea0
255
+
256
+ ## [3.30.0-prerelease.5](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.4...v3.30.0-prerelease.5) (2024-09-09)
257
+
258
+
259
+ ### Bug Fixes
260
+
261
+ * automated dependency version update [skip-ci] [PSD-9](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/9) (#341) 1d38563
262
+
3
263
  ## [3.30.0-prerelease.4](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.30.0-prerelease.3...v3.30.0-prerelease.4) (2024-09-06)
4
264
 
5
265
 
package/README.md CHANGED
@@ -1,10 +1,7 @@
1
1
  # {{appName}}
2
2
 
3
- This project has been created from the Genesis Blank Application Seed. Our seeds allow users to quickly bootstrap
4
- their projects. Each seed adheres to strict Genesis best practices, and has passed numerous performance, compliance and
5
- accessibility checks.
3
+ {{{description}}}
6
4
 
7
- {{description}}
8
5
  {{!
9
6
 
10
7
  # Testing
@@ -34,16 +31,15 @@ npx -y @genesislcap/genx@latest init myapp -x -s ./blank-app-seed --enableSSO --
34
31
  ```
35
32
  }}
36
33
 
37
- # Introduction
34
+ # Getting started with development
38
35
 
39
- ## Next Steps
36
+ ## Next steps
40
37
 
41
38
  To get a simple application running check the [Quick Start](https://learn.genesis.global/docs/getting-started/quick-start/) guide.
42
39
 
43
40
  If you need an introduction to the Genesis platform and its modules it's worth heading [here](https://learn.genesis.global/docs/getting-started/learn-the-basics/simple-introduction/).
44
41
 
45
-
46
- ## Project Structure
42
+ ## Project structure
47
43
 
48
44
  This project contains **server** and **client** directories which contain the server and client code respectively.
49
45
 
@@ -54,7 +50,7 @@ It is built using a DSL-like definition based on the Kotlin language: GPAL.
54
50
 
55
51
  When first opening the project, if you receive a notification from IntelliJ IDE detecting Gradle project select the option to 'Load as gradle project'.
56
52
 
57
- ### Web Client
53
+ ### Web client
58
54
 
59
55
  The Web client for this project can be found [here](./client/README.md). It is built using Genesis's next
60
56
  generation web development framework, which is based on Web Components.
@@ -66,4 +62,4 @@ This is free and unencumbered software released into the public domain. For full
66
62
  **NOTE** This project uses licensed components listed in the next section, thus licenses for those components are required during development.
67
63
 
68
64
  ## Licensed components
69
- Genesis low-code platform
65
+ Genesis application platform
@@ -0,0 +1 @@
1
+ module.exports = 'test-file-stub';
@@ -90,35 +90,6 @@
90
90
  "buildTarget": "{{pkgName}}:build"
91
91
  }
92
92
  },
93
- "test": {
94
- "builder": "@angular-builders/custom-webpack:karma",
95
- "configurations": {
96
- "production": {
97
- "customWebpackConfig": {
98
- "path": "./webpack.prod.config.js",
99
- "mergeStrategies": {
100
- "externals": "replace"
101
- }
102
- }
103
- },
104
- "development": {
105
- "customWebpackConfig": {
106
- "path": "./webpack.dev.config.js",
107
- "mergeStrategies": {
108
- "externals": "replace"
109
- }
110
- }
111
- }
112
- },
113
- "defaultConfiguration": "development",
114
- "options": {
115
- "polyfills": ["zone.js", "zone.js/testing"],
116
- "tsConfig": "tsconfig.spec.json",
117
- "assets": ["src/favicon.ico", "src/assets"],
118
- "styles": ["src/styles/styles.css"],
119
- "scripts": []
120
- }
121
- },
122
93
  "lint": {
123
94
  "builder": "@angular-eslint/builder:lint",
124
95
  "options": {
@@ -0,0 +1,20 @@
1
+ const { pathsToModuleNameMapper } = require('ts-jest');
2
+ const { compilerOptions } = require('./tsconfig');
3
+
4
+ module.exports = {
5
+ preset: 'jest-preset-angular',
6
+ roots: ['<rootDir>/src/'],
7
+ testMatch: ['**/+(*.)+(spec).+(ts)'],
8
+ setupFilesAfterEnv: ['<rootDir>/src/jest.setup.ts'],
9
+ collectCoverage: true,
10
+ coverageReporters: ['html'],
11
+ coverageDirectory: 'coverage/my-app',
12
+ transformIgnorePatterns: [
13
+ 'node_modules/(?!(@genesislcap/*|consola|@angular|@microsoft|exenv-es6|uuid))',
14
+ ],
15
+ moduleNameMapper: {
16
+ ...pathsToModuleNameMapper(compilerOptions.paths || {}, { prefix: '<rootDir>/' }),
17
+ '\\.(jpg|jpeg|png|gif|svg)$': '<rootDir>/src/__mocks__/fileMock.js',
18
+ '\\.(css)$': 'identity-obj-proxy',
19
+ },
20
+ };
@@ -27,7 +27,7 @@
27
27
  "lint:fix": "genx lint --fix",
28
28
  "lint:eslint": "genx lint -l eslint --profile",
29
29
  "lint:stylelint": "node lint-css.js",
30
- "test": "ng test",
30
+ "test": "jest",
31
31
  "test:e2e": "genx test --e2e",
32
32
  "test:e2e:debug": "genx test --e2e --debug",
33
33
  "test:e2e:ui": "genx test --e2e --interactive",
@@ -54,14 +54,14 @@
54
54
  "@genesislcap/genx": "{{versions.UI}}",
55
55
  "@genesislcap/build-kit": "{{versions.UI}}",
56
56
  "@types/jasmine": "~5.1.0",
57
+ "@types/jest": "^29.5.13",
57
58
  "@types/numeral": "^2.0.5",
58
59
  "file-loader": "^6.2.0",
59
60
  "jasmine-core": "~5.1.0",
60
- "karma": "~6.4.0",
61
- "karma-chrome-launcher": "~3.2.0",
62
- "karma-coverage": "~2.2.0",
63
- "karma-jasmine": "~5.1.0",
64
- "karma-jasmine-html-reporter": "~2.1.0",
61
+ "jest": "^29.7.0",
62
+ "jest-environment-jsdom": "^29.7.0",
63
+ "jest-preset-angular": "^14.2.4",
64
+ "jest-transform-stub": "^2.0.0",
65
65
  "svg-url-loader": "^8.0.0",
66
66
  "typescript": "~5.4.5",
67
67
  "ts-node": "10.9.2",
@@ -4,7 +4,7 @@ import { DefaultLayoutComponent } from './default.layout';
4
4
  import { ElementRef, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
5
5
 
6
6
  class MockRouter {
7
- navigate = jasmine.createSpy('navigate');
7
+ navigate = jest.fn();
8
8
  }
9
9
 
10
10
  class MockElementRef implements ElementRef {
@@ -46,4 +46,4 @@ describe('DefaultLayoutComponent', () => {
46
46
  component.navigateAngular(path);
47
47
  expect(router.navigate).toHaveBeenCalledWith([path]);
48
48
  });
49
- });
49
+ });
@@ -0,0 +1,46 @@
1
+ import 'jest-preset-angular/setup-jest';
2
+
3
+ // Mock window.matchMedia
4
+ Object.defineProperty(window, 'matchMedia', {
5
+ writable: true,
6
+ value: (query: string) => ({
7
+ matches: false,
8
+ media: query,
9
+ onchange: null,
10
+ addListener: jest.fn(), // Deprecated
11
+ removeListener: jest.fn(), // Deprecated
12
+ addEventListener: jest.fn(),
13
+ removeEventListener: jest.fn(),
14
+ dispatchEvent: jest.fn(),
15
+ }),
16
+ });
17
+
18
+ // Mock BroadcastChannel
19
+ class MockBroadcastChannel {
20
+ name: string;
21
+ onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null = null;
22
+ onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null = null;
23
+
24
+ constructor(name: string) {
25
+ this.name = name;
26
+ }
27
+
28
+ postMessage(message: any) {
29
+ if (this.onmessage) {
30
+ this.onmessage({ data: message } as MessageEvent);
31
+ }
32
+ }
33
+
34
+ close() {}
35
+
36
+ addEventListener() {}
37
+ removeEventListener() {}
38
+ dispatchEvent() {
39
+ return false;
40
+ }
41
+ }
42
+
43
+ Object.defineProperty(window, 'BroadcastChannel', {
44
+ writable: true,
45
+ value: MockBroadcastChannel,
46
+ });
@@ -1,9 +1,8 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
1
  {
3
2
  "extends": "./tsconfig.json",
4
3
  "compilerOptions": {
5
4
  "outDir": "./out-tsc/app",
6
- "types": ["node"],
5
+ "types": ["node"]
7
6
  },
8
7
  "files": [
9
8
  "src/main.ts"
@@ -1,4 +1,3 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
1
  {
3
2
  "compileOnSave": false,
4
3
  "compilerOptions": {
@@ -23,7 +22,7 @@
23
22
  "ES2022",
24
23
  "dom"
25
24
  ],
26
- "resolveJsonModule": true,
25
+ "resolveJsonModule": true
27
26
  },
28
27
  "angularCompilerOptions": {
29
28
  "enableI18nLegacyMessageIdFormat": false,