@genesislcap/blank-app-seed 3.35.2 → 3.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/blank-app-seed-config",
3
3
  "description": "Genesis Blank App Seed Configuration",
4
- "version": "3.35.2",
4
+ "version": "3.37.0",
5
5
  "license": "Apache-2.0",
6
6
  "scripts": {
7
7
  "lint": "eslint .",
@@ -23,13 +23,12 @@ import { gridOptions } from './{{kebabCase tile.title}}.gridOptions';
23
23
  {{/if}}
24
24
 
25
25
  {{#ifAny tile.metadata.comment tile.metadata.todo}}
26
- /*
27
- {{#if tile.metadata.comment}}{{{ tile.metadata.comment }}}{{/if}}
28
- {{~#if tile.metadata.todo}}{{#if tile.metadata.comment}}
29
-
30
- {{/if}}
31
- TODO: {{{ tile.metadata.todo }}}{{/if}}
32
- */
26
+ /**
27
+ {{~#if tile.metadata.comment}}{{{ tile.metadata.comment }}}{{/if}}
28
+ {{~#if tile.metadata.todo}}{{#if tile.metadata.comment}}
29
+ *{{/if}}
30
+ * TODO: {{{ tile.metadata.todo }}}{{/if}}
31
+ */
33
32
  {{/ifAny}}
34
33
 
35
34
  @Component({
@@ -26,13 +26,12 @@ import { gridOptions as gridOptionsTile } from './{{pascalCase tile.title}}GridO
26
26
  import './{{pascalCase tile.title}}Component.css';
27
27
 
28
28
  {{#ifAny tile.metadata.comment tile.metadata.todo}}
29
- /*
30
- {{#if tile.metadata.comment}}{{{ tile.metadata.comment }}}{{/if}}
31
- {{~#if tile.metadata.todo}}{{#if tile.metadata.comment}}
32
-
33
- {{/if}}
34
- TODO: {{{ tile.metadata.todo }}}{{/if}}
35
- */
29
+ /**
30
+ {{~#if tile.metadata.comment}}{{{ tile.metadata.comment }}}{{/if}}
31
+ {{~#if tile.metadata.todo}}{{#if tile.metadata.comment}}
32
+ *{{/if}}
33
+ * TODO: {{{ tile.metadata.todo }}}{{/if}}
34
+ */
36
35
  {{/ifAny}}
37
36
 
38
37
  export const {{pascalCase tile.componentName}}: React.FC = () => {
@@ -4,13 +4,12 @@ import { {{pascalCase tile.title}}Styles as styles } from './{{kebabCase tile.ti
4
4
  import { {{pascalCase tile.title}}Template as template } from './{{kebabCase tile.title}}.template';
5
5
 
6
6
  {{#ifAny tile.metadata.comment tile.metadata.todo}}
7
- /*
8
- {{#if tile.metadata.comment}}{{{ tile.metadata.comment }}}{{/if}}
9
- {{~#if tile.metadata.todo}}{{#if tile.metadata.comment}}
10
-
11
- {{/if}}
12
- TODO: {{{ tile.metadata.todo }}}{{/if}}
13
- */
7
+ /**
8
+ {{~#if tile.metadata.comment}}{{{ tile.metadata.comment }}}{{/if}}
9
+ {{~#if tile.metadata.todo}}{{#if tile.metadata.comment}}
10
+ *{{/if}}
11
+ * TODO: {{{ tile.metadata.todo }}}{{/if}}
12
+ */
14
13
  {{/ifAny}}
15
14
 
16
15
  @customElement({
@@ -3,6 +3,7 @@ const {
3
3
  gridColumnsSerializer,
4
4
  } = require('./gridSerializers');
5
5
  const formatJSONValue = require('./formatJSONValue');
6
+ const { getFormattedComment, getFormattedTodo } = require('./getTodosAndComments')
6
7
  const getLayoutType = require('./getLayoutType');
7
8
  const { COMPONENT_TYPE, FRAMEWORK_ANGULAR_ALIAS } = require('../static');
8
9
 
@@ -19,8 +20,12 @@ const formatRouteData = (framework, route) => {
19
20
  );
20
21
  const tiles = route.tiles?.map((tile, index) => {
21
22
  const config = tile.config || {};
23
+ const metadata = tile.metadata || {};
22
24
  const componentType = COMPONENT_TYPE[tile.type];
23
25
  const componentName = `${route.name}-${tile.title.replace(/[^0-9a-z]/gi, '')}-${componentType}`;
26
+ const todo = metadata?.todo && getFormattedTodo(metadata.todo);
27
+ const comment = metadata?.comment && getFormattedComment(metadata.comment);
28
+
24
29
  const {
25
30
  gridOptions,
26
31
  createFormUiSchema,
@@ -43,6 +48,11 @@ const formatRouteData = (framework, route) => {
43
48
  uischema: formatJSONValue(uischema),
44
49
  columns: gridColumnsSerializer(columns),
45
50
  },
51
+ metadata: {
52
+ ...metadata,
53
+ todo,
54
+ comment
55
+ }
46
56
  };
47
57
  });
48
58
 
@@ -0,0 +1,28 @@
1
+ const MAX_LINE_LENGTH = 100;
2
+
3
+ const wrapText = (text, pad = " ") => {
4
+ let currentLength = 0;
5
+ const formattedText = text.split(" ").map((singleWord) => {
6
+ const lineLength = currentLength + singleWord.length + 1;
7
+ if(lineLength <= MAX_LINE_LENGTH) {
8
+ currentLength = lineLength;
9
+ return singleWord
10
+ } else {
11
+ currentLength = 0;
12
+ return `\n *${pad}${singleWord}`
13
+ }
14
+ }).join(" ")
15
+
16
+ return formattedText;
17
+ }
18
+
19
+ const getFormattedTodo = (todo) =>
20
+ todo.split(/\r?\n/).map((x, index)=> `${index > 0 ? '\n * ' : ''}${wrapText(x.trim())}`).join('');
21
+
22
+ const getFormattedComment = (comment) =>
23
+ comment.split(/\r?\n/).map(x => `\n * ${wrapText(x.trim(), " ")}`).join('');
24
+
25
+ module.exports = {
26
+ getFormattedComment,
27
+ getFormattedTodo
28
+ };
@@ -1,5 +1,5 @@
1
1
  {
2
- "UI": "14.211.6",
3
- "GSF": "8.5.1",
4
- "Auth": "8.5.0"
2
+ "UI": "14.218.2",
3
+ "GSF": "8.6.0",
4
+ "Auth": "8.6.0"
5
5
  }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.37.0](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.36.0...v3.37.0) (2024-12-04)
4
+
5
+
6
+ ### Features
7
+
8
+ * Upgrade Genesis Start version (GENC-0) (#401) b997a5f
9
+
10
+ ## [3.36.0](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.35.2...v3.36.0) (2024-12-03)
11
+
12
+
13
+ ### Features
14
+
15
+ * support base path in react app GENC-892 (#381) 388a44d
16
+ * upgrading gsf 8.6.0 and fui 14.218.2 (#398) ee8fe72
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * align UI todo/comment code generation output with server code GENC-898 (#394) 7b4b3fa
22
+ * automated dependency version update [skip-ci] [PSD-9](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/9) (#375) a5d9161
23
+ * automated dependency version update [skip-ci] [PSD-9](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/9) (#378) e4f3afb
24
+ * automated dependency version update [skip-ci] [PSD-9](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/9) (#385) ac33c5a
25
+ * automated dependency version update [skip-ci] [PSD-9](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/9) (#395) f97ef08
26
+ * back-porting todo formatting fix to prerelease branch GENC-853 (#377) 8d6f214
27
+ * react client - route level permissions - [FUI-2244](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/2244) (#392) 6062254
28
+ * references in grid layout template GENC-910 (#390) 64280fa
29
+ * script name for react template (GENC-892) (#388) (#389) 5764840
30
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 3f499f6
31
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 4c4361c
32
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 1ef5436
33
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 9f87b1e
34
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 5be508f
35
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 4178771
36
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 4f65917
37
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 44a331b
38
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) a5a99e5
39
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 8c6bf54
40
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 04c62fb
41
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) a52ad4e
42
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 58044ba
43
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 5e77a41
44
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 10f2ab7
45
+
3
46
  ## [3.35.2](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.35.1...v3.35.2) (2024-11-07)
4
47
 
5
48
 
@@ -17,7 +60,7 @@
17
60
  ## [3.35.0](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.34.4...v3.35.0) (2024-11-07)
18
61
 
19
62
 
20
- ### Features
63
+ ### Bug Fixes
21
64
 
22
65
  * support base path in react app GENC-892 (#386) 71b299a
23
66
 
@@ -103,14 +146,14 @@
103
146
  ## [3.33.0](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.32.0...v3.33.0) (2024-10-22)
104
147
 
105
148
 
106
- ### Features
149
+ ### Bug Fixes
107
150
 
108
151
  * allow excluding Gradle wrappers GENC-824 (#366) 0980ff2, closes FUI-2211 FUI-2211
109
152
 
110
153
  ## [3.32.0](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.31.1...v3.32.0) (2024-10-16)
111
154
 
112
155
 
113
- ### Features
156
+ ### Bug Fixes
114
157
 
115
158
  * add genesis launcher (#362) b4a6f7e
116
159
 
package/README.md CHANGED
@@ -35,9 +35,7 @@ npx -y @genesislcap/genx@latest init myapp -x -s ./blank-app-seed --enableSSO --
35
35
 
36
36
  ## Next steps
37
37
 
38
- To get a simple application running check the [Quick Start](https://learn.genesis.global/docs/getting-started/quick-start/) guide.
39
-
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/).
38
+ If you need an introduction to the Genesis platform and its modules it's worth heading [here](https://docs.genesis.global/docs/develop/platform-overview/).
41
39
 
42
40
  ## Project Structure
43
41
 
@@ -3,45 +3,57 @@
3
3
 
4
4
  This project is built with React.
5
5
 
6
- ## Development
7
-
8
- 1. Install dependencies:
6
+ ## Install dependencies:
9
7
 
10
8
  ```shell
11
9
  npm run bootstrap
12
10
  ```
13
11
 
14
- 2. Start the development server:
12
+ ## Development server
15
13
 
16
- ```shell
17
- npm run start
18
- ```
14
+ Run `npm run dev` for a dev server. Navigate to `http://localhost:3000/`. The application will automatically reload if you change any of the source files.
19
15
 
20
- 3. Build for production:
16
+ ## Build
21
17
 
22
- ```shell
23
- npm run build
24
- ```
18
+ Run `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory.
25
19
 
26
- Preview the production build:
20
+ ## Running unit tests
27
21
 
28
- ```shell
29
- npm run serve
30
- ```
22
+ Run `npm run test` to execute the unit tests via [Jest](https://jestjs.io/docs/getting-started).
31
23
 
32
- ## Clean
24
+ ## Running end-to-end tests
33
25
 
34
- Remove `build` and `node_modules` directories:
26
+ Run `npm run test:e2e` to execute the end-to-end tests.
35
27
 
36
- ```shell
37
- npm run clean
38
- ```
28
+ ## Linting
39
29
 
40
- Baseline task combines `clean` and `install` tasks into a single command:
30
+ Run `npm run lint` to lint the project.
41
31
 
42
- ```shell
43
- npm run baseline
44
- ```
32
+ ## NPM Scripts
33
+
34
+ - `npm run baseline`: Cleans the project and installs dependencies.
35
+ - `npm run bootstrap`: Installs dependencies without auditing or funding checks.
36
+ - `npm run bootstrap:ci`: Installs dependencies in CI environment without auditing or funding checks.
37
+ - `npm run build`: Builds the project in production configuration.
38
+ - `npm run build:stats`: Builds the project and generates a stats JSON file.
39
+ - `npm run clean`: Cleans the `dist` and `node_modules` directories.
40
+ - `npm run dev`: Serves the project in development mode.
41
+ - `npm run dev:vite`: Serves the project in development mode (specific for vite configuration).
42
+ - `npm run dev:docker`: Serves the project in development mode, accessible from any network interface.
43
+ - `npm run dev:no-open`: Serves the project in development mode without automatically opening the browser.
44
+ - `npm run dev:intellij`: Serves the project in development mode (specific for IntelliJ).
45
+ - `npm run dev:https`: Serves the project in development mode with HTTPS.
46
+ - `npm run dsconfig`: Configures design system based on `src/styles/design-tokens.json`.
47
+ - `npm run lint`: Lints the project using the specified profile.
48
+ - `npm run lint:fix`: Fixes linting errors in the project.
49
+ - `npm run lint:eslint`: Lints the project using ESLint and the specified profile.
50
+ - `npm run lint:stylelint`: Lints CSS using a custom script.
51
+ - `npm run test`: Runs unit tests.
52
+ - `npm run test:e2e`: Runs end-to-end tests.
53
+ - `npm run test:e2e:debug`: Runs end-to-end tests in debug mode.
54
+ - `npm run test:e2e:ui`: Runs end-to-end tests in interactive mode.
55
+ - `npm run test:coverage`: Runs unit tests and generates a code coverage report.
56
+ - `npm run test:unit:watch`: Runs unit tests in watch mode.
45
57
 
46
58
  ## Further help
47
59
 
@@ -9,12 +9,11 @@
9
9
  "baseline": "npm run clean && npm run bootstrap",
10
10
  "bootstrap": "npm i --legacy-peer-deps",
11
11
  "bootstrap:ci": "npm ci --no-fund --no-audit",
12
+ "build": "webpack --mode production",
13
+ "build:vite": "vite build",
12
14
  "build:stats": "npm run build --stats-json",
13
15
  "clean": "genx clean dist node_modules",
14
16
  "dev": "webpack serve --mode development",
15
- "build": "webpack --mode production",
16
- "stats": "webpack --mode production --json > stats.json",
17
- "build:vite": "vite build",
18
17
  "dev:vite": "vite build && vite preview",
19
18
  "dev:docker": "npm run dev -- --host 0.0.0.0",
20
19
  "dev:no-open": "NO_OPEN=true npm run dev",
@@ -25,6 +24,7 @@
25
24
  "lint:fix": "eslint src/**/*.ts src/**/*.tsx --fix",
26
25
  "lint:eslint": "npm lint",
27
26
  "lint:stylelint": "npx ts-node lint-css.ts",
27
+ "stats": "webpack --mode production --json > stats.json",
28
28
  "test": "jest",
29
29
  "test:coverage": "jest --coverage",
30
30
  "test:unit:watch": "jest --watchAll",
@@ -1,10 +1,11 @@
1
1
  import { getUser } from '@genesislcap/foundation-user';
2
2
 
3
3
  const hasPermissionHelper = (permissionCode: string | undefined): boolean => {
4
- const user = getUser();
5
-
6
- return !!(permissionCode && !user.hasPermission(permissionCode))
4
+ if (!permissionCode) {
5
+ return true;
6
+ }
7
7
 
8
+ return getUser().hasPermission(permissionCode);
8
9
  };
9
10
 
10
11
  export default hasPermissionHelper;
@@ -46,9 +46,9 @@ npm run baseline
46
46
 
47
47
  ## Styling
48
48
 
49
- Genesis components are registered with a [Design System](https://learn.genesis.global/docs/web/design-systems/introduction/),
49
+ Genesis components are registered with a Design System,
50
50
  and the default system is named `rapid`. Design systems are highly configurable. You can configure them by importing and
51
- modifying the tokens directly, or by using our [Design System Configuration](https://learn.genesis.global/docs/web/design-systems/preview/)
51
+ modifying the tokens directly, or by using our [Design System Configuration](https://learn.genesis.global/docs/develop/client-capabilities/styling/direct-customization-genesis-components/styling-direct-dsc/)
52
52
  tool in the context of your application.
53
53
 
54
54
  Simply run the application, configure the design system, select Save Changes, and hit Save on popup, then restart your application.
@@ -89,12 +89,12 @@
89
89
  "lint-staged": "^12.4.1"
90
90
  },
91
91
  "dependencies": {
92
- {{#if FDC3.includeDependencies}}
93
- "@genesislcap/foundation-fdc3": "{{versions.UI}}",
94
- {{/if}}
95
92
  "@genesislcap/foundation-comms": "{{versions.UI}}",
96
93
  "@genesislcap/foundation-entity-management": "{{versions.UI}}",
97
94
  "@genesislcap/foundation-events": "{{versions.UI}}",
95
+ {{#if FDC3.includeDependencies}}
96
+ "@genesislcap/foundation-fdc3": "{{versions.UI}}",
97
+ {{/if}}
98
98
  "@genesislcap/foundation-forms": "{{versions.UI}}",
99
99
  "@genesislcap/foundation-header": "{{versions.UI}}",
100
100
  "@genesislcap/foundation-inbox": "{{versions.UI}}",
@@ -120,6 +120,10 @@
120
120
  "@genesislcap/foundation-comms": "{{versions.UI}}",
121
121
  "@genesislcap/foundation-entity-management": "{{versions.UI}}",
122
122
  "@genesislcap/foundation-events": "{{versions.UI}}",
123
+ {{#if FDC3.includeDependencies}}
124
+ "@genesislcap/foundation-fdc3": "{{versions.UI}}",
125
+ {{/if}}
126
+ "@genesislcap/foundation-forms": "{{versions.UI}}",
123
127
  "@genesislcap/foundation-header": "{{versions.UI}}",
124
128
  "@genesislcap/foundation-inbox": "{{versions.UI}}",
125
129
  "@genesislcap/foundation-layout": "{{versions.UI}}",
@@ -135,9 +139,6 @@
135
139
  "@genesislcap/g2plot-chart": "{{versions.UI}}",
136
140
  "@genesislcap/rapid-design-system": "{{versions.UI}}",
137
141
  "@genesislcap/rapid-grid-pro": "{{versions.UI}}",
138
- "@genesislcap/web-core": "{{versions.UI}}",
139
- "@genesislcap/foundation-forms": {
140
- "ajv": "8.14.0"
141
- }
142
+ "@genesislcap/web-core": "{{versions.UI}}"
142
143
  }
143
144
  }
@@ -5,4 +5,4 @@ a new changeset for you and your team to review and merge. You may choose to tai
5
5
  `genx add` for fine grain control, but be aware that doing so makes it more difficult to automate future PBC upgrades.
6
6
  You may need to re-add a PBC that you have previously edited and re-merge any changes to it yourself.
7
7
 
8
- See the app README.md in `@genesislcap/foundation-shell/app` or visit https://learn.genesis.global/docs/web/ to learn more.
8
+ See the app README.md in `@genesislcap/foundation-shell/app` or visit https://docs.genesis.global/docs/develop/client-capabilities/ to learn more.
@@ -1,3 +1,3 @@
1
1
  # Test
2
2
 
3
- See [@genesislcap/foundation-testing](https://learn.genesis.global/docs/web/testing/foundation-testing/) for more information.
3
+ See [@genesislcap/foundation-testing](https://docs.genesis.global/docs/develop/client-capabilities/testing/) for more information.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/blank-app-seed",
3
3
  "description": "Genesis Blank App Seed",
4
- "version": "3.35.2",
4
+ "version": "3.37.0",
5
5
  "license": "Apache-2.0",
6
6
  "scripts": {
7
7
  "release": "semantic-release"
package/server/README.md CHANGED
@@ -10,4 +10,4 @@ By default, the main module will be detected by a module ending with -app.
10
10
  You can use the Genesis Gradle Settings plugin property `mainModuleName` to specify a custom name.
11
11
  The Genesis Settings plugin is configured in server/settings.gradle.kts with the `genesis` extension.
12
12
 
13
- For more details on project structures, see the [docs](https://learn.genesis.global/docs/operations/project-structure/introduction/).
13
+ For more details on project structures, see the [docs](https://docs.genesis.global/docs/build-deploy-operate/build/project-structure/).
@@ -6,7 +6,7 @@ dockerCompactProcesses=true
6
6
  version={{applicationVersion}}
7
7
  genesisVersion={{ versions.GSF }}
8
8
  authVersion={{ versions.Auth }}
9
- startVersion=0.1.4
9
+ startVersion=0.1.6
10
10
 
11
11
  # Default ssh config for the docker dev environment
12
12
  genesis-home=/app/run
@@ -17,4 +17,4 @@ ssh-port=1337
17
17
 
18
18
  enableDockerContainerTasks=true
19
19
 
20
- compactProcessesStrategy=DEV
20
+ compactProcessesStrategy=DEV
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Full documentation on event handler tests may be found here >> https://learn.genesis.global/docs/server/event-handler/testing/#simple-test
2
+ * Full documentation on event handler tests may be found here >> https://docs.genesis.global/docs/develop/server-capabilities/core-business-logic-event-handler/#testing
3
3
  */
4
4
 
5
5
  import global.genesis.db.rx.entity.multi.AsyncEntityDb