@ray-js/build-plugin-router 0.6.21 → 0.6.22-beta-2
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/lib/index.js +196 -126
- package/package.json +7 -5
- package/templates/routes.config.ejs +0 -1
- package/lib/index.js.map +0 -1
package/lib/index.js
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
2
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
15
|
};
|
|
@@ -10,17 +21,148 @@ const lodash_1 = __importDefault(require("lodash"));
|
|
|
10
21
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
11
22
|
const ejs_1 = __importDefault(require("ejs"));
|
|
12
23
|
const shared_1 = require("@ray-js/shared");
|
|
24
|
+
const url_1 = __importDefault(require("url"));
|
|
25
|
+
const path_to_regexp_1 = require("path-to-regexp");
|
|
13
26
|
function ejsRender(file, data, options) {
|
|
14
27
|
const str = fs_extra_1.default.readFileSync(file).toString();
|
|
15
28
|
return ejs_1.default.render(str, data, Object.assign(Object.assign({}, options), { async: false }));
|
|
16
29
|
}
|
|
17
30
|
colors_1.default.enable();
|
|
18
31
|
const LOG_PREFIX = `build-plugin-router`;
|
|
19
|
-
function
|
|
20
|
-
|
|
32
|
+
function printError(msg) {
|
|
33
|
+
shared_1.log.error(LOG_PREFIX, '');
|
|
34
|
+
console.error(msg);
|
|
35
|
+
}
|
|
36
|
+
// 找出重复的项
|
|
37
|
+
function duplicates(arr, fn, key) {
|
|
38
|
+
const _arr = arr.concat().sort(fn);
|
|
39
|
+
const res = [];
|
|
40
|
+
let b = [];
|
|
41
|
+
for (let i = 1; i < _arr.length; i++) {
|
|
42
|
+
let curr = _arr[i];
|
|
43
|
+
let old = _arr[i - 1];
|
|
44
|
+
if (key) {
|
|
45
|
+
curr = curr[key];
|
|
46
|
+
old = old[key];
|
|
47
|
+
}
|
|
48
|
+
if (curr == old) {
|
|
49
|
+
if (!b.some((x) => (key ? x[key] : x) == curr)) {
|
|
50
|
+
b.unshift(_arr[i - 1]);
|
|
51
|
+
}
|
|
52
|
+
if (key) {
|
|
53
|
+
b.unshift(_arr[i]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
if (key && b.length) {
|
|
58
|
+
res.push(b);
|
|
59
|
+
b = [];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (key && b.length) {
|
|
64
|
+
res.push(b);
|
|
65
|
+
}
|
|
66
|
+
return key ? res : b;
|
|
67
|
+
}
|
|
68
|
+
const standardAppConfigFieldMap = [
|
|
69
|
+
['textColor', 'color'],
|
|
70
|
+
'borderStyle',
|
|
71
|
+
'selectedColor',
|
|
72
|
+
'backgroundColor',
|
|
73
|
+
];
|
|
74
|
+
function normalizeTabBarConfig(config, routes, fields) {
|
|
75
|
+
let _a = config || {}, { list } = _a, rest = __rest(_a, ["list"]);
|
|
76
|
+
let cfg;
|
|
77
|
+
list = list.map((tab) => {
|
|
78
|
+
for (const r of routes) {
|
|
79
|
+
// 兼容老项目
|
|
80
|
+
if (tab.id === r.id) {
|
|
81
|
+
return Object.assign(Object.assign({}, tab), { pagePath: r.path });
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return tab;
|
|
85
|
+
});
|
|
86
|
+
if (list && list.length) {
|
|
87
|
+
const _cfg = {};
|
|
88
|
+
// tabBar.list[number].pagePath 必须在 routes[number].page 中,即tab.pagePath === routes[number].page
|
|
89
|
+
// tabBar.list[number].route 可不配置
|
|
90
|
+
// tabBar.list[number].route 若未配置,则设置 tabBar.list[number].route = routes[number].page(非模式匹配)或tabBar.list[number].pagePath
|
|
91
|
+
// tabBar.list[number].route 不能用模式,如不能用/xxx/:id等,必须是明确的 如/xxx/123
|
|
92
|
+
// tabBar.list[number].route 必须要能命中对应routes[number].route 路由规则,规则详见 path-to-regexp 模块
|
|
93
|
+
const tabs = list
|
|
94
|
+
.map((tab, index) => {
|
|
95
|
+
var _a;
|
|
96
|
+
const m = routes.find((i) => {
|
|
97
|
+
return (tab.pagePath === i.path ||
|
|
98
|
+
// 兼容老项目
|
|
99
|
+
tab.id === i.id);
|
|
100
|
+
});
|
|
101
|
+
if (!m) {
|
|
102
|
+
printError(`tabBar.list[${index}].pagePath: ${tab.pagePath} 需要在路由配置中: \n${JSON.stringify(routes, null, 2)}`.red);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
let pagePath = tab.pagePath.replace(/^\//, '');
|
|
106
|
+
const urlObj = url_1.default.parse(pagePath);
|
|
107
|
+
if (urlObj.hash || urlObj.search) {
|
|
108
|
+
printError(`tabBar.list[${index}]: ${tab.pagePath} 不能携带参数`.red);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
pagePath = urlObj.pathname;
|
|
112
|
+
if (!tab.route) {
|
|
113
|
+
// 判断 routes[number].route 是否为模式匹配规则
|
|
114
|
+
tab.route = m.route && (0, path_to_regexp_1.parse)(m.route).length === 1 ? m.route : m.path;
|
|
115
|
+
}
|
|
116
|
+
// 判断是否能被路由命中
|
|
117
|
+
const matched = (0, path_to_regexp_1.match)((_a = m.route) !== null && _a !== void 0 ? _a : m.path)(tab.route);
|
|
118
|
+
if (!matched) {
|
|
119
|
+
printError(`tabBar.list[${index}]\n.route: ${tab.route}\n.pagePath: ${tab.pagePath}\n无法被路由命中: \n${JSON.stringify(m, null, 2)}`.red);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
// 判断是否还被其他路由命中
|
|
123
|
+
const otherMatched = routes
|
|
124
|
+
.filter((r) => tab.pagePath !== r.path)
|
|
125
|
+
.filter((r) => { var _a; return (0, path_to_regexp_1.match)((_a = r.route) !== null && _a !== void 0 ? _a : r.path)(tab.route); });
|
|
126
|
+
const unusable = otherMatched.filter((r) => r.path !== tab.pagePath);
|
|
127
|
+
if (unusable.length) {
|
|
128
|
+
printError(`tabBar.list[${index}]\n.route: ${tab.route}\n.pagePath: ${tab.pagePath}\n应被路由命中:\n${JSON.stringify(m, null, 2)}\n但同时又被其它路由命中:\n${JSON.stringify(unusable, null, 2)}`.red);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
// tab中配置的页面.route 匹配的页面为模式匹配,需给出告警
|
|
132
|
+
if (!lodash_1.default.isEmpty(matched.params)) {
|
|
133
|
+
console.warn(LOG_PREFIX, `tabBar.list[${index}].route: ${tab.route} 命中的路由 \n${JSON.stringify(m, null, 2)}.route: ${m.route} 为模式匹配\ntab页不能携带参数`.yellow);
|
|
134
|
+
}
|
|
135
|
+
return {
|
|
136
|
+
pagePath,
|
|
137
|
+
text: tab.text,
|
|
138
|
+
iconPath: tab.icon,
|
|
139
|
+
selectedIconPath: tab.activeIcon,
|
|
140
|
+
};
|
|
141
|
+
})
|
|
142
|
+
.filter((tab) => !!tab);
|
|
143
|
+
if (tabs.length < 2 || tabs.length > 5) {
|
|
144
|
+
printError(`tabBar.list 最少 2 个、最多 5 个 tab`.red);
|
|
145
|
+
return cfg;
|
|
146
|
+
}
|
|
147
|
+
_cfg.list = tabs;
|
|
148
|
+
// 找出 tabBar.list[number].pagePath 重复的配置
|
|
149
|
+
const _list = duplicates(tabs, (a, b) => (a.pagePath > b.pagePath ? 1 : a.pagePath == b.pagePath ? 0 : -1), 'pagePath');
|
|
150
|
+
if (_list.length) {
|
|
151
|
+
console.error(LOG_PREFIX, `tabBar.list不能有重复的页面: \n${JSON.stringify(_list, null, 2)}`.red);
|
|
152
|
+
}
|
|
153
|
+
cfg = fields.reduce((o, next) => {
|
|
154
|
+
const [src, t] = typeof next === 'string' ? [next] : next;
|
|
155
|
+
if (rest[src]) {
|
|
156
|
+
o[t || src] = rest[src];
|
|
157
|
+
}
|
|
158
|
+
return o;
|
|
159
|
+
}, _cfg);
|
|
160
|
+
}
|
|
161
|
+
return cfg;
|
|
21
162
|
}
|
|
22
163
|
function PluginRouter(api) {
|
|
23
164
|
let cacheThemeLocation = {};
|
|
165
|
+
let timerId;
|
|
24
166
|
return {
|
|
25
167
|
name: '@ray-js/build-plugin-router',
|
|
26
168
|
setup() {
|
|
@@ -40,160 +182,84 @@ function PluginRouter(api) {
|
|
|
40
182
|
});
|
|
41
183
|
}
|
|
42
184
|
},
|
|
43
|
-
|
|
44
|
-
var _a;
|
|
185
|
+
readConfigFromConfigFile() {
|
|
45
186
|
const routesConfigFile = api.searchJSFile('src/routes.config');
|
|
46
|
-
const { target } = api.options;
|
|
47
187
|
if (!routesConfigFile) {
|
|
48
|
-
throw new Error(`missing configuration file (routes.config.ts)`);
|
|
188
|
+
throw new Error(`missing configuration file (routes.config.{ts|js})`);
|
|
49
189
|
}
|
|
50
190
|
const globalConfigFile = api.searchJSFile('src/global.config');
|
|
51
191
|
const routesConfig = api.requireJSFile(routesConfigFile);
|
|
52
192
|
const globalConfig = globalConfigFile ? api.requireJSFile(globalConfigFile, '*') : {};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
target === 'thing' || target === 'tuya' ? thingGlobalConfig : globalConfig[target];
|
|
65
|
-
const appConfig = (_a = this[`get${_target}AppConfigData`]) === null || _a === void 0 ? void 0 : _a.call(this, routesConfig, targetGlobalConfig !== null && targetGlobalConfig !== void 0 ? targetGlobalConfig : {});
|
|
66
|
-
if (lodash_1.default.isEmpty(appConfig.tabBar)) {
|
|
67
|
-
delete appConfig.tabBar; // 微信小程序tabBar不能为空对象,所以当为空对象时,索性所有小程序都删了
|
|
193
|
+
return { routesConfig, globalConfig };
|
|
194
|
+
},
|
|
195
|
+
buildRoutesConfig(immediate) {
|
|
196
|
+
clearTimeout(timerId);
|
|
197
|
+
const { routesConfig, globalConfig } = this.readConfigFromConfigFile();
|
|
198
|
+
// target 在入口处已经统一处理,tuya 会转成 thing
|
|
199
|
+
const { target } = api.options;
|
|
200
|
+
// 不是这两端的,其他的默认为web端,tuya thing 其实为同一个端,统一成 thing
|
|
201
|
+
if (!['wechat', 'thing'].includes(target)) {
|
|
202
|
+
// web端逻辑已经移到 @ray-js/builder-web
|
|
203
|
+
return;
|
|
68
204
|
}
|
|
205
|
+
const appConfig = this.getStandardAppConfigData(routesConfig, globalConfig);
|
|
69
206
|
this.generateThemeConfig(appConfig);
|
|
70
207
|
// FIX: 修复初始化时找不到配置文件
|
|
71
208
|
// 初始化时,需要立即生成配置文件
|
|
72
209
|
if (immediate) {
|
|
73
|
-
return this.generateAppConfig(
|
|
210
|
+
return this.generateAppConfig(target, appConfig);
|
|
74
211
|
}
|
|
75
212
|
// FIX: 修复间接(更新routes.config.ts)更新app.config.ts文件,无法触发重新编译,导致小程序app.json未更新
|
|
76
213
|
// 原因:/node_modules/@ray-core/cli/lib/build/watch.js 中的变量isRunning为true
|
|
77
214
|
// 在更新routes.config.ts触发的编译未完成,又因间接更新app.config.ts的触发重新编译被remax忽略导致
|
|
78
215
|
// TODO: 此为临时方案,无法确定第一次更新什么时候完成,默认延时1s
|
|
79
|
-
setTimeout(() => {
|
|
80
|
-
this.generateAppConfig(
|
|
216
|
+
timerId = setTimeout(() => {
|
|
217
|
+
this.generateAppConfig(target, appConfig);
|
|
81
218
|
}, 1000);
|
|
82
219
|
},
|
|
83
220
|
/**
|
|
84
|
-
*
|
|
221
|
+
* 获取小程序的 app.config 配置
|
|
85
222
|
* @param routesConfig - routes.config 配置内容
|
|
86
|
-
* @param
|
|
223
|
+
* @param globalConfig - 已存在的应用配置
|
|
87
224
|
*/
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (tabBar === null || tabBar === void 0 ? void 0 : tabBar.borderStyle) {
|
|
96
|
-
tabBarConfig.borderStyle = tabBar.borderStyle;
|
|
97
|
-
}
|
|
98
|
-
if (tabBar === null || tabBar === void 0 ? void 0 : tabBar.selectedColor) {
|
|
99
|
-
tabBarConfig.selectedColor = tabBar.selectedColor;
|
|
100
|
-
}
|
|
101
|
-
if (tabBar === null || tabBar === void 0 ? void 0 : tabBar.backgroundColor) {
|
|
102
|
-
tabBarConfig.backgroundColor = tabBar.backgroundColor;
|
|
103
|
-
}
|
|
104
|
-
if (tabBar === null || tabBar === void 0 ? void 0 : tabBar.list) {
|
|
105
|
-
tabBarConfig.list = tabBar.list.map((tab) => {
|
|
106
|
-
const pagePath = routes.find((route) => route.id === tab.id);
|
|
107
|
-
return {
|
|
108
|
-
pagePath: pagePath.path.replace(/^\//, ''),
|
|
109
|
-
text: tab.text,
|
|
110
|
-
iconPath: tab.icon,
|
|
111
|
-
selectedIconPath: tab.activeIcon,
|
|
112
|
-
};
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
const subpackagesConfig = subpackages.map((subpackage) => {
|
|
225
|
+
getStandardAppConfigData(routesConfig, globalConfig) {
|
|
226
|
+
var _a, _b, _c, _d, _e, _f;
|
|
227
|
+
const { target } = api.options;
|
|
228
|
+
const g = target === 'thing'
|
|
229
|
+
? (_b = (_a = globalConfig['thing']) !== null && _a !== void 0 ? _a : globalConfig['tuya']) !== null && _b !== void 0 ? _b : {} // 因历史原因,需要兼容老项目的老配置,老项目中都是 tuya
|
|
230
|
+
: (_c = globalConfig[target]) !== null && _c !== void 0 ? _c : {};
|
|
231
|
+
const routes = ((_d = routesConfig.routes) !== null && _d !== void 0 ? _d : []).map((item) => {
|
|
116
232
|
var _a;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const config = Object.assign({}, globalConfig, {
|
|
120
|
-
pages,
|
|
121
|
-
tabBar: tabBarConfig,
|
|
122
|
-
subpackages: subpackagesConfig,
|
|
233
|
+
item.route = (_a = item.route) !== null && _a !== void 0 ? _a : item.path;
|
|
234
|
+
return item;
|
|
123
235
|
});
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
const {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
if (tabBar === null || tabBar === void 0 ? void 0 : tabBar.borderStyle) {
|
|
134
|
-
tabBarConfig.borderStyle = tabBar.borderStyle;
|
|
135
|
-
}
|
|
136
|
-
if (tabBar === null || tabBar === void 0 ? void 0 : tabBar.selectedColor) {
|
|
137
|
-
tabBarConfig.selectedColor = tabBar.selectedColor;
|
|
138
|
-
}
|
|
139
|
-
if (tabBar === null || tabBar === void 0 ? void 0 : tabBar.backgroundColor) {
|
|
140
|
-
tabBarConfig.backgroundColor = tabBar.backgroundColor;
|
|
141
|
-
}
|
|
142
|
-
if (tabBar === null || tabBar === void 0 ? void 0 : tabBar.list) {
|
|
143
|
-
tabBarConfig.list = tabBar.list.map((tab) => {
|
|
144
|
-
const pagePath = routes.find((route) => route.id === tab.id);
|
|
145
|
-
return {
|
|
146
|
-
pagePath: pagePath.path.replace(/^\//, ''),
|
|
147
|
-
text: tab.text,
|
|
148
|
-
iconPath: tab.icon,
|
|
149
|
-
selectedIconPath: tab.activeIcon,
|
|
150
|
-
};
|
|
236
|
+
const subPkgs = (_f = (_e = routesConfig.subPackages) !== null && _e !== void 0 ? _e : routesConfig.subpackages) !== null && _f !== void 0 ? _f : [];
|
|
237
|
+
const pages = lodash_1.default.uniq(routes.map((r) => r.path.replace(/^\//, '')));
|
|
238
|
+
const tabBar = normalizeTabBarConfig(routesConfig.tabBar, routes, standardAppConfigFieldMap);
|
|
239
|
+
const config = Object.assign(Object.assign({}, g), { pages, tabBar });
|
|
240
|
+
if (subPkgs && subPkgs.length) {
|
|
241
|
+
config.subpackages = subPkgs.map((pkg) => {
|
|
242
|
+
var _a;
|
|
243
|
+
const pages = lodash_1.default.uniq((_a = pkg.pages) === null || _a === void 0 ? void 0 : _a.map((r) => r.path.replace(/^\//, '')));
|
|
244
|
+
return Object.assign(Object.assign({}, pkg), { pages });
|
|
151
245
|
});
|
|
152
246
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
});
|
|
247
|
+
if (lodash_1.default.isEmpty(config.tabBar)) {
|
|
248
|
+
lodash_1.default.unset(config, 'tabBar');
|
|
249
|
+
}
|
|
157
250
|
return config;
|
|
158
251
|
},
|
|
159
|
-
|
|
252
|
+
/**
|
|
253
|
+
* 生成小程序app.config.{js|ts}文件
|
|
254
|
+
* @param data
|
|
255
|
+
*/
|
|
256
|
+
generateAppConfig(target, data) {
|
|
160
257
|
const templateFile = path_1.default.join(__dirname, '../templates/app.config.ejs');
|
|
161
|
-
const context = ejsRender(templateFile, { appConfig: data });
|
|
258
|
+
const context = ejsRender(templateFile, { appConfig: { [target]: data } });
|
|
162
259
|
api.writeFile('src/app.config.ts', context);
|
|
163
260
|
shared_1.log.verbose(LOG_PREFIX, `generate`, 'src/app.config.ts'.underline.green, `for wechat platform`);
|
|
164
261
|
},
|
|
165
|
-
|
|
166
|
-
const { routes } = params;
|
|
167
|
-
const routesConfig = this.routesAdditionConfig(routes);
|
|
168
|
-
const templateFile = path_1.default.join(__dirname, '../templates/routes.config.ejs');
|
|
169
|
-
const pages = routesConfig.map((item) => {
|
|
170
|
-
const chunkName = normalizeRoute(item.id || item.route);
|
|
171
|
-
return {
|
|
172
|
-
id: item.id || '',
|
|
173
|
-
route: item.route,
|
|
174
|
-
path: item.path,
|
|
175
|
-
config: item.config,
|
|
176
|
-
chunkName,
|
|
177
|
-
};
|
|
178
|
-
});
|
|
179
|
-
const context = ejsRender(templateFile, { pages });
|
|
180
|
-
api.writeFile('.ray/router.config.ts', context);
|
|
181
|
-
shared_1.log.verbose(LOG_PREFIX, `generate`, '.ray/router.config.ts'.green.underline, `for web platform`);
|
|
182
|
-
},
|
|
183
|
-
/**
|
|
184
|
-
* 附加路由的配置信息
|
|
185
|
-
* @param routes - 路由配置
|
|
186
|
-
*/
|
|
187
|
-
routesAdditionConfig(routes) {
|
|
188
|
-
return routes.map((route) => {
|
|
189
|
-
let config = {};
|
|
190
|
-
const configFilePath = api.searchJSFile(api.options.source + route.path + '.config');
|
|
191
|
-
if (configFilePath) {
|
|
192
|
-
config = `require('@${route.path + '.config'}').web || {}`;
|
|
193
|
-
}
|
|
194
|
-
return Object.assign(Object.assign({}, route), { config: config });
|
|
195
|
-
});
|
|
196
|
-
},
|
|
262
|
+
// todo theme 逻辑不应该在这个文件
|
|
197
263
|
generateThemeConfig(appConfig) {
|
|
198
264
|
const src = this.checkThemeConfig(appConfig.themeLocation);
|
|
199
265
|
if (cacheThemeLocation.source && cacheThemeLocation.source !== src) {
|
|
@@ -214,6 +280,11 @@ function PluginRouter(api) {
|
|
|
214
280
|
let { cwd, target } = api.options;
|
|
215
281
|
// TODO 这里待优化
|
|
216
282
|
if (target === 'thing') {
|
|
283
|
+
/**
|
|
284
|
+
* 又是历史原因
|
|
285
|
+
* 因老项目生成的产物目录是tuya,所以就干脆是tuya,不然会出现既 tuya 又 thing 的目录
|
|
286
|
+
* 将开发整懵逼
|
|
287
|
+
*/
|
|
217
288
|
// @ts-ignore
|
|
218
289
|
target = 'tuya';
|
|
219
290
|
}
|
|
@@ -239,4 +310,3 @@ function PluginRouter(api) {
|
|
|
239
310
|
};
|
|
240
311
|
}
|
|
241
312
|
exports.default = PluginRouter;
|
|
242
|
-
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ray-js/build-plugin-router",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.22-beta-2",
|
|
4
4
|
"description": "Ray build plugin for router",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ray"
|
|
@@ -21,14 +21,16 @@
|
|
|
21
21
|
"watch": "tsc -p ./tsconfig.build.json --watch"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@ray-js/shared": "^0.6.
|
|
24
|
+
"@ray-js/shared": "^0.6.22-beta-2",
|
|
25
25
|
"chokidar": "^3.5.2",
|
|
26
26
|
"colors": "1.4.0",
|
|
27
27
|
"ejs": "^3.1.6",
|
|
28
|
-
"fs-extra": "^10.0.0"
|
|
28
|
+
"fs-extra": "^10.0.0",
|
|
29
|
+
"path-to-regexp": "^6.2.1",
|
|
30
|
+
"url": "^0.11.0"
|
|
29
31
|
},
|
|
30
32
|
"devDependencies": {
|
|
31
|
-
"@ray-js/types": "^0.6.
|
|
33
|
+
"@ray-js/types": "^0.6.22-beta-2"
|
|
32
34
|
},
|
|
33
35
|
"maintainers": [
|
|
34
36
|
{
|
|
@@ -36,6 +38,6 @@
|
|
|
36
38
|
"email": "tuyafe@tuya.com"
|
|
37
39
|
}
|
|
38
40
|
],
|
|
39
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "5d621bf1561047175b967cdf3aa35446f7d7198a",
|
|
40
42
|
"repository": {}
|
|
41
43
|
}
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|