@nocobase/cli 1.4.26 → 1.4.28
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/package.json +4 -4
- package/src/commands/start.js +16 -5
- package/src/util.js +36 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/cli",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.28",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"nocobase": "./bin/index.js"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@nocobase/app": "1.4.
|
|
11
|
+
"@nocobase/app": "1.4.28",
|
|
12
12
|
"@types/fs-extra": "^11.0.1",
|
|
13
13
|
"@umijs/utils": "3.5.20",
|
|
14
14
|
"chalk": "^4.1.1",
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
"tsx": "^4.19.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@nocobase/devtools": "1.4.
|
|
28
|
+
"@nocobase/devtools": "1.4.28"
|
|
29
29
|
},
|
|
30
30
|
"repository": {
|
|
31
31
|
"type": "git",
|
|
32
32
|
"url": "git+https://github.com/nocobase/nocobase.git",
|
|
33
33
|
"directory": "packages/core/cli"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "260a61dc3ac950026860dc7d164a26dd3ce81a0e"
|
|
36
36
|
}
|
package/src/commands/start.js
CHANGED
|
@@ -8,19 +8,30 @@
|
|
|
8
8
|
*/
|
|
9
9
|
const _ = require('lodash');
|
|
10
10
|
const { Command } = require('commander');
|
|
11
|
-
const {
|
|
11
|
+
const { run, postCheck, downloadPro, promptForTs } = require('../util');
|
|
12
12
|
const { existsSync, rmSync } = require('fs');
|
|
13
|
-
const { resolve } = require('path');
|
|
13
|
+
const { resolve, isAbsolute } = require('path');
|
|
14
14
|
const chalk = require('chalk');
|
|
15
15
|
const chokidar = require('chokidar');
|
|
16
16
|
|
|
17
|
+
function getSocketPath() {
|
|
18
|
+
const { SOCKET_PATH } = process.env;
|
|
19
|
+
|
|
20
|
+
if (isAbsolute(SOCKET_PATH)) {
|
|
21
|
+
return SOCKET_PATH;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return resolve(process.cwd(), SOCKET_PATH);
|
|
25
|
+
}
|
|
26
|
+
|
|
17
27
|
function deleteSockFiles() {
|
|
18
|
-
const {
|
|
28
|
+
const { PM2_HOME } = process.env;
|
|
19
29
|
if (existsSync(PM2_HOME)) {
|
|
20
30
|
rmSync(PM2_HOME, { recursive: true });
|
|
21
31
|
}
|
|
22
|
-
|
|
23
|
-
|
|
32
|
+
const socketPath = getSocketPath();
|
|
33
|
+
if (existsSync(socketPath)) {
|
|
34
|
+
rmSync(socketPath);
|
|
24
35
|
}
|
|
25
36
|
}
|
|
26
37
|
|
package/src/util.js
CHANGED
|
@@ -11,11 +11,12 @@ const net = require('net');
|
|
|
11
11
|
const chalk = require('chalk');
|
|
12
12
|
const execa = require('execa');
|
|
13
13
|
const fg = require('fast-glob');
|
|
14
|
-
const { dirname, join, resolve, sep } = require('path');
|
|
14
|
+
const { dirname, join, resolve, sep, isAbsolute } = require('path');
|
|
15
15
|
const { readFile, writeFile } = require('fs').promises;
|
|
16
16
|
const { existsSync, mkdirSync, cpSync, writeFileSync } = require('fs');
|
|
17
17
|
const dotenv = require('dotenv');
|
|
18
|
-
const fs = require('fs');
|
|
18
|
+
const fs = require('fs-extra');
|
|
19
|
+
const os = require('os');
|
|
19
20
|
const moment = require('moment-timezone');
|
|
20
21
|
|
|
21
22
|
exports.isPackageValid = (pkg) => {
|
|
@@ -325,6 +326,32 @@ function areTimeZonesEqual(timeZone1, timeZone2) {
|
|
|
325
326
|
return moment.tz(timeZone1).format('Z') === moment.tz(timeZone2).format('Z');
|
|
326
327
|
}
|
|
327
328
|
|
|
329
|
+
function generateGatewayPath() {
|
|
330
|
+
if (process.env.SOCKET_PATH) {
|
|
331
|
+
if (isAbsolute(process.env.SOCKET_PATH)) {
|
|
332
|
+
return process.env.SOCKET_PATH;
|
|
333
|
+
}
|
|
334
|
+
return resolve(process.cwd(), process.env.SOCKET_PATH);
|
|
335
|
+
}
|
|
336
|
+
if (process.env.NOCOBASE_RUNNING_IN_DOCKER === 'true') {
|
|
337
|
+
return resolve(os.homedir(), '.nocobase', 'gateway.sock');
|
|
338
|
+
}
|
|
339
|
+
return resolve(process.cwd(), 'storage/gateway.sock');
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
function generatePm2Home() {
|
|
343
|
+
if (process.env.PM2_HOME) {
|
|
344
|
+
if (isAbsolute(process.env.PM2_HOME)) {
|
|
345
|
+
return process.env.PM2_HOME;
|
|
346
|
+
}
|
|
347
|
+
return resolve(process.cwd(), process.env.PM2_HOME);
|
|
348
|
+
}
|
|
349
|
+
if (process.env.NOCOBASE_RUNNING_IN_DOCKER === 'true') {
|
|
350
|
+
return resolve(os.homedir(), '.nocobase', 'pm2');
|
|
351
|
+
}
|
|
352
|
+
return resolve(process.cwd(), './storage/.pm2');
|
|
353
|
+
}
|
|
354
|
+
|
|
328
355
|
exports.initEnv = function initEnv() {
|
|
329
356
|
const env = {
|
|
330
357
|
APP_ENV: 'development',
|
|
@@ -343,9 +370,9 @@ exports.initEnv = function initEnv() {
|
|
|
343
370
|
MFSU_AD: 'none',
|
|
344
371
|
MAKO_AD: 'none',
|
|
345
372
|
WS_PATH: '/ws',
|
|
346
|
-
|
|
373
|
+
// PM2_HOME: generatePm2Home(),
|
|
374
|
+
// SOCKET_PATH: generateGatewayPath(),
|
|
347
375
|
NODE_MODULES_PATH: resolve(process.cwd(), 'node_modules'),
|
|
348
|
-
PM2_HOME: resolve(process.cwd(), './storage/.pm2'),
|
|
349
376
|
PLUGIN_PACKAGE_PREFIX: '@nocobase/plugin-,@nocobase/plugin-sample-,@nocobase/preset-',
|
|
350
377
|
SERVER_TSCONFIG_PATH: './tsconfig.server.json',
|
|
351
378
|
PLAYWRIGHT_AUTH_FILE: resolve(process.cwd(), 'storage/playwright/.auth/admin.json'),
|
|
@@ -428,6 +455,11 @@ exports.initEnv = function initEnv() {
|
|
|
428
455
|
`process.env.DB_TIMEZONE="${process.env.DB_TIMEZONE}" and process.env.TZ="${process.env.TZ}" are different`,
|
|
429
456
|
);
|
|
430
457
|
}
|
|
458
|
+
|
|
459
|
+
process.env.PM2_HOME = generatePm2Home();
|
|
460
|
+
process.env.SOCKET_PATH = generateGatewayPath();
|
|
461
|
+
fs.mkdirpSync(dirname(process.env.SOCKET_PATH), { force: true, recursive: true });
|
|
462
|
+
fs.mkdirpSync(process.env.PM2_HOME, { force: true, recursive: true });
|
|
431
463
|
};
|
|
432
464
|
|
|
433
465
|
exports.generatePlugins = function () {
|