rigjs 1.0.28 → 1.0.31

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
@@ -152,6 +152,12 @@ Make sure you are not using developing modules for production.
152
152
  ### rig tag
153
153
  Using version in package.json to tag.
154
154
 
155
+ ### rig --env fp_test
156
+ This command automatically reads the file named "env.rig.json5" in the root directory,
157
+ and looks for the environment variable configuration in mode "fp_test",
158
+ and eventually generates a file for you with a fixed name of ".env.rig".
159
+ Warning: Like "fp_test" is a mandatory variable.
160
+
155
161
  ## TODO
156
162
  rig install不覆盖rigs下的文件
157
163
  es5兼容文档
package/README_CN.md CHANGED
@@ -149,5 +149,9 @@ rig机制概括起来就是分库开发,整体构建。
149
149
  使用package.json中的version打tag
150
150
  //TODO:自动检查是否存在未提交代码。
151
151
 
152
+ ### rig --env fp_test
153
+ 该指令首先会在根目录下寻找名为'env.rig.json5'的文件,然后根据所传变量fp_test去该文件读取相应配置,
154
+ 最后自动将该配置写入固定名称为".env.rig"的文件。注意:类似"fp_test"的变量为必传项。
155
+
152
156
  ###rig info
153
157
  查看模块配置信息
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`);
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.28",
3
+ "version": "1.0.31",
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",
@@ -1,252 +0,0 @@
1
- {
2
- "fp_test": {
3
- "APP_TYPE": "fp",
4
- "OUT_PUT_DIR": "dist_test",
5
- "NODE_ENV": "development",
6
- "BUILD_TYPE": "test2",
7
- "VUE_APP_LOGIN_URL": "https://test2-signin.rys.cn",
8
- "VUE_APP_API_ROOT": "https://test2-uaa.rys.cn",
9
- "VUE_APP_PRODUCT_ID": "18",
10
- "VUE_APP_VIEW_ID": "31",
11
- "VUE_APP_LESSEE_ID": "1"
12
- },
13
- "youzan_test": {
14
- "APP_TYPE": "youzan",
15
- "OUT_PUT_DIR" : "dist_test",
16
- "NODE_ENV": "development",
17
- "BUILD_TYPE": "test2",
18
- "VUE_APP_LOGIN_URL": "https://test2-signin.rys.cn",
19
- "VUE_APP_API_ROOT": "https://test2-uaa.rys.cn",
20
- "VUE_APP_PRODUCT_ID": "18",
21
- "VUE_APP_VIEW_ID": "31",
22
- "VUE_APP_LESSEE_ID": "1",
23
- "VUE_APP_OEM": "youzan"
24
- },
25
- "view_test": {
26
- "APP_TYPE": "view",
27
- "OUT_PUT_DIR" : "dist",
28
- "NODE_ENV": "development",
29
- "BUILD_TYPE": "test2",
30
- "VUE_APP_LOGIN_URL": "https://test2-signin.rys.cn",
31
- "VUE_APP_API_ROOT": "https://test2-uaa.rys.cn",
32
- "VUE_APP_PRODUCT_ID": "28",
33
- "VUE_APP_LESSEE_ID": "1"
34
- },
35
- "yungu": {
36
- "APP_TYPE": "yungu",
37
- "OUT_PUT_DIR" : "dist",
38
- "NODE_ENV": "production",
39
- "BUILD_TYPE": "pro",
40
- "VUE_APP_LOGIN_URL": "https://login.wangshangyungu.com",
41
- "VUE_APP_API_ROOT": "https://gateway.rys.com",
42
- "VUE_APP_PRODUCT_ID": "",
43
- "VUE_APP_LESSEE_ID": ""
44
- },
45
- "cnhk_test": {
46
- "APP_TYPE": "cnhk_view",
47
- "OUT_PUT_DIR" : "dist",
48
- "NODE_ENV": "development",
49
- "BUILD_TYPE": "local",
50
- "VUE_APP_LOGIN_URL": "http://signin.local.rys.cn",
51
- "VUE_APP_API_ROOT": "http://uaa.local.rys.cn",
52
- "VUE_APP_PRODUCT_ID": "29",
53
- "VUE_APP_LESSEE_ID": "1",
54
- "VUE_APP_OEM": "cnhk"
55
- },
56
- "cnhk_qyfp_test": {
57
- "APP_TYPE": "cnhk_qyfp",
58
- "OUT_PUT_DIR" : "dist",
59
- "NODE_ENV": "development",
60
- "BUILD_TYPE": "test2",
61
- "VUE_APP_LOGIN_URL": "https://test2-signin.rys.cn",
62
- "VUE_APP_API_ROOT": "https://test2-uaa.rys.cn",
63
- "VUE_APP_PRODUCT_ID": "18",
64
- "VUE_APP_LESSEE_ID": "1",
65
- "VUE_APP_OEM": "cnhk_qyfp"
66
- },
67
- "cnhk_qyfp_local": {
68
- "APP_TYPE": "cnhk_qyfp",
69
- "OUT_PUT_DIR" : "dist",
70
- "NODE_ENV": "development",
71
- "BUILD_TYPE": "local",
72
- "VUE_APP_LOGIN_URL": "http://signin.local.rys.cn",
73
- "VUE_APP_API_ROOT": "http://uaa.local.rys.cn",
74
- "VUE_APP_PRODUCT_ID": "18",
75
- "VUE_APP_LESSEE_ID": "1",
76
- "VUE_APP_OEM": "cnhk_qyfp"
77
- },
78
- "yungu_test": {
79
- "APP_TYPE": "yungu",
80
- "OUT_PUT_DIR" : "dist_test",
81
- "NODE_ENV": "development",
82
- "BUILD_TYPE": "test",
83
- "VUE_APP_LOGIN_URL": "http://yungulogin.rys.com",
84
- "VUE_APP_API_ROOT": "http://test-gateway.rys.cn",
85
- "VUE_APP_PRODUCT_ID": "",
86
- "VUE_APP_LESSEE_ID": ""
87
- },
88
- "yungu_pre": {
89
- "APP_TYPE": "yungu",
90
- "OUT_PUT_DIR" : "dist_pre",
91
- "NODE_ENV": "development",
92
- "BUILD_TYPE": "pre",
93
- "VUE_APP_LOGIN_URL": "http://yunguogin.rys.com",
94
- "VUE_APP_API_ROOT": "https://test-gateway.rys.cn",
95
- "VUE_APP_PRODUCT_ID": "",
96
- "VUE_APP_LESSEE_ID": ""
97
- },
98
- "test": {
99
-
100
- },
101
- "fp": {
102
- "APP_TYPE": "fp",
103
- "OUT_PUT_DIR" : "dist",
104
- "NODE_ENV": "production",
105
- "BUILD_TYPE": "pro",
106
- "VUE_APP_LOGIN_URL": "https://signin.rys.com",
107
- "VUE_APP_API_ROOT": "https://uaa-gateway.rys.com",
108
- "VUE_APP_PRODUCT_ID": "18",
109
- "VUE_APP_LESSEE_ID": "1"
110
- },
111
- "dev_guard_docker": {
112
- "APP_TYPE": "guard_docker",
113
- "OUT_PUT_DIR" : "dev",
114
- "NODE_ENV": "production",
115
- "VUE_APP_LOGIN_URL": "NGINX_REPLACE_SIGNIN_URL",
116
- "VUE_APP_API_ROOT": "NGINX_REPLACE_UAA_URL",
117
- "VUE_APP_PRODUCT_ID": "18",
118
- "VUE_APP_LESSEE_ID": "1"
119
- },
120
- "prod_guard_docker": {
121
- "APP_TYPE": "guard_docker",
122
- "OUT_PUT_DIR" : "dist",
123
- "NODE_ENV": "production",
124
- "VUE_APP_LOGIN_URL": "NGINX_REPLACE_SIGNIN_URL",
125
- "VUE_APP_API_ROOT": "NGINX_REPLACE_UAA_URL",
126
- "VUE_APP_PRODUCT_ID": "18",
127
- "VUE_APP_LESSEE_ID": "1"
128
- },
129
- "dev_fp_docker": {
130
- "APP_TYPE": "fp_docker",
131
- "OUT_PUT_DIR" : "dev",
132
- "NODE_ENV": "production",
133
- "VUE_APP_LOGIN_URL": "NGINX_REPLACE_SIGNIN_URL",
134
- "VUE_APP_API_ROOT": "NGINX_REPLACE_UAA_URL",
135
- "VUE_APP_PRODUCT_ID": "18",
136
- "VUE_APP_LESSEE_ID": "1"
137
- },
138
- "prod_fp_docker": {
139
- "APP_TYPE": "fp_docker",
140
- "OUT_PUT_DIR" : "dist",
141
- "NODE_ENV": "production",
142
- "VUE_APP_LOGIN_URL": "NGINX_REPLACE_SIGNIN_URL",
143
- "VUE_APP_API_ROOT": "NGINX_REPLACE_UAA_URL",
144
- "VUE_APP_PRODUCT_ID": "18",
145
- "VUE_APP_LESSEE_ID": "1"
146
- },
147
- "dev_view_docker": {
148
- "APP_TYPE": "view_docker",
149
- "PUBLIC_PATH" : "/view-fp",
150
- "OUT_PUT_DIR": "dev",
151
- "NODE_ENV": "production",
152
- "VUE_APP_LOGIN_URL": "NGINX_REPLACE_SIGNIN_URL",
153
- "VUE_APP_API_ROOT": "NGINX_REPLACE_UAA_URL",
154
- "VUE_APP_PRODUCT_ID": "10",
155
- "VUE_APP_LESSEE_ID": "1"
156
- },
157
- "prod_view_docker": {
158
- "APP_TYPE": "view_docker",
159
- "PUBLIC_PATH" : "/view-fp",
160
- "OUT_PUT_DIR": "dist",
161
- "NODE_ENV": "production",
162
- "VUE_APP_LOGIN_URL": "NGINX_REPLACE_SIGNIN_URL",
163
- "VUE_APP_API_ROOT": "NGINX_REPLACE_UAA_URL",
164
- "VUE_APP_PRODUCT_ID": "10",
165
- "VUE_APP_LESSEE_ID": "1"
166
- },
167
- "prod_view_zhs": {
168
- "APP_TYPE": "view_docker",
169
- "PUBLIC_PATH" : "/view-fp",
170
- "OUT_PUT_DIR": "dist",
171
- "NODE_ENV": "production",
172
- "VUE_APP_LOGIN_URL": "NGINX_REPLACE_ZHS_SIGNIN_URL",
173
- "VUE_APP_API_ROOT": "NGINX_REPLACE_UAA_URL",
174
- "VUE_APP_PRODUCT_ID": "10",
175
- "VUE_APP_LESSEE_ID": "1",
176
- "VUE_APP_OEM": "zhs"
177
- },
178
- "dev_view_zhs": {
179
- "APP_TYPE": "view_docker",
180
- "PUBLIC_PATH" : "/view-fp",
181
- "OUT_PUT_DIR": "dev",
182
- "NODE_ENV": "production",
183
- "VUE_APP_LOGIN_URL": "NGINX_REPLACE_ZHS_SIGNIN_URL",
184
- "VUE_APP_API_ROOT": "NGINX_REPLACE_UAA_URL",
185
- "VUE_APP_PRODUCT_ID": "10",
186
- "VUE_APP_LESSEE_ID": "1",
187
- "VUE_APP_OEM": "zhs"
188
- },
189
- "dev_yungu_docker": {
190
- "APP_TYPE": "yungu_docker",
191
- "OUT_PUT_DIR": "dev",
192
- "NODE_ENV": "production",
193
- "VUE_APP_LOGIN_URL": "NGINX_REPLACE_YGGW_URL",
194
- "VUE_APP_API_ROOT": "NGINX_REPLACE_GATEWAY_URL",
195
- "VUE_APP_PRODUCT_ID": "",
196
- "VUE_APP_LESSEE_ID": ""
197
- },
198
- "prod_yungu_docker": {
199
- "APP_TYPE": "yungu_docker",
200
- "OUT_PUT_DIR": "dist",
201
- "NODE_ENV": "production",
202
- "VUE_APP_LOGIN_URL": "NGINX_REPLACE_YGGW_URL",
203
- "VUE_APP_API_ROOT": "NGINX_REPLACE_GATEWAY_URL",
204
- "VUE_APP_PRODUCT_ID": "",
205
- "VUE_APP_LESSEE_ID": ""
206
- },
207
- "test_youzan_docker": {
208
- "APP_TYPE": "youzan_docker",
209
- "OUT_PUT_DIR": "dist",
210
- "PUBLIC_PATH": "/fp",
211
- "NODE_ENV": "production",
212
- "VUE_APP_LOGIN_URL": "",
213
- "VUE_APP_API_ROOT": "https://test2-uaa.rys.cn",
214
- "VUE_APP_PRODUCT_ID": "18",
215
- "VUE_APP_LESSEE_ID": "1",
216
- "VUE_APP_OEM": "youzan"
217
- },
218
- "prod_youzan_docker": {
219
- "APP_TYPE": "youzan_docker",
220
- "OUT_PUT_DIR": "dist",
221
- "PUBLIC_PATH": "/fp",
222
- "NODE_ENV": "production",
223
- "VUE_APP_LOGIN_URL": "",
224
- "VUE_APP_API_ROOT": "https://uaa-gateway.rys.com",
225
- "VUE_APP_PRODUCT_ID": "18",
226
- "VUE_APP_LESSEE_ID": "1",
227
- "VUE_APP_OEM": "youzan"
228
- },
229
- "dev_cnhk_docker": {
230
- "APP_TYPE": "cnhk_docker",
231
- "PUBLIC_PATH": "/view-fp",
232
- "OUT_PUT_DIR": "dev",
233
- "NODE_ENV": "production",
234
- "VUE_APP_LOGIN_URL": "NGINX_REPLACE_CNHK_SIGNIN_URL",
235
- "VUE_APP_API_ROOT": "NGINX_REPLACE_UAA_URL",
236
- "VUE_APP_PRODUCT_ID": "29",
237
- "VUE_APP_LESSEE_ID": "1",
238
- "VUE_APP_OEM": "cnhk"
239
- },
240
- "prod_cnhk_docker": {
241
- "APP_TYPE": "cnhk_docker",
242
- "PUBLIC_PATH": "/view-fp",
243
- "OUT_PUT_DIR": "dist",
244
- "NODE_ENV": "production",
245
- "VUE_APP_LOGIN_URL": "NGINX_REPLACE_CNHK_SIGNIN_URL",
246
- "VUE_APP_API_ROOT": "NGINX_REPLACE_UAA_URL",
247
- "VUE_APP_PRODUCT_ID": "29",
248
- "VUE_APP_LESSEE_ID": "1",
249
- "VUE_APP_OEM": "cnhk"
250
- },
251
-
252
- }