rigjs 1.0.29 → 1.0.32
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/demo/test.js +17 -10
- package/lib/check/index.js +3 -1
- package/lib/deps/index.js +10 -0
- package/lib/info/index.js +27 -25
- package/lib/postinstall/index.js +2 -0
- package/package.json +1 -1
package/demo/test.js
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
const fs = require('fs');
|
|
2
|
-
let pkgStr = fs.readFileSync('package.json').toString();
|
|
3
|
-
let pkg = JSON.parse(pkgStr);
|
|
4
|
-
console.log(pkg);
|
|
5
|
-
pkg.info = 'test';
|
|
6
|
-
// fs.('package.json');
|
|
7
|
-
fs.writeFileSync('package.json', JSON.stringify(pkg,null,2));
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
console.log(pkg);
|
|
1
|
+
// const fs = require('fs');
|
|
2
|
+
// let pkgStr = fs.readFileSync('package.json').toString();
|
|
3
|
+
// let pkg = JSON.parse(pkgStr);
|
|
4
|
+
// console.log(pkg);
|
|
5
|
+
// pkg.info = 'test';
|
|
6
|
+
// // fs.('package.json');
|
|
7
|
+
// fs.writeFileSync('package.json', JSON.stringify(pkg,null,2));
|
|
8
|
+
// pkgStr = fs.readFileSync('package.json').toString();
|
|
9
|
+
// pkg = JSON.parse(pkgStr);
|
|
10
|
+
// console.log(pkg);
|
|
11
|
+
//
|
|
12
|
+
console.log(/^([a-z]+-){1,3}([0-9]+)(\.([0-9]+)){3}$/.test('a-a-1.2.1.1'));
|
|
13
|
+
//cmd
|
|
14
|
+
// console.log(/^(\.([0-9]+)){3}$/.test('a-a-1.2.1.1'));
|
|
15
|
+
console.log('a-a-1.2.1.1'.split(/(?<=[a-z])-(?=[0-9])/));
|
|
16
|
+
|
|
17
|
+
//抓取版本
|
|
11
18
|
|
package/lib/check/index.js
CHANGED
|
@@ -14,12 +14,14 @@ const load = async () => {
|
|
|
14
14
|
try {
|
|
15
15
|
let rigJson5Str = fs.readFileSync('package.rig.json5');
|
|
16
16
|
let rigJson5 = json5.parse(rigJson5Str);
|
|
17
|
+
let hasErr = false;
|
|
17
18
|
for (let dep of rigJson5) {
|
|
18
19
|
if (dep.dev) {
|
|
20
|
+
hasErr = true;
|
|
19
21
|
print.error(`${dep.name} is in developing!\nUse correct version and set dev to false!`);
|
|
20
|
-
process.exit(1);
|
|
21
22
|
}
|
|
22
23
|
}
|
|
24
|
+
if (hasErr) process.exit(1);
|
|
23
25
|
print.succeed(`Ready for production!`);
|
|
24
26
|
} catch (e) {
|
|
25
27
|
print.error(e.message);
|
package/lib/info/index.js
CHANGED
|
@@ -9,34 +9,36 @@ const fs = require('fs');
|
|
|
9
9
|
const json5 = require('json5');
|
|
10
10
|
const print = require('../print');
|
|
11
11
|
//加载命令控制器
|
|
12
|
-
const info = ()=>{
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
12
|
+
const info = () => {
|
|
13
|
+
print.info(`start checking modules|OS:${process.platform} `);
|
|
14
|
+
let rigJson5 = json5.parse(fs.readFileSync('package.rig.json5'));
|
|
15
|
+
for (let dep of rigJson5) {
|
|
16
|
+
let describeProcess = process.platform === 'win32'?shell.exec(`git ls-remote --tags --refs --sort="version:refname" ${dep.source} | awk -F/ "END{print$NF}"`,
|
|
17
|
+
{silent: true}
|
|
18
|
+
): shell.exec(`git ls-remote --tags --refs --sort="version:refname" ${dep.source} | awk -F/ 'END{print$NF}'`,
|
|
19
|
+
{silent: true}
|
|
20
|
+
);
|
|
21
|
+
let remoteLatestTag = describeProcess.stdout.trim();
|
|
22
|
+
if (dep.dev) {
|
|
23
|
+
print.warn(`[${dep.name}] is in developing.latest:${remoteLatestTag},`);
|
|
24
|
+
} else {
|
|
25
|
+
if (remoteLatestTag) {
|
|
26
|
+
if (dep.version === remoteLatestTag) {
|
|
27
|
+
print.info(`[${dep.name}] using:${dep.version},latest:${remoteLatestTag}`);
|
|
28
|
+
} else {
|
|
29
|
+
print.warn(`[${dep.name}] using:${dep.version},latest:${remoteLatestTag},Please confirm before updating!!!`);
|
|
30
|
+
}
|
|
31
|
+
} else {
|
|
32
|
+
print.error(`Get latest tag of ${dep.name} failed!Error:${describeProcess.stderr}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
34
36
|
|
|
35
37
|
}
|
|
36
38
|
const load = async (cmd) => {
|
|
37
|
-
|
|
39
|
+
info();
|
|
38
40
|
}
|
|
39
41
|
module.exports = {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
load,
|
|
43
|
+
info,
|
|
42
44
|
}
|
package/lib/postinstall/index.js
CHANGED
|
@@ -23,6 +23,7 @@ const load = async (cmd) => {
|
|
|
23
23
|
console.log(rigJson5);
|
|
24
24
|
let devDeps = [];
|
|
25
25
|
for (let dep of rigJson5) {
|
|
26
|
+
|
|
26
27
|
if (dep.dev) {
|
|
27
28
|
print.warn(`developing:${dep.name}`);
|
|
28
29
|
devDeps.push(dep.name);
|
|
@@ -35,6 +36,7 @@ const load = async (cmd) => {
|
|
|
35
36
|
'dir'
|
|
36
37
|
);
|
|
37
38
|
}
|
|
39
|
+
//TODO:检查依赖间的版本号要求
|
|
38
40
|
}
|
|
39
41
|
info.info();
|
|
40
42
|
print.succeed(`postinstall SUCCEED!`);
|
package/package.json
CHANGED