@tarojs/taro-loader 4.0.0-beta.78 → 4.0.0-beta.79
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/LICENSE +8 -1
- package/README.md +4 -4
- package/lib/app.js +66 -0
- package/lib/app.js.map +1 -0
- package/lib/component.js +32 -0
- package/lib/component.js.map +1 -0
- package/lib/constants.js +5 -0
- package/lib/constants.js.map +1 -0
- package/lib/entry-cache.js +15 -0
- package/lib/entry-cache.js.map +1 -0
- package/lib/h5.js +132 -0
- package/lib/h5.js.map +1 -0
- package/lib/independentPage.js +74 -0
- package/lib/independentPage.js.map +1 -0
- package/lib/index.js +16 -0
- package/lib/index.js.map +1 -0
- package/lib/native-component.js +46 -0
- package/lib/native-component.js.map +1 -0
- package/lib/native-page.js +56 -0
- package/lib/native-page.js.map +1 -0
- package/lib/page.js +68 -0
- package/lib/page.js.map +1 -0
- package/lib/raw.js +8 -0
- package/lib/raw.js.map +1 -0
- package/lib/taro-runtime.js +14 -0
- package/lib/taro-runtime.js.map +1 -0
- package/lib/util.js +18 -0
- package/lib/util.js.map +1 -0
- package/package.json +12 -11
package/LICENSE
CHANGED
|
@@ -154,8 +154,15 @@ See `/LICENSE` for details of the license.
|
|
|
154
154
|
|
|
155
155
|
==================
|
|
156
156
|
|
|
157
|
+
MIT (stencil-vue2-output-target):
|
|
158
|
+
The following files embed [stencil-vue2-output-target](https://github.com/diondree/stencil-vue2-output-target) MIT:
|
|
159
|
+
`/packages/taro-components-library-vue2/src/vue-component-lib/utils.ts`
|
|
160
|
+
See `/LICENSE` for details of the license.
|
|
161
|
+
|
|
162
|
+
==================
|
|
163
|
+
|
|
157
164
|
MIT (weui):
|
|
158
|
-
The following files embed [
|
|
165
|
+
The following files embed [stencil-vue2-output-target](https://github.com/Tencent/weui) MIT:
|
|
159
166
|
`/packages/taro-components/src/components/*.scss`
|
|
160
167
|
See `/LICENSE.txt` for details of the license.
|
|
161
168
|
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `@tarojs/taro-loader`
|
|
2
2
|
|
|
3
|
-
暴露给 `@tarojs/
|
|
3
|
+
暴露给 `@tarojs/mini-runner` 和 `@tarojs/webpack-runner` 使用的 Webpack loader,包含以下 `loader`:
|
|
4
4
|
|
|
5
5
|
## app
|
|
6
6
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
小程序专用。在小程序页面文件调用 `@tarojs/runtime` 的 `createPageConfig` 方法创建一个小程序 `Page` 构造函数接受的对象。
|
|
16
16
|
### options:
|
|
17
|
-
* `framework`: 框架类型,`'react' | 'vue3'`
|
|
17
|
+
* `framework`: 框架类型,`'react' | 'nerv' | 'vue' | 'vue3'`
|
|
18
18
|
* `name`: 页面路径
|
|
19
19
|
|
|
20
20
|
## page
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
小程序专用。在小程序页面文件调用 `@tarojs/runtime` 的 `createComponentConfig` 方法创建一个小程序 `Component` 构造函数接受的对象。
|
|
23
23
|
|
|
24
24
|
### options:
|
|
25
|
-
* `framework`: 框架类型,`'react' | 'vue3'`
|
|
25
|
+
* `framework`: 框架类型,`'react' | 'nerv' | 'vue' | 'vue3'`
|
|
26
26
|
* `name`: 页面路径
|
|
27
27
|
|
|
28
28
|
## h5
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
H5 专用。在小程序入口文件调用 `@tarojs/router` 的 `createRouter` 方法创建兼容小程序生命周期和路由系统的应用。
|
|
31
31
|
|
|
32
32
|
### options:
|
|
33
|
-
* `framework`: 框架类型,`'react' | 'vue3'`
|
|
33
|
+
* `framework`: 框架类型,`'react' | 'nerv' | 'vue' | 'vue3'`
|
|
34
34
|
* `config`: 应用配置,对应 app.config.js
|
|
35
35
|
* `pages:页面配置,对应` page.config.js
|
|
36
36
|
* `filename`: 文件名
|
package/lib/app.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const loader_utils_1 = require("loader-utils");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const entry_cache_1 = require("./entry-cache");
|
|
7
|
+
function default_1(source) {
|
|
8
|
+
var _a;
|
|
9
|
+
const stringify = (s) => (0, loader_utils_1.stringifyRequest)(this, s);
|
|
10
|
+
const options = (0, loader_utils_1.getOptions)(this);
|
|
11
|
+
const { importFrameworkStatement, frameworkArgs, creator, creatorLocation, modifyInstantiate } = options.loaderMeta;
|
|
12
|
+
const config = JSON.stringify(options.config);
|
|
13
|
+
const blended = options.blended;
|
|
14
|
+
const newBlended = options.newBlended;
|
|
15
|
+
const pxTransformConfig = options.pxTransformConfig;
|
|
16
|
+
const { globalObject } = ((_a = this._compilation) === null || _a === void 0 ? void 0 : _a.outputOptions) || { globalObject: 'wx' };
|
|
17
|
+
const entryCacheLoader = path.join(__dirname, 'entry-cache.js') + '?name=app';
|
|
18
|
+
entry_cache_1.entryCache.set('app', source);
|
|
19
|
+
const prerender = `
|
|
20
|
+
if (typeof PRERENDER !== 'undefined') {
|
|
21
|
+
${globalObject}._prerender = inst
|
|
22
|
+
}`;
|
|
23
|
+
const runtimePath = Array.isArray(options.runtimePath) ? options.runtimePath : [options.runtimePath];
|
|
24
|
+
let setReconcilerPost = '';
|
|
25
|
+
const setReconciler = runtimePath.reduce((res, item) => {
|
|
26
|
+
if (constants_1.REG_POST.test(item)) {
|
|
27
|
+
setReconcilerPost += `import '${item.replace(constants_1.REG_POST, '')}'\n`;
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
return res + `import '${item}'\n`;
|
|
32
|
+
}
|
|
33
|
+
}, '');
|
|
34
|
+
const createApp = `${creator}(component, ${frameworkArgs})`;
|
|
35
|
+
let instantiateApp = blended || newBlended
|
|
36
|
+
? `
|
|
37
|
+
var app = ${createApp}
|
|
38
|
+
app.onLaunch()
|
|
39
|
+
exports.taroApp = app
|
|
40
|
+
`
|
|
41
|
+
: `var inst = App(${createApp})`;
|
|
42
|
+
if (typeof modifyInstantiate === 'function') {
|
|
43
|
+
instantiateApp = modifyInstantiate(instantiateApp, 'app');
|
|
44
|
+
}
|
|
45
|
+
return `${setReconciler}
|
|
46
|
+
import { window } from '@tarojs/runtime'
|
|
47
|
+
import { ${creator} } from '${creatorLocation}'
|
|
48
|
+
import { initPxTransform } from '@tarojs/taro'
|
|
49
|
+
${setReconcilerPost}
|
|
50
|
+
import component from ${stringify(['!', entryCacheLoader, this.resourcePath].join('!'))}
|
|
51
|
+
${importFrameworkStatement}
|
|
52
|
+
var config = ${config};
|
|
53
|
+
window.__taroAppConfig = config
|
|
54
|
+
${instantiateApp}
|
|
55
|
+
${options.prerender ? prerender : ''}
|
|
56
|
+
initPxTransform({
|
|
57
|
+
designWidth: ${pxTransformConfig.designWidth},
|
|
58
|
+
deviceRatio: ${JSON.stringify(pxTransformConfig.deviceRatio)},
|
|
59
|
+
baseFontSize: ${pxTransformConfig.baseFontSize || 20},
|
|
60
|
+
unitPrecision: ${pxTransformConfig.unitPrecision},
|
|
61
|
+
targetUnit: ${JSON.stringify(pxTransformConfig.targetUnit)}
|
|
62
|
+
})
|
|
63
|
+
`;
|
|
64
|
+
}
|
|
65
|
+
exports.default = default_1;
|
|
66
|
+
//# sourceMappingURL=app.js.map
|
package/lib/app.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";;AAAA,+CAA2D;AAC3D,6BAA4B;AAE5B,2CAAsC;AACtC,+CAA0C;AAI1C,mBAA2D,MAAc;;IACvE,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAA,+BAAgB,EAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAElE,MAAM,OAAO,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,CAAA;IAChC,MAAM,EAAE,wBAAwB,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,UAAU,CAAA;IACnH,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;IACrC,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAA;IACnD,MAAM,EAAE,YAAY,EAAE,GAAG,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,aAAa,KAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IACnF,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,GAAG,WAAW,CAAA;IAC7E,wBAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAE7B,MAAM,SAAS,GAAG;;IAEhB,YAAY;EACd,CAAA;IAEA,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACpG,IAAI,iBAAiB,GAAG,EAAE,CAAA;IAC1B,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACrD,IAAI,oBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACvB,iBAAiB,IAAI,WAAW,IAAI,CAAC,OAAO,CAAC,oBAAQ,EAAE,EAAE,CAAC,KAAK,CAAA;YAC/D,OAAO,GAAG,CAAA;SACX;aAAM;YACL,OAAO,GAAG,GAAG,WAAW,IAAI,KAAK,CAAA;SAClC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,SAAS,GAAG,GAAG,OAAO,eAAe,aAAa,GAAG,CAAA;IAE3D,IAAI,cAAc,GAAG,OAAO,IAAI,UAAU;QACxC,CAAC,CAAC;YACM,SAAS;;;CAGpB;QACG,CAAC,CAAC,kBAAkB,SAAS,GAAG,CAAA;IAElC,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;QAC3C,cAAc,GAAG,iBAAiB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;KAC1D;IAED,OAAO,GAAG,aAAa;;WAEd,OAAO,YAAY,eAAe;;EAE3C,iBAAiB;wBACK,SAAS,CAAC,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACrF,wBAAwB;eACX,MAAM;;EAEnB,cAAc;EACd,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;iBAEnB,iBAAiB,CAAC,WAAW;iBAC7B,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC;kBAC5C,iBAAiB,CAAC,YAAY,IAAI,EAAE;mBACnC,iBAAiB,CAAC,aAAa;gBAClC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC;;CAE3D,CAAA;AACD,CAAC;AA9DD,4BA8DC"}
|
package/lib/component.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const loader_utils_1 = require("loader-utils");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const entry_cache_1 = require("./entry-cache");
|
|
6
|
+
function default_1(source) {
|
|
7
|
+
var _a;
|
|
8
|
+
const options = (0, loader_utils_1.getOptions)(this);
|
|
9
|
+
const stringify = (s) => (0, loader_utils_1.stringifyRequest)(this, s);
|
|
10
|
+
const pageName = options.name;
|
|
11
|
+
const { isNeedRawLoader } = options.loaderMeta;
|
|
12
|
+
// raw is a placeholder loader to locate changed .vue resource
|
|
13
|
+
const raw = path.join(__dirname, 'raw.js');
|
|
14
|
+
const entryCacheLoader = path.join(__dirname, 'entry-cache.js') + `?name=${pageName}`;
|
|
15
|
+
entry_cache_1.entryCache.set(pageName, source);
|
|
16
|
+
const componentPath = isNeedRawLoader
|
|
17
|
+
? ['!', raw, entryCacheLoader, this.resourcePath].join('!')
|
|
18
|
+
: ['!', entryCacheLoader, this.resourcePath].join('!');
|
|
19
|
+
const { globalObject } = ((_a = this._compilation) === null || _a === void 0 ? void 0 : _a.outputOptions) || { globalObject: 'wx' };
|
|
20
|
+
const prerender = `
|
|
21
|
+
if (typeof PRERENDER !== 'undefined') {
|
|
22
|
+
${globalObject}._prerender = inst
|
|
23
|
+
}`;
|
|
24
|
+
return `import { createComponentConfig } from '@tarojs/runtime'
|
|
25
|
+
import component from ${stringify(componentPath)}
|
|
26
|
+
var inst = Component(createComponentConfig(component, '${pageName}'))
|
|
27
|
+
${options.prerender ? prerender : ''}
|
|
28
|
+
export default component
|
|
29
|
+
`;
|
|
30
|
+
}
|
|
31
|
+
exports.default = default_1;
|
|
32
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":";;AAAA,+CAA2D;AAC3D,6BAA4B;AAE5B,+CAA0C;AAI1C,mBAA2D,MAAc;;IACvE,MAAM,OAAO,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAA,+BAAgB,EAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAA;IAC7B,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,UAAU,CAAA;IAC9C,8DAA8D;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,GAAG,SAAS,QAAQ,EAAE,CAAA;IACrF,wBAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAChC,MAAM,aAAa,GAAG,eAAe;QACnC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3D,CAAC,CAAC,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxD,MAAM,EAAE,YAAY,EAAE,GAAG,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,aAAa,KAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IAEnF,MAAM,SAAS,GAAG;;IAEhB,YAAY;EACd,CAAA;IACA,OAAO;wBACe,SAAS,CAAC,aAAa,CAAC;yDACS,QAAQ;EAC/D,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;CAEnC,CAAA;AACD,CAAC;AAxBD,4BAwBC"}
|
package/lib/constants.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,QAAQ,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.entryCache = void 0;
|
|
4
|
+
const loader_utils_1 = require("loader-utils");
|
|
5
|
+
exports.entryCache = new Map();
|
|
6
|
+
function default_1() {
|
|
7
|
+
const { name } = (0, loader_utils_1.getOptions)(this);
|
|
8
|
+
if (name && exports.entryCache.has(name)) {
|
|
9
|
+
const content = exports.entryCache.get(name);
|
|
10
|
+
exports.entryCache.delete(name);
|
|
11
|
+
return content;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.default = default_1;
|
|
15
|
+
//# sourceMappingURL=entry-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry-cache.js","sourceRoot":"","sources":["../src/entry-cache.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAE5B,QAAA,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;AAEnD;IACE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,CAAA;IACjC,IAAI,IAAI,IAAI,kBAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAChC,MAAM,OAAO,GAAG,kBAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACpC,kBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvB,OAAO,OAAO,CAAA;KACf;AACH,CAAC;AAPD,4BAOC"}
|
package/lib/h5.js
ADDED
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const helper_1 = require("@tarojs/helper");
|
|
4
|
+
const loader_utils_1 = require("loader-utils");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
function genResource(path, pages, loaderContext, syncFileName = false) {
|
|
8
|
+
const options = (0, loader_utils_1.getOptions)(loaderContext);
|
|
9
|
+
const stringify = (s) => (0, loader_utils_1.stringifyRequest)(loaderContext, s);
|
|
10
|
+
const importDependent = syncFileName ? 'require' : 'import';
|
|
11
|
+
return `Object.assign({
|
|
12
|
+
path: '${path}',
|
|
13
|
+
load: function(context, params) {
|
|
14
|
+
const page = ${importDependent}(${stringify((0, path_1.join)(loaderContext.context, syncFileName || path))})
|
|
15
|
+
return [page, context, params]
|
|
16
|
+
}
|
|
17
|
+
}, ${JSON.stringify((0, helper_1.readConfig)(pages.get(path.split(path_1.sep).join('/')), options))})`;
|
|
18
|
+
}
|
|
19
|
+
function default_1() {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
const options = (0, loader_utils_1.getOptions)(this);
|
|
22
|
+
const stringify = (s) => (0, loader_utils_1.stringifyRequest)(this, s);
|
|
23
|
+
const config = options.config;
|
|
24
|
+
const routerMode = ((_a = config === null || config === void 0 ? void 0 : config.router) === null || _a === void 0 ? void 0 : _a.mode) || 'hash';
|
|
25
|
+
const isBuildNativeComp = options.isBuildNativeComp;
|
|
26
|
+
const isMultiRouterMode = routerMode === 'multi';
|
|
27
|
+
const pathDirname = (0, path_1.dirname)(this.resourcePath);
|
|
28
|
+
const pageName = isMultiRouterMode ? (0, path_1.join)(pathDirname, options.filename).replace(options.sourceDir + path_1.sep, '') : '';
|
|
29
|
+
const pages = new Map(options.pages);
|
|
30
|
+
const pxTransformConfig = options.pxTransformConfig;
|
|
31
|
+
const runtimePath = Array.isArray(options.runtimePath) ? options.runtimePath : [options.runtimePath];
|
|
32
|
+
let setReconcilerPost = '';
|
|
33
|
+
const setReconciler = runtimePath.reduce((res, item) => {
|
|
34
|
+
if (constants_1.REG_POST.test(item)) {
|
|
35
|
+
setReconcilerPost += `import '${item.replace(constants_1.REG_POST, '')}'\n`;
|
|
36
|
+
return res;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return res + `import '${item}'\n`;
|
|
40
|
+
}
|
|
41
|
+
}, '');
|
|
42
|
+
if (isBuildNativeComp) {
|
|
43
|
+
const compPath = (0, path_1.join)(pathDirname, options.filename);
|
|
44
|
+
return `${setReconciler}
|
|
45
|
+
import component from ${stringify(compPath)}
|
|
46
|
+
${options.loaderMeta.importFrameworkStatement}
|
|
47
|
+
${options.loaderMeta.extraImportForWeb}
|
|
48
|
+
import { createH5NativeComponentConfig } from '${options.loaderMeta.creatorLocation}'
|
|
49
|
+
import { initPxTransform } from '@tarojs/taro'
|
|
50
|
+
${setReconcilerPost}
|
|
51
|
+
component.config = {}
|
|
52
|
+
component.pxTransformConfig = {}
|
|
53
|
+
Object.assign(component.config, ${JSON.stringify((0, helper_1.readConfig)(this.resourcePath))})
|
|
54
|
+
initPxTransform.call(component, {
|
|
55
|
+
designWidth: ${pxTransformConfig.designWidth},
|
|
56
|
+
deviceRatio: ${JSON.stringify(pxTransformConfig.deviceRatio)},
|
|
57
|
+
baseFontSize: ${pxTransformConfig.baseFontSize || (pxTransformConfig.minRootSize >= 1 ? pxTransformConfig.minRootSize : 20)},
|
|
58
|
+
unitPrecision: ${pxTransformConfig.unitPrecision},
|
|
59
|
+
targetUnit: ${JSON.stringify(pxTransformConfig.targetUnit)}
|
|
60
|
+
})
|
|
61
|
+
const config = component.config
|
|
62
|
+
export default createH5NativeComponentConfig(component, ${options.loaderMeta.frameworkArgs})`;
|
|
63
|
+
}
|
|
64
|
+
if (options.bootstrap)
|
|
65
|
+
return `import(${stringify((0, path_1.join)(options.sourceDir, `${isMultiRouterMode ? pageName : options.entryFileName}.boot`))})`;
|
|
66
|
+
let tabBarCode = `var tabbarIconPath = []
|
|
67
|
+
var tabbarSelectedIconPath = []
|
|
68
|
+
`;
|
|
69
|
+
if (config.tabBar) {
|
|
70
|
+
const tabbarList = config.tabBar.list;
|
|
71
|
+
for (let i = 0; i < tabbarList.length; i++) {
|
|
72
|
+
const t = tabbarList[i];
|
|
73
|
+
if (t.iconPath) {
|
|
74
|
+
const iconPath = stringify((0, path_1.join)(pathDirname, t.iconPath));
|
|
75
|
+
tabBarCode += `tabbarIconPath[${i}] = typeof require(${iconPath}) === 'object' ? require(${iconPath}).default : require(${iconPath})\n`;
|
|
76
|
+
}
|
|
77
|
+
if (t.selectedIconPath) {
|
|
78
|
+
const iconPath = stringify((0, path_1.join)(pathDirname, t.selectedIconPath));
|
|
79
|
+
tabBarCode += `tabbarSelectedIconPath[${i}] = typeof require(${iconPath}) === 'object' ? require(${iconPath}).default : require(${iconPath})\n`;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const routesConfig = isMultiRouterMode ? `config.routes = []
|
|
84
|
+
config.route = ${genResource(pageName, pages, this, options.filename)}
|
|
85
|
+
config.pageName = "${pageName}"` : `config.routes = [
|
|
86
|
+
${(_b = config.pages) === null || _b === void 0 ? void 0 : _b.map(path => genResource(path, pages, this)).join(',')}
|
|
87
|
+
]`;
|
|
88
|
+
const routerCreator = isMultiRouterMode ? 'createMultiRouter' : 'createRouter';
|
|
89
|
+
const historyCreator = routerMode === 'browser' ? 'createBrowserHistory' : routerMode === 'multi' ? 'createMpaHistory' : 'createHashHistory';
|
|
90
|
+
const appMountHandler = config.tabBar ? 'handleAppMountWithTabbar' : 'handleAppMount';
|
|
91
|
+
const code = `${setReconciler}
|
|
92
|
+
import { initPxTransform } from '@tarojs/taro'
|
|
93
|
+
import { ${routerCreator}, ${historyCreator}, ${appMountHandler} } from '@tarojs/router'
|
|
94
|
+
import component from ${stringify((0, path_1.join)(options.sourceDir, options.entryFileName))}
|
|
95
|
+
import { window } from '@tarojs/runtime'
|
|
96
|
+
import { ${options.loaderMeta.creator} } from '${options.loaderMeta.creatorLocation}'
|
|
97
|
+
${options.loaderMeta.importFrameworkStatement}
|
|
98
|
+
${options.loaderMeta.extraImportForWeb}
|
|
99
|
+
${setReconcilerPost}
|
|
100
|
+
var config = ${JSON.stringify(config)}
|
|
101
|
+
window.__taroAppConfig = config
|
|
102
|
+
${config.tabBar ? tabBarCode : ''}
|
|
103
|
+
if (config.tabBar) {
|
|
104
|
+
var tabbarList = config.tabBar.list
|
|
105
|
+
for (var i = 0; i < tabbarList.length; i++) {
|
|
106
|
+
var t = tabbarList[i]
|
|
107
|
+
if (t.iconPath) {
|
|
108
|
+
t.iconPath = tabbarIconPath[i]
|
|
109
|
+
}
|
|
110
|
+
if (t.selectedIconPath) {
|
|
111
|
+
t.selectedIconPath = tabbarSelectedIconPath[i]
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
${routesConfig}
|
|
116
|
+
${options.loaderMeta.execBeforeCreateWebApp || ''}
|
|
117
|
+
var inst = ${options.loaderMeta.creator}(component, ${options.loaderMeta.frameworkArgs})
|
|
118
|
+
var history = ${historyCreator}({ window })
|
|
119
|
+
${appMountHandler}(config, history)
|
|
120
|
+
${routerCreator}(history, inst, config, ${options.loaderMeta.importFrameworkName})
|
|
121
|
+
initPxTransform({
|
|
122
|
+
designWidth: ${pxTransformConfig.designWidth},
|
|
123
|
+
deviceRatio: ${JSON.stringify(pxTransformConfig.deviceRatio)},
|
|
124
|
+
baseFontSize: ${pxTransformConfig.baseFontSize || (pxTransformConfig.minRootSize >= 1 ? pxTransformConfig.minRootSize : 20)},
|
|
125
|
+
unitPrecision: ${pxTransformConfig.unitPrecision},
|
|
126
|
+
targetUnit: ${JSON.stringify(pxTransformConfig.targetUnit)}
|
|
127
|
+
})
|
|
128
|
+
`;
|
|
129
|
+
return code;
|
|
130
|
+
}
|
|
131
|
+
exports.default = default_1;
|
|
132
|
+
//# sourceMappingURL=h5.js.map
|
package/lib/h5.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"h5.js","sourceRoot":"","sources":["../src/h5.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const loader_utils_1 = require("loader-utils");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const entry_cache_1 = require("./entry-cache");
|
|
7
|
+
function default_1(source) {
|
|
8
|
+
var _a;
|
|
9
|
+
const options = (0, loader_utils_1.getOptions)(this);
|
|
10
|
+
const config = getPageConfig(options.config, this.resourcePath);
|
|
11
|
+
const configString = JSON.stringify(config);
|
|
12
|
+
const stringify = (s) => (0, loader_utils_1.stringifyRequest)(this, s);
|
|
13
|
+
const pageName = options.name;
|
|
14
|
+
const { isNeedRawLoader, importFrameworkStatement, mockAppStatement, frameworkArgs, creator, creatorLocation } = options.loaderMeta;
|
|
15
|
+
const appConfig = options.appConfig;
|
|
16
|
+
const frameworkArgsArray = frameworkArgs.split(',');
|
|
17
|
+
frameworkArgsArray.splice(frameworkArgsArray.length - 1, 1, 'appConfig');
|
|
18
|
+
const frameworkArgsCopy = frameworkArgsArray.join(',');
|
|
19
|
+
// raw is a placeholder loader to locate changed .vue resource
|
|
20
|
+
const entryCacheLoader = path.join(__dirname, 'entry-cache.js') + `?name=${pageName}`;
|
|
21
|
+
entry_cache_1.entryCache.set(pageName, source);
|
|
22
|
+
const raw = path.join(__dirname, 'raw.js');
|
|
23
|
+
const componentPath = isNeedRawLoader
|
|
24
|
+
? ['!', raw, entryCacheLoader, this.resourcePath].join('!')
|
|
25
|
+
: ['!', entryCacheLoader, this.resourcePath].join('!');
|
|
26
|
+
const runtimePath = Array.isArray(options.runtimePath) ? options.runtimePath : [options.runtimePath];
|
|
27
|
+
let setReconcilerPost = '';
|
|
28
|
+
const setReconciler = runtimePath.reduce((res, item) => {
|
|
29
|
+
if (constants_1.REG_POST.test(item)) {
|
|
30
|
+
setReconcilerPost += `import '${item.replace(constants_1.REG_POST, '')}'\n`;
|
|
31
|
+
return res;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return res + `import '${item}'\n`;
|
|
35
|
+
}
|
|
36
|
+
}, '');
|
|
37
|
+
const { globalObject } = ((_a = this._compilation) === null || _a === void 0 ? void 0 : _a.outputOptions) || { globalObject: 'wx' };
|
|
38
|
+
const prerender = `
|
|
39
|
+
if (typeof PRERENDER !== 'undefined') {
|
|
40
|
+
${globalObject}._prerender = inst
|
|
41
|
+
}`;
|
|
42
|
+
return `${setReconciler}
|
|
43
|
+
import { createPageConfig, window } from '@tarojs/runtime'
|
|
44
|
+
import { ${creator} } from '${creatorLocation}'
|
|
45
|
+
${setReconcilerPost}
|
|
46
|
+
${importFrameworkStatement}
|
|
47
|
+
var config = ${configString};
|
|
48
|
+
var appConfig = ${JSON.stringify(appConfig)};
|
|
49
|
+
window.__taroAppConfig = appConfig
|
|
50
|
+
${mockAppStatement}
|
|
51
|
+
${creator}(App, ${frameworkArgsCopy})
|
|
52
|
+
var component = require(${stringify(componentPath)}).default
|
|
53
|
+
${config.enableShareTimeline ? 'component.enableShareTimeline = true' : ''}
|
|
54
|
+
${config.enableShareAppMessage ? 'component.enableShareAppMessage = true' : ''}
|
|
55
|
+
var inst = Page(createPageConfig(component, '${pageName}', {}, config || {}))
|
|
56
|
+
${options.prerender ? prerender : ''}
|
|
57
|
+
export default component
|
|
58
|
+
`;
|
|
59
|
+
}
|
|
60
|
+
exports.default = default_1;
|
|
61
|
+
function getPageConfig(configs, resourcePath) {
|
|
62
|
+
const configPath = removeExt(resourcePath) + '.config';
|
|
63
|
+
for (const name in configs) {
|
|
64
|
+
const config = configs[name];
|
|
65
|
+
if (removeExt(configs[name].path) === configPath) {
|
|
66
|
+
return config.content;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return {};
|
|
70
|
+
}
|
|
71
|
+
function removeExt(file) {
|
|
72
|
+
return path.join(path.dirname(file), path.basename(file, path.extname(file)));
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=independentPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"independentPage.js","sourceRoot":"","sources":["../src/independentPage.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const loader_utils_1 = require("loader-utils");
|
|
4
|
+
const app_1 = require("./app");
|
|
5
|
+
const page_1 = require("./page");
|
|
6
|
+
function default_1(source) {
|
|
7
|
+
const options = (0, loader_utils_1.getOptions)(this);
|
|
8
|
+
if (options.type === 'app') {
|
|
9
|
+
app_1.default.call(this, source);
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
page_1.default.call(this, source);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.default = default_1;
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,+CAAyC;AAEzC,+BAA6B;AAC7B,iCAA+B;AAI/B,mBAA2D,MAAc;IACvE,MAAM,OAAO,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,CAAA;IAChC,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;QAC1B,aAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAC7B;SAAM;QACL,cAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAC9B;AACH,CAAC;AAPD,4BAOC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const loader_utils_1 = require("loader-utils");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const entry_cache_1 = require("./entry-cache");
|
|
6
|
+
const page_1 = require("./page");
|
|
7
|
+
function default_1(source) {
|
|
8
|
+
var _a;
|
|
9
|
+
const options = (0, loader_utils_1.getOptions)(this);
|
|
10
|
+
const { loaderMeta = {}, config: loaderConfig, isNewBlended = false, runtimePath } = options;
|
|
11
|
+
const { importFrameworkStatement, frameworkArgs, isNeedRawLoader, creatorLocation } = loaderMeta;
|
|
12
|
+
const config = (0, page_1.getPageConfig)(loaderConfig, this.resourcePath);
|
|
13
|
+
config.isNewBlended = isNewBlended;
|
|
14
|
+
const configString = JSON.stringify(config);
|
|
15
|
+
const stringify = (s) => (0, loader_utils_1.stringifyRequest)(this, s);
|
|
16
|
+
const pageName = options.name;
|
|
17
|
+
// raw is a placeholder loader to locate changed .vue resource
|
|
18
|
+
const entryCacheLoader = path.join(__dirname, 'entry-cache.js') + `?name=${pageName}`;
|
|
19
|
+
entry_cache_1.entryCache.set(pageName, source);
|
|
20
|
+
const raw = path.join(__dirname, 'raw.js');
|
|
21
|
+
const componentPath = isNeedRawLoader
|
|
22
|
+
? ['!', raw, entryCacheLoader, this.resourcePath].join('!')
|
|
23
|
+
: ['!', entryCacheLoader, this.resourcePath].join('!');
|
|
24
|
+
const processedRuntimePath = Array.isArray(runtimePath) ? runtimePath : [runtimePath];
|
|
25
|
+
const setReconciler = processedRuntimePath.reduce((res, item) => {
|
|
26
|
+
if (/^@tarojs\/plugin-(react|vue)-devtools/.test(item))
|
|
27
|
+
return res;
|
|
28
|
+
return res + `import '${item}'\n`;
|
|
29
|
+
}, '');
|
|
30
|
+
const { globalObject } = ((_a = this._compilation) === null || _a === void 0 ? void 0 : _a.outputOptions) || { globalObject: 'wx' };
|
|
31
|
+
const prerender = `
|
|
32
|
+
if (typeof PRERENDER !== 'undefined') {
|
|
33
|
+
${globalObject}._prerender = inst
|
|
34
|
+
}`;
|
|
35
|
+
return `${setReconciler}
|
|
36
|
+
import { createNativeComponentConfig } from '${creatorLocation}'
|
|
37
|
+
${importFrameworkStatement}
|
|
38
|
+
var component = require(${stringify(componentPath)}).default
|
|
39
|
+
var config = ${configString};
|
|
40
|
+
var inst = Component(createNativeComponentConfig(component, ${frameworkArgs}))
|
|
41
|
+
${options.prerender ? prerender : ''}
|
|
42
|
+
export default component
|
|
43
|
+
`;
|
|
44
|
+
}
|
|
45
|
+
exports.default = default_1;
|
|
46
|
+
//# sourceMappingURL=native-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-component.js","sourceRoot":"","sources":["../src/native-component.ts"],"names":[],"mappings":";;AAAA,+CAA2D;AAC3D,6BAA4B;AAE5B,+CAA0C;AAC1C,iCAAsC;AAItC,mBAA2D,MAAc;;IACvE,MAAM,OAAO,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,CAAA;IAChC,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IAC5F,MAAM,EAAE,wBAAwB,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,UAAU,CAAA;IAChG,MAAM,MAAM,GAAG,IAAA,oBAAa,EAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IAC7D,MAAM,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAA,+BAAgB,EAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAA;IAC7B,8DAA8D;IAC9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,GAAG,SAAS,QAAQ,EAAE,CAAA;IACrF,wBAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC1C,MAAM,aAAa,GAAG,eAAe;QACnC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3D,CAAC,CAAC,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxD,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IACrF,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC9D,IAAI,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,CAAA;QAClE,OAAO,GAAG,GAAG,WAAW,IAAI,KAAK,CAAA;IACnC,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,MAAM,EAAE,YAAY,EAAE,GAAG,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,aAAa,KAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IAEnF,MAAM,SAAS,GAAG;;IAEhB,YAAY;EACd,CAAA;IAEA,OAAO,GAAG,aAAa;+CACsB,eAAe;EAC5D,wBAAwB;0BACA,SAAS,CAAC,aAAa,CAAC;eACnC,YAAY;8DACmC,aAAa;EACzE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;;CAEnC,CAAA;AACD,CAAC;AArCD,4BAqCC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const loader_utils_1 = require("loader-utils");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
const entry_cache_1 = require("./entry-cache");
|
|
6
|
+
const page_1 = require("./page");
|
|
7
|
+
function default_1(source) {
|
|
8
|
+
var _a;
|
|
9
|
+
const options = (0, loader_utils_1.getOptions)(this);
|
|
10
|
+
const { importFrameworkStatement, frameworkArgs, isNeedRawLoader, creatorLocation } = options.loaderMeta;
|
|
11
|
+
const { config: loaderConfig } = options;
|
|
12
|
+
const config = (0, page_1.getPageConfig)(loaderConfig, this.resourcePath);
|
|
13
|
+
const configString = JSON.stringify(config);
|
|
14
|
+
const stringify = (s) => (0, loader_utils_1.stringifyRequest)(this, s);
|
|
15
|
+
const pageName = options.name;
|
|
16
|
+
// raw is a placeholder loader to locate changed .vue resource
|
|
17
|
+
const entryCacheLoader = path.join(__dirname, 'entry-cache.js') + `?name=${pageName}`;
|
|
18
|
+
entry_cache_1.entryCache.set(pageName, source);
|
|
19
|
+
const raw = path.join(__dirname, 'raw.js');
|
|
20
|
+
const componentPath = isNeedRawLoader
|
|
21
|
+
? ['!', raw, entryCacheLoader, this.resourcePath].join('!')
|
|
22
|
+
: ['!', entryCacheLoader, this.resourcePath].join('!');
|
|
23
|
+
const runtimePath = Array.isArray(options.runtimePath) ? options.runtimePath : [options.runtimePath];
|
|
24
|
+
const setReconciler = runtimePath.reduce((res, item) => {
|
|
25
|
+
if (/^@tarojs\/plugin-(react|vue)-devtools/.test(item))
|
|
26
|
+
return res;
|
|
27
|
+
return res + `import '${item}'\n`;
|
|
28
|
+
}, '');
|
|
29
|
+
const { globalObject } = ((_a = this._compilation) === null || _a === void 0 ? void 0 : _a.outputOptions) || { globalObject: 'wx' };
|
|
30
|
+
const prerender = `
|
|
31
|
+
if (typeof PRERENDER !== 'undefined') {
|
|
32
|
+
${globalObject}._prerender = inst
|
|
33
|
+
}`;
|
|
34
|
+
const hmr = !options.hot ? '' : `if (process.env.NODE_ENV !== 'production') {
|
|
35
|
+
const cache = __webpack_require__.c || {}
|
|
36
|
+
Object.keys(cache).forEach(item => {
|
|
37
|
+
if (item.indexOf('${pageName}') !== -1) delete cache[item]
|
|
38
|
+
})
|
|
39
|
+
}`;
|
|
40
|
+
if (typeof options.loaderMeta.modifyConfig === 'function') {
|
|
41
|
+
options.loaderMeta.modifyConfig(config, source);
|
|
42
|
+
}
|
|
43
|
+
return `${setReconciler}
|
|
44
|
+
import { createNativePageConfig } from '${creatorLocation}'
|
|
45
|
+
${importFrameworkStatement}
|
|
46
|
+
var component = require(${stringify(componentPath)}).default
|
|
47
|
+
var config = ${configString};
|
|
48
|
+
${config.enableShareTimeline ? 'component.enableShareTimeline = true' : ''}
|
|
49
|
+
${config.enableShareAppMessage ? 'component.enableShareAppMessage = true' : ''}
|
|
50
|
+
var inst = Page(createNativePageConfig(component, '${pageName}', {root:{cn:[]}}, ${frameworkArgs}))
|
|
51
|
+
${options.prerender ? prerender : ''}
|
|
52
|
+
${hmr}
|
|
53
|
+
`;
|
|
54
|
+
}
|
|
55
|
+
exports.default = default_1;
|
|
56
|
+
//# sourceMappingURL=native-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-page.js","sourceRoot":"","sources":["../src/native-page.ts"],"names":[],"mappings":"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"}
|
package/lib/page.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPageConfig = void 0;
|
|
4
|
+
const loader_utils_1 = require("loader-utils");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const entry_cache_1 = require("./entry-cache");
|
|
7
|
+
function default_1(source) {
|
|
8
|
+
var _a;
|
|
9
|
+
const options = (0, loader_utils_1.getOptions)(this);
|
|
10
|
+
const { config: loaderConfig } = options;
|
|
11
|
+
const config = getPageConfig(loaderConfig, this.resourcePath);
|
|
12
|
+
const configString = JSON.stringify(config);
|
|
13
|
+
const stringify = (s) => (0, loader_utils_1.stringifyRequest)(this, s);
|
|
14
|
+
const pageName = options.name;
|
|
15
|
+
const { isNeedRawLoader, modifyInstantiate } = options.loaderMeta;
|
|
16
|
+
// raw is a placeholder loader to locate changed .vue resource
|
|
17
|
+
const entryCacheLoader = path.join(__dirname, 'entry-cache.js') + `?name=${pageName}`;
|
|
18
|
+
entry_cache_1.entryCache.set(pageName, source);
|
|
19
|
+
const raw = path.join(__dirname, 'raw.js');
|
|
20
|
+
const componentPath = isNeedRawLoader
|
|
21
|
+
? ['!', raw, entryCacheLoader, this.resourcePath].join('!')
|
|
22
|
+
: ['!', entryCacheLoader, this.resourcePath].join('!');
|
|
23
|
+
const { globalObject } = ((_a = this._compilation) === null || _a === void 0 ? void 0 : _a.outputOptions) || { globalObject: 'wx' };
|
|
24
|
+
const prerender = `
|
|
25
|
+
if (typeof PRERENDER !== 'undefined') {
|
|
26
|
+
${globalObject}._prerender = inst
|
|
27
|
+
}`;
|
|
28
|
+
const hmr = !options.hot ? '' : `if (process.env.NODE_ENV !== 'production') {
|
|
29
|
+
const cache = __webpack_require__.c || {}
|
|
30
|
+
Object.keys(cache).forEach(item => {
|
|
31
|
+
if (item.indexOf('${pageName}') !== -1) delete cache[item]
|
|
32
|
+
})
|
|
33
|
+
}`;
|
|
34
|
+
if (typeof options.loaderMeta.modifyConfig === 'function') {
|
|
35
|
+
options.loaderMeta.modifyConfig(config, source);
|
|
36
|
+
}
|
|
37
|
+
let instantiatePage = `var inst = Page(createPageConfig(component, '${pageName}', {root:{cn:[]}}, config || {}))`;
|
|
38
|
+
if (typeof modifyInstantiate === 'function') {
|
|
39
|
+
instantiatePage = modifyInstantiate(instantiatePage, 'page');
|
|
40
|
+
}
|
|
41
|
+
return `import { createPageConfig } from '@tarojs/runtime'
|
|
42
|
+
import component from ${stringify(componentPath)}
|
|
43
|
+
var config = ${configString};
|
|
44
|
+
${config.enableShareTimeline ? 'component.enableShareTimeline = true' : ''}
|
|
45
|
+
${config.enableShareAppMessage ? 'component.enableShareAppMessage = true' : ''}
|
|
46
|
+
${instantiatePage}
|
|
47
|
+
${options.prerender ? prerender : ''}
|
|
48
|
+
${hmr}
|
|
49
|
+
export default component
|
|
50
|
+
`;
|
|
51
|
+
}
|
|
52
|
+
exports.default = default_1;
|
|
53
|
+
function getPageConfig(configs, resourcePath) {
|
|
54
|
+
const configPath = removeExt(resourcePath) + '.config';
|
|
55
|
+
for (const name in configs) {
|
|
56
|
+
const config = configs[name];
|
|
57
|
+
const currentPath = config.path.endsWith('.config') ? config.path : removeExt(config.path);
|
|
58
|
+
if (currentPath === configPath) {
|
|
59
|
+
return config.content;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return {};
|
|
63
|
+
}
|
|
64
|
+
exports.getPageConfig = getPageConfig;
|
|
65
|
+
function removeExt(file) {
|
|
66
|
+
return path.join(path.dirname(file), path.basename(file, path.extname(file)));
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=page.js.map
|
package/lib/page.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
|
package/lib/raw.js
ADDED
package/lib/raw.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw.js","sourceRoot":"","sources":["../src/raw.ts"],"names":[],"mappings":";;;AAAA,SAAgB,KAAK;IACnB,QAAQ;AACV,CAAC;AAFD,sBAEC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const loader_utils_1 = require("loader-utils");
|
|
4
|
+
function default_1(source) {
|
|
5
|
+
const options = (0, loader_utils_1.getOptions)(this);
|
|
6
|
+
const runtimePath = Array.isArray(options.runtimePath) ? options.runtimePath : [options.runtimePath];
|
|
7
|
+
const setReconciler = runtimePath.reduce((res, item) => {
|
|
8
|
+
return res + `import '${item}'\n`;
|
|
9
|
+
}, '');
|
|
10
|
+
return `${setReconciler}
|
|
11
|
+
${source}`;
|
|
12
|
+
}
|
|
13
|
+
exports.default = default_1;
|
|
14
|
+
//# sourceMappingURL=taro-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taro-runtime.js","sourceRoot":"","sources":["../src/taro-runtime.ts"],"names":[],"mappings":";;AAAA,+CAAyC;AAIzC,mBAA2D,MAAc;IACvE,MAAM,OAAO,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,CAAA;IAEhC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACpG,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACrD,OAAO,GAAG,GAAG,WAAW,IAAI,KAAK,CAAA;IACnC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,GAAG,aAAa;IACrB,MAAM,EAAE,CAAA;AACZ,CAAC;AAVD,4BAUC"}
|
package/lib/util.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPkgVersion = exports.getRootPath = void 0;
|
|
4
|
+
const helper_1 = require("@tarojs/helper");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
function getRootPath() {
|
|
7
|
+
return path.resolve(__dirname, '../');
|
|
8
|
+
}
|
|
9
|
+
exports.getRootPath = getRootPath;
|
|
10
|
+
function getPkgVersion() {
|
|
11
|
+
const pkgPath = path.join(getRootPath(), 'package.json');
|
|
12
|
+
if (helper_1.fs.existsSync(pkgPath)) {
|
|
13
|
+
return require(pkgPath).version;
|
|
14
|
+
}
|
|
15
|
+
return 'unknown';
|
|
16
|
+
}
|
|
17
|
+
exports.getPkgVersion = getPkgVersion;
|
|
18
|
+
//# sourceMappingURL=util.js.map
|
package/lib/util.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAAA,2CAAmC;AACnC,6BAA4B;AAE5B,SAAgB,WAAW;IACzB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;AACvC,CAAC;AAFD,kCAEC;AAED,SAAgB,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,cAAc,CAAC,CAAA;IAExD,IAAI,WAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAA;KAChC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AARD,sCAQC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/taro-loader",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.79",
|
|
4
4
|
"description": "Taro runner use webpack loader",
|
|
5
|
-
"author": "
|
|
5
|
+
"author": "yuche <i@yuche.me>",
|
|
6
|
+
"homepage": "https://github.com/nervjs/taro/tree/master/packages/taro-loader#readme",
|
|
6
7
|
"license": "MIT",
|
|
7
8
|
"main": "lib/app.js",
|
|
8
9
|
"directories": {
|
|
@@ -19,18 +20,18 @@
|
|
|
19
20
|
"bugs": {
|
|
20
21
|
"url": "https://github.com/NervJS/taro/issues"
|
|
21
22
|
},
|
|
22
|
-
"engines": {
|
|
23
|
-
"node": ">= 18"
|
|
24
|
-
},
|
|
25
23
|
"dependencies": {
|
|
26
|
-
"
|
|
24
|
+
"loader-utils": "^1.2.3",
|
|
25
|
+
"@tarojs/helper": "4.0.0-beta.79",
|
|
26
|
+
"@tarojs/taro": "4.0.0-beta.79"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
29
|
+
"jest": "^29.3.1",
|
|
30
|
+
"jest-cli": "^29.3.1",
|
|
31
|
+
"jest-environment-node": "^29.5.0",
|
|
32
|
+
"ts-jest": "^29.0.5",
|
|
33
|
+
"typescript": "^4.7.4",
|
|
34
|
+
"webpack": "5.78.0"
|
|
34
35
|
},
|
|
35
36
|
"scripts": {
|
|
36
37
|
"build": "tsc",
|