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 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
- pkgStr = fs.readFileSync('package.json').toString();
9
- pkg = JSON.parse(pkgStr);
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
 
@@ -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);
@@ -0,0 +1,10 @@
1
+ const checkDepVersions = ()=>{
2
+ console.log('deps is in developing');
3
+ }
4
+ const load = async (cmd) => {
5
+ checkDepVersions();
6
+ }
7
+ module.exports = {
8
+ load,
9
+ checkDepVersions,
10
+ }
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
- print.info(`start checking modules`);
14
- let rigJson5 = json5.parse(fs.readFileSync('package.rig.json5'));
15
- for (let dep of rigJson5) {
16
- let describeProcess = shell.exec(`git ls-remote --tags --refs --sort="version:refname" ${dep.source} | awk -F/ 'END{print$NF}'`,
17
- {silent: true}
18
- );
19
- let remoteLatestTag = describeProcess.stdout.trim();
20
- if (dep.dev){
21
- print.warn(`[${dep.name}] is in developing.latest:${remoteLatestTag},`);
22
- }else{
23
- if (remoteLatestTag) {
24
- if (dep.version === remoteLatestTag) {
25
- print.info(`[${dep.name}] using:${dep.version},latest:${remoteLatestTag}`);
26
- } else {
27
- print.warn(`[${dep.name}] using:${dep.version},latest:${remoteLatestTag},Please confirm before updating!!!`);
28
- }
29
- } else {
30
- print.warn(`Get latest tag failed!Error:${describeProcess.stderr}`);
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
- info();
39
+ info();
38
40
  }
39
41
  module.exports = {
40
- load,
41
- info,
42
+ load,
43
+ info,
42
44
  }
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rigjs",
3
- "version": "1.0.29",
3
+ "version": "1.0.32",
4
4
  "description": "A multi-repos dev tool based on yarn and git.Rig is inspired by cocoapods. Not like those monorepo solutions,rig is a tool for organizing multi-repos.",
5
5
  "keywords": [
6
6
  "modular",