rigjs 2.1.24 → 2.1.27

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.
@@ -16,6 +16,8 @@ const traverseFolder = (url: string) => {
16
16
  filesList.push(curPath);
17
17
  }
18
18
  });
19
+ } else {
20
+ throw new Error(`Not Found FilePath: ${url}`);
19
21
  }
20
22
  };
21
23
 
@@ -21,40 +21,45 @@ const setRewriteUri = async (
21
21
  ['enhance_break']
22
22
  );
23
23
 
24
- const configId = rwriteResult?.DomainConfigList.DomainConfigModel[0].ConfigId;
25
- while (true) {
26
- const configInfo = await cdn.describeCdnDomainConfigs(domain, configId);
27
- if (configInfo.DomainConfigs.DomainConfig[0].Status === 'success') {
28
- break;
29
- }
30
- if (configInfo.DomainConfigs.DomainConfig[0].Status === 'failed') {
31
- throw new Error('cdn rewrite fail');
32
- }
33
- await delay(3000);
34
- }
24
+ const configId = rwriteResult?.DomainConfigList.DomainConfigModel[0].ConfigId;
25
+ for (let i = 0; i <= 200; i++) {
26
+ const configInfo = await cdn.describeCdnDomainConfigs(domain, configId);
27
+ if (configInfo.DomainConfigs.DomainConfig[0].Status === 'success') {
28
+ break;
29
+ } else if (configInfo.DomainConfigs.DomainConfig[0].Status === 'failed') {
30
+ throw new Error('cdn rewrite fail');
31
+ }
32
+ if (i === 200) {
33
+ throw new Error('cdn rewrite timeout 10min');
34
+ }
35
+ await delay(3000);
36
+ }
35
37
  };
36
38
 
37
39
  const refreshCache = async (urls: string[], cdn: CDN) => {
38
- const refreshResult = await cdn.refreshCache(urls.join('\n'));
39
- console.log('Please Wait For RefreshCache...');
40
- while (true) {
41
- const desResult = await cdn.describeRefreshTaskById(
42
- refreshResult.RefreshTaskId
43
- );
44
- let successCount = 0;
45
- for (const item of desResult.Tasks) {
46
- if (item.Status === 'Complete') {
47
- successCount++;
48
- } else if (item.Status === 'Failed') {
49
- throw new Error('RefreshCache Failed');
50
- }
51
- }
52
- if (successCount === desResult.Tasks.length) {
53
- break;
54
- }
55
- await delay(3000);
56
- }
57
- console.log('RefreshCache Done');
40
+ const refreshResult = await cdn.refreshCache(urls.join('\n'));
41
+ console.log('Please Wait For RefreshCache...');
42
+ for (let i = 0; i <= 200; i++) {
43
+ const desResult = await cdn.describeRefreshTaskById(
44
+ refreshResult.RefreshTaskId
45
+ );
46
+ let successCount = 0;
47
+ for (const item of desResult.Tasks) {
48
+ if (item.Status === 'Complete') {
49
+ successCount++;
50
+ } else if (item.Status === 'Failed') {
51
+ throw new Error('RefreshCache Failed');
52
+ }
53
+ }
54
+ if (successCount === desResult.Tasks.length) {
55
+ break;
56
+ }
57
+ if (i === 200) {
58
+ throw new Error('refresh cache timeout 10min');
59
+ }
60
+ await delay(3000);
61
+ }
62
+ console.log('RefreshCache Done');
58
63
  };
59
64
 
60
65
  export default async (cmd: any) => {
@@ -103,6 +108,15 @@ export default async (cmd: any) => {
103
108
  cdn
104
109
  )
105
110
  );
111
+ //mpa匹配文件
112
+ setRewriteUriPromises.push(
113
+ setRewriteUri(
114
+ domain,
115
+ `^\\/([^?]*\\.[a-zA-Z0-9]+)($|\\?)`,
116
+ `/${endpoint.deployDir.replace(/\\/g, '/')}/$1`,
117
+ cdn
118
+ )
119
+ );
106
120
  } else if (cicd.web_type === 'history') {
107
121
  //spa/history匹配非首页
108
122
  setRewriteUriPromises.push(
@@ -113,17 +127,28 @@ export default async (cmd: any) => {
113
127
  cdn
114
128
  )
115
129
  );
130
+ //spa-history匹配文件
131
+ setRewriteUriPromises.push(
132
+ setRewriteUri(
133
+ domain,
134
+ `^\\/([^?]*\\.[a-zA-Z0-9]+)($|\\?)`,
135
+ `/${endpoint.deployDir.replace(/\\/g, '/')}/$1`,
136
+ cdn
137
+ )
138
+ );
139
+ }else{
140
+ //spa-hash匹配文件
141
+ //hash模式支持一个域名支持多个网页应用的入口路径,如/,/app1,/app2,都是不同的网页应用
142
+ //需要替换webpack中的publicPath为实际OSS的目录
143
+ setRewriteUriPromises.push(
144
+ setRewriteUri(
145
+ domain,
146
+ `^\\/([^?]*\\.[a-zA-Z0-9]+)($|\\?)`,
147
+ `/$1`,
148
+ cdn
149
+ )
150
+ );
116
151
  }
117
- //匹配文件,3个模式通用
118
- const divide = webEntryPath === '/' ? '' : '/';
119
- setRewriteUriPromises.push(
120
- setRewriteUri(
121
- domain,
122
- `^${webEntryPath}${divide}([^?]*\\.[a-zA-Z0-9]+)($|\\?)`,
123
- `/${endpoint.deployDir.replace(/\\/g, '/')}/$1`,
124
- cdn
125
- )
126
- );
127
152
  //首页匹配正则,hash,history,mpa三个模式通用
128
153
  setRewriteUriPromises.push(
129
154
  setRewriteUri(
@@ -145,14 +170,25 @@ export default async (cmd: any) => {
145
170
  }
146
171
 
147
172
  for (const domain of endpoint.domains) {
148
- setRewriteUriPromises.push(
149
- setRewriteUri(
150
- domain,
151
- '^\\/([^?]*\\.[a-zA-Z0-9]+)($|\\?)',
152
- `/${endpoint.deployDir.replace(/\\/g, '/')}/$1`,
153
- cdn
154
- )
155
- );
173
+ if (cicd.web_type !== 'hash'){
174
+ setRewriteUriPromises.push(
175
+ setRewriteUri(
176
+ domain,
177
+ '^\\/([^?]*\\.[a-zA-Z0-9]+)($|\\?)',
178
+ `/${endpoint.deployDir.replace(/\\/g, '/')}/$1`,
179
+ cdn
180
+ )
181
+ );
182
+ }else{
183
+ setRewriteUriPromises.push(
184
+ setRewriteUri(
185
+ domain,
186
+ '^\\/([^?]*\\.[a-zA-Z0-9]+)($|\\?)',
187
+ `/$1`,
188
+ cdn
189
+ )
190
+ );
191
+ }
156
192
  setRewriteUriPromises.push(
157
193
  setRewriteUri(
158
194
  domain,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rigjs",
3
- "version": "2.1.24",
3
+ "version": "2.1.27",
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",