@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.
Files changed (154) hide show
  1. package/README.md +103 -0
  2. package/dist/entrypoints/mini-runner.d.ts +2 -0
  3. package/dist/entrypoints/mini-runner.js +96 -0
  4. package/dist/entrypoints/mini-runner.js.map +1 -0
  5. package/dist/index.d.ts +5 -0
  6. package/dist/index.js +9 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/mini-program/config.d.ts +3 -0
  9. package/dist/mini-program/config.js +237 -0
  10. package/dist/mini-program/config.js.map +1 -0
  11. package/dist/mini-program/default-config.d.ts +3 -0
  12. package/dist/mini-program/default-config.js +49 -0
  13. package/dist/mini-program/default-config.js.map +1 -0
  14. package/dist/mini-program/emit.d.ts +3 -0
  15. package/dist/mini-program/emit.js +247 -0
  16. package/dist/mini-program/emit.js.map +1 -0
  17. package/dist/mini-program/entry.d.ts +3 -0
  18. package/dist/mini-program/entry.js +142 -0
  19. package/dist/mini-program/entry.js.map +1 -0
  20. package/dist/mini-program/index.d.ts +3 -0
  21. package/dist/mini-program/index.js +29 -0
  22. package/dist/mini-program/index.js.map +1 -0
  23. package/dist/mini-program/native-support.d.ts +6 -0
  24. package/dist/mini-program/native-support.js +160 -0
  25. package/dist/mini-program/native-support.js.map +1 -0
  26. package/dist/mini-program/page.d.ts +4 -0
  27. package/dist/mini-program/page.js +223 -0
  28. package/dist/mini-program/page.js.map +1 -0
  29. package/dist/mini-program/pipeline.d.ts +3 -0
  30. package/dist/mini-program/pipeline.js +46 -0
  31. package/dist/mini-program/pipeline.js.map +1 -0
  32. package/dist/mini-program/postcss.d.ts +6 -0
  33. package/dist/mini-program/postcss.js +26 -0
  34. package/dist/mini-program/postcss.js.map +1 -0
  35. package/dist/mini-program/style.d.ts +3 -0
  36. package/dist/mini-program/style.js +67 -0
  37. package/dist/mini-program/style.js.map +1 -0
  38. package/dist/plugins/rollup-plugin-increment.d.ts +8 -0
  39. package/dist/plugins/rollup-plugin-increment.js +52 -0
  40. package/dist/plugins/rollup-plugin-increment.js.map +1 -0
  41. package/dist/plugins/vite-plugin-assets.d.ts +3 -0
  42. package/dist/plugins/vite-plugin-assets.js +135 -0
  43. package/dist/plugins/vite-plugin-assets.js.map +1 -0
  44. package/dist/plugins/vite-plugin-multi-platform.d.ts +3 -0
  45. package/dist/plugins/vite-plugin-multi-platform.js +71 -0
  46. package/dist/plugins/vite-plugin-multi-platform.js.map +1 -0
  47. package/dist/react-framework/index.d.ts +27 -0
  48. package/dist/react-framework/index.js +36 -0
  49. package/dist/react-framework/index.js.map +1 -0
  50. package/dist/react-framework/loader-meta.d.ts +3 -0
  51. package/dist/react-framework/loader-meta.js +151 -0
  52. package/dist/react-framework/loader-meta.js.map +1 -0
  53. package/dist/react-framework/runtime/connect-native.d.ts +10 -0
  54. package/dist/react-framework/runtime/connect-native.js +392 -0
  55. package/dist/react-framework/runtime/connect-native.js.map +1 -0
  56. package/dist/react-framework/runtime/connect.d.ts +14 -0
  57. package/dist/react-framework/runtime/connect.js +313 -0
  58. package/dist/react-framework/runtime/connect.js.map +1 -0
  59. package/dist/react-framework/runtime/hooks.d.ts +30 -0
  60. package/dist/react-framework/runtime/hooks.js +87 -0
  61. package/dist/react-framework/runtime/hooks.js.map +1 -0
  62. package/dist/react-framework/runtime/index.d.ts +3 -0
  63. package/dist/react-framework/runtime/index.js +49 -0
  64. package/dist/react-framework/runtime/index.js.map +1 -0
  65. package/dist/react-framework/runtime/react-meta.d.ts +7 -0
  66. package/dist/react-framework/runtime/react-meta.js +9 -0
  67. package/dist/react-framework/runtime/react-meta.js.map +1 -0
  68. package/dist/react-framework/runtime/utils.d.ts +13 -0
  69. package/dist/react-framework/runtime/utils.js +45 -0
  70. package/dist/react-framework/runtime/utils.js.map +1 -0
  71. package/dist/react-framework/vite.mini.d.ts +3 -0
  72. package/dist/react-framework/vite.mini.js +135 -0
  73. package/dist/react-framework/vite.mini.js.map +1 -0
  74. package/dist/react-runtime/component-tree.d.ts +19 -0
  75. package/dist/react-runtime/component-tree.js +65 -0
  76. package/dist/react-runtime/component-tree.js.map +1 -0
  77. package/dist/react-runtime/constant.d.ts +7 -0
  78. package/dist/react-runtime/constant.js +78 -0
  79. package/dist/react-runtime/constant.js.map +1 -0
  80. package/dist/react-runtime/dom-input.d.ts +12 -0
  81. package/dist/react-runtime/dom-input.js +86 -0
  82. package/dist/react-runtime/dom-input.js.map +1 -0
  83. package/dist/react-runtime/event.d.ts +13 -0
  84. package/dist/react-runtime/event.js +83 -0
  85. package/dist/react-runtime/event.js.map +1 -0
  86. package/dist/react-runtime/index.d.ts +33 -0
  87. package/dist/react-runtime/index.js +75 -0
  88. package/dist/react-runtime/index.js.map +1 -0
  89. package/dist/react-runtime/input-value-tracking.d.ts +3 -0
  90. package/dist/react-runtime/input-value-tracking.js +84 -0
  91. package/dist/react-runtime/input-value-tracking.js.map +1 -0
  92. package/dist/react-runtime/props.d.ts +7 -0
  93. package/dist/react-runtime/props.js +153 -0
  94. package/dist/react-runtime/props.js.map +1 -0
  95. package/dist/react-runtime/reconciler.d.ts +5 -0
  96. package/dist/react-runtime/reconciler.js +217 -0
  97. package/dist/react-runtime/reconciler.js.map +1 -0
  98. package/dist/react-runtime/render.d.ts +25 -0
  99. package/dist/react-runtime/render.js +97 -0
  100. package/dist/react-runtime/render.js.map +1 -0
  101. package/dist/react-runtime/work-tags.d.ts +26 -0
  102. package/dist/react-runtime/work-tags.js +29 -0
  103. package/dist/react-runtime/work-tags.js.map +1 -0
  104. package/dist/shared/compiler/base.d.ts +41 -0
  105. package/dist/shared/compiler/base.js +170 -0
  106. package/dist/shared/compiler/base.js.map +1 -0
  107. package/dist/shared/compiler/mini.d.ts +20 -0
  108. package/dist/shared/compiler/mini.js +147 -0
  109. package/dist/shared/compiler/mini.js.map +1 -0
  110. package/dist/shared/component.d.ts +2 -0
  111. package/dist/shared/component.js +21 -0
  112. package/dist/shared/component.js.map +1 -0
  113. package/dist/shared/constants.d.ts +47 -0
  114. package/dist/shared/constants.js +51 -0
  115. package/dist/shared/constants.js.map +1 -0
  116. package/dist/shared/create-filter.d.ts +7 -0
  117. package/dist/shared/create-filter.js +97 -0
  118. package/dist/shared/create-filter.js.map +1 -0
  119. package/dist/shared/html.d.ts +1 -0
  120. package/dist/shared/html.js +19 -0
  121. package/dist/shared/html.js.map +1 -0
  122. package/dist/shared/index.d.ts +39 -0
  123. package/dist/shared/index.js +258 -0
  124. package/dist/shared/index.js.map +1 -0
  125. package/dist/shared/logger.d.ts +7 -0
  126. package/dist/shared/logger.js +146 -0
  127. package/dist/shared/logger.js.map +1 -0
  128. package/dist/shared/map.d.ts +11 -0
  129. package/dist/shared/map.js +41 -0
  130. package/dist/shared/map.js.map +1 -0
  131. package/dist/shared/profile.d.ts +9 -0
  132. package/dist/shared/profile.js +52 -0
  133. package/dist/shared/profile.js.map +1 -0
  134. package/dist/shared/rollup.d.ts +8 -0
  135. package/dist/shared/rollup.js +40 -0
  136. package/dist/shared/rollup.js.map +1 -0
  137. package/dist/shared/runner/constant.d.ts +5 -0
  138. package/dist/shared/runner/constant.js +53 -0
  139. package/dist/shared/runner/constant.js.map +1 -0
  140. package/dist/shared/runner/index.d.ts +2 -0
  141. package/dist/shared/runner/index.js +19 -0
  142. package/dist/shared/runner/index.js.map +1 -0
  143. package/dist/shared/runner/vite.d.ts +3 -0
  144. package/dist/shared/runner/vite.js +10 -0
  145. package/dist/shared/runner/vite.js.map +1 -0
  146. package/dist/style-transforms/html-transform.d.ts +14 -0
  147. package/dist/style-transforms/html-transform.js +124 -0
  148. package/dist/style-transforms/html-transform.js.map +1 -0
  149. package/dist/style-transforms/px-transform.d.ts +40 -0
  150. package/dist/style-transforms/px-transform.js +252 -0
  151. package/dist/style-transforms/px-transform.js.map +1 -0
  152. package/dist/templates/comp.js +5 -0
  153. package/dist/templates/custom-wrapper.js +5 -0
  154. package/package.json +67 -0
@@ -0,0 +1,97 @@
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 = createFilter;
7
+ exports.createFilterWithCompileOptions = createFilterWithCompileOptions;
8
+ /**
9
+ * Modify from https://github.com/rollup/plugins/blob/master/packages/pluginutils/src/createFilter.ts
10
+ * MIT License http://www.opensource.org/licenses/mit-license.php
11
+ * Author Tobias Rich Harris @richard.a.harris@gmail.com
12
+ */
13
+ const node_path_1 = __importDefault(require("node:path"));
14
+ const taro_shared_1 = require("@spcsn/taro-shared");
15
+ const picomatch_1 = __importDefault(require("picomatch"));
16
+ function ensureArray(thing) {
17
+ if ((0, taro_shared_1.isArray)(thing)) {
18
+ return thing;
19
+ }
20
+ if (thing == null) {
21
+ return [];
22
+ }
23
+ return [thing];
24
+ }
25
+ const normalizePath = function normalizePath(filename) {
26
+ return filename.split(node_path_1.default.win32.sep).join(node_path_1.default.posix.sep);
27
+ };
28
+ function getMatcherString(id, resolutionBase) {
29
+ if (resolutionBase === false || node_path_1.default.isAbsolute(id) || id.startsWith('*')) {
30
+ return normalizePath(id);
31
+ }
32
+ // resolve('') is valid and will default to process.cwd()
33
+ const basePath = normalizePath(node_path_1.default.resolve(resolutionBase || ''))
34
+ // escape all possible (posix + win) path characters that might interfere with regex
35
+ .replace(/[-^$*+?.()|[\]{}]/g, '\\$&');
36
+ // Note that we use posix.join because:
37
+ // 1. the basePath has been normalized to use /
38
+ // 2. the incoming glob (id) matcher, also uses /
39
+ // otherwise Node will force backslash (\) on windows
40
+ return node_path_1.default.posix.join(basePath, normalizePath(id));
41
+ }
42
+ function createFilter(include, exclude, options) {
43
+ const resolutionBase = options && options.resolve;
44
+ const getMatcher = (id) => id instanceof RegExp
45
+ ? id
46
+ : {
47
+ test: (what) => {
48
+ // this refactor is a tad overly verbose but makes for easy debugging
49
+ const pattern = getMatcherString(id, resolutionBase);
50
+ const fn = (0, picomatch_1.default)(pattern, { dot: true });
51
+ const result = fn(what);
52
+ return result;
53
+ },
54
+ };
55
+ const includeMatchers = ensureArray(include).map(getMatcher);
56
+ const excludeMatchers = ensureArray(exclude).map(getMatcher);
57
+ return function result(id) {
58
+ if (typeof id !== 'string') {
59
+ return false;
60
+ }
61
+ // 因为 vite 的虚拟模块也是 \0 开头的,会导致虚拟模块一直走不到 babel 的逻辑被过滤掉
62
+ // if (virtualModulePrefixREG.test(id))
63
+ // return false
64
+ const pathId = normalizePath(id);
65
+ for (let i = 0; i < excludeMatchers.length; ++i) {
66
+ const matcher = excludeMatchers[i];
67
+ if (matcher.test(pathId)) {
68
+ return false;
69
+ }
70
+ }
71
+ for (let i = 0; i < includeMatchers.length; ++i) {
72
+ const matcher = includeMatchers[i];
73
+ if (matcher.test(pathId)) {
74
+ return true;
75
+ }
76
+ }
77
+ return !includeMatchers.length;
78
+ };
79
+ }
80
+ function createFilterWithCompileOptions(compile = {}, defaultInclude = [], defaultExclude = []) {
81
+ if ((0, taro_shared_1.isFunction)(compile.filter)) {
82
+ return compile.filter;
83
+ }
84
+ else {
85
+ let exclude = [...defaultExclude];
86
+ const include = [...defaultInclude];
87
+ if (Array.isArray(compile.include)) {
88
+ include.unshift(...compile.include);
89
+ }
90
+ // Note:如果 compile 有传递 exclude,那么就进行覆盖
91
+ if (Array.isArray(compile.exclude)) {
92
+ exclude = [...compile.exclude];
93
+ }
94
+ return createFilter(include, exclude);
95
+ }
96
+ }
97
+ //# sourceMappingURL=create-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-filter.js","sourceRoot":"","sources":["../../src/shared/create-filter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function getHtmlScript(entryScript: string, pxtransformOption: any): string;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getHtmlScript = getHtmlScript;
4
+ const taro_helper_1 = require("@spcsn/taro-helper");
5
+ function getHtmlScript(entryScript, pxtransformOption) {
6
+ let htmlScript = '';
7
+ const options = pxtransformOption?.config || {};
8
+ const max = options?.maxRootSize ?? 40;
9
+ const min = options?.minRootSize ?? 20;
10
+ const baseFontSize = options?.baseFontSize || (min > 1 ? min : 20);
11
+ const designWidth = ((input) => typeof options.designWidth === 'function' ? options.designWidth(input) : options.designWidth)(baseFontSize);
12
+ const rootValue = (baseFontSize / options.deviceRatio[designWidth]) * 2;
13
+ if ((options?.targetUnit ?? 'rem') === 'rem') {
14
+ htmlScript = `<script>!function(n){function f(){var e=n.document.documentElement,r=e.getBoundingClientRect(),width=r.width,height=r.height,arr=[width,height].filter(function(value){return Boolean(value)}),w=Math.min.apply(Math,arr),x=${rootValue}*w/${designWidth};e.style.fontSize=x>=${max}?"${max}px":x<=${min}?"${min}px":x+"px"}; n.addEventListener("resize",(function(){f()})),f()}(window);</script>\n`;
15
+ }
16
+ htmlScript += ` <script type="module" src="${(0, taro_helper_1.normalizePath)(entryScript)}"></script>`;
17
+ return htmlScript;
18
+ }
19
+ //# sourceMappingURL=html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/shared/html.ts"],"names":[],"mappings":";;AAEA,sCAeC;AAjBD,oDAAmD;AAEnD,SAAgB,aAAa,CAAC,WAAmB,EAAE,iBAAiB;IAClE,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,MAAM,OAAO,GAAG,iBAAiB,EAAE,MAAM,IAAI,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9G,MAAM,SAAS,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;IAExE,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;QAC7C,UAAU,GAAG,+NAA+N,SAAS,MAAM,WAAW,wBAAwB,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,sFAAsF,CAAC;IACvZ,CAAC;IACD,UAAU,IAAI,gCAAgC,IAAA,2BAAa,EAAC,WAAW,CAAC,aAAa,CAAC;IACtF,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import querystring from 'node:querystring';
2
+ import type { IPostcssOption } from '@spcsn/taro/types/compile';
3
+ import type { TRollupResolveMethod } from '@spcsn/taro/types/compile/config/plugin';
4
+ import type { ViteMiniBuildConfig, ViteMiniCompilerContext, VitePageMeta } from '@spcsn/taro/types/compile/viteCompilerContext';
5
+ import type { CSSModulesOptions } from 'vite';
6
+ import type { Target } from 'vite-plugin-static-copy';
7
+ export declare function convertCopyOptions(taroConfig: ViteMiniBuildConfig): Target[];
8
+ export declare function prettyPrintJson(obj?: {}): string;
9
+ export declare function getComponentName(viteCompilerContext: ViteMiniCompilerContext, componentPath: string): string;
10
+ export declare const virtualModulePrefixREG: RegExp;
11
+ export declare function appendVirtualModulePrefix(id: string): string;
12
+ export declare function stripVirtualModulePrefix(id: string): string;
13
+ export declare function isVirtualModule(id: string): boolean;
14
+ export declare function isRelativePath(id: string | undefined): boolean;
15
+ export declare function stripMultiPlatformExt(id: string): string;
16
+ export declare const addLeadingSlash: (url?: string) => string;
17
+ export declare const addTrailingSlash: (url?: string) => string;
18
+ export declare const stripTrailingSlash: (url?: string) => string;
19
+ export declare function getMode(config: ViteMiniBuildConfig): "production" | "development" | "none";
20
+ export declare function genRouterResource(page: VitePageMeta): string;
21
+ export declare function getQueryParams(path: string): querystring.ParsedUrlQuery;
22
+ export declare function generateQueryString(params: {
23
+ [key: string]: string;
24
+ }): string;
25
+ export declare function getPostcssPlugins(appPath: string, option?: IPostcssOption, excludePluginNames?: string[]): any[];
26
+ export declare function getMinify(taroConfig: ViteMiniBuildConfig): 'oxc' | 'terser' | 'esbuild' | boolean;
27
+ export declare function getCSSModulesOptions(taroConfig: ViteMiniBuildConfig): false | CSSModulesOptions;
28
+ export declare function escapePath(p: string): string;
29
+ export declare function parseRelativePath(from: string, to: string): string;
30
+ export declare function escapeId(id: string): string;
31
+ export declare function resolveAbsoluteRequire({ name, importer, outputRoot, targetRoot, code, resolve, modifyResolveId, }: {
32
+ importer: string;
33
+ code: string;
34
+ name?: string;
35
+ outputRoot?: string;
36
+ targetRoot?: string;
37
+ resolve?: TRollupResolveMethod;
38
+ modifyResolveId?: unknown;
39
+ }): string;
@@ -0,0 +1,258 @@
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.stripTrailingSlash = exports.addTrailingSlash = exports.addLeadingSlash = exports.virtualModulePrefixREG = void 0;
7
+ exports.convertCopyOptions = convertCopyOptions;
8
+ exports.prettyPrintJson = prettyPrintJson;
9
+ exports.getComponentName = getComponentName;
10
+ exports.appendVirtualModulePrefix = appendVirtualModulePrefix;
11
+ exports.stripVirtualModulePrefix = stripVirtualModulePrefix;
12
+ exports.isVirtualModule = isVirtualModule;
13
+ exports.isRelativePath = isRelativePath;
14
+ exports.stripMultiPlatformExt = stripMultiPlatformExt;
15
+ exports.getMode = getMode;
16
+ exports.genRouterResource = genRouterResource;
17
+ exports.getQueryParams = getQueryParams;
18
+ exports.generateQueryString = generateQueryString;
19
+ exports.getPostcssPlugins = getPostcssPlugins;
20
+ exports.getMinify = getMinify;
21
+ exports.getCSSModulesOptions = getCSSModulesOptions;
22
+ exports.escapePath = escapePath;
23
+ exports.parseRelativePath = parseRelativePath;
24
+ exports.escapeId = escapeId;
25
+ exports.resolveAbsoluteRequire = resolveAbsoluteRequire;
26
+ const node_path_1 = __importDefault(require("node:path"));
27
+ const node_querystring_1 = __importDefault(require("node:querystring"));
28
+ const taro_helper_1 = require("@spcsn/taro-helper");
29
+ const constants_1 = require("./constants");
30
+ const logger_1 = require("./logger");
31
+ function convertCopyOptions(taroConfig) {
32
+ const copy = taroConfig.copy;
33
+ const copyOptions = [];
34
+ copy?.patterns.forEach(({ from, to }) => {
35
+ const { base, ext } = node_path_1.default.parse(to);
36
+ to = to.replace(new RegExp('^' + taroConfig.outputRoot + '/'), '');
37
+ let rename;
38
+ if (ext) {
39
+ to = to.replace(base, '');
40
+ rename = base;
41
+ }
42
+ else {
43
+ rename = '/';
44
+ }
45
+ copyOptions.push({
46
+ src: from,
47
+ dest: to,
48
+ rename,
49
+ });
50
+ });
51
+ return copyOptions;
52
+ }
53
+ function prettyPrintJson(obj = {}) {
54
+ return JSON.stringify(obj, null, 2);
55
+ }
56
+ function getComponentName(viteCompilerContext, componentPath) {
57
+ let componentName;
58
+ if (taro_helper_1.REG_NODE_MODULES.test(componentPath)) {
59
+ const nodeModulesRegx = new RegExp(taro_helper_1.REG_NODE_MODULES, 'gi');
60
+ componentName = componentPath
61
+ .replace(viteCompilerContext.cwd, '')
62
+ .replace(constants_1.backSlashRegEx, '/')
63
+ .replace(node_path_1.default.extname(componentPath), '')
64
+ .replace(nodeModulesRegx, 'npm');
65
+ }
66
+ else {
67
+ componentName = componentPath
68
+ .replace(viteCompilerContext.sourceDir, '')
69
+ .replace(constants_1.backSlashRegEx, '/')
70
+ .replace(node_path_1.default.extname(componentPath), '');
71
+ }
72
+ return componentName.replace(/^(\/|\\)/, '');
73
+ }
74
+ const virtualModulePrefix = '\0';
75
+ exports.virtualModulePrefixREG = new RegExp(`^${virtualModulePrefix}`);
76
+ function appendVirtualModulePrefix(id) {
77
+ return virtualModulePrefix + id;
78
+ }
79
+ function stripVirtualModulePrefix(id) {
80
+ return id.replace(exports.virtualModulePrefixREG, '');
81
+ }
82
+ function isVirtualModule(id) {
83
+ return exports.virtualModulePrefixREG.test(id);
84
+ }
85
+ function isRelativePath(id) {
86
+ if (typeof id !== 'string')
87
+ return false;
88
+ if (node_path_1.default.isAbsolute(id))
89
+ return false;
90
+ if (/^[a-z][a-z0-9+.-]*:/i.test(id))
91
+ return false;
92
+ return true;
93
+ }
94
+ function stripMultiPlatformExt(id) {
95
+ return id.replace(/\.(weapp|mini)$/, '');
96
+ }
97
+ const addLeadingSlash = (url = '') => (url.charAt(0) === '/' ? url : '/' + url);
98
+ exports.addLeadingSlash = addLeadingSlash;
99
+ const addTrailingSlash = (url = '') => (url.charAt(url.length - 1) === '/' ? url : url + '/');
100
+ exports.addTrailingSlash = addTrailingSlash;
101
+ const stripTrailingSlash = (url = '') => url.charAt(url.length - 1) === '/' ? url.substring(0, url.length - 1) : url;
102
+ exports.stripTrailingSlash = stripTrailingSlash;
103
+ function getMode(config) {
104
+ const preMode = config.mode || process.env.NODE_ENV;
105
+ const modes = ['production', 'development', 'none'];
106
+ const mode = modes.find((e) => e === preMode) ||
107
+ (!config.isWatch || process.env.NODE_ENV === 'production' ? 'production' : 'development');
108
+ return mode;
109
+ }
110
+ function genRouterResource(page) {
111
+ return [
112
+ 'Object.assign({',
113
+ ` path: '${page.name}',`,
114
+ ' load: async function(context, params) {',
115
+ ` const page = await import("${(0, taro_helper_1.normalizePath)(page.scriptPath)}")`,
116
+ ' return [page, context, params]',
117
+ ' }',
118
+ `}, ${JSON.stringify(page.config)})`,
119
+ ].join('\n');
120
+ }
121
+ function getQueryParams(path) {
122
+ return node_querystring_1.default.parse(path.split('?')[1]);
123
+ }
124
+ function generateQueryString(params) {
125
+ return node_querystring_1.default.stringify(params);
126
+ }
127
+ function getPostcssPlugins(appPath, option = {}, excludePluginNames = constants_1.MINI_EXCLUDE_POSTCSS_PLUGIN_NAME) {
128
+ const plugins = [];
129
+ option.forEach(([pluginName, pluginOption, pluginPkg]) => {
130
+ if (!pluginOption || excludePluginNames.includes(pluginName))
131
+ return;
132
+ if (Object.hasOwnProperty.call(pluginOption, 'enable') && !pluginOption.enable)
133
+ return;
134
+ if (pluginPkg) {
135
+ plugins.push(pluginPkg(pluginOption.config || {}));
136
+ return;
137
+ }
138
+ if (!(0, taro_helper_1.isNpmPkg)(pluginName)) {
139
+ // local plugin
140
+ pluginName = node_path_1.default.join(appPath, pluginName);
141
+ }
142
+ try {
143
+ const pluginPath = (0, taro_helper_1.resolveSync)(pluginName, { basedir: appPath }) || '';
144
+ plugins.push(require(pluginPath)(pluginOption.config || {}));
145
+ }
146
+ catch (e) {
147
+ const error = e;
148
+ const msg = error.code === 'MODULE_NOT_FOUND'
149
+ ? `缺少 postcss 插件 "${pluginName}", 已忽略`
150
+ : error.message || String(error);
151
+ logger_1.logger.info(msg);
152
+ }
153
+ });
154
+ return plugins;
155
+ }
156
+ function getMinify(taroConfig) {
157
+ const isProd = getMode(taroConfig) === 'production';
158
+ const hasExplicitJsMinimizer = typeof taroConfig.jsMinimizer === 'string';
159
+ if (!isProd && !hasExplicitJsMinimizer)
160
+ return false;
161
+ return taroConfig.jsMinimizer === 'terser'
162
+ ? taroConfig.terser?.enable === false
163
+ ? false
164
+ : 'terser'
165
+ : taroConfig.jsMinimizer === 'esbuild'
166
+ ? taroConfig.esbuild?.minify?.enable === false
167
+ ? false // 只有在明确配置了 esbuild.minify.enable: false 时才不启用压缩
168
+ : 'esbuild'
169
+ : !hasExplicitJsMinimizer && taroConfig.terser?.enable === false
170
+ ? false
171
+ : 'oxc';
172
+ }
173
+ function getCSSModulesOptions(taroConfig) {
174
+ if (taroConfig.postcss?.cssModules?.enable !== true)
175
+ return false;
176
+ const config = (0, taro_helper_1.recursiveMerge)({}, {
177
+ namingPattern: 'module',
178
+ generateScopedName: '[name]__[local]___[hash:base64:5]',
179
+ }, taroConfig.postcss.cssModules.config);
180
+ return {
181
+ generateScopedName: config.generateScopedName,
182
+ };
183
+ }
184
+ function escapePath(p) {
185
+ return p.replace(/\\{1,2}/g, '/');
186
+ }
187
+ function parseRelativePath(from, to) {
188
+ const relativePath = escapePath(node_path_1.default.relative(from, to));
189
+ return /^\.{1,2}[\\/]/.test(relativePath)
190
+ ? relativePath
191
+ : /^\.{1,2}$/.test(relativePath)
192
+ ? `${relativePath}/`
193
+ : `./${relativePath}`;
194
+ }
195
+ function escapeId(id) {
196
+ if (!constants_1.needsEscapeRegEx.test(id))
197
+ return id;
198
+ return id.replace(constants_1.backSlashRegEx, '\\\\').replace(constants_1.quoteNewlineRegEx, '\\$1');
199
+ }
200
+ function resolveAbsoluteRequire({ name = '', importer = '', outputRoot = '', targetRoot = '', code = '', resolve, modifyResolveId, }) {
201
+ outputRoot = escapePath(outputRoot);
202
+ targetRoot = escapePath(targetRoot);
203
+ const resolveId = typeof modifyResolveId === 'function' ? modifyResolveId : undefined;
204
+ return code.replace(/(?:import\s|from\s|require\()['"]([^.][^'"\s]+)['"]\)?/g, (src, source) => {
205
+ importer = stripVirtualModulePrefix(importer);
206
+ const absolutePath = escapePath(resolveId
207
+ ? resolveId({
208
+ source,
209
+ importer,
210
+ options: {
211
+ isEntry: false,
212
+ skipSelf: true,
213
+ },
214
+ name,
215
+ resolve,
216
+ })?.id || source
217
+ : source);
218
+ let parsePath = '';
219
+ if (absolutePath.startsWith(outputRoot)) {
220
+ let outputPath = importer;
221
+ if (node_path_1.default.isAbsolute(outputPath)) {
222
+ const commonPath = getCommonPath(targetRoot, importer);
223
+ outputPath = node_path_1.default.relative(commonPath, importer);
224
+ }
225
+ const outputFile = node_path_1.default.resolve(outputRoot, outputPath);
226
+ const outputDir = node_path_1.default.dirname(outputFile);
227
+ parsePath = src.replace(source, parseRelativePath(outputDir, absolutePath));
228
+ }
229
+ else if (absolutePath.startsWith(targetRoot)) {
230
+ parsePath = src.replace(source, parseRelativePath(node_path_1.default.dirname(importer), absolutePath));
231
+ }
232
+ else {
233
+ parsePath = src.replace(source, absolutePath);
234
+ }
235
+ return parsePath;
236
+ });
237
+ }
238
+ let lastCommonPath = '';
239
+ function getCommonPath(a, b) {
240
+ const aArr = node_path_1.default.normalize(a).split(/[\\/]/);
241
+ const bArr = node_path_1.default.normalize(b).split(/[\\/]/);
242
+ let i = 0;
243
+ while (aArr[i] === bArr[i]) {
244
+ i++;
245
+ }
246
+ if (aArr.length > i) {
247
+ // Note: 项目外部文件,仅返回所有外部文件的最短公共路径
248
+ if (!lastCommonPath || lastCommonPath.split(/[\\/]/).length > i) {
249
+ lastCommonPath = aArr.slice(0, i).join('/');
250
+ }
251
+ return lastCommonPath;
252
+ }
253
+ else {
254
+ // Note: 项目内部文件,返回项目根路径
255
+ return a;
256
+ }
257
+ }
258
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":";;;;;;AAgBA,gDAsBC;AAED,0CAEC;AAED,4CAkBC;AAKD,8DAEC;AAED,4DAEC;AAED,0CAEC;AAED,wCAQC;AAED,sDAEC;AAOD,0BAOC;AAED,8CAUC;AAED,wCAEC;AAED,kDAEC;AAED,8CAmCC;AAED,8BAgBC;AAED,oDAaC;AACD,gCAEC;AAED,8CAQC;AAED,4BAGC;AAED,wDAqDC;AA5QD,0DAA6B;AAC7B,wEAA2C;AAE3C,oDAA4G;AAC5G,2CAAoH;AACpH,qCAAkC;AAWlC,SAAgB,kBAAkB,CAAC,UAA+B;IAChE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC7B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;QACtC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,mBAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC;QAEX,IAAI,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,CAAC;QACf,CAAC;QAED,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,EAAE;YACR,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAgB,eAAe,CAAC,GAAG,GAAG,EAAE;IACtC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,SAAgB,gBAAgB,CAAC,mBAA4C,EAAE,aAAqB;IAClG,IAAI,aAAqB,CAAC;IAC1B,IAAI,8BAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACzC,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,8BAAgB,EAAE,IAAI,CAAC,CAAC;QAE3D,aAAa,GAAG,aAAa;aAC1B,OAAO,CAAC,mBAAmB,CAAC,GAAG,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,0BAAc,EAAE,GAAG,CAAC;aAC5B,OAAO,CAAC,mBAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;aACxC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,aAAa;aAC1B,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC;aAC1C,OAAO,CAAC,0BAAc,EAAE,GAAG,CAAC;aAC5B,OAAO,CAAC,mBAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACpB,QAAA,sBAAsB,GAAG,IAAI,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;AAE5E,SAAgB,yBAAyB,CAAC,EAAU;IAClD,OAAO,mBAAmB,GAAG,EAAE,CAAC;AAClC,CAAC;AAED,SAAgB,wBAAwB,CAAC,EAAU;IACjD,OAAO,EAAE,CAAC,OAAO,CAAC,8BAAsB,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,eAAe,CAAC,EAAU;IACxC,OAAO,8BAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,cAAc,CAAC,EAAsB;IACnD,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEzC,IAAI,mBAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtC,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAElD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,qBAAqB,CAAC,EAAU;IAC9C,OAAO,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC;AAEM,MAAM,eAAe,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;AAA1E,QAAA,eAAe,mBAA2D;AAChF,MAAM,gBAAgB,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;AAAxF,QAAA,gBAAgB,oBAAwE;AAC9F,MAAM,kBAAkB,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,CAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AADjE,QAAA,kBAAkB,sBAC+C;AAE9E,SAAgB,OAAO,CAAC,MAA2B;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACpD,MAAM,KAAK,GAA8C,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC/F,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC;QAChC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC5F,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAkB;IAClD,OAAO;QACL,iBAAiB;QACjB,YAAY,IAAI,CAAC,IAAI,IAAI;QACzB,2CAA2C;QAC3C,kCAAkC,IAAA,2BAAa,EAAC,IAAI,CAAC,UAAU,CAAC,IAAI;QACpE,oCAAoC;QACpC,KAAK;QACL,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG;KACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,0BAAW,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAAiC;IACnE,OAAO,0BAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,iBAAiB,CAC/B,OAAe,EACf,SAAS,EAAoB,EAC7B,kBAAkB,GAAG,4CAAgC;IAErD,MAAM,OAAO,GAAU,EAAE,CAAC;IAE1B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE;QACvD,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO;QACrE,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,OAAO;QAEvF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAA,sBAAQ,EAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,eAAe;YACf,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAA,yBAAW,EAAC,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,CAA0B,CAAC;YACzC,MAAM,GAAG,GACP,KAAK,CAAC,IAAI,KAAK,kBAAkB;gBAC/B,CAAC,CAAC,kBAAkB,UAAU,QAAQ;gBACtC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;YACrC,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,SAAS,CAAC,UAA+B;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,YAAY,CAAC;IACpD,MAAM,sBAAsB,GAAG,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ,CAAC;IAC1E,IAAI,CAAC,MAAM,IAAI,CAAC,sBAAsB;QAAE,OAAO,KAAK,CAAC;IAErD,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ;QACxC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK;YACnC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,QAAQ;QACZ,CAAC,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;YACpC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,KAAK;gBAC5C,CAAC,CAAC,KAAK,CAAC,gDAAgD;gBACxD,CAAC,CAAC,SAAS;YACb,CAAC,CAAC,CAAC,sBAAsB,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK;gBAC9D,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,KAAK,CAAC;AAChB,CAAC;AAED,SAAgB,oBAAoB,CAAC,UAA+B;IAClE,IAAI,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,MAAM,GAAG,IAAA,4BAAc,EAC3B,EAAE,EACF;QACE,aAAa,EAAE,QAAQ;QACvB,kBAAkB,EAAE,mCAAmC;KACxD,EACD,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CACrC,CAAC;IACF,OAAO;QACL,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;KAC9C,CAAC;AACJ,CAAC;AACD,SAAgB,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAY,EAAE,EAAU;IACxD,MAAM,YAAY,GAAG,UAAU,CAAC,mBAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAEzD,OAAO,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;QACvC,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;YAC9B,CAAC,CAAC,GAAG,YAAY,GAAG;YACpB,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;AAC5B,CAAC;AAED,SAAgB,QAAQ,CAAC,EAAU;IACjC,IAAI,CAAC,4BAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1C,OAAO,EAAE,CAAC,OAAO,CAAC,0BAAc,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,6BAAiB,EAAE,MAAM,CAAC,CAAC;AAC/E,CAAC;AAED,SAAgB,sBAAsB,CAAC,EACrC,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,EAAE,EACb,UAAU,GAAG,EAAE,EACf,UAAU,GAAG,EAAE,EACf,IAAI,GAAG,EAAE,EACT,OAAO,EACP,eAAe,GAShB;IACC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACpC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,OAAO,IAAI,CAAC,OAAO,CAAC,yDAAyD,EAAE,CAAC,GAAW,EAAE,MAAc,EAAE,EAAE;QAC7G,QAAQ,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAW,UAAU,CACrC,SAAS;YACP,CAAC,CAAC,SAAS,CAAC;gBACR,MAAM;gBACN,QAAQ;gBACR,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,IAAI;iBACf;gBACD,IAAI;gBACJ,OAAO;aACR,CAAC,EAAE,EAAE,IAAI,MAAM;YAClB,CAAC,CAAC,MAAM,CACX,CAAC;QACF,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,IAAI,UAAU,GAAG,QAAQ,CAAC;YAC1B,IAAI,mBAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACvD,UAAU,GAAG,mBAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3C,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QAC9E,CAAC;aAAM,IAAI,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/C,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QAC3F,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,cAAc,GAAG,EAAE,CAAC;AACxB,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,MAAM,IAAI,GAAG,mBAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,mBAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,CAAC,EAAE,CAAC;IACN,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,gCAAgC;QAChC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Logger } from 'vite';
2
+ export declare function createDevBuildSummaryLogger(outputRoot: string): Logger;
3
+ export declare const logger: {
4
+ info(msg: string): void;
5
+ warn(msg: string): void;
6
+ error(msg: string): void;
7
+ };
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logger = void 0;
4
+ exports.createDevBuildSummaryLogger = createDevBuildSummaryLogger;
5
+ const node_fs_1 = require("node:fs");
6
+ const node_path_1 = require("node:path");
7
+ const vite_1 = require("vite");
8
+ const viteLogger = (0, vite_1.createLogger)('info', {
9
+ prefix: '[taro]',
10
+ allowClearScreen: false,
11
+ });
12
+ const VITE_BUILDING_ENVIRONMENT_MESSAGE = /^vite v\S+ building \S+ environment for \S+\.\.\.$/;
13
+ const VITE_BUILD_STARTED_MESSAGE = /^build started\.\.\.$/;
14
+ const VITE_WATCHING_MESSAGE = /^watching for file changes\.\.\.$/;
15
+ const VITE_BUILT_IN_MESSAGE = /^built in (\S+)\.$/;
16
+ const ANSI_ESCAPE_CODE = /\u001b\[[0-?]*[ -/]*[@-~]/g;
17
+ const BUILD_LOG_RESET = '\u001B[0m';
18
+ const BUILD_LOG_ACCENT = '\u001B[38;2;255;78;205m';
19
+ const BUILD_LOG_DIM_ACCENT = '\u001B[38;2;74;22;63m';
20
+ const BUILD_LOG_GLOW = '\u001B[38;2;255;154;240m';
21
+ const BUILD_LOG_SUCCESS = '\u001B[92m';
22
+ function formatBytes(byteSize) {
23
+ if (byteSize < 1024)
24
+ return `${byteSize.toFixed(0)} B`;
25
+ if (byteSize < 1024 * 1024)
26
+ return `${(byteSize / 1024).toFixed(2)} kB`;
27
+ return `${(byteSize / 1024 / 1024).toFixed(2)} MB`;
28
+ }
29
+ function calculateDirectorySize(directoryPath) {
30
+ if (!(0, node_fs_1.existsSync)(directoryPath))
31
+ return 0;
32
+ return (0, node_fs_1.readdirSync)(directoryPath, { withFileTypes: true }).reduce((totalSize, entry) => {
33
+ const entryPath = (0, node_path_1.join)(directoryPath, entry.name);
34
+ if (entry.isDirectory())
35
+ return totalSize + calculateDirectorySize(entryPath);
36
+ if (entry.isFile())
37
+ return totalSize + (0, node_fs_1.statSync)(entryPath).size;
38
+ return totalSize;
39
+ }, 0);
40
+ }
41
+ function normalizeViteLogLine(message) {
42
+ return message.replace(ANSI_ESCAPE_CODE, '').replace(/\r/g, '').trim();
43
+ }
44
+ function createBuildProgressRenderer() {
45
+ const frames = [18, 42, 66, 88];
46
+ const barLength = 18;
47
+ let currentFrameIndex = 0;
48
+ let isBuildActive = false;
49
+ let isProgressLineActive = false;
50
+ return {
51
+ start() {
52
+ if (isBuildActive)
53
+ return;
54
+ isBuildActive = true;
55
+ const percent = frames[Math.min(currentFrameIndex, frames.length - 1)];
56
+ currentFrameIndex += 1;
57
+ renderBuildProgress(percent, '代码正在换上小程序外套');
58
+ },
59
+ finish() {
60
+ renderBuildProgress(100, '小程序出炉,继续守炉');
61
+ process.stdout.write('\n');
62
+ currentFrameIndex = 0;
63
+ isBuildActive = false;
64
+ isProgressLineActive = false;
65
+ },
66
+ breakLineBeforeLog() {
67
+ if (!isProgressLineActive)
68
+ return;
69
+ process.stdout.write('\n');
70
+ isProgressLineActive = false;
71
+ },
72
+ };
73
+ function renderBuildProgress(percent, label) {
74
+ const filledLength = Math.round((percent / 100) * barLength);
75
+ const bar = Array.from({ length: barLength }, (_, index) => {
76
+ if (index === filledLength - 1 && percent < 100)
77
+ return `${BUILD_LOG_GLOW}◆${BUILD_LOG_RESET}`;
78
+ const color = index < filledLength ? BUILD_LOG_ACCENT : BUILD_LOG_DIM_ACCENT;
79
+ const symbol = index < filledLength ? '━' : '·';
80
+ return `${color}${symbol}${BUILD_LOG_RESET}`;
81
+ }).join('');
82
+ const percentLabel = `${percent}%`.padStart(4, ' ');
83
+ process.stdout.write(`${BUILD_LOG_ACCENT}出炉进度${BUILD_LOG_RESET} ${BUILD_LOG_GLOW}${percentLabel}${BUILD_LOG_RESET} ${BUILD_LOG_ACCENT}⟦${BUILD_LOG_RESET}${bar}${BUILD_LOG_ACCENT}⟧${BUILD_LOG_RESET} ${label}\n`);
84
+ isProgressLineActive = false;
85
+ }
86
+ }
87
+ function createDevBuildSummaryLogger(outputRoot) {
88
+ const devLogger = (0, vite_1.createLogger)('info', {
89
+ prefix: '[taro]',
90
+ allowClearScreen: false,
91
+ });
92
+ const progress = createBuildProgressRenderer();
93
+ devLogger.info = (message, _options) => {
94
+ const lines = message.split('\n');
95
+ const visibleLines = [];
96
+ for (const line of lines) {
97
+ const trimmedLine = normalizeViteLogLine(line);
98
+ if (VITE_BUILDING_ENVIRONMENT_MESSAGE.test(trimmedLine)) {
99
+ progress.start();
100
+ continue;
101
+ }
102
+ if (VITE_BUILD_STARTED_MESSAGE.test(trimmedLine)) {
103
+ progress.start();
104
+ continue;
105
+ }
106
+ if (VITE_WATCHING_MESSAGE.test(trimmedLine)) {
107
+ continue;
108
+ }
109
+ const builtInResult = trimmedLine.match(VITE_BUILT_IN_MESSAGE);
110
+ if (builtInResult) {
111
+ progress.finish();
112
+ const [, viteDurationLabel] = builtInResult;
113
+ const outputSizeLabel = formatBytes(calculateDirectorySize(outputRoot));
114
+ process.stdout.write(`${BUILD_LOG_SUCCESS}✨ 小程序出炉:耗时 ${viteDurationLabel} · 产物总体积 ${outputSizeLabel}${BUILD_LOG_RESET}\n`);
115
+ continue;
116
+ }
117
+ if (trimmedLine) {
118
+ visibleLines.push(trimmedLine);
119
+ }
120
+ }
121
+ const visibleMessage = visibleLines.join('\n').trim();
122
+ if (visibleMessage) {
123
+ progress.breakLineBeforeLog();
124
+ process.stdout.write(`${visibleMessage}\n`);
125
+ }
126
+ };
127
+ return devLogger;
128
+ }
129
+ exports.logger = {
130
+ info(msg) {
131
+ viteLogger.info(msg, {
132
+ timestamp: true,
133
+ });
134
+ },
135
+ warn(msg) {
136
+ viteLogger.warn(msg, {
137
+ timestamp: true,
138
+ });
139
+ },
140
+ error(msg) {
141
+ viteLogger.error(msg, {
142
+ timestamp: true,
143
+ });
144
+ },
145
+ };
146
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare class UniqueKeyMap<T = any> {
2
+ store: Map<string, T>;
3
+ counters: Map<string, number>;
4
+ constructor();
5
+ add(key: string, value: T): string;
6
+ get(key: string): T | undefined;
7
+ has(key: string): boolean;
8
+ getAll(): {
9
+ [k: string]: T;
10
+ };
11
+ }