underpost 2.7.2 → 2.7.5
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/.github/workflows/publish.yml +28 -1
- package/.github/workflows/test.yml +80 -0
- package/bin/deploy.js +40 -0
- package/bin/file.js +6 -5
- package/bin/index.js +33 -4
- package/bin/ssl.js +2 -12
- package/docker-compose.yml +1 -1
- package/package.json +138 -137
- package/src/client/components/core/Docs.js +1 -1
- package/src/client/ssr/body-components/CacheControl.js +1 -1
- package/src/db/mongo/MongooseDB.js +92 -1
- package/src/runtime/lampp/Lampp.js +47 -1
- package/src/server/client-build.js +0 -6
- package/src/server/logger.js +11 -1
- package/src/server/process.js +3 -3
- package/src/server/ssl.js +12 -1
- package/bin/dns.js +0 -1
- package/bin/install.js +0 -398
- package/bin/shortcut.js +0 -44
- /package/src/client/components/core/{BlockChain.js → Blockchain.js} +0 -0
|
@@ -21,6 +21,33 @@ jobs:
|
|
|
21
21
|
run: npm install
|
|
22
22
|
|
|
23
23
|
- run: npm ci
|
|
24
|
-
|
|
24
|
+
|
|
25
|
+
# Publish to npm
|
|
26
|
+
- uses: actions/setup-node@v4
|
|
27
|
+
with:
|
|
28
|
+
node-version: '21.x'
|
|
29
|
+
registry-url: 'https://registry.npmjs.org'
|
|
30
|
+
# Defaults to the user or organization that owns the workflow file
|
|
31
|
+
# scope: '@underpostnet'
|
|
32
|
+
- env:
|
|
33
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
34
|
+
name: Publish to npm
|
|
35
|
+
run: npm publish --provenance --access public
|
|
36
|
+
|
|
37
|
+
# Publish to GitHub Packages
|
|
38
|
+
- name: Setup node to publish to GitHub Packages
|
|
39
|
+
uses: actions/setup-node@v4
|
|
40
|
+
with:
|
|
41
|
+
node-version: 21.x
|
|
42
|
+
registry-url: 'https://npm.pkg.github.com'
|
|
43
|
+
# Defaults to the user or organization that owns the workflow file
|
|
44
|
+
scope: '@underpostnet'
|
|
45
|
+
|
|
46
|
+
- run: |
|
|
47
|
+
node ./bin/deploy rename-package @underpostnet/underpost
|
|
48
|
+
npm config set //npm.pkg.github.com/:_authToken=${{ secrets.GIT_AUTH_TOKEN }}
|
|
49
|
+
echo "//npm.pkg.github.com/:_authToken=${{ secrets.GIT_AUTH_TOKEN }}" > ~/.npmrc
|
|
50
|
+
echo "@underposnet:registry=https://npm.pkg.github.com" >> ~/.npmrc
|
|
51
|
+
npm publish
|
|
25
52
|
env:
|
|
26
53
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
name: Test
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches: ['master']
|
|
5
|
+
pull_request:
|
|
6
|
+
branches: ['master']
|
|
7
|
+
jobs:
|
|
8
|
+
test:
|
|
9
|
+
name: Node ${{ matrix.node }} on ${{ matrix.os }}
|
|
10
|
+
runs-on: ${{ matrix.os }}
|
|
11
|
+
strategy:
|
|
12
|
+
matrix:
|
|
13
|
+
node-version: [21.x]
|
|
14
|
+
os: [ubuntu-latest]
|
|
15
|
+
# os: [ubuntu-latest, windows-latest]
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- name: Clone repository
|
|
19
|
+
uses: actions/checkout@v3
|
|
20
|
+
|
|
21
|
+
- name: Set Node.js version
|
|
22
|
+
uses: actions/setup-node@v3
|
|
23
|
+
with:
|
|
24
|
+
node-version: ${{ matrix.node }}
|
|
25
|
+
|
|
26
|
+
- name: Get npm root
|
|
27
|
+
run: sudo npm root -g
|
|
28
|
+
|
|
29
|
+
- name: Install underpost cli
|
|
30
|
+
run: sudo npm install -g underpost
|
|
31
|
+
|
|
32
|
+
- name: Run test
|
|
33
|
+
run: sudo underpost test
|
|
34
|
+
|
|
35
|
+
# for travis
|
|
36
|
+
# - name: Run coveralls
|
|
37
|
+
# run: npm run coveralls # nyc npm run test --reporter=text-lcov | coveralls -v
|
|
38
|
+
|
|
39
|
+
# - name: Test token
|
|
40
|
+
# run: echo "${{ secrets.COVERALLS_REPO_TOKEN }}"
|
|
41
|
+
|
|
42
|
+
# - name: Coveralls
|
|
43
|
+
# uses: coverallsapp/github-action@master
|
|
44
|
+
# with:
|
|
45
|
+
# github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
46
|
+
# flag-name: ${{matrix.os}}-node-${{ matrix.node }}
|
|
47
|
+
# parallel: true
|
|
48
|
+
|
|
49
|
+
# - name: Coveralls
|
|
50
|
+
# uses: coverallsapp/github-action@master
|
|
51
|
+
# with:
|
|
52
|
+
# github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
53
|
+
# path-to-lcov: '/usr/local/lib/node_modules/underpost/coverage/lcov.info'
|
|
54
|
+
# env:
|
|
55
|
+
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
|
56
|
+
# COVERALLS_GIT_BRANCH: "${{ github.ref }}"
|
|
57
|
+
|
|
58
|
+
# - name: Coveralls
|
|
59
|
+
# run: node ./node_modules/coveralls-next/bin/coveralls.js # cat ./coverage/lcov.info |
|
|
60
|
+
# env:
|
|
61
|
+
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
|
62
|
+
# COVERALLS_SERVICE_NAME: CI-pipeline
|
|
63
|
+
# COVERALLS_SERVICE_JOB_ID: ${{github.run_id}}
|
|
64
|
+
# COVERALLS_SERVICE_JOB_NUMBER: ${{github.run_number}}
|
|
65
|
+
# COVERALLS_FLAG_NAME: ${{matrix.os}}-node-${{ matrix.node }}
|
|
66
|
+
# COVERALLS_PARALLEL: true
|
|
67
|
+
# NODE_COVERALLS_DEBUG: 1
|
|
68
|
+
# finish:
|
|
69
|
+
# needs: test
|
|
70
|
+
# runs-on: ubuntu-latest
|
|
71
|
+
# steps:
|
|
72
|
+
# - name: Clone repository
|
|
73
|
+
# uses: actions/checkout@v2
|
|
74
|
+
|
|
75
|
+
# - name: Coveralls Finished
|
|
76
|
+
# run: |
|
|
77
|
+
# curl -kv -d 'payload[build_num]=${{github.run_id}}&payload[status]=done' https://coveralls.io/webhook?repo_token=${COVERALLS_REPO_TOKEN}
|
|
78
|
+
# env:
|
|
79
|
+
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
|
80
|
+
# COVERALLS_GIT_BRANCH: '${{ github.ref }}'
|
package/bin/deploy.js
CHANGED
|
@@ -30,6 +30,8 @@ import { buildClient } from '../src/server/client-build.js';
|
|
|
30
30
|
import { range, setPad, timer, uniqueArray } from '../src/client/components/core/CommonJs.js';
|
|
31
31
|
import toJsonSchema from 'to-json-schema';
|
|
32
32
|
import simpleGit from 'simple-git';
|
|
33
|
+
import { MongooseDB } from '../src/db/mongo/MongooseDB.js';
|
|
34
|
+
import { Lampp } from '../src/runtime/lampp/Lampp.js';
|
|
33
35
|
|
|
34
36
|
const logger = loggerFactory(import.meta);
|
|
35
37
|
|
|
@@ -251,6 +253,19 @@ try {
|
|
|
251
253
|
|
|
252
254
|
shellExec(Cmd.replica(deployId, host, path));
|
|
253
255
|
}
|
|
256
|
+
if (serverConf[host][path].db) {
|
|
257
|
+
switch (serverConf[host][path].db.provider) {
|
|
258
|
+
case 'mariadb':
|
|
259
|
+
{
|
|
260
|
+
shellExec(`node bin/db ${host}${path} create ${deployId}`);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
break;
|
|
264
|
+
|
|
265
|
+
default:
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
254
269
|
}
|
|
255
270
|
}
|
|
256
271
|
}
|
|
@@ -475,6 +490,21 @@ try {
|
|
|
475
490
|
case 'build-macro-replica':
|
|
476
491
|
getDataDeploy({ deployGroupId: process.argv[3], buildSingleReplica: true });
|
|
477
492
|
break;
|
|
493
|
+
|
|
494
|
+
case 'rename-package': {
|
|
495
|
+
const name = process.argv[3];
|
|
496
|
+
const originPackage = JSON.parse(fs.readFileSync(`./package.json`, 'utf8'));
|
|
497
|
+
originPackage.name = name;
|
|
498
|
+
fs.writeFileSync(`./package.json`, JSON.stringify(originPackage, null, 4), 'utf8');
|
|
499
|
+
|
|
500
|
+
const originPackageLockJson = JSON.parse(fs.readFileSync(`./package-lock.json`, 'utf8'));
|
|
501
|
+
originPackageLockJson.name = name;
|
|
502
|
+
originPackageLockJson.packages[''].name = name;
|
|
503
|
+
fs.writeFileSync(`./package-lock.json`, JSON.stringify(originPackageLockJson, null, 4), 'utf8');
|
|
504
|
+
|
|
505
|
+
break;
|
|
506
|
+
}
|
|
507
|
+
|
|
478
508
|
case 'update-version':
|
|
479
509
|
{
|
|
480
510
|
const newVersion = process.argv[3];
|
|
@@ -574,6 +604,16 @@ ${uniqueArray(logs.all.map((log) => `- ${log.author_name} ([${log.author_email}]
|
|
|
574
604
|
}
|
|
575
605
|
|
|
576
606
|
break;
|
|
607
|
+
|
|
608
|
+
case 'mongo': {
|
|
609
|
+
await MongooseDB.server();
|
|
610
|
+
break;
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
case 'lampp': {
|
|
614
|
+
await Lampp.install();
|
|
615
|
+
}
|
|
616
|
+
|
|
577
617
|
default:
|
|
578
618
|
break;
|
|
579
619
|
}
|
package/bin/file.js
CHANGED
|
@@ -10,11 +10,6 @@ const logger = loggerFactory(import.meta);
|
|
|
10
10
|
|
|
11
11
|
logger.info('argv', process.argv);
|
|
12
12
|
|
|
13
|
-
// usage:
|
|
14
|
-
// node bin/file create './wena que-onda.py'
|
|
15
|
-
// node bin/file create js-module './wena que-onda.js'
|
|
16
|
-
// node bin/file copy-src 'c:/dd/excel-api' 'c:/dd/engine/engine-private/deploy/excel-api'
|
|
17
|
-
|
|
18
13
|
let [exe, dir, type] = process.argv;
|
|
19
14
|
let rawPath = process.argv[3].replaceAll(`'`, '');
|
|
20
15
|
let toPath = process.argv[4].replaceAll(`'`, '');
|
|
@@ -77,6 +72,12 @@ try {
|
|
|
77
72
|
fs.copyFileSync(absolutePath, `${toPath}/${copyPath}`);
|
|
78
73
|
}
|
|
79
74
|
|
|
75
|
+
if (type === 'update-template') {
|
|
76
|
+
fs.copySync(`./.vscode`, `../pwa-microservices-template/.vscode`);
|
|
77
|
+
fs.copySync(`./.github`, `../pwa-microservices-template/.github`);
|
|
78
|
+
fs.copySync(`./src/client/public/default`, `../pwa-microservices-template/src/client/public/default`);
|
|
79
|
+
}
|
|
80
|
+
|
|
80
81
|
break;
|
|
81
82
|
case 'create':
|
|
82
83
|
const buildPath = `${path}/${name}${ext ? `.${ext}` : ''}`;
|
package/bin/index.js
CHANGED
|
@@ -4,9 +4,13 @@ import dotenv from 'dotenv';
|
|
|
4
4
|
import { shellCd, shellExec } from '../src/server/process.js';
|
|
5
5
|
import fs from 'fs-extra';
|
|
6
6
|
import { Command } from 'commander';
|
|
7
|
+
import { MongooseDB } from '../src/db/mongo/MongooseDB.js';
|
|
8
|
+
import { loggerFactory, underpostASCI } from '../src/server/logger.js';
|
|
7
9
|
|
|
8
10
|
dotenv.config();
|
|
9
11
|
|
|
12
|
+
const logger = loggerFactory(import.meta);
|
|
13
|
+
|
|
10
14
|
const globalBinFolder = `${shellExec(`npm root -g`, {
|
|
11
15
|
stdout: true,
|
|
12
16
|
silent: true,
|
|
@@ -15,23 +19,42 @@ const globalBinFolder = `${shellExec(`npm root -g`, {
|
|
|
15
19
|
|
|
16
20
|
const program = new Command();
|
|
17
21
|
|
|
18
|
-
const version = '2.7.
|
|
22
|
+
const version = '2.7.5';
|
|
19
23
|
|
|
20
24
|
program.name('underpost').description(`underpost.net ci/cd cli ${version}`).version(version);
|
|
21
25
|
|
|
22
26
|
program
|
|
23
27
|
.command('new <app-name>')
|
|
24
28
|
.description('Create a new project')
|
|
25
|
-
.action((appName) => {
|
|
29
|
+
.action(async (appName) => {
|
|
30
|
+
console.log(
|
|
31
|
+
underpostASCI() +
|
|
32
|
+
`
|
|
33
|
+
v${version} https://www.nexodev.org/docs
|
|
34
|
+
`,
|
|
35
|
+
);
|
|
36
|
+
await logger.setUpInfo();
|
|
26
37
|
const destFolder = `${process.cwd()}/${appName}`;
|
|
27
|
-
|
|
28
|
-
|
|
38
|
+
logger.info('Note: This process may take several minutes to complete');
|
|
39
|
+
logger.info('build app', { destFolder });
|
|
29
40
|
fs.mkdirSync(destFolder, { recursive: true });
|
|
30
41
|
fs.copySync(globalBinFolder, destFolder);
|
|
31
42
|
fs.writeFileSync(`${destFolder}/.gitignore`, fs.readFileSync(`${globalBinFolder}/.dockerignore`, 'utf8'), 'utf8');
|
|
32
43
|
shellCd(`${destFolder}`);
|
|
33
44
|
shellExec(`git init && git add . && git commit -m "Base template implementation"`);
|
|
34
45
|
shellExec(`npm run install-template`);
|
|
46
|
+
switch (process.platform) {
|
|
47
|
+
case 'linux':
|
|
48
|
+
try {
|
|
49
|
+
await MongooseDB.server();
|
|
50
|
+
} catch (error) {
|
|
51
|
+
logger.error(error, 'failed to start mongodb server');
|
|
52
|
+
}
|
|
53
|
+
break;
|
|
54
|
+
|
|
55
|
+
default:
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
35
58
|
shellExec(`npm run dev`);
|
|
36
59
|
});
|
|
37
60
|
|
|
@@ -39,6 +62,12 @@ program
|
|
|
39
62
|
.command('test')
|
|
40
63
|
.description('Run tests')
|
|
41
64
|
.action(() => {
|
|
65
|
+
console.log(
|
|
66
|
+
underpostASCI() +
|
|
67
|
+
`
|
|
68
|
+
v${version} https://www.nexodev.org/docs
|
|
69
|
+
`,
|
|
70
|
+
);
|
|
42
71
|
shellCd(`${globalBinFolder}`);
|
|
43
72
|
shellExec(`npm run test`);
|
|
44
73
|
});
|
package/bin/ssl.js
CHANGED
|
@@ -14,10 +14,7 @@ const logger = loggerFactory(import.meta);
|
|
|
14
14
|
|
|
15
15
|
await logger.setUpInfo();
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
// node bin/ssl windows <deploy-id> www.example.com
|
|
19
|
-
|
|
20
|
-
const [exe, dir, os, deployId, hosts] = process.argv;
|
|
17
|
+
const [exe, dir, deployId, hosts] = process.argv;
|
|
21
18
|
|
|
22
19
|
try {
|
|
23
20
|
let cmd;
|
|
@@ -44,14 +41,7 @@ try {
|
|
|
44
41
|
await ncp.copy(cmd);
|
|
45
42
|
await read({ prompt: 'Command copy to clipboard, press enter to continue.\n' });
|
|
46
43
|
// Certificate
|
|
47
|
-
|
|
48
|
-
case 'windows':
|
|
49
|
-
await buildSSL(host);
|
|
50
|
-
break;
|
|
51
|
-
|
|
52
|
-
default:
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
44
|
+
await buildSSL(host);
|
|
55
45
|
logger.info('Certificate saved', host);
|
|
56
46
|
} else throw new Error(`host not found: ${host}`);
|
|
57
47
|
}
|
package/docker-compose.yml
CHANGED
package/package.json
CHANGED
|
@@ -1,138 +1,139 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
2
|
+
"type": "module",
|
|
3
|
+
"main": "src/index.js",
|
|
4
|
+
"name": "underpost",
|
|
5
|
+
"version": "2.7.5",
|
|
6
|
+
"description": "pwa api rest template",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"start": "env-cmd -f .env.production node --max-old-space-size=8192 src/server",
|
|
9
|
+
"pm2": "env-cmd -f .env.production pm2 start src/server.js --node-args=\"--max-old-space-size=8192\" --name engine && pm2 logs",
|
|
10
|
+
"ssl": "env-cmd -f .env.production node bin/ssl",
|
|
11
|
+
"pm2-delete": "pm2 delete engine",
|
|
12
|
+
"build": "node bin/deploy build-full-client --no-warnings",
|
|
13
|
+
"dev": "env-cmd -f .env.development node src/client.dev --no-warnings",
|
|
14
|
+
"dev-api": "env-cmd -f .env.development nodemon --watch src --ignore src/client src/api",
|
|
15
|
+
"docs": "jsdoc -c jsdoc.json",
|
|
16
|
+
"backup": "node bin/db default.net/ export",
|
|
17
|
+
"install-template": "npm install && npm run build",
|
|
18
|
+
"install-global": "npm install -g pm2 && npm install -g jsdoc && npm install -g prettier && npm install -g env-cmd && npm install -g yarn && npm install -g auto-changelog",
|
|
19
|
+
"install-test": "npm install -g mocha && npm install -g c8 && npm install -g nyc && npm install -g coveralls",
|
|
20
|
+
"install-vs-extensions": "node bin/vs import",
|
|
21
|
+
"preinstall": "npm config set audit false && npm config set loglevel error",
|
|
22
|
+
"restore-preinstall": "npm config set audit true && npm config set loglevel notice",
|
|
23
|
+
"install": "npm run install-global && npm run install-test && npm run restore-preinstall --no-audit --no-warnings",
|
|
24
|
+
"docker:start": "docker-compose up",
|
|
25
|
+
"prettier": "prettier --write .",
|
|
26
|
+
"coveralls": "nyc npm run test --reporter=text-lcov | coveralls -v",
|
|
27
|
+
"test": "env-cmd -f .env.test c8 mocha",
|
|
28
|
+
"update": "npm update -g && npm update && npm audit fix --force && npm audit fix --force",
|
|
29
|
+
"underpost-publish": "npm publish --provenance --access public",
|
|
30
|
+
"underpost-unpublish": "npm unpublish underpost@2.5.x",
|
|
31
|
+
"login": "npm adduser",
|
|
32
|
+
"bin": "npm link --force"
|
|
33
|
+
},
|
|
34
|
+
"bin": {
|
|
35
|
+
"underpost": "bin/index.js"
|
|
36
|
+
},
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "git+https://github.com/underpostnet/pwa-microservices-template.git"
|
|
40
|
+
},
|
|
41
|
+
"keywords": [
|
|
42
|
+
"pwa",
|
|
43
|
+
"template",
|
|
44
|
+
"microservices",
|
|
45
|
+
"api",
|
|
46
|
+
"server",
|
|
47
|
+
"proxy",
|
|
48
|
+
"client"
|
|
49
|
+
],
|
|
50
|
+
"author": "https://github.com/underpostnet",
|
|
51
|
+
"license": "MIT",
|
|
52
|
+
"bugs": {
|
|
53
|
+
"url": "https://github.com/underpostnet/pwa-microservices-template/issues"
|
|
54
|
+
},
|
|
55
|
+
"homepage": "https://github.com/underpostnet/pwa-microservices-template#readme",
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"@fortawesome/fontawesome-free": "^6.4.2",
|
|
58
|
+
"@loadingio/css-spinner": "^2.0.2",
|
|
59
|
+
"@neodrag/vanilla": "^2.0.3",
|
|
60
|
+
"@pinata/sdk": "^2.1.0",
|
|
61
|
+
"@xenova/transformers": "^2.17.2",
|
|
62
|
+
"adm-zip": "^0.5.10",
|
|
63
|
+
"ag-grid-community": "31.0.0",
|
|
64
|
+
"axios": "^1.5.1",
|
|
65
|
+
"chai": "^5.1.0",
|
|
66
|
+
"cli-progress": "^3.12.0",
|
|
67
|
+
"cli-spinners": "^3.0.0",
|
|
68
|
+
"color": "^4.2.3",
|
|
69
|
+
"colors": "^1.4.0",
|
|
70
|
+
"commander": "^12.1.0",
|
|
71
|
+
"compression": "^1.7.4",
|
|
72
|
+
"copy-paste": "^1.5.3",
|
|
73
|
+
"cors": "^2.8.5",
|
|
74
|
+
"d3": "^7.9.0",
|
|
75
|
+
"deepmerge": "^4.3.1",
|
|
76
|
+
"detect-port": "^1.5.1",
|
|
77
|
+
"dotenv": "^16.3.1",
|
|
78
|
+
"easymde": "^2.18.0",
|
|
79
|
+
"env-cmd": "^10.1.0",
|
|
80
|
+
"eventemitter3": "^5.0.1",
|
|
81
|
+
"express": "^4.18.2",
|
|
82
|
+
"express-fileupload": "^1.4.3",
|
|
83
|
+
"favicons": "^7.2.0",
|
|
84
|
+
"font-awesome-assets": "^0.0.9",
|
|
85
|
+
"fs-extra": "^11.1.1",
|
|
86
|
+
"fullcalendar": "^6.1.15",
|
|
87
|
+
"html-minifier-terser": "^7.2.0",
|
|
88
|
+
"http-proxy-middleware": "^2.0.6",
|
|
89
|
+
"ignore-walk": "^6.0.4",
|
|
90
|
+
"is-admin": "^4.0.0",
|
|
91
|
+
"is-ip": "^5.0.1",
|
|
92
|
+
"jimp": "^0.22.12",
|
|
93
|
+
"joystick-controller": "^1.0.15",
|
|
94
|
+
"json-colorizer": "^2.2.2",
|
|
95
|
+
"jsonwebtoken": "^9.0.2",
|
|
96
|
+
"kill-port-process": "^3.2.0",
|
|
97
|
+
"log-update": "^6.0.0",
|
|
98
|
+
"mariadb": "^3.2.2",
|
|
99
|
+
"marked": "^12.0.2",
|
|
100
|
+
"mongoose": "^8.0.1",
|
|
101
|
+
"morgan": "^1.10.0",
|
|
102
|
+
"node-cron": "^3.0.3",
|
|
103
|
+
"nodemailer": "^6.9.9",
|
|
104
|
+
"nodemon": "^3.0.1",
|
|
105
|
+
"pathfinding": "^0.4.18",
|
|
106
|
+
"peer": "^1.0.2",
|
|
107
|
+
"peerjs": "^1.5.2",
|
|
108
|
+
"pixi.js": "7.4.0",
|
|
109
|
+
"prom-client": "^15.1.2",
|
|
110
|
+
"public-ip": "^6.0.1",
|
|
111
|
+
"read": "^2.1.0",
|
|
112
|
+
"sharp": "^0.32.5",
|
|
113
|
+
"shelljs": "^0.8.5",
|
|
114
|
+
"simple-git": "^3.26.0",
|
|
115
|
+
"simple-icons": "^13.9.0",
|
|
116
|
+
"sitemap": "^7.1.1",
|
|
117
|
+
"socket.io": "^4.7.2",
|
|
118
|
+
"sortablejs": "^1.15.0",
|
|
119
|
+
"split-file": "^2.3.0",
|
|
120
|
+
"swagger-ui-express": "^5.0.0",
|
|
121
|
+
"systeminformation": "^5.21.17",
|
|
122
|
+
"text-to-image": "^5.2.0",
|
|
123
|
+
"uglify-js": "^3.17.4",
|
|
124
|
+
"validator": "^13.11.0",
|
|
125
|
+
"winston": "^3.11.0"
|
|
126
|
+
},
|
|
127
|
+
"devDependencies": {
|
|
128
|
+
"clean-jsdoc-theme": "^4.3.0",
|
|
129
|
+
"mocha": "^10.4.0",
|
|
130
|
+
"plantuml": "^0.0.2",
|
|
131
|
+
"swagger-autogen": "^2.23.7",
|
|
132
|
+
"to-json-schema": "^0.2.5"
|
|
133
|
+
},
|
|
134
|
+
"publishConfig": {
|
|
135
|
+
"provenance": true,
|
|
136
|
+
"access": "public",
|
|
137
|
+
"registry": "https://registry.npmjs.org/"
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -109,6 +109,6 @@ SrrComponent = ({ ttiLoadTimeLimit }) => {
|
|
|
109
109
|
const CacheControl = ${CacheControl};
|
|
110
110
|
CacheControl({ ttiLoadTimeLimit: ${ttiLoadTimeLimit ? ttiLoadTimeLimit : 1000 * 70 * 1} });
|
|
111
111
|
</script>
|
|
112
|
-
<div class="clean-cache-container">v2.7.
|
|
112
|
+
<div class="clean-cache-container">v2.7.5</div>
|
|
113
113
|
`;
|
|
114
114
|
};
|