@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 CHANGED
@@ -1,3 +1,7 @@
1
+ 1.3.316
2
+
3
+ jit支持版本检查
4
+
1
5
  1.3.315
2
6
 
3
7
  零代码运行时定制支持组合表单
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.315",
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"