@genesislcap/blank-app-seed 1.5.2 → 1.5.4
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/package.json +3 -3
- package/.github/CODEOWNERS +3 -0
- package/.github/pull_request_template.md +46 -0
- package/.github/workflows/build.yml +74 -0
- package/.github/workflows/pr-title-check.yml +25 -0
- package/.github/workflows/release.yml +35 -0
- package/.github/workflows/slack.yml +18 -0
- package/.github/workflows/upgrade.yml +79 -0
- package/.releaserc +76 -0
- package/CHANGELOG.md +14 -0
- package/client/test/unit/sample.test.ts +14 -0
- package/client/tsconfig.json +45 -0
- package/package.json +1 -1
package/.genx/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genesislcap/blank-app-seed-config",
|
|
3
3
|
"description": "Genesis Blank App Seed Configuration",
|
|
4
|
-
"version": "1.5.
|
|
4
|
+
"version": "1.5.4",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"genxSeedConfig": {
|
|
7
7
|
"exclude": [
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
".releaserc",
|
|
12
12
|
"LICENSE",
|
|
13
13
|
"CHANGELOG.md",
|
|
14
|
-
".npmignore",
|
|
15
14
|
".github",
|
|
16
15
|
".genx/tests",
|
|
17
16
|
".genx/scripts",
|
|
@@ -40,7 +39,8 @@
|
|
|
40
39
|
".ts",
|
|
41
40
|
".md",
|
|
42
41
|
".properties",
|
|
43
|
-
".html"
|
|
42
|
+
".html",
|
|
43
|
+
".gitignore"
|
|
44
44
|
]
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
[Review Guidance](https://www.notion.so/genesisglobal/Platform-Code-Review-Process-ace93ba760cc4563b0dfb712e2a88d8a)
|
|
2
|
+
|
|
3
|
+
📓 **Related JIRA**
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
[PTC-0](https://genesisglobal.atlassian.net/browse/PTC-0)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
🤔 **What does this PR do?**
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
- Add bullets..
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
🚀 **Where should the reviewer start?**
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
Add file / directory pointers.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
📑 **How should this be tested?**
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
npx -y @genesislcap/genx@latest init prtest -x --ref YOUR-BRANCH-NAME
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
✅ **Checklist**
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
<!--- Review the list and put an x in the boxes that apply. -->
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
- [ ] I have tested my changes.
|
|
45
|
+
- [ ] I have added tests for my changes.
|
|
46
|
+
- [ ] I have updated the project documentation to reflect my changes.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
name: Build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, master, develop, alpha]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main, master, develop, alpha]
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
env:
|
|
13
|
+
genesisArtifactoryUser: ${{ secrets.JFROG_LIBS_RELEASE_CLIENT_RO_USER }}
|
|
14
|
+
genesisArtifactoryPassword: ${{ secrets.JFROG_LIBS_RELEASE_CLIENT_RO_PASSWORD }}
|
|
15
|
+
USE_DOCKER: 1
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v3
|
|
19
|
+
|
|
20
|
+
- name: Set up Node
|
|
21
|
+
uses: actions/setup-node@v3
|
|
22
|
+
with:
|
|
23
|
+
node-version: 20
|
|
24
|
+
|
|
25
|
+
- name: Set up JDK
|
|
26
|
+
uses: actions/setup-java@v3
|
|
27
|
+
with:
|
|
28
|
+
java-version: '17'
|
|
29
|
+
distribution: 'temurin'
|
|
30
|
+
cache: 'gradle'
|
|
31
|
+
- uses: KengoTODA/actions-setup-docker-compose@main
|
|
32
|
+
env:
|
|
33
|
+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
|
34
|
+
|
|
35
|
+
- name: Configure Gradle
|
|
36
|
+
run: ./.genx/scripts/init-gradle.sh
|
|
37
|
+
|
|
38
|
+
- name: Generate sample app
|
|
39
|
+
working-directory: /tmp
|
|
40
|
+
run: npx -y @genesislcap/genx@latest init testapp -s "${{github.workspace}}" -x
|
|
41
|
+
|
|
42
|
+
- name: Copy fixtures
|
|
43
|
+
run: cp -R ./.genx/tests/fixtures/testapp/* /tmp/testapp
|
|
44
|
+
|
|
45
|
+
- name: Build sample app
|
|
46
|
+
working-directory: /tmp/testapp
|
|
47
|
+
run: ./gradlew build -PclientSpecific=true
|
|
48
|
+
|
|
49
|
+
- name: Lint UI
|
|
50
|
+
working-directory: /tmp/testapp/client
|
|
51
|
+
run: npm run lint
|
|
52
|
+
|
|
53
|
+
- name: Test (unit & integration UI)
|
|
54
|
+
working-directory: /tmp/testapp/client
|
|
55
|
+
run: npm run test && npm run test:e2e
|
|
56
|
+
|
|
57
|
+
- name: Skip binding to privileged port on CI
|
|
58
|
+
working-directory: /tmp/testapp
|
|
59
|
+
run: sed -i "s/- '443:443'/# - '443:443'/g" docker-compose.yml
|
|
60
|
+
|
|
61
|
+
- name: Create Server Dockerfile
|
|
62
|
+
working-directory: /tmp/testapp
|
|
63
|
+
run: ./gradlew :genesisproduct-testapp:testapp-deploy:createDockerfile
|
|
64
|
+
|
|
65
|
+
- name: Build Docker images
|
|
66
|
+
working-directory: /tmp/testapp
|
|
67
|
+
run: docker-compose build
|
|
68
|
+
|
|
69
|
+
# - name: Run healthcheck
|
|
70
|
+
# run: ./.genx/scripts/health-check.sh http://localhost:4569/health/status
|
|
71
|
+
|
|
72
|
+
# - name: Stop the app
|
|
73
|
+
# working-directory: /tmp/testapp
|
|
74
|
+
# run: docker-compose down
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# This is a Github Action that ensures that your PR title matches the Conventional Commits spec.
|
|
2
|
+
#
|
|
3
|
+
# This is helpful when you're using semantic-release with the Conventional Commits preset.
|
|
4
|
+
# When using the Squash and merge strategy, Github will suggest to use the PR title as the commit message.
|
|
5
|
+
# With this action you can validate that the PR title will lead to a correct commit message.
|
|
6
|
+
#
|
|
7
|
+
# https://github.com/marketplace/actions/conventional-pr-title
|
|
8
|
+
|
|
9
|
+
name: Check PR title
|
|
10
|
+
|
|
11
|
+
on:
|
|
12
|
+
pull_request_target:
|
|
13
|
+
types:
|
|
14
|
+
- opened
|
|
15
|
+
- reopened
|
|
16
|
+
- edited
|
|
17
|
+
- synchronize
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
lint:
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
steps:
|
|
23
|
+
- uses: aslafy-z/conventional-pr-title-action@v3
|
|
24
|
+
env:
|
|
25
|
+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
release:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
environment: deploy
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v3
|
|
13
|
+
with:
|
|
14
|
+
token: ${{secrets.GH_USER_TOKEN}}
|
|
15
|
+
|
|
16
|
+
- name: Set up Node
|
|
17
|
+
uses: actions/setup-node@v3
|
|
18
|
+
with:
|
|
19
|
+
node-version: 20
|
|
20
|
+
|
|
21
|
+
- name: Release
|
|
22
|
+
env:
|
|
23
|
+
GH_TOKEN: ${{secrets.GH_USER_TOKEN}}
|
|
24
|
+
run: |
|
|
25
|
+
npm install
|
|
26
|
+
npm run release
|
|
27
|
+
|
|
28
|
+
- name: Generate .npmignore
|
|
29
|
+
run: cp .gitignore .npmignore && echo '\n!.gitignore' >> .npmignore
|
|
30
|
+
|
|
31
|
+
- name: Publish
|
|
32
|
+
uses: JS-DevTools/npm-publish@v3
|
|
33
|
+
with:
|
|
34
|
+
token: ${{secrets.NPM_TOKEN}}
|
|
35
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
name: Slack PR notification
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches: [main]
|
|
6
|
+
types: [opened, reopened]
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
notify:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- name: Slack Notification
|
|
13
|
+
uses: bryannice/gitactions-slack-notification@2.0.0
|
|
14
|
+
env:
|
|
15
|
+
SLACK_CHANNEL: 'platform-seeds'
|
|
16
|
+
SLACK_INCOMING_WEBHOOK: ${{secrets.SLACK_WEBHOOK}}
|
|
17
|
+
SLACK_TITLE: 'New blank-app-seed PR: ${{github.event.pull_request.title}}'
|
|
18
|
+
SLACK_MESSAGE: 'https://github.com/genesiscommunitysuccess/blank-app-seed/pull/${{github.event.number}}'
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
name: Upgrade
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch: # Manual
|
|
5
|
+
schedule:
|
|
6
|
+
- cron: '0 9 * * 1' # Mondays 9AM UTC
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
upgrade:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
environment: deploy
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v3
|
|
14
|
+
with:
|
|
15
|
+
token: ${{secrets.GH_USER_TOKEN}}
|
|
16
|
+
|
|
17
|
+
- name: Set up Node
|
|
18
|
+
uses: actions/setup-node@v3
|
|
19
|
+
with:
|
|
20
|
+
node-version: 20
|
|
21
|
+
|
|
22
|
+
- name: Set up Jfrog CLI
|
|
23
|
+
uses: jfrog/setup-jfrog-cli@v3
|
|
24
|
+
with:
|
|
25
|
+
version: latest
|
|
26
|
+
|
|
27
|
+
- name: Authenticate on Artifactory
|
|
28
|
+
run: |
|
|
29
|
+
jfrog config add --artifactory-url="https://genesisglobal.jfrog.io/artifactory" --user="${{ secrets.JFROG_LIBS_RELEASE_CLIENT_RO_USER }}" --password="${{ secrets.JFROG_LIBS_RELEASE_CLIENT_RO_PASSWORD }}" --interactive=false
|
|
30
|
+
|
|
31
|
+
- name: Update to latest versions if available
|
|
32
|
+
run: node .genx/scripts/update-versions
|
|
33
|
+
|
|
34
|
+
- name: Check for changes
|
|
35
|
+
id: versions
|
|
36
|
+
run: echo "CHANGED=$(git status --porcelain)" >> "$GITHUB_OUTPUT"
|
|
37
|
+
|
|
38
|
+
- name: Commit changes
|
|
39
|
+
if: steps.versions.outputs.CHANGED
|
|
40
|
+
run: |
|
|
41
|
+
git config --global user.email "ci@genesis.global" && git config --global user.name "CI"
|
|
42
|
+
git checkout -b chore-dep-update
|
|
43
|
+
git add --all
|
|
44
|
+
git commit -m "chore: automated dependency version update [skip-ci] PSD-9"
|
|
45
|
+
git push -f --set-upstream origin chore-dep-update
|
|
46
|
+
|
|
47
|
+
- name: Raise PR
|
|
48
|
+
if: steps.versions.outputs.CHANGED
|
|
49
|
+
env:
|
|
50
|
+
GH_USER_TOKEN: ${{secrets.GH_USER_TOKEN}}
|
|
51
|
+
OWNER: ${{github.repository_owner}}
|
|
52
|
+
REPO: ${{github.event.repository.name}}
|
|
53
|
+
run: |
|
|
54
|
+
mkdir /tmp/create-pr
|
|
55
|
+
cd /tmp/create-pr
|
|
56
|
+
npm init -y
|
|
57
|
+
npm i @octokit/core -S
|
|
58
|
+
|
|
59
|
+
cat <<EOT >> /tmp/create-pr/index.js
|
|
60
|
+
const { Octokit } = require('@octokit/core');
|
|
61
|
+
|
|
62
|
+
const octokit = new Octokit({ auth: process.env.GH_USER_TOKEN }),
|
|
63
|
+
owner = process.env.OWNER,
|
|
64
|
+
repo = process.env.REPO,
|
|
65
|
+
title = 'chore: automated dependency version update [skip-ci] PSD-9',
|
|
66
|
+
body = 'Automated PR',
|
|
67
|
+
head = 'chore-dep-update',
|
|
68
|
+
base = 'main';
|
|
69
|
+
|
|
70
|
+
(async () => {
|
|
71
|
+
const response = await octokit.request(
|
|
72
|
+
'POST /repos/' + owner + '/' + repo + '/pulls', { owner, repo, title, body, head, base }
|
|
73
|
+
);
|
|
74
|
+
})();
|
|
75
|
+
EOT
|
|
76
|
+
|
|
77
|
+
node /tmp/create-pr/index
|
|
78
|
+
|
|
79
|
+
|
package/.releaserc
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"branches": ["main"],
|
|
3
|
+
"repositoryUrl": "https://github.com/genesiscommunitysuccess/blank-app-seed",
|
|
4
|
+
"plugins": [
|
|
5
|
+
[
|
|
6
|
+
"@semantic-release/commit-analyzer",
|
|
7
|
+
{
|
|
8
|
+
"preset": "conventionalcommits",
|
|
9
|
+
"releaseRules": [
|
|
10
|
+
{
|
|
11
|
+
"type": "*!",
|
|
12
|
+
"release": "major"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
[
|
|
18
|
+
"@semantic-release/release-notes-generator",
|
|
19
|
+
{
|
|
20
|
+
"preset": "conventionalcommits",
|
|
21
|
+
"linkReferences": false,
|
|
22
|
+
"presetConfig": {
|
|
23
|
+
"issuePrefixes": ["PSD-", "FUI-", "PLAT-", "PS-", "PSD-", "PTC-", "PTF-", "PTL-"],
|
|
24
|
+
"issueUrlFormat": ""
|
|
25
|
+
},
|
|
26
|
+
"releaseRules": [
|
|
27
|
+
{
|
|
28
|
+
"type": "*!",
|
|
29
|
+
"release": "major"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
[
|
|
35
|
+
"@semantic-release/changelog",
|
|
36
|
+
{
|
|
37
|
+
"changelogFile": "CHANGELOG.md",
|
|
38
|
+
"changelogTitle": "# Changelog"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
[
|
|
42
|
+
"@semantic-release/npm",
|
|
43
|
+
{
|
|
44
|
+
"npmPublish": false
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
[
|
|
48
|
+
"semantic-release-replace-plugin",
|
|
49
|
+
{
|
|
50
|
+
"replacements": [
|
|
51
|
+
{
|
|
52
|
+
"files": [".genx/package.json"],
|
|
53
|
+
"from": "\"version\": \".*\"",
|
|
54
|
+
"to": "\"version\": \"${nextRelease.version}\""
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
[
|
|
60
|
+
"@semantic-release/git",
|
|
61
|
+
{
|
|
62
|
+
"assets": ["CHANGELOG.md", "package.json", "package-lock.json", ".genx/package.json"],
|
|
63
|
+
"message": "chore: release ${nextRelease.version} [skip ci] PSD-0"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
[
|
|
67
|
+
"@semantic-release/github",
|
|
68
|
+
{
|
|
69
|
+
"successComment": false,
|
|
70
|
+
"failComment": false,
|
|
71
|
+
"releasedLabels": false,
|
|
72
|
+
"labels": false
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
]
|
|
76
|
+
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.5.4](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v1.5.3...v1.5.4) (2024-02-01)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* make .gitignore and .npmignore consistent [PSD-46](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/46) (#123) 2eb8617
|
|
9
|
+
|
|
10
|
+
## [1.5.3](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v1.5.2...v1.5.3) (2024-01-30)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* updated .npmignore DVOP-591 (#120) 6c3f939
|
|
16
|
+
|
|
3
17
|
## 1.0.0 (2023-08-21)
|
|
4
18
|
|
|
5
19
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createLogicSuite } from '@genesislcap/foundation-testing';
|
|
2
|
+
|
|
3
|
+
const isHelloWorld = (arg) => arg === 'Hello world';
|
|
4
|
+
|
|
5
|
+
const Suite = createLogicSuite('isHelloWorld');
|
|
6
|
+
Suite('isHelloWorld should provide expected results', ({ runCases }) => {
|
|
7
|
+
runCases(isHelloWorld, [
|
|
8
|
+
[['1'], false],
|
|
9
|
+
[[123], false],
|
|
10
|
+
[['Hello world'], true],
|
|
11
|
+
]);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
Suite.run();
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"plugins": [
|
|
4
|
+
{
|
|
5
|
+
"name": "@genesiscommunitysuccess/custom-elements-lsp",
|
|
6
|
+
"srcRouteFromTSServer": "../../..",
|
|
7
|
+
"designSystemPrefix": "zero",
|
|
8
|
+
"parser": {
|
|
9
|
+
"fastEnable": true,
|
|
10
|
+
"timeout": 2000,
|
|
11
|
+
"dependencies": [
|
|
12
|
+
"node_modules/**/custom-elements.json",
|
|
13
|
+
"!**/@custom-elements-manifest/**/*"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"plugins": ["@genesiscommunitysuccess/cep-fast-plugin"]
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"declarationDir": "./dist/dts",
|
|
20
|
+
"outDir": "./dist/esm",
|
|
21
|
+
"rootDir": "./src",
|
|
22
|
+
"allowJs": true,
|
|
23
|
+
"allowSyntheticDefaultImports": true,
|
|
24
|
+
"declaration": true,
|
|
25
|
+
"declarationMap": true,
|
|
26
|
+
"esModuleInterop": true,
|
|
27
|
+
"experimentalDecorators": true,
|
|
28
|
+
"importHelpers": true,
|
|
29
|
+
"lib": ["DOM", "ES2015", "ES2016", "ES2017"],
|
|
30
|
+
"module": "ESNext",
|
|
31
|
+
"moduleResolution": "node",
|
|
32
|
+
"noEmitOnError": true,
|
|
33
|
+
"noImplicitAny": false,
|
|
34
|
+
"preserveConstEnums": true,
|
|
35
|
+
"pretty": true,
|
|
36
|
+
"removeComments": true,
|
|
37
|
+
"resolveJsonModule": true,
|
|
38
|
+
"skipLibCheck": true,
|
|
39
|
+
"sourceMap": true,
|
|
40
|
+
"strictNullChecks": false,
|
|
41
|
+
"target": "ES2015"
|
|
42
|
+
},
|
|
43
|
+
"include": ["src/**/*"],
|
|
44
|
+
"exclude": ["node_modules", "dist"]
|
|
45
|
+
}
|