@spcsn/taro-mini-runner 1.0.0
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 +103 -0
- package/dist/entrypoints/mini-runner.d.ts +2 -0
- package/dist/entrypoints/mini-runner.js +96 -0
- package/dist/entrypoints/mini-runner.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/mini-program/config.d.ts +3 -0
- package/dist/mini-program/config.js +237 -0
- package/dist/mini-program/config.js.map +1 -0
- package/dist/mini-program/default-config.d.ts +3 -0
- package/dist/mini-program/default-config.js +49 -0
- package/dist/mini-program/default-config.js.map +1 -0
- package/dist/mini-program/emit.d.ts +3 -0
- package/dist/mini-program/emit.js +247 -0
- package/dist/mini-program/emit.js.map +1 -0
- package/dist/mini-program/entry.d.ts +3 -0
- package/dist/mini-program/entry.js +142 -0
- package/dist/mini-program/entry.js.map +1 -0
- package/dist/mini-program/index.d.ts +3 -0
- package/dist/mini-program/index.js +29 -0
- package/dist/mini-program/index.js.map +1 -0
- package/dist/mini-program/native-support.d.ts +6 -0
- package/dist/mini-program/native-support.js +160 -0
- package/dist/mini-program/native-support.js.map +1 -0
- package/dist/mini-program/page.d.ts +4 -0
- package/dist/mini-program/page.js +223 -0
- package/dist/mini-program/page.js.map +1 -0
- package/dist/mini-program/pipeline.d.ts +3 -0
- package/dist/mini-program/pipeline.js +46 -0
- package/dist/mini-program/pipeline.js.map +1 -0
- package/dist/mini-program/postcss.d.ts +6 -0
- package/dist/mini-program/postcss.js +26 -0
- package/dist/mini-program/postcss.js.map +1 -0
- package/dist/mini-program/style.d.ts +3 -0
- package/dist/mini-program/style.js +67 -0
- package/dist/mini-program/style.js.map +1 -0
- package/dist/plugins/rollup-plugin-increment.d.ts +8 -0
- package/dist/plugins/rollup-plugin-increment.js +52 -0
- package/dist/plugins/rollup-plugin-increment.js.map +1 -0
- package/dist/plugins/vite-plugin-assets.d.ts +3 -0
- package/dist/plugins/vite-plugin-assets.js +135 -0
- package/dist/plugins/vite-plugin-assets.js.map +1 -0
- package/dist/plugins/vite-plugin-multi-platform.d.ts +3 -0
- package/dist/plugins/vite-plugin-multi-platform.js +71 -0
- package/dist/plugins/vite-plugin-multi-platform.js.map +1 -0
- package/dist/react-framework/index.d.ts +27 -0
- package/dist/react-framework/index.js +36 -0
- package/dist/react-framework/index.js.map +1 -0
- package/dist/react-framework/loader-meta.d.ts +3 -0
- package/dist/react-framework/loader-meta.js +151 -0
- package/dist/react-framework/loader-meta.js.map +1 -0
- package/dist/react-framework/runtime/connect-native.d.ts +10 -0
- package/dist/react-framework/runtime/connect-native.js +392 -0
- package/dist/react-framework/runtime/connect-native.js.map +1 -0
- package/dist/react-framework/runtime/connect.d.ts +14 -0
- package/dist/react-framework/runtime/connect.js +313 -0
- package/dist/react-framework/runtime/connect.js.map +1 -0
- package/dist/react-framework/runtime/hooks.d.ts +30 -0
- package/dist/react-framework/runtime/hooks.js +87 -0
- package/dist/react-framework/runtime/hooks.js.map +1 -0
- package/dist/react-framework/runtime/index.d.ts +3 -0
- package/dist/react-framework/runtime/index.js +49 -0
- package/dist/react-framework/runtime/index.js.map +1 -0
- package/dist/react-framework/runtime/react-meta.d.ts +7 -0
- package/dist/react-framework/runtime/react-meta.js +9 -0
- package/dist/react-framework/runtime/react-meta.js.map +1 -0
- package/dist/react-framework/runtime/utils.d.ts +13 -0
- package/dist/react-framework/runtime/utils.js +45 -0
- package/dist/react-framework/runtime/utils.js.map +1 -0
- package/dist/react-framework/vite.mini.d.ts +3 -0
- package/dist/react-framework/vite.mini.js +135 -0
- package/dist/react-framework/vite.mini.js.map +1 -0
- package/dist/react-runtime/component-tree.d.ts +19 -0
- package/dist/react-runtime/component-tree.js +65 -0
- package/dist/react-runtime/component-tree.js.map +1 -0
- package/dist/react-runtime/constant.d.ts +7 -0
- package/dist/react-runtime/constant.js +78 -0
- package/dist/react-runtime/constant.js.map +1 -0
- package/dist/react-runtime/dom-input.d.ts +12 -0
- package/dist/react-runtime/dom-input.js +86 -0
- package/dist/react-runtime/dom-input.js.map +1 -0
- package/dist/react-runtime/event.d.ts +13 -0
- package/dist/react-runtime/event.js +83 -0
- package/dist/react-runtime/event.js.map +1 -0
- package/dist/react-runtime/index.d.ts +33 -0
- package/dist/react-runtime/index.js +75 -0
- package/dist/react-runtime/index.js.map +1 -0
- package/dist/react-runtime/input-value-tracking.d.ts +3 -0
- package/dist/react-runtime/input-value-tracking.js +84 -0
- package/dist/react-runtime/input-value-tracking.js.map +1 -0
- package/dist/react-runtime/props.d.ts +7 -0
- package/dist/react-runtime/props.js +153 -0
- package/dist/react-runtime/props.js.map +1 -0
- package/dist/react-runtime/reconciler.d.ts +5 -0
- package/dist/react-runtime/reconciler.js +217 -0
- package/dist/react-runtime/reconciler.js.map +1 -0
- package/dist/react-runtime/render.d.ts +25 -0
- package/dist/react-runtime/render.js +97 -0
- package/dist/react-runtime/render.js.map +1 -0
- package/dist/react-runtime/work-tags.d.ts +26 -0
- package/dist/react-runtime/work-tags.js +29 -0
- package/dist/react-runtime/work-tags.js.map +1 -0
- package/dist/shared/compiler/base.d.ts +41 -0
- package/dist/shared/compiler/base.js +170 -0
- package/dist/shared/compiler/base.js.map +1 -0
- package/dist/shared/compiler/mini.d.ts +20 -0
- package/dist/shared/compiler/mini.js +147 -0
- package/dist/shared/compiler/mini.js.map +1 -0
- package/dist/shared/component.d.ts +2 -0
- package/dist/shared/component.js +21 -0
- package/dist/shared/component.js.map +1 -0
- package/dist/shared/constants.d.ts +47 -0
- package/dist/shared/constants.js +51 -0
- package/dist/shared/constants.js.map +1 -0
- package/dist/shared/create-filter.d.ts +7 -0
- package/dist/shared/create-filter.js +97 -0
- package/dist/shared/create-filter.js.map +1 -0
- package/dist/shared/html.d.ts +1 -0
- package/dist/shared/html.js +19 -0
- package/dist/shared/html.js.map +1 -0
- package/dist/shared/index.d.ts +39 -0
- package/dist/shared/index.js +258 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/logger.d.ts +7 -0
- package/dist/shared/logger.js +146 -0
- package/dist/shared/logger.js.map +1 -0
- package/dist/shared/map.d.ts +11 -0
- package/dist/shared/map.js +41 -0
- package/dist/shared/map.js.map +1 -0
- package/dist/shared/profile.d.ts +9 -0
- package/dist/shared/profile.js +52 -0
- package/dist/shared/profile.js.map +1 -0
- package/dist/shared/rollup.d.ts +8 -0
- package/dist/shared/rollup.js +40 -0
- package/dist/shared/rollup.js.map +1 -0
- package/dist/shared/runner/constant.d.ts +5 -0
- package/dist/shared/runner/constant.js +53 -0
- package/dist/shared/runner/constant.js.map +1 -0
- package/dist/shared/runner/index.d.ts +2 -0
- package/dist/shared/runner/index.js +19 -0
- package/dist/shared/runner/index.js.map +1 -0
- package/dist/shared/runner/vite.d.ts +3 -0
- package/dist/shared/runner/vite.js +10 -0
- package/dist/shared/runner/vite.js.map +1 -0
- package/dist/style-transforms/html-transform.d.ts +14 -0
- package/dist/style-transforms/html-transform.js +124 -0
- package/dist/style-transforms/html-transform.js.map +1 -0
- package/dist/style-transforms/px-transform.d.ts +40 -0
- package/dist/style-transforms/px-transform.js +252 -0
- package/dist/style-transforms/px-transform.js.map +1 -0
- package/dist/templates/comp.js +5 -0
- package/dist/templates/custom-wrapper.js +5 -0
- package/package.json +67 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = default_1;
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const taro_helper_1 = require("@spcsn/taro-helper");
|
|
9
|
+
const taro_shared_1 = require("@spcsn/taro-shared");
|
|
10
|
+
const shared_1 = require("../shared");
|
|
11
|
+
const component_1 = require("../shared/component");
|
|
12
|
+
const constants_1 = require("../shared/constants");
|
|
13
|
+
function default_1(viteCompilerContext) {
|
|
14
|
+
return [
|
|
15
|
+
{
|
|
16
|
+
name: 'taro:vite-mini-emit',
|
|
17
|
+
async generateBundle(_outputOpts, bundle) {
|
|
18
|
+
if (viteCompilerContext) {
|
|
19
|
+
const { taroConfig, sourceDir } = viteCompilerContext;
|
|
20
|
+
const template = taroConfig.template;
|
|
21
|
+
if ((0, taro_shared_1.isFunction)(viteCompilerContext.taroConfig.modifyMiniConfigs)) {
|
|
22
|
+
viteCompilerContext.taroConfig.modifyMiniConfigs(viteCompilerContext.filesConfig);
|
|
23
|
+
}
|
|
24
|
+
const compPathId = await this.resolve(taroConfig.taroComponentsPath);
|
|
25
|
+
if (compPathId) {
|
|
26
|
+
const id = compPathId.id;
|
|
27
|
+
const depsChunks = ['vendors.js', 'common.js'];
|
|
28
|
+
let isFound = false;
|
|
29
|
+
const collectDeps = (chunkName) => {
|
|
30
|
+
const chunk = bundle[chunkName];
|
|
31
|
+
if (chunk?.type === 'chunk' && chunk.moduleIds.includes(id)) {
|
|
32
|
+
const module = chunk.modules[id];
|
|
33
|
+
module.renderedExports.forEach((item) => component_1.componentConfig.includes.add((0, taro_shared_1.toDashed)(item)));
|
|
34
|
+
isFound = true;
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
depsChunks.some((chunkName) => {
|
|
39
|
+
return collectDeps(chunkName);
|
|
40
|
+
});
|
|
41
|
+
if (!isFound) {
|
|
42
|
+
for (const chunkName in bundle) {
|
|
43
|
+
if (collectDeps(chunkName)) {
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const isUsingCustomWrapper = true;
|
|
50
|
+
if (!component_1.componentConfig.thirdPartyComponents.has(constants_1.customWrapperName)) {
|
|
51
|
+
component_1.componentConfig.thirdPartyComponents.set(constants_1.customWrapperName, new Set());
|
|
52
|
+
}
|
|
53
|
+
// emit: app.json
|
|
54
|
+
generateConfigFile(this, viteCompilerContext, {
|
|
55
|
+
filePath: viteCompilerContext.app.name,
|
|
56
|
+
config: viteCompilerContext.app.config,
|
|
57
|
+
});
|
|
58
|
+
// emit: page
|
|
59
|
+
viteCompilerContext.pages.forEach((page) => {
|
|
60
|
+
const pageConfig = page.config;
|
|
61
|
+
if (!page.isNative) {
|
|
62
|
+
const usingComponents = (pageConfig.usingComponents = {
|
|
63
|
+
...pageConfig.usingComponents,
|
|
64
|
+
});
|
|
65
|
+
if (isUsingCustomWrapper) {
|
|
66
|
+
const importCustomWrapperPath = (0, taro_helper_1.promoteRelativePath)(node_path_1.default.relative(page.scriptPath, node_path_1.default.join(sourceDir, viteCompilerContext.getTargetFilePath(constants_1.customWrapperName, ''))));
|
|
67
|
+
usingComponents[constants_1.customWrapperName] = importCustomWrapperPath;
|
|
68
|
+
}
|
|
69
|
+
if (!template.isSupportRecursive) {
|
|
70
|
+
const importBaseCompPath = (0, taro_helper_1.promoteRelativePath)(node_path_1.default.relative(page.scriptPath, node_path_1.default.join(sourceDir, viteCompilerContext.getTargetFilePath(constants_1.baseCompName, ''))));
|
|
71
|
+
usingComponents[constants_1.baseCompName] = importBaseCompPath;
|
|
72
|
+
}
|
|
73
|
+
const importBaseTemplatePath = (0, taro_helper_1.promoteRelativePath)(node_path_1.default.relative(page.scriptPath, node_path_1.default.join(sourceDir, viteCompilerContext.getTemplatePath(constants_1.baseTemplateName))));
|
|
74
|
+
generateTemplateFile(this, viteCompilerContext, {
|
|
75
|
+
filePath: page.scriptPath,
|
|
76
|
+
content: template.buildPageTemplate(importBaseTemplatePath),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
generateConfigFile(this, viteCompilerContext, {
|
|
80
|
+
filePath: page.name,
|
|
81
|
+
config: pageConfig,
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
// emit native components' json
|
|
85
|
+
for (const comp of viteCompilerContext.nativeComponents.values()) {
|
|
86
|
+
if (comp.isPackage)
|
|
87
|
+
continue;
|
|
88
|
+
generateConfigFile(this, viteCompilerContext, {
|
|
89
|
+
filePath: comp.name,
|
|
90
|
+
config: comp.config,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
// emit: base.xml
|
|
94
|
+
generateTemplateFile(this, viteCompilerContext, {
|
|
95
|
+
filePath: constants_1.baseTemplateName,
|
|
96
|
+
content: template.buildTemplate(component_1.componentConfig),
|
|
97
|
+
});
|
|
98
|
+
if (template.isUseXS) {
|
|
99
|
+
// emit: utils.xs
|
|
100
|
+
generateXSFile(this, viteCompilerContext, {
|
|
101
|
+
filePath: 'utils',
|
|
102
|
+
content: viteCompilerContext.taroConfig.template.buildXScript(),
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
// emit: comp.json, comp.xml
|
|
106
|
+
if (!template.isSupportRecursive) {
|
|
107
|
+
// 如微信、QQ 不支持递归模版的小程序,需要使用自定义组件协助递归
|
|
108
|
+
const baseCompConfig = {
|
|
109
|
+
component: true,
|
|
110
|
+
styleIsolation: 'apply-shared',
|
|
111
|
+
usingComponents: {
|
|
112
|
+
[constants_1.baseCompName]: `./${constants_1.baseCompName}`,
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
if (isUsingCustomWrapper) {
|
|
116
|
+
baseCompConfig.usingComponents[constants_1.customWrapperName] = `./${constants_1.customWrapperName}`;
|
|
117
|
+
}
|
|
118
|
+
generateConfigFile(this, viteCompilerContext, {
|
|
119
|
+
filePath: constants_1.baseCompName,
|
|
120
|
+
config: baseCompConfig,
|
|
121
|
+
});
|
|
122
|
+
generateTemplateFile(this, viteCompilerContext, {
|
|
123
|
+
filePath: constants_1.baseCompName,
|
|
124
|
+
content: template.buildBaseComponentTemplate(viteCompilerContext.fileType.templ),
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
// emit: custom-wrapper.json, custom-wrapper.xml
|
|
128
|
+
if (isUsingCustomWrapper) {
|
|
129
|
+
const customWrapperConfig = {
|
|
130
|
+
filePath: constants_1.customWrapperName,
|
|
131
|
+
config: {
|
|
132
|
+
component: true,
|
|
133
|
+
styleIsolation: 'apply-shared',
|
|
134
|
+
usingComponents: {
|
|
135
|
+
[constants_1.customWrapperName]: `./${constants_1.customWrapperName}`,
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
if (!template.isSupportRecursive) {
|
|
140
|
+
customWrapperConfig.config.usingComponents[constants_1.baseCompName] = `./${constants_1.baseCompName}`;
|
|
141
|
+
}
|
|
142
|
+
generateConfigFile(this, viteCompilerContext, {
|
|
143
|
+
filePath: constants_1.customWrapperName,
|
|
144
|
+
config: {
|
|
145
|
+
component: true,
|
|
146
|
+
styleIsolation: 'apply-shared',
|
|
147
|
+
usingComponents: {
|
|
148
|
+
[constants_1.customWrapperName]: `./${constants_1.customWrapperName}`,
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
generateTemplateFile(this, viteCompilerContext, {
|
|
153
|
+
filePath: constants_1.customWrapperName,
|
|
154
|
+
content: template.buildCustomComponentTemplate(viteCompilerContext.fileType.templ),
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
delete bundle[viteCompilerContext.getScriptPath(constants_1.customWrapperName)];
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
name: 'taro:vite-mini-emit-post',
|
|
165
|
+
async generateBundle(_outputOpts, bundle) {
|
|
166
|
+
if (viteCompilerContext) {
|
|
167
|
+
const { taroConfig } = viteCompilerContext;
|
|
168
|
+
if ((0, taro_shared_1.isFunction)(taroConfig.modifyBuildAssets)) {
|
|
169
|
+
const assets = {};
|
|
170
|
+
for (const name in bundle) {
|
|
171
|
+
const chunk = bundle[name];
|
|
172
|
+
const source = chunk.type === 'asset' ? chunk.source : chunk.code;
|
|
173
|
+
assets[chunk.fileName] = {
|
|
174
|
+
source: () => source,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
const assetsProxy = new Proxy(assets, {
|
|
178
|
+
set(target, p, newValue) {
|
|
179
|
+
if (!(0, taro_shared_1.isString)(p))
|
|
180
|
+
return false;
|
|
181
|
+
target[p] = newValue;
|
|
182
|
+
const chunk = bundle[p];
|
|
183
|
+
if (chunk.type === 'asset') {
|
|
184
|
+
chunk.source = newValue.source();
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
chunk.code = newValue.source();
|
|
188
|
+
}
|
|
189
|
+
return true;
|
|
190
|
+
},
|
|
191
|
+
});
|
|
192
|
+
taroConfig.modifyBuildAssets(assetsProxy, {
|
|
193
|
+
pages: viteCompilerContext.pages,
|
|
194
|
+
filesConfig: viteCompilerContext.filesConfig,
|
|
195
|
+
getConfigFilePath: viteCompilerContext.getConfigFilePath,
|
|
196
|
+
options: {
|
|
197
|
+
isBuildPlugin: viteCompilerContext.taroConfig.isBuildPlugin,
|
|
198
|
+
},
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
},
|
|
204
|
+
];
|
|
205
|
+
}
|
|
206
|
+
function generateConfigFile(ctx, viteCompilerContext, options) {
|
|
207
|
+
const { filePath, config } = options;
|
|
208
|
+
const fileName = viteCompilerContext.getConfigPath((0, shared_1.getComponentName)(viteCompilerContext, filePath));
|
|
209
|
+
const unOfficialConfigs = ['enableShareAppMessage', 'enableShareTimeline', 'components'];
|
|
210
|
+
unOfficialConfigs.forEach((item) => {
|
|
211
|
+
delete config[item];
|
|
212
|
+
});
|
|
213
|
+
const source = (0, shared_1.prettyPrintJson)(config);
|
|
214
|
+
ctx.emitFile({
|
|
215
|
+
type: 'asset',
|
|
216
|
+
fileName,
|
|
217
|
+
source,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
function generateTemplateFile(ctx, viteCompilerContext, options) {
|
|
221
|
+
let source = options.content;
|
|
222
|
+
const fileName = viteCompilerContext.getTemplatePath((0, shared_1.getComponentName)(viteCompilerContext, options.filePath));
|
|
223
|
+
if (viteCompilerContext.taroConfig.minifyXML?.collapseWhitespace) {
|
|
224
|
+
const minify = require('html-minifier').minify;
|
|
225
|
+
source = minify(source, {
|
|
226
|
+
collapseWhitespace: true,
|
|
227
|
+
keepClosingSlash: true,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
ctx.emitFile({
|
|
231
|
+
type: 'asset',
|
|
232
|
+
fileName,
|
|
233
|
+
source,
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
function generateXSFile(ctx, viteCompilerContext, options) {
|
|
237
|
+
const ext = viteCompilerContext.fileType.xs;
|
|
238
|
+
if (ext == null)
|
|
239
|
+
return;
|
|
240
|
+
const fileName = viteCompilerContext.getTargetFilePath(options.filePath, ext);
|
|
241
|
+
ctx.emitFile({
|
|
242
|
+
type: 'asset',
|
|
243
|
+
fileName,
|
|
244
|
+
source: options.content,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=emit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/mini-program/emit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = default_1;
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const taro_helper_1 = require("@spcsn/taro-helper");
|
|
9
|
+
const shared_1 = require("../shared");
|
|
10
|
+
const constants_1 = require("../shared/constants");
|
|
11
|
+
const native_support_1 = require("./native-support");
|
|
12
|
+
const ENTRY_SUFFIX = '?entry-loader=true';
|
|
13
|
+
function default_1(viteCompilerContext) {
|
|
14
|
+
return {
|
|
15
|
+
name: 'taro:vite-mini-entry',
|
|
16
|
+
enforce: 'pre',
|
|
17
|
+
resolveId(source, _importer, options) {
|
|
18
|
+
if (viteCompilerContext?.isApp(source) && options.isEntry) {
|
|
19
|
+
return (0, shared_1.appendVirtualModulePrefix)(source + ENTRY_SUFFIX);
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
22
|
+
},
|
|
23
|
+
async load(id) {
|
|
24
|
+
if (viteCompilerContext && id.endsWith(ENTRY_SUFFIX)) {
|
|
25
|
+
const rawId = (0, shared_1.stripVirtualModulePrefix)(id).replace(ENTRY_SUFFIX, '');
|
|
26
|
+
const { taroConfig, app } = viteCompilerContext;
|
|
27
|
+
const appConfig = app.config;
|
|
28
|
+
const runtimePath = Array.isArray(taroConfig.runtimePath) ? taroConfig.runtimePath : [taroConfig.runtimePath];
|
|
29
|
+
let setReconcilerPost = '';
|
|
30
|
+
const setReconciler = runtimePath.reduce((res, item) => {
|
|
31
|
+
if (item && /^post:/.test(item)) {
|
|
32
|
+
setReconcilerPost += `import '${item.replace(/^post:/, '')}'\n`;
|
|
33
|
+
return res;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
return res + `import '${item}'\n`;
|
|
37
|
+
}
|
|
38
|
+
}, '');
|
|
39
|
+
const { importFrameworkStatement, frameworkArgs, creator, creatorLocation, modifyInstantiate } = viteCompilerContext.loaderMeta;
|
|
40
|
+
const createApp = `${creator}(component, ${frameworkArgs})`;
|
|
41
|
+
const appConfigStr = (0, shared_1.prettyPrintJson)(appConfig);
|
|
42
|
+
let instantiateApp = taroConfig.blended
|
|
43
|
+
? [`\nvar app = ${createApp}`, 'app.onLaunch()', 'exports.taroApp = app'].join('\n')
|
|
44
|
+
: `var inst = App(${createApp})`;
|
|
45
|
+
if (typeof modifyInstantiate === 'function') {
|
|
46
|
+
instantiateApp = modifyInstantiate(instantiateApp, 'app');
|
|
47
|
+
}
|
|
48
|
+
// pages
|
|
49
|
+
viteCompilerContext.pages.forEach(async (page) => {
|
|
50
|
+
// 小程序原生页面
|
|
51
|
+
if (page.isNative) {
|
|
52
|
+
if (page.templatePath) {
|
|
53
|
+
const source = (0, native_support_1.miniTemplateLoader)(this, page.templatePath, viteCompilerContext.sourceDir);
|
|
54
|
+
this.emitFile({
|
|
55
|
+
type: 'asset',
|
|
56
|
+
fileName: viteCompilerContext.getTemplatePath(page.name),
|
|
57
|
+
source,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
page.cssPath && this.addWatchFile(page.cssPath);
|
|
61
|
+
}
|
|
62
|
+
this.emitFile({
|
|
63
|
+
type: 'chunk',
|
|
64
|
+
id: `${page.scriptPath}${page.isNative ? native_support_1.QUERY_IS_NATIVE_PAGE : ''}`,
|
|
65
|
+
fileName: viteCompilerContext.getScriptPath(page.name),
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
// native components
|
|
69
|
+
for (const comp of viteCompilerContext.nativeComponents.values()) {
|
|
70
|
+
viteCompilerContext.generateNativeComponent(this, comp);
|
|
71
|
+
}
|
|
72
|
+
// comp' script
|
|
73
|
+
if (!viteCompilerContext.taroConfig.template.isSupportRecursive) {
|
|
74
|
+
this.emitFile({
|
|
75
|
+
type: 'chunk',
|
|
76
|
+
id: node_path_1.default.resolve(__dirname, '../templates/comp'),
|
|
77
|
+
fileName: viteCompilerContext.getScriptPath(constants_1.baseCompName),
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
// custom-wrapper' script
|
|
81
|
+
this.emitFile({
|
|
82
|
+
type: 'chunk',
|
|
83
|
+
id: node_path_1.default.resolve(__dirname, '../templates/custom-wrapper'),
|
|
84
|
+
fileName: viteCompilerContext.getScriptPath(constants_1.customWrapperName),
|
|
85
|
+
});
|
|
86
|
+
// tabbar
|
|
87
|
+
if (appConfig.tabBar && !(0, taro_helper_1.isEmptyObject)(appConfig.tabBar)) {
|
|
88
|
+
const list = appConfig.tabBar.list || [];
|
|
89
|
+
const { sourceDir } = viteCompilerContext;
|
|
90
|
+
list.forEach(async (item) => {
|
|
91
|
+
const { iconPath, selectedIconPath } = item;
|
|
92
|
+
if (iconPath && !iconPath.startsWith('@')) {
|
|
93
|
+
const filePath = node_path_1.default.resolve(sourceDir, iconPath);
|
|
94
|
+
this.emitFile({
|
|
95
|
+
type: 'asset',
|
|
96
|
+
fileName: (0, taro_helper_1.removePathPrefix)(iconPath),
|
|
97
|
+
source: Uint8Array.from(taro_helper_1.fs.readFileSync(filePath)),
|
|
98
|
+
});
|
|
99
|
+
this.addWatchFile(filePath);
|
|
100
|
+
}
|
|
101
|
+
if (selectedIconPath && !selectedIconPath.startsWith('@')) {
|
|
102
|
+
const filePath = node_path_1.default.resolve(sourceDir, selectedIconPath);
|
|
103
|
+
this.emitFile({
|
|
104
|
+
type: 'asset',
|
|
105
|
+
fileName: (0, taro_helper_1.removePathPrefix)(selectedIconPath),
|
|
106
|
+
source: Uint8Array.from(taro_helper_1.fs.readFileSync(filePath)),
|
|
107
|
+
});
|
|
108
|
+
this.addWatchFile(filePath);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
// darkmode
|
|
113
|
+
if (appConfig.darkmode && typeof appConfig.themeLocation === 'string') {
|
|
114
|
+
const themePath = node_path_1.default.resolve(viteCompilerContext.sourceDir, appConfig.themeLocation);
|
|
115
|
+
this.emitFile({
|
|
116
|
+
type: 'asset',
|
|
117
|
+
fileName: appConfig.themeLocation,
|
|
118
|
+
source: Uint8Array.from(taro_helper_1.fs.readFileSync(themePath)),
|
|
119
|
+
});
|
|
120
|
+
this.addWatchFile(themePath);
|
|
121
|
+
}
|
|
122
|
+
return [
|
|
123
|
+
setReconciler,
|
|
124
|
+
'import { window } from "@spcsn/taro-runtime"',
|
|
125
|
+
`import { ${creator} } from "${creatorLocation}"`,
|
|
126
|
+
'import { initPxTransform } from "@spcsn/taro"',
|
|
127
|
+
setReconcilerPost,
|
|
128
|
+
`import component from "${(0, shared_1.escapePath)(rawId)}"`,
|
|
129
|
+
importFrameworkStatement,
|
|
130
|
+
`var config = ${appConfigStr};`,
|
|
131
|
+
'window.__taroAppConfig = config',
|
|
132
|
+
instantiateApp,
|
|
133
|
+
'initPxTransform({',
|
|
134
|
+
`designWidth: ${taroConfig.designWidth || 750},`,
|
|
135
|
+
`deviceRatio: ${JSON.stringify(taroConfig.deviceRatio || { 750: 1 })}`,
|
|
136
|
+
'})',
|
|
137
|
+
].join('\n');
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/mini-program/entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = default_1;
|
|
7
|
+
const vite_plugin_assets_1 = __importDefault(require("../plugins/vite-plugin-assets"));
|
|
8
|
+
const vite_plugin_multi_platform_1 = __importDefault(require("../plugins/vite-plugin-multi-platform"));
|
|
9
|
+
const config_1 = __importDefault(require("./config"));
|
|
10
|
+
const emit_1 = __importDefault(require("./emit"));
|
|
11
|
+
const entry_1 = __importDefault(require("./entry"));
|
|
12
|
+
const native_support_1 = __importDefault(require("./native-support"));
|
|
13
|
+
const page_1 = __importDefault(require("./page"));
|
|
14
|
+
const pipeline_1 = __importDefault(require("./pipeline"));
|
|
15
|
+
const style_1 = __importDefault(require("./style"));
|
|
16
|
+
function default_1(viteCompilerContext) {
|
|
17
|
+
return [
|
|
18
|
+
(0, pipeline_1.default)(viteCompilerContext),
|
|
19
|
+
(0, config_1.default)(viteCompilerContext),
|
|
20
|
+
(0, entry_1.default)(viteCompilerContext),
|
|
21
|
+
(0, page_1.default)(viteCompilerContext),
|
|
22
|
+
(0, vite_plugin_multi_platform_1.default)(viteCompilerContext),
|
|
23
|
+
(0, native_support_1.default)(viteCompilerContext),
|
|
24
|
+
(0, vite_plugin_assets_1.default)(viteCompilerContext),
|
|
25
|
+
(0, style_1.default)(viteCompilerContext),
|
|
26
|
+
(0, emit_1.default)(viteCompilerContext),
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mini-program/index.ts"],"names":[],"mappings":";;;;;AAaA,4BAYC;AAzBD,uFAAyD;AACzD,uGAAwE;AACxE,sDAAoC;AACpC,kDAAgC;AAChC,oDAAkC;AAClC,sEAAmD;AACnD,kDAAgC;AAChC,0DAAwC;AACxC,oDAAkC;AAKlC,mBAAyB,mBAA4C;IACnE,OAAO;QACL,IAAA,kBAAc,EAAC,mBAAmB,CAAC;QACnC,IAAA,gBAAY,EAAC,mBAAmB,CAAC;QACjC,IAAA,eAAW,EAAC,mBAAmB,CAAC;QAChC,IAAA,cAAU,EAAC,mBAAmB,CAAC;QAC/B,IAAA,oCAAmB,EAAC,mBAAmB,CAAC;QACxC,IAAA,wBAAmB,EAAC,mBAAmB,CAAC;QACxC,IAAA,4BAAY,EAAC,mBAAmB,CAAC;QACjC,IAAA,eAAW,EAAC,mBAAmB,CAAC;QAChC,IAAA,cAAU,EAAC,mBAAmB,CAAC;KAChC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ViteMiniCompilerContext } from '@spcsn/taro/types/compile/viteCompilerContext';
|
|
2
|
+
import type { PluginOption, Rolldown } from 'vite';
|
|
3
|
+
export declare const QUERY_IS_NATIVE_PAGE: string;
|
|
4
|
+
export declare const QUERY_IS_NATIVE_COMP: string;
|
|
5
|
+
export default function (viteCompilerContext: ViteMiniCompilerContext | undefined): PluginOption;
|
|
6
|
+
export declare function miniTemplateLoader(ctx: Rolldown.PluginContext, templatePath: string, sourceDir: string): string;
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.QUERY_IS_NATIVE_COMP = exports.QUERY_IS_NATIVE_PAGE = void 0;
|
|
7
|
+
exports.default = default_1;
|
|
8
|
+
exports.miniTemplateLoader = miniTemplateLoader;
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
const taro_helper_1 = require("@spcsn/taro-helper");
|
|
11
|
+
const vite_1 = require("vite");
|
|
12
|
+
const shared_1 = require("../shared");
|
|
13
|
+
const component_1 = require("../shared/component");
|
|
14
|
+
const QUERY_IS_NATIVE_SCRIPT = '?isNativeScript=';
|
|
15
|
+
exports.QUERY_IS_NATIVE_PAGE = QUERY_IS_NATIVE_SCRIPT + 'page';
|
|
16
|
+
exports.QUERY_IS_NATIVE_COMP = QUERY_IS_NATIVE_SCRIPT + 'comp';
|
|
17
|
+
const IS_NATIVE_SCRIPT_REG = new RegExp(`\\${QUERY_IS_NATIVE_SCRIPT}(page|comp)$`);
|
|
18
|
+
const QUERY_IS_NATIVE_STYLE = '?isNativeStyle=true';
|
|
19
|
+
const IS_NATIVE_STYLE_REG = new RegExp(`\\${QUERY_IS_NATIVE_STYLE}`);
|
|
20
|
+
function default_1(viteCompilerContext) {
|
|
21
|
+
const { taroConfig } = viteCompilerContext;
|
|
22
|
+
return {
|
|
23
|
+
name: 'taro:vite-native-support',
|
|
24
|
+
enforce: 'pre',
|
|
25
|
+
buildEnd() {
|
|
26
|
+
viteCompilerContext = undefined;
|
|
27
|
+
},
|
|
28
|
+
resolveId(id) {
|
|
29
|
+
if (!viteCompilerContext)
|
|
30
|
+
return;
|
|
31
|
+
if (IS_NATIVE_STYLE_REG.test(id)) {
|
|
32
|
+
return id;
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
async load(id) {
|
|
36
|
+
if (!viteCompilerContext)
|
|
37
|
+
return;
|
|
38
|
+
if (IS_NATIVE_SCRIPT_REG.test(id)) {
|
|
39
|
+
let type = 'page';
|
|
40
|
+
const target = id.replace(IS_NATIVE_SCRIPT_REG, (_, $1) => {
|
|
41
|
+
type = $1;
|
|
42
|
+
return '';
|
|
43
|
+
});
|
|
44
|
+
let stylePath = '';
|
|
45
|
+
if (type === 'page') {
|
|
46
|
+
for (const page of viteCompilerContext.pages) {
|
|
47
|
+
if (page.isNative && page.scriptPath === target && page.cssPath && taro_helper_1.fs.existsSync(page.cssPath)) {
|
|
48
|
+
stylePath = viteCompilerContext.getTargetFilePath(page.cssPath, '.css');
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
for (const comp of viteCompilerContext.nativeComponents.values()) {
|
|
55
|
+
if (comp.scriptPath === target && comp.cssPath && taro_helper_1.fs.existsSync(comp.cssPath)) {
|
|
56
|
+
stylePath = viteCompilerContext.getTargetFilePath(comp.cssPath, '.css');
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (stylePath) {
|
|
62
|
+
return {
|
|
63
|
+
code: [`import "${target}";\n`, stylePath ? `import "${stylePath}${QUERY_IS_NATIVE_STYLE}";\n` : ''].join(''),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
else if (IS_NATIVE_STYLE_REG.test(id)) {
|
|
68
|
+
let source = id.replace(new RegExp(`\\${QUERY_IS_NATIVE_STYLE}`), '');
|
|
69
|
+
source = viteCompilerContext.getTargetFilePath(source, viteCompilerContext.fileType.style);
|
|
70
|
+
const code = taro_helper_1.fs.readFileSync(source, 'utf-8');
|
|
71
|
+
return {
|
|
72
|
+
code,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
moduleParsed(moduleInfo) {
|
|
77
|
+
const { id } = moduleInfo;
|
|
78
|
+
let ast;
|
|
79
|
+
try {
|
|
80
|
+
ast = moduleInfo.ast;
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (!(0, shared_1.isVirtualModule)(id) && /\.[jt]sx/.test(id)) {
|
|
86
|
+
const walk = require('acorn-walk');
|
|
87
|
+
walk.simple(ast, {
|
|
88
|
+
CallExpression: (node) => {
|
|
89
|
+
const callee = node.callee;
|
|
90
|
+
if (callee.type === 'MemberExpression') {
|
|
91
|
+
if (callee.property.name !== 'createElement') {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
const nameOfCallee = callee.name;
|
|
97
|
+
if (!/_?jsxs?/.test(nameOfCallee) && !nameOfCallee?.includes('createElement')) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const [type, prop] = node.arguments;
|
|
102
|
+
const componentName = type.name;
|
|
103
|
+
type.value && taroConfig.onParseCreateElement?.(type.value, component_1.componentConfig);
|
|
104
|
+
if (componentName === 'CustomWrapper' && !component_1.componentConfig.thirdPartyComponents.get('custom-wrapper')) {
|
|
105
|
+
component_1.componentConfig.thirdPartyComponents.set('custom-wrapper', new Set());
|
|
106
|
+
}
|
|
107
|
+
if (component_1.componentConfig.thirdPartyComponents.size === 0) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const attrs = component_1.componentConfig.thirdPartyComponents.get(type.value);
|
|
111
|
+
if (attrs == null || !prop || prop.type !== 'ObjectExpression') {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
prop.properties
|
|
115
|
+
.filter((p) => p.type === 'Property' &&
|
|
116
|
+
p.key.type === 'Identifier' &&
|
|
117
|
+
p.key.name !== 'children' &&
|
|
118
|
+
p.key.name !== 'id')
|
|
119
|
+
.forEach((p) => attrs.add(p.key.name));
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function miniTemplateLoader(ctx, templatePath, sourceDir) {
|
|
127
|
+
const source = taro_helper_1.fs.readFileSync(templatePath).toString();
|
|
128
|
+
/**
|
|
129
|
+
* 两种fix方案:
|
|
130
|
+
* 1. 用任意xml标签包裹source,使之变成较标准的xml格式(含有一个根节点)
|
|
131
|
+
* 2. 修改 sax.parser 的第一个参数为 true,启用严格模式
|
|
132
|
+
* 2.1 该模式下小程序模板中的标签或属性不会处理(例如写入<Import SrC="..." />不会处理成<import src="..." />,而是保持原样
|
|
133
|
+
* 2.2 该模式将认为传入的xml为非标准的,无需标准化,且不按照以根节点模式处理,因此可以正常解析小程序模板
|
|
134
|
+
*
|
|
135
|
+
* 推荐方案1,这样在构建时会正常打入需要的包,但是若用户有 SrC 类似的写法导致引用失败,则可直接修正,不会认为是打包出现了问题
|
|
136
|
+
**/
|
|
137
|
+
const sourceWithRoot = `<root>${source}</root>`;
|
|
138
|
+
const parser = require('sax').parser(false, { lowercase: true });
|
|
139
|
+
const requests = [];
|
|
140
|
+
parser.onattribute = ({ name, value }) => {
|
|
141
|
+
if (name === 'src' && (0, shared_1.isRelativePath)(value)) {
|
|
142
|
+
const request = node_path_1.default.resolve(node_path_1.default.dirname(templatePath), value);
|
|
143
|
+
requests.push((0, vite_1.normalizePath)(request));
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
parser.onend = async () => {
|
|
147
|
+
for (let i = 0; i < requests.length; i++) {
|
|
148
|
+
ctx.emitFile({
|
|
149
|
+
type: 'asset',
|
|
150
|
+
fileName: requests[i].replace(sourceDir, '').replace(/^\//, ''),
|
|
151
|
+
source: Uint8Array.from(taro_helper_1.fs.readFileSync(requests[i])),
|
|
152
|
+
});
|
|
153
|
+
ctx.addWatchFile(requests[i]);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
parser.write(sourceWithRoot).close();
|
|
157
|
+
ctx.addWatchFile(templatePath);
|
|
158
|
+
return source;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=native-support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-support.js","sourceRoot":"","sources":["../../src/mini-program/native-support.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ViteMiniCompilerContext } from '@spcsn/taro/types/compile/viteCompilerContext';
|
|
2
|
+
import type { PluginOption } from 'vite';
|
|
3
|
+
export declare const PAGE_SUFFIX = "?page-loader=true";
|
|
4
|
+
export default function (viteCompilerContext: ViteMiniCompilerContext): PluginOption;
|