@qlover/create-app 0.3.0 → 0.3.2
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/CHANGELOG.md +10 -0
- package/configs/_common/.github/workflows/general-check.yml +17 -29
- package/configs/_common/.github/workflows/{release.yml.template → release.yml} +16 -51
- package/package.json +5 -5
- package/templates/pack-app/fe-config.json +30 -1
- package/templates/pack-app/package.json +45 -32
- package/templates/pack-app/tsconfig.test.json +1 -1
- package/templates/react-app/config/common.ts +7 -4
- package/templates/react-app/package.json +3 -2
- package/templates/react-app/public/locales/en/about.json +1 -1
- package/templates/react-app/public/locales/zh/about.json +1 -1
- package/templates/react-app/public/locales/zh/executor.json +0 -1
- package/templates/react-app/public/locales/zh/login.json +0 -1
- package/templates/react-app/src/base/cases/RequestLogger.ts +2 -3
- package/templates/react-app/src/base/cases/RequestStatusCatcher.ts +3 -2
- package/templates/react-app/src/base/services/ProcesserService.ts +4 -2
- package/templates/react-app/src/core/IOC.ts +3 -2
- package/templates/react-app/src/core/globals.ts +4 -6
- package/templates/react-app/src/core/registers/RegisterCommon.ts +2 -1
- package/templates/react-app/src/core/registers/RegisterGlobals.ts +2 -1
- package/templates/react-app/src/uikit/controllers/RouterController.ts +3 -3
- package/templates/react-app/vite.config.ts +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @qlover/create-app
|
|
2
2
|
|
|
3
|
+
## 0.3.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
#### 🐞 Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **ColorFormatter.test:** remove unnecessary console.info call from test ([6f58880](https://github.com/qlover/fe-base/commit/6f588806c1db82042aaf2f9ebfa29846397e254c)) ([#389](https://github.com/qlover/fe-base/pull/389))
|
|
10
|
+
|
|
11
|
+
## 0.3.1
|
|
12
|
+
|
|
3
13
|
## 0.3.0
|
|
4
14
|
|
|
5
15
|
### Minor Changes
|
|
@@ -8,46 +8,34 @@ on:
|
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
check-code:
|
|
11
|
+
# if not CI-Release label, then run check
|
|
11
12
|
if: |
|
|
12
|
-
!contains(github.event.pull_request.
|
|
13
|
-
!contains(join(github.event.pull_request.commits.*.message, ' '), 'chore(tag):')
|
|
13
|
+
!contains(github.event.pull_request.labels.*.name, 'CI-Release')
|
|
14
14
|
runs-on: ubuntu-latest
|
|
15
15
|
|
|
16
16
|
steps:
|
|
17
17
|
# - name: Print GitHub Event Information
|
|
18
|
-
# run: echo "${{ toJson(github.event) }}" > event.json
|
|
18
|
+
# run: echo "${{ toJson(github.event.pull_request) }}" > event.json
|
|
19
19
|
- name: Checkout repository
|
|
20
20
|
uses: actions/checkout@v3
|
|
21
21
|
with:
|
|
22
22
|
fetch-depth: 0
|
|
23
23
|
|
|
24
24
|
- name: Install Node.js
|
|
25
|
-
uses: actions/setup-node@
|
|
25
|
+
uses: actions/setup-node@v4
|
|
26
26
|
with:
|
|
27
27
|
node-version: '18.20.0'
|
|
28
|
-
|
|
29
|
-
-
|
|
28
|
+
- run: npm install -g pnpm
|
|
29
|
+
- run: pnpm install --frozen-lockfile
|
|
30
|
+
- run: pnpm lint
|
|
31
|
+
- run: pnpm test
|
|
32
|
+
# - run: pnpm nx:build --base=origin/${{ github.base_ref }} --head=HEAD
|
|
33
|
+
- run: pnpm build
|
|
34
|
+
|
|
35
|
+
- name: Check packages
|
|
30
36
|
run: |
|
|
31
|
-
|
|
32
|
-
pnpm -
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
- name: Pnpm Lint
|
|
38
|
-
run: pnpm lint
|
|
39
|
-
|
|
40
|
-
- name: Pnpm Test
|
|
41
|
-
run: pnpm test
|
|
42
|
-
|
|
43
|
-
- name: Pnpm Build
|
|
44
|
-
run: pnpm build
|
|
45
|
-
|
|
46
|
-
# check packages
|
|
47
|
-
# - name: Check packages
|
|
48
|
-
# run: |
|
|
49
|
-
# git fetch origin ${{ github.base_ref }}
|
|
50
|
-
# npm run check-packages -- -r ${{ github.repository }} -b ${{ github.base_ref }} -n ${{ github.event.pull_request.number }}
|
|
51
|
-
# env:
|
|
52
|
-
# GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
|
|
53
|
-
# PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
|
|
37
|
+
git fetch origin ${{ github.base_ref }}
|
|
38
|
+
pnpm run check-packages -V -r ${{ github.repository }} -b ${{ github.base_ref }} -n ${{ github.event.pull_request.number }}
|
|
39
|
+
env:
|
|
40
|
+
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
|
|
41
|
+
PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
name: Release
|
|
1
|
+
name: Release sub packages
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
workflow_dispatch:
|
|
@@ -8,14 +8,12 @@ on:
|
|
|
8
8
|
types:
|
|
9
9
|
- closed
|
|
10
10
|
paths:
|
|
11
|
-
-
|
|
11
|
+
- packages/**
|
|
12
12
|
|
|
13
13
|
jobs:
|
|
14
|
-
release-
|
|
15
|
-
# only run when PR merged and has changes:[TPL:projectName] and CI-Release labels
|
|
14
|
+
release-pull-request:
|
|
16
15
|
if: |
|
|
17
16
|
github.event.pull_request.merged == true &&
|
|
18
|
-
contains(github.event.pull_request.labels.*.name, 'changes:[TPL:projectName]') &&
|
|
19
17
|
!contains(github.event.pull_request.labels.*.name, 'CI-Release')
|
|
20
18
|
runs-on: ubuntu-latest
|
|
21
19
|
|
|
@@ -35,35 +33,20 @@ jobs:
|
|
|
35
33
|
with:
|
|
36
34
|
node-version: '18.20.0'
|
|
37
35
|
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
- name: Pnpm Install dependencies
|
|
44
|
-
run: pnpm install
|
|
45
|
-
|
|
46
|
-
- name: Pnpm Lint
|
|
47
|
-
run: pnpm lint
|
|
48
|
-
|
|
49
|
-
- name: Pnpm Test
|
|
50
|
-
run: pnpm test
|
|
36
|
+
- run: npm install -g pnpm
|
|
37
|
+
- run: pnpm install --frozen-lockfile
|
|
38
|
+
- run: pnpm lint
|
|
39
|
+
- run: pnpm test
|
|
40
|
+
- run: pnpm build
|
|
51
41
|
|
|
52
|
-
- name:
|
|
53
|
-
run:
|
|
54
|
-
|
|
55
|
-
- name: Create release PR
|
|
56
|
-
run: npm run release-pr:[TPL:projectName]
|
|
42
|
+
- name: Release Pull Request
|
|
43
|
+
run: node packages/fe-release/dist/cli.js -V -P --githubPR.push-change-labels --workspaces.change-labels=${{join(github.event.pull_request.labels.*.name,',')}} --changelog.ignore-non-updated-packages
|
|
57
44
|
env:
|
|
58
45
|
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN}}
|
|
59
|
-
NPM_TOKEN: ${{ secrets.NPM_TOKEN}}
|
|
60
|
-
PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
|
|
61
46
|
|
|
62
47
|
release:
|
|
63
|
-
# only run when PR merged and has changes:[TPL:projectName] and CI-Release labels
|
|
64
48
|
if: |
|
|
65
49
|
github.event.pull_request.merged == true &&
|
|
66
|
-
contains(github.event.pull_request.labels.*.name, 'changes:[TPL:projectName]') &&
|
|
67
50
|
contains(github.event.pull_request.labels.*.name, 'CI-Release')
|
|
68
51
|
|
|
69
52
|
runs-on: ubuntu-latest
|
|
@@ -85,32 +68,14 @@ jobs:
|
|
|
85
68
|
with:
|
|
86
69
|
node-version: '18.20.0'
|
|
87
70
|
|
|
88
|
-
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
- name: Pnpm Install dependencies
|
|
94
|
-
run: pnpm install
|
|
95
|
-
|
|
96
|
-
- name: Pnpm Lint
|
|
97
|
-
run: pnpm lint
|
|
98
|
-
|
|
99
|
-
- name: Pnpm Test
|
|
100
|
-
run: pnpm test
|
|
101
|
-
|
|
102
|
-
- name: Pnpm Build
|
|
103
|
-
run: pnpm build
|
|
71
|
+
- run: npm install -g pnpm
|
|
72
|
+
- run: pnpm install --frozen-lockfile
|
|
73
|
+
- run: pnpm lint
|
|
74
|
+
- run: pnpm test
|
|
75
|
+
- run: pnpm build
|
|
104
76
|
|
|
105
77
|
- name: Create tag and publish
|
|
106
|
-
run:
|
|
78
|
+
run: node packages/fe-release/dist/cli.js -V --changelog.skip-changeset --workspaces.change-labels=${{join(github.event.pull_request.labels.*.name,',')}}
|
|
107
79
|
env:
|
|
108
80
|
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN}}
|
|
109
81
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN}}
|
|
110
|
-
PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
|
|
111
|
-
|
|
112
|
-
- name: Debug Git status
|
|
113
|
-
run: |
|
|
114
|
-
git status
|
|
115
|
-
git branch
|
|
116
|
-
git rev-parse --abbrev-ref HEAD
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qlover/create-app",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"access": "public"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@qlover/env-loader": "0.
|
|
46
|
+
"@qlover/env-loader": "0.3.0"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"commander": "^13.1.0",
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
"inquirer": "^12.3.2",
|
|
52
52
|
"ora": "^8.1.1",
|
|
53
53
|
"lodash": "^4.17.21",
|
|
54
|
-
"@qlover/
|
|
55
|
-
"@qlover/
|
|
56
|
-
"@qlover/
|
|
54
|
+
"@qlover/fe-corekit": "1.3.1",
|
|
55
|
+
"@qlover/scripts-context": "0.2.1",
|
|
56
|
+
"@qlover/logger": "0.1.1"
|
|
57
57
|
},
|
|
58
58
|
"scripts": {
|
|
59
59
|
"build": "rollup -c",
|
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"protectedBranches": ["master", "develop"],
|
|
3
3
|
"release": {
|
|
4
|
-
"
|
|
4
|
+
"githubPR": {
|
|
5
|
+
"commitArgs": ["--no-verify"],
|
|
6
|
+
"pushChangedLabels": true
|
|
7
|
+
},
|
|
8
|
+
"changelog": {
|
|
9
|
+
"gitChangelogOptions": {
|
|
10
|
+
"types": [
|
|
11
|
+
{ "type": "feat", "section": "#### ✨ Features", "hidden": false },
|
|
12
|
+
{ "type": "fix", "section": "#### 🐞 Bug Fixes", "hidden": false },
|
|
13
|
+
{ "type": "chore", "section": "#### 🔧 Chores", "hidden": true },
|
|
14
|
+
{
|
|
15
|
+
"type": "docs",
|
|
16
|
+
"section": "#### 📝 Documentation",
|
|
17
|
+
"hidden": false
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "refactor",
|
|
21
|
+
"section": "#### ♻️ Refactors",
|
|
22
|
+
"hidden": false
|
|
23
|
+
},
|
|
24
|
+
{ "type": "perf", "section": "#### 🚀 Performance", "hidden": false },
|
|
25
|
+
{ "type": "test", "section": "#### 🚨 Tests", "hidden": true },
|
|
26
|
+
{ "type": "style", "section": "#### 🎨 Styles", "hidden": true },
|
|
27
|
+
{ "type": "ci", "section": "#### 🔄 CI", "hidden": true },
|
|
28
|
+
{ "type": "build", "section": "#### 🚧 Build", "hidden": false },
|
|
29
|
+
{ "type": "revert", "section": "#### ⏪ Reverts", "hidden": true },
|
|
30
|
+
{ "type": "release", "section": "#### 🔖 Releases", "hidden": true }
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
}
|
|
5
34
|
}
|
|
6
35
|
}
|
|
@@ -1,73 +1,86 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pack-app",
|
|
3
3
|
"version": "0.0.0",
|
|
4
|
-
"description": "A
|
|
4
|
+
"description": "A base frontwork",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": true,
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "github",
|
|
9
|
-
"url": "
|
|
9
|
+
"url": ""
|
|
10
10
|
},
|
|
11
|
-
"homepage": "
|
|
11
|
+
"homepage": "",
|
|
12
|
+
"files": [],
|
|
12
13
|
"scripts": {
|
|
13
|
-
"build": "pnpm -r run build",
|
|
14
|
+
"build": "pnpm -r --workspace-concurrency=4 run build && pnpm rebuild",
|
|
15
|
+
"release": "pnpm --filter @qlover/fe-release release",
|
|
16
|
+
"nx:build": "nx affected:build",
|
|
14
17
|
"prettier": "prettier --ignore-path .prettierignore **/*.{js,ts,json,cjs,mjs} --write",
|
|
15
18
|
"lint": "eslint . --fix",
|
|
16
|
-
"test": "
|
|
19
|
+
"test": "vitest run",
|
|
17
20
|
"clean": "fe-clean",
|
|
18
21
|
"clean:build": "fe-clean -f packages/*/dist -r",
|
|
19
|
-
"check-packages": "fe-check-packages",
|
|
20
22
|
"commit": "fe-commit",
|
|
21
|
-
"clean-branch": "fe-clean-branch"
|
|
23
|
+
"clean-branch": "fe-clean-branch",
|
|
24
|
+
"check-packages": "fe-check-packages",
|
|
25
|
+
"prepare": "husky"
|
|
22
26
|
},
|
|
23
|
-
"keywords": [
|
|
24
|
-
"template",
|
|
25
|
-
"fe-pack-app"
|
|
26
|
-
],
|
|
27
|
+
"keywords": [],
|
|
27
28
|
"author": "qlover",
|
|
28
29
|
"license": "ISC",
|
|
29
30
|
"devEngines": {
|
|
30
31
|
"node": ">=18.19.0"
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|
|
34
|
+
"@changesets/changelog-github": "^0.5.1",
|
|
35
|
+
"@changesets/cli": "^2.29.2",
|
|
36
|
+
"@commitlint/cli": "^19.7.1",
|
|
37
|
+
"@commitlint/config-conventional": "^19.7.1",
|
|
38
|
+
"@eslint/js": "^9.13.0",
|
|
39
|
+
"@nx/js": "20.6.4",
|
|
40
|
+
"@qlover/env-loader": "latest",
|
|
41
|
+
"@qlover/eslint-plugin-fe-dev": "latest",
|
|
33
42
|
"@qlover/fe-scripts": "latest",
|
|
34
|
-
"@qlover/fe-standard": "
|
|
35
|
-
"@qlover/
|
|
36
|
-
"@qlover/fe-release": "latest",
|
|
43
|
+
"@qlover/fe-standard": "latest",
|
|
44
|
+
"@qlover/scripts-context": "latest",
|
|
37
45
|
"@rollup/plugin-commonjs": "^28.0.1",
|
|
38
46
|
"@rollup/plugin-json": "^6.1.0",
|
|
39
47
|
"@rollup/plugin-node-resolve": "^15.3.0",
|
|
40
48
|
"@rollup/plugin-terser": "^0.4.4",
|
|
41
49
|
"@rollup/plugin-typescript": "^12.1.1",
|
|
42
|
-
"@
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
50
|
+
"@swc-node/register": "~1.9.1",
|
|
51
|
+
"@swc/core": "~1.5.7",
|
|
52
|
+
"@swc/helpers": "~0.5.11",
|
|
53
|
+
"@types/lodash": "^4.17.16",
|
|
54
|
+
"@types/node": "^22.9.0",
|
|
55
|
+
"cz-conventional-changelog": "^3.3.0",
|
|
56
|
+
"eslint": "^9.13.0",
|
|
57
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
58
|
+
"eslint-plugin-react-hooks": "^5.2.0",
|
|
59
|
+
"eslint-plugin-react-refresh": "^0.4.19",
|
|
60
|
+
"eslint-plugin-vitest": "^0.5.4",
|
|
61
|
+
"globals": "^15.14.0",
|
|
48
62
|
"husky": "^9.1.7",
|
|
49
|
-
"
|
|
50
|
-
"prettier": "^3.5.
|
|
63
|
+
"nx": "20.6.4",
|
|
64
|
+
"prettier": "^3.5.3",
|
|
65
|
+
"rimraf": "^5.0.5",
|
|
51
66
|
"rollup": "^4.24.2",
|
|
52
67
|
"rollup-plugin-delete": "^2.1.0",
|
|
53
68
|
"rollup-plugin-dts": "^6.1.1",
|
|
54
69
|
"rollup-plugin-typescript2": "^0.36.0",
|
|
55
70
|
"ts-node": "^10.9.2",
|
|
56
|
-
"
|
|
57
|
-
"
|
|
71
|
+
"tslib": "^2.8.1",
|
|
72
|
+
"tsup": "^8.4.0",
|
|
73
|
+
"typescript": "~5.4.5",
|
|
74
|
+
"typescript-eslint": "^8.18.0",
|
|
75
|
+
"vite": "^6.1.0",
|
|
58
76
|
"vitest": "^3.0.5"
|
|
59
77
|
},
|
|
60
78
|
"workspaces": [
|
|
61
79
|
"packages/*"
|
|
62
80
|
],
|
|
63
81
|
"lint-staged": {
|
|
64
|
-
"
|
|
65
|
-
"eslint --
|
|
66
|
-
"prettier --write"
|
|
67
|
-
],
|
|
68
|
-
"packages/**/*.{json,css,scss,md}": [
|
|
69
|
-
"prettier --write"
|
|
82
|
+
"*.{js,jsx,ts,tsx}": [
|
|
83
|
+
"eslint --fix"
|
|
70
84
|
]
|
|
71
|
-
}
|
|
72
|
-
"packageManager": "pnpm@9.1.0"
|
|
85
|
+
}
|
|
73
86
|
}
|
|
@@ -8,8 +8,11 @@ export const browserGlobalsName = 'feGlobals';
|
|
|
8
8
|
export const envBlackList = ['env', 'userNodeEnv'];
|
|
9
9
|
|
|
10
10
|
export const loggerStyles = {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
fatal: { color: '#ff0000', fontWeight: 'bold' },
|
|
12
|
+
error: { color: '#ff0000' },
|
|
13
|
+
warn: { color: '#ffa500' },
|
|
14
|
+
info: { color: '#0000ff' },
|
|
15
|
+
debug: { color: '#008000' },
|
|
16
|
+
trace: { color: '#808080' },
|
|
17
|
+
log: { color: '#000000' }
|
|
15
18
|
};
|
|
@@ -51,8 +51,9 @@
|
|
|
51
51
|
"test": "vitest run"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@qlover/corekit-bridge": "^
|
|
55
|
-
"@qlover/fe-corekit": "^1.
|
|
54
|
+
"@qlover/corekit-bridge": "^1.0.1",
|
|
55
|
+
"@qlover/fe-corekit": "^1.3.1",
|
|
56
|
+
"@qlover/logger": "^0.1.1",
|
|
56
57
|
"@qlover/slice-store-react": "^1.0.8",
|
|
57
58
|
"i18next": "^24.2.0",
|
|
58
59
|
"i18next-browser-languagedetector": "^8.0.2",
|
|
@@ -4,21 +4,20 @@ import {
|
|
|
4
4
|
type ExecutorContext,
|
|
5
5
|
type RequestAdapterFetchConfig,
|
|
6
6
|
type RequestAdapterResponse,
|
|
7
|
-
Logger
|
|
8
7
|
} from '@qlover/fe-corekit';
|
|
9
8
|
import {
|
|
10
9
|
type ApiCatchPluginConfig,
|
|
11
10
|
type ApiCatchPluginResponse
|
|
12
11
|
} from '@qlover/corekit-bridge';
|
|
13
12
|
import { injectable, inject } from 'inversify';
|
|
14
|
-
|
|
13
|
+
import { LoggerInterface } from '@qlover/logger';
|
|
15
14
|
@injectable()
|
|
16
15
|
export class RequestLogger
|
|
17
16
|
implements ExecutorPlugin<RequestAdapterFetchConfig>
|
|
18
17
|
{
|
|
19
18
|
readonly pluginName = 'RequestLogger';
|
|
20
19
|
|
|
21
|
-
constructor(@inject(IOCIdentifier.Logger) public logger:
|
|
20
|
+
constructor(@inject(IOCIdentifier.Logger) public logger: LoggerInterface) {}
|
|
22
21
|
|
|
23
22
|
onBefore(context: ExecutorContext<RequestAdapterFetchConfig<unknown>>): void {
|
|
24
23
|
this.logger.log(
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { RequestCatcherInterface } from '@/base/port/RequestCatcherInterface';
|
|
2
2
|
import { IOCIdentifier } from '@/core/IOC';
|
|
3
|
-
import type {
|
|
3
|
+
import type { RequestAdapterResponse } from '@qlover/fe-corekit';
|
|
4
|
+
import type { LoggerInterface } from '@qlover/logger';
|
|
4
5
|
import { inject, injectable } from 'inversify';
|
|
5
6
|
|
|
6
7
|
@injectable()
|
|
@@ -9,7 +10,7 @@ export class RequestStatusCatcher
|
|
|
9
10
|
{
|
|
10
11
|
constructor(
|
|
11
12
|
@inject(IOCIdentifier.Logger)
|
|
12
|
-
private readonly logger:
|
|
13
|
+
private readonly logger: LoggerInterface
|
|
13
14
|
) {}
|
|
14
15
|
/**
|
|
15
16
|
* default handler
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { AsyncExecutor, ExecutorPlugin
|
|
1
|
+
import { AsyncExecutor, ExecutorPlugin } from '@qlover/fe-corekit';
|
|
2
2
|
import { IOCIdentifier } from '@/core/IOC';
|
|
3
3
|
import { injectable, inject } from 'inversify';
|
|
4
|
+
import type { LoggerInterface } from '@qlover/logger';
|
|
5
|
+
|
|
4
6
|
|
|
5
7
|
@injectable()
|
|
6
8
|
export class ProcesserService {
|
|
7
9
|
constructor(
|
|
8
|
-
@inject(IOCIdentifier.Logger) private logger:
|
|
10
|
+
@inject(IOCIdentifier.Logger) private logger: LoggerInterface,
|
|
9
11
|
@inject(AsyncExecutor) private executor: AsyncExecutor
|
|
10
12
|
) {}
|
|
11
13
|
|
|
@@ -9,7 +9,8 @@ import {
|
|
|
9
9
|
createIOCFunction,
|
|
10
10
|
ServiceIdentifier
|
|
11
11
|
} from '@qlover/corekit-bridge';
|
|
12
|
-
import type { JSONSerializer, JSONStorage
|
|
12
|
+
import type { JSONSerializer, JSONStorage } from '@qlover/fe-corekit';
|
|
13
|
+
import type { LoggerInterface } from '@qlover/logger';
|
|
13
14
|
import { Container } from 'inversify';
|
|
14
15
|
import { InversifyRegisterInterface } from '@/base/port/InversifyIocInterface';
|
|
15
16
|
|
|
@@ -75,7 +76,7 @@ export const IOCIdentifier = Object.freeze({
|
|
|
75
76
|
export interface IOCIdentifierMap {
|
|
76
77
|
[IOCIdentifier.JSON]: JSONSerializer;
|
|
77
78
|
[IOCIdentifier.JSONStorage]: JSONStorage;
|
|
78
|
-
[IOCIdentifier.Logger]:
|
|
79
|
+
[IOCIdentifier.Logger]: LoggerInterface;
|
|
79
80
|
[IOCIdentifier.FeApiToken]: StorageTokenInterface<string>;
|
|
80
81
|
[IOCIdentifier.FeApiCommonPlugin]: RequestCommonPlugin;
|
|
81
82
|
[IOCIdentifier.AppConfig]: EnvConfigInterface;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
// ! global variables, don't import any dependencies and don't have side effects
|
|
2
2
|
import { JSONStorage, JSONSerializer, SyncStorage } from '@qlover/fe-corekit';
|
|
3
|
-
import {
|
|
4
|
-
import { loggerStyles } from '@config/common';
|
|
3
|
+
import { ColorFormatter, ConsoleHandler, Logger } from '@qlover/corekit-bridge';
|
|
5
4
|
|
|
6
5
|
const isProduction = import.meta.env.VITE_USER_NODE_ENV === 'production';
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* Global logger
|
|
10
9
|
*/
|
|
11
|
-
export const logger = new
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
colorsMaps: loggerStyles
|
|
10
|
+
export const logger = new Logger({
|
|
11
|
+
handlers: new ConsoleHandler(new ColorFormatter()),
|
|
12
|
+
silent: isProduction
|
|
15
13
|
});
|
|
16
14
|
|
|
17
15
|
/**
|
|
@@ -2,7 +2,8 @@ import type {
|
|
|
2
2
|
InversifyRegisterInterface,
|
|
3
3
|
InversifyRegisterContainer
|
|
4
4
|
} from '@/base/port/InversifyIocInterface';
|
|
5
|
-
import { FetchAbortPlugin, JSONStorage
|
|
5
|
+
import { FetchAbortPlugin, JSONStorage } from '@qlover/fe-corekit';
|
|
6
|
+
import { Logger }from '@qlover/logger';
|
|
6
7
|
import AppConfig from '@/core/AppConfig';
|
|
7
8
|
import { IOCIdentifier } from '@/core/IOC';
|
|
8
9
|
import {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JSONSerializer, JSONStorage
|
|
1
|
+
import { JSONSerializer, JSONStorage } from '@qlover/fe-corekit';
|
|
2
2
|
import type { EnvConfigInterface } from '@qlover/corekit-bridge';
|
|
3
3
|
import type {
|
|
4
4
|
InversifyRegisterInterface,
|
|
@@ -6,6 +6,7 @@ import type {
|
|
|
6
6
|
} from '@/base/port/InversifyIocInterface';
|
|
7
7
|
import { JSON, localJsonStorage, logger } from '../globals';
|
|
8
8
|
import { IOCIdentifier } from '@/core/IOC';
|
|
9
|
+
import { Logger } from '@qlover/logger';
|
|
9
10
|
|
|
10
11
|
export class RegisterGlobals implements InversifyRegisterInterface {
|
|
11
12
|
constructor(private appConfig: EnvConfigInterface) {}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { RouteConfigValue } from '@/base/cases/router-loader';
|
|
2
2
|
import type { NavigateFunction, NavigateOptions } from 'react-router-dom';
|
|
3
3
|
import type { UIDependenciesInterface } from '@/base/port/UIDependenciesInterface';
|
|
4
|
+
import type { LoggerInterface } from '@qlover/logger';
|
|
4
5
|
import { I18nService } from '@/base/services/I18nService';
|
|
5
|
-
import { Logger } from '@qlover/fe-corekit';
|
|
6
6
|
|
|
7
7
|
export type RouterControllerDependencies = {
|
|
8
8
|
navigate: NavigateFunction;
|
|
@@ -12,7 +12,7 @@ export type RouterControllerOptions = {
|
|
|
12
12
|
config: {
|
|
13
13
|
routes: RouteConfigValue[];
|
|
14
14
|
};
|
|
15
|
-
logger:
|
|
15
|
+
logger: LoggerInterface;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
export type RouterControllerState = {
|
|
@@ -35,7 +35,7 @@ export class RouterController
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
get logger():
|
|
38
|
+
get logger(): LoggerInterface {
|
|
39
39
|
return this.options.logger;
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -3,8 +3,8 @@ import react from '@vitejs/plugin-react';
|
|
|
3
3
|
import { envPrefix } from './config/common';
|
|
4
4
|
import { name, version } from './package.json';
|
|
5
5
|
import tsconfigPaths from 'vite-tsconfig-paths';
|
|
6
|
-
import envConfig from '@qlover/corekit-bridge/
|
|
7
|
-
import ts2Locales from '@qlover/corekit-bridge/
|
|
6
|
+
import envConfig from '@qlover/corekit-bridge/vite-env-config/index';
|
|
7
|
+
import ts2Locales from '@qlover/corekit-bridge/vite-ts-to-locales/index';
|
|
8
8
|
import i18nConfig from './config/i18n';
|
|
9
9
|
|
|
10
10
|
// https://vite.dev/config/
|