@farris/jit-engine 1.3.315 → 1.3.316
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/README.md +4 -0
- package/bin/index.js +18 -0
- package/lib/command/check.js +107 -0
- package/lib/command/check.js.map +1 -0
- package/package.json +2 -1
package/README.md
CHANGED
package/bin/index.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
const yargs = require("yargs");
|
|
5
5
|
const path = require("path");
|
|
6
6
|
const jitEngine = require('../lib/index');
|
|
7
|
+
const versionCheck = require("../lib/command/check")
|
|
7
8
|
|
|
8
9
|
const FILE_PATH = 'file path';
|
|
9
10
|
const METADATA_CONFIG = 'metadata config';
|
|
@@ -82,6 +83,23 @@ yargs.parse(process.argv.slice(2), (err, argv, output) => {
|
|
|
82
83
|
return;
|
|
83
84
|
}
|
|
84
85
|
|
|
86
|
+
const command = process.argv.slice(2)[0];
|
|
87
|
+
if (command === 'check') {
|
|
88
|
+
if (argv.path) {
|
|
89
|
+
let result;
|
|
90
|
+
return versionCheck.checkVersion(argv.path, (result) => {
|
|
91
|
+
if (result.needUpdate) {
|
|
92
|
+
process.exit(1);
|
|
93
|
+
} else {
|
|
94
|
+
process.exit(0);
|
|
95
|
+
}
|
|
96
|
+
})
|
|
97
|
+
} else {
|
|
98
|
+
console.log('node_modules目录为空。');
|
|
99
|
+
process.exit(-1);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
85
103
|
try {
|
|
86
104
|
|
|
87
105
|
jitEngine.jit(argv);
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkVersion = void 0;
|
|
4
|
+
function checkVersion(dir, callback) {
|
|
5
|
+
let output = {
|
|
6
|
+
needUpdate: false,
|
|
7
|
+
updateList: []
|
|
8
|
+
};
|
|
9
|
+
const readPackageTree = require('read-package-tree');
|
|
10
|
+
readPackageTree(dir, (_err, physicalTree) => {
|
|
11
|
+
try {
|
|
12
|
+
const nodes = physicalTree.children;
|
|
13
|
+
let map = new Map();
|
|
14
|
+
for (const key in nodes) {
|
|
15
|
+
if (nodes.hasOwnProperty(key)) {
|
|
16
|
+
const element = nodes[key];
|
|
17
|
+
const packageData = element.package || {};
|
|
18
|
+
const id = packageData['_id'];
|
|
19
|
+
if (id) {
|
|
20
|
+
const atIndex = id.lastIndexOf('@');
|
|
21
|
+
const prefix = id.slice(0, atIndex);
|
|
22
|
+
const suffix = id.slice(atIndex + 1);
|
|
23
|
+
map.set(prefix, suffix);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const packageJson = physicalTree.package;
|
|
28
|
+
if (packageJson) {
|
|
29
|
+
const dependencies = packageJson.dependencies;
|
|
30
|
+
Object.keys(dependencies).forEach((key) => {
|
|
31
|
+
if ((key.startsWith('@farris')
|
|
32
|
+
|| key.startsWith('@gsp')
|
|
33
|
+
|| key.startsWith('@ecp')
|
|
34
|
+
|| key.startsWith('@edp')
|
|
35
|
+
|| key.startsWith('@qdp'))
|
|
36
|
+
&& (key !== '@ecp-caf/caf-common' && key !== '@qdp/formular')) {
|
|
37
|
+
if (dependencies.hasOwnProperty(key)) {
|
|
38
|
+
const packageJsonVersion = dependencies[key];
|
|
39
|
+
const nodeModulesVersion = map.get(key);
|
|
40
|
+
if (nodeModulesVersion) {
|
|
41
|
+
if (packageJsonVersion !== nodeModulesVersion && !isValidVersion(nodeModulesVersion, packageJsonVersion)) {
|
|
42
|
+
const info = {
|
|
43
|
+
name: key,
|
|
44
|
+
nodeModulesVersion: nodeModulesVersion,
|
|
45
|
+
packageJsonVersion: packageJsonVersion
|
|
46
|
+
};
|
|
47
|
+
output.needUpdate = true;
|
|
48
|
+
output.updateList.push(info);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
const info = {
|
|
53
|
+
name: key,
|
|
54
|
+
nodeModulesVersion: "",
|
|
55
|
+
packageJsonVersion: packageJsonVersion
|
|
56
|
+
};
|
|
57
|
+
output.needUpdate = true;
|
|
58
|
+
output.updateList.push(info);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
if (output && output.needUpdate) {
|
|
64
|
+
console.log('The node_modules need to be updated, with the following update list:');
|
|
65
|
+
const updateList = output.updateList;
|
|
66
|
+
updateList.forEach((item) => {
|
|
67
|
+
console.log(item.name + '@' + item.packageJsonVersion);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
callback(output);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
output.needUpdate = false;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
exports.checkVersion = checkVersion;
|
|
79
|
+
function isValidVersion(versionToCheck, rangeSpecifier) {
|
|
80
|
+
let minVersion, maxMajor;
|
|
81
|
+
if (rangeSpecifier.startsWith('^')) {
|
|
82
|
+
const [major, minor, patch] = rangeSpecifier.slice(1).split('.').map(Number);
|
|
83
|
+
minVersion = `${major}.${minor}.${patch}`;
|
|
84
|
+
maxMajor = major + 1;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
function parseVersion(v) {
|
|
90
|
+
return v.split('.').map(Number);
|
|
91
|
+
}
|
|
92
|
+
const parsedVersionToCheck = parseVersion(versionToCheck);
|
|
93
|
+
const parsedMinVersion = parseVersion(minVersion);
|
|
94
|
+
for (let i = 0; i < parsedMinVersion.length; i++) {
|
|
95
|
+
if (parsedVersionToCheck[i] < parsedMinVersion[i])
|
|
96
|
+
return false;
|
|
97
|
+
if (parsedVersionToCheck[i] > parsedMinVersion[i])
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
if (parsedVersionToCheck[0] === parsedMinVersion[0]) {
|
|
101
|
+
}
|
|
102
|
+
else if (parsedVersionToCheck[0] >= maxMajor) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/command/check.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@farris/jit-engine",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.316",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"fs-extra": "^8.1.0",
|
|
36
36
|
"lodash": "^4.17.10",
|
|
37
37
|
"prettier": "^1.18.2",
|
|
38
|
+
"read-package-tree": "^5.3.1",
|
|
38
39
|
"pug": "^2.0.0-rc.4",
|
|
39
40
|
"typescript-ioc": "^1.2.4",
|
|
40
41
|
"yargs": "^12.0.1"
|