@genesislcap/blank-app-seed 3.31.1 → 3.33.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.
- package/.genx/configure.js +5 -0
- package/.genx/package.json +1 -1
- package/.genx/prompts/server.js +9 -0
- package/.genx/prompts.js +9 -2
- package/.genx/static.js +1 -0
- package/.genx/templates/angular/component/component.hbs +12 -0
- package/.genx/templates/react/component/component.hbs +12 -0
- package/.genx/templates/react/route.hbs +2 -1
- package/.genx/templates/web-components/component/component.hbs +12 -0
- package/.genx/templates/web-components/route.template.hbs +2 -2
- package/.genx/utils/deleteGradleWrappers.js +12 -0
- package/.genx/utils/generateRoute.js +1 -0
- package/.genx/utils/index.js +2 -0
- package/.gitignore +2 -0
- package/CHANGELOG.md +14 -0
- package/README.md +5 -5
- package/client-tmp/react/package.json +5 -2
- package/client-tmp/react/src/utils/index.ts +1 -0
- package/client-tmp/react/src/utils/layout.ts +11 -0
- package/client-tmp/web-components/package.json +2 -1
- package/client-tmp/web-components/src/utils/index.ts +1 -0
- package/client-tmp/web-components/src/utils/layout.ts +11 -0
- package/client-tmp/web-components/tsconfig.json +1 -1
- package/package.json +1 -1
- package/server/build.gradle.kts +1 -0
- package/server/gradle.properties +1 -0
- package/server/settings.gradle.kts +6 -5
- package/settings.gradle.kts +7 -4
package/.genx/configure.js
CHANGED
|
@@ -7,6 +7,7 @@ const {
|
|
|
7
7
|
getCombinedCsvData,
|
|
8
8
|
registerPartials,
|
|
9
9
|
validateRoute,
|
|
10
|
+
deleteGradleWrappers,
|
|
10
11
|
} = require('./utils');
|
|
11
12
|
|
|
12
13
|
/**
|
|
@@ -48,4 +49,8 @@ module.exports = async (data, utils) => {
|
|
|
48
49
|
.forEach((entity) => {
|
|
49
50
|
generateCsv(entity, utils);
|
|
50
51
|
});
|
|
52
|
+
|
|
53
|
+
if (data.excludeGradleWrapper) {
|
|
54
|
+
deleteGradleWrappers();
|
|
55
|
+
}
|
|
51
56
|
};
|
package/.genx/package.json
CHANGED
package/.genx/prompts/server.js
CHANGED
|
@@ -11,6 +11,7 @@ module.exports = async (inquirer, prevAns = {}) => {
|
|
|
11
11
|
applicationVersion = prevAns.applicationVersion,
|
|
12
12
|
enableDeployPlugin = prevAns.enableDeployPlugin,
|
|
13
13
|
csv = prevAns.csv,
|
|
14
|
+
excludeGradleWrapper = prevAns.excludeGradleWrapper,
|
|
14
15
|
} = await inquirer.prompt([
|
|
15
16
|
{
|
|
16
17
|
name: 'description',
|
|
@@ -41,6 +42,13 @@ module.exports = async (inquirer, prevAns = {}) => {
|
|
|
41
42
|
when: prevAns.enableDeployPlugin === undefined,
|
|
42
43
|
default: prevAns.enableDeployPlugin || false,
|
|
43
44
|
},
|
|
45
|
+
{
|
|
46
|
+
name: 'excludeGradleWrapper',
|
|
47
|
+
type: 'confirm',
|
|
48
|
+
message: TEXTS.MESSAGE_EXCLUDE_GRADLE_WRAPPER,
|
|
49
|
+
when: prevAns.excludeGradleWrapper === undefined,
|
|
50
|
+
default: prevAns.excludeGradleWrapper || false,
|
|
51
|
+
},
|
|
44
52
|
{
|
|
45
53
|
name: 'csv',
|
|
46
54
|
type: 'input',
|
|
@@ -56,5 +64,6 @@ module.exports = async (inquirer, prevAns = {}) => {
|
|
|
56
64
|
applicationVersion,
|
|
57
65
|
enableDeployPlugin,
|
|
58
66
|
csv: parsecsv(csv),
|
|
67
|
+
excludeGradleWrapper,
|
|
59
68
|
};
|
|
60
69
|
};
|
package/.genx/prompts.js
CHANGED
|
@@ -17,8 +17,14 @@ module.exports = async (inquirer, prevAns = {}) => {
|
|
|
17
17
|
License: ${license}`);
|
|
18
18
|
|
|
19
19
|
const { apiHost, enableSSO } = await apiPrompts(inquirer, prevAns);
|
|
20
|
-
const {
|
|
21
|
-
|
|
20
|
+
const {
|
|
21
|
+
description,
|
|
22
|
+
groupId,
|
|
23
|
+
applicationVersion,
|
|
24
|
+
enableDeployPlugin,
|
|
25
|
+
csv,
|
|
26
|
+
excludeGradleWrapper,
|
|
27
|
+
} = await genesisServerPrompts(inquirer, prevAns);
|
|
22
28
|
const { routes, ui, framework } = await uiPrompts(inquirer, prevAns);
|
|
23
29
|
|
|
24
30
|
return {
|
|
@@ -32,5 +38,6 @@ module.exports = async (inquirer, prevAns = {}) => {
|
|
|
32
38
|
csv,
|
|
33
39
|
ui,
|
|
34
40
|
framework,
|
|
41
|
+
excludeGradleWrapper,
|
|
35
42
|
};
|
|
36
43
|
};
|
package/.genx/static.js
CHANGED
|
@@ -74,6 +74,7 @@ const TEXTS = {
|
|
|
74
74
|
MESSAGE_SERVER_GROUP_ID: 'Group Id',
|
|
75
75
|
MESSAGE_SERVER_APPLICATION_VERSION: 'Application Version',
|
|
76
76
|
MESSAGE_SERVER_DEPLOY_PLUGIN: 'Enable deploy plugin?',
|
|
77
|
+
MESSAGE_EXCLUDE_GRADLE_WRAPPER: 'Exclude Gradle wrapper?',
|
|
77
78
|
MESSAGE_SERVER_CSV:
|
|
78
79
|
'Generate empty CSV for entities? (config in JSON format)',
|
|
79
80
|
MESSAGE_UI_ROTUES: 'Pages config in JSON format',
|
|
@@ -22,6 +22,18 @@ import { columnDefs } from './{{kebabCase tile.title}}.column.defs';
|
|
|
22
22
|
import { gridOptions } from './{{kebabCase tile.title}}.gridOptions';
|
|
23
23
|
{{/if}}
|
|
24
24
|
|
|
25
|
+
{{#if tile.metadata.comment}}
|
|
26
|
+
/*
|
|
27
|
+
{{ tile.metadata.comment }}
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
{{/if}}
|
|
31
|
+
{{#if tile.metadata.todo}}
|
|
32
|
+
/*
|
|
33
|
+
{{ tile.metadata.todo }}
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
{{/if}}
|
|
25
37
|
@Component({
|
|
26
38
|
selector: 'app-{{kebabCase tile.componentName}}',
|
|
27
39
|
templateUrl: './{{kebabCase tile.title}}.component.html',
|
|
@@ -25,6 +25,18 @@ import { gridOptions as gridOptionsTile } from './{{pascalCase tile.title}}GridO
|
|
|
25
25
|
{{/if}}
|
|
26
26
|
import './{{pascalCase tile.title}}Component.css';
|
|
27
27
|
|
|
28
|
+
{{#if tile.metadata.comment}}
|
|
29
|
+
/*
|
|
30
|
+
{{ tile.metadata.comment }}
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
{{/if}}
|
|
34
|
+
{{#if tile.metadata.todo}}
|
|
35
|
+
/*
|
|
36
|
+
{{ tile.metadata.todo }}
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
{{/if}}
|
|
28
40
|
export const {{pascalCase tile.componentName}}: React.FC = () => {
|
|
29
41
|
{{#if tile.config.permissions.viewRight~}}
|
|
30
42
|
const hasUserPermission = (permissionCode: string): boolean => getViewUpdateRightComponent(getUser(), permissionCode);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import './{{pascalCase route.name}}.css';
|
|
2
|
+
import { persistLayout } from '../../utils';
|
|
2
3
|
{{#each route.tiles}}
|
|
3
4
|
import { {{pascalCase this.componentName}} } from './{{pascalCase this.title}}{{pascalCase this.componentType}}';
|
|
4
5
|
{{/each}}
|
|
@@ -7,7 +8,7 @@ const {{pascalCase route.name}} = () => {
|
|
|
7
8
|
return (
|
|
8
9
|
<section className="{{kebabCase route.name}}-page">
|
|
9
10
|
{{#if route.tiles}}
|
|
10
|
-
<rapid-layout auto-save-key={
|
|
11
|
+
<rapid-layout auto-save-key={persistLayout('{{route.layoutKey}}')}>
|
|
11
12
|
{{> (lookup ./route 'layoutType') }}
|
|
12
13
|
</rapid-layout>
|
|
13
14
|
{{else}}
|
|
@@ -3,6 +3,18 @@ import { customElement, GenesisElement } from '@genesislcap/web-core';
|
|
|
3
3
|
import { {{pascalCase tile.title}}Styles as styles } from './{{kebabCase tile.title}}.styles';
|
|
4
4
|
import { {{pascalCase tile.title}}Template as template } from './{{kebabCase tile.title}}.template';
|
|
5
5
|
|
|
6
|
+
{{#if tile.metadata.comment}}
|
|
7
|
+
/*
|
|
8
|
+
{{ tile.metadata.comment }}
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
{{/if}}
|
|
12
|
+
{{#if tile.metadata.todo}}
|
|
13
|
+
/*
|
|
14
|
+
{{ tile.metadata.todo }}
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
{{/if}}
|
|
6
18
|
@customElement({
|
|
7
19
|
name: '{{kebabCase tile.componentName}}',
|
|
8
20
|
template,
|
|
@@ -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="${() => (
|
|
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;
|
|
@@ -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
|
}
|
package/.genx/utils/index.js
CHANGED
|
@@ -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,
|
package/.gitignore
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.33.0](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.32.0...v3.33.0) (2024-10-22)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* allow excluding Gradle wrappers GENC-824 (#366) 0980ff2, closes FUI-2211 FUI-2211
|
|
9
|
+
|
|
10
|
+
## [3.32.0](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.31.1...v3.32.0) (2024-10-16)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* add genesis launcher (#362) b4a6f7e
|
|
16
|
+
|
|
3
17
|
## [3.31.1](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v3.31.0...v3.31.1) (2024-10-01)
|
|
4
18
|
|
|
5
19
|
|
package/README.md
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
# {{appName}}
|
|
2
2
|
|
|
3
|
-
|
|
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
|
|
@@ -42,9 +39,12 @@ To get a simple application running check the [Quick Start](https://learn.genesi
|
|
|
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
42
|
## Project Structure
|
|
47
43
|
|
|
44
|
+
This project has been created from the Genesis Blank Application Seed. Our seeds allow users to quickly bootstrap
|
|
45
|
+
their projects. Each seed adheres to strict Genesis best practices, and has passed numerous performance, compliance and
|
|
46
|
+
accessibility checks.
|
|
47
|
+
|
|
48
48
|
This project contains **server** and **client** directories which contain the server and client code respectively.
|
|
49
49
|
|
|
50
50
|
### Server
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
"name": "{{pkgName}}",
|
|
3
3
|
"version": "{{applicationVersionWeb}}",
|
|
4
4
|
"private": true,
|
|
5
|
+
"config": {
|
|
6
|
+
"PERSIST_LAYOUT_IN_DEV": false
|
|
7
|
+
},
|
|
5
8
|
"scripts": {
|
|
6
9
|
"baseline": "npm run clean && npm run bootstrap",
|
|
7
10
|
"bootstrap": "npm i --legacy-peer-deps",
|
|
@@ -46,8 +49,8 @@
|
|
|
46
49
|
"@genesislcap/foundation-layout": "{{versions.UI}}",
|
|
47
50
|
"@genesislcap/g2plot-chart": "{{versions.UI}}",
|
|
48
51
|
"history": "^5.3.0",
|
|
49
|
-
"react": "^19.0.0-
|
|
50
|
-
"react-dom": "^19.0.0-
|
|
52
|
+
"react": "^19.0.0-rc-ed966dac-20241007",
|
|
53
|
+
"react-dom": "^19.0.0-rc-ed966dac-20241007",
|
|
51
54
|
"react-router-dom": "6.24.1",
|
|
52
55
|
"web-vitals": "^2.1.4"
|
|
53
56
|
},
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { isDev } from '@genesislcap/foundation-utils';
|
|
2
|
+
import pkg from '../../package.json';
|
|
3
|
+
|
|
4
|
+
// returning null disables caching
|
|
5
|
+
// returning an id (as long as it's not null) enables caching
|
|
6
|
+
export const persistLayout = (id: string) => {
|
|
7
|
+
if (isDev() && (pkg as any)?.config.PERSIST_LAYOUT_IN_DEV !== true) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
return id;
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { isDev } from '@genesislcap/foundation-utils';
|
|
2
|
+
import pkg from '../../package.json';
|
|
3
|
+
|
|
4
|
+
// returning null disables caching
|
|
5
|
+
// returning an id (as long as it's not null) enables caching
|
|
6
|
+
export const persistLayout = (id: string) => {
|
|
7
|
+
if (isDev() && (pkg as any)?.config.PERSIST_LAYOUT_IN_DEV !== true) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
return id;
|
|
11
|
+
};
|
package/package.json
CHANGED
package/server/build.gradle.kts
CHANGED
package/server/gradle.properties
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
pluginManagement {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
val genesisVersion: String by settings
|
|
3
|
+
val launcherVersion: String by settings
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
plugins {
|
|
6
|
+
id("global.genesis.settings") version genesisVersion
|
|
7
|
+
id("global.genesis.genesis-launcher-gui") version launcherVersion
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
repositories {
|
|
@@ -28,6 +28,7 @@ pluginManagement {
|
|
|
28
28
|
excludeGroup("org.agrona")
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
google()
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
|
package/settings.gradle.kts
CHANGED