@tamagui/static 1.115.0 → 1.115.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/check-dep-versions.js +389 -0
- package/dist/check-dep-versions.js.map +6 -0
- package/dist/checkDeps.js +26 -0
- package/dist/checkDeps.js.map +6 -0
- package/dist/constants.js +34 -0
- package/dist/constants.js.map +6 -0
- package/dist/exports.js +33 -0
- package/dist/exports.js.map +6 -0
- package/dist/extractor/accessSafe.js +47 -0
- package/dist/extractor/accessSafe.js.map +6 -0
- package/dist/extractor/babelParse.js +59 -0
- package/dist/extractor/babelParse.js.map +6 -0
- package/dist/extractor/buildClassName.js +72 -0
- package/dist/extractor/buildClassName.js.map +6 -0
- package/dist/extractor/bundle.js +133 -0
- package/dist/extractor/bundle.js.map +6 -0
- package/dist/extractor/bundleConfig.js +350 -0
- package/dist/extractor/bundleConfig.js.map +6 -0
- package/dist/extractor/createEvaluator.js +54 -0
- package/dist/extractor/createEvaluator.js.map +6 -0
- package/dist/extractor/createExtractor.js +1217 -0
- package/dist/extractor/createExtractor.js.map +6 -0
- package/dist/extractor/createLogger.js +32 -0
- package/dist/extractor/createLogger.js.map +6 -0
- package/dist/extractor/ensureImportingConcat.js +50 -0
- package/dist/extractor/ensureImportingConcat.js.map +6 -0
- package/dist/extractor/esbuildAliasPlugin.js +36 -0
- package/dist/extractor/esbuildAliasPlugin.js.map +6 -0
- package/dist/extractor/evaluateAstNode.js +99 -0
- package/dist/extractor/evaluateAstNode.js.map +6 -0
- package/dist/extractor/extractHelpers.js +109 -0
- package/dist/extractor/extractHelpers.js.map +6 -0
- package/dist/extractor/extractMediaStyle.js +123 -0
- package/dist/extractor/extractMediaStyle.js.map +6 -0
- package/dist/extractor/extractToClassNames.js +291 -0
- package/dist/extractor/extractToClassNames.js.map +6 -0
- package/dist/extractor/extractToNative.js +319 -0
- package/dist/extractor/extractToNative.js.map +6 -0
- package/dist/extractor/findTopmostFunction.js +32 -0
- package/dist/extractor/findTopmostFunction.js.map +6 -0
- package/dist/extractor/generatedUid.js +42 -0
- package/dist/extractor/generatedUid.js.map +6 -0
- package/dist/extractor/getPrefixLogs.js +23 -0
- package/dist/extractor/getPrefixLogs.js.map +6 -0
- package/dist/extractor/getPropValueFromAttributes.js +65 -0
- package/dist/extractor/getPropValueFromAttributes.js.map +6 -0
- package/dist/extractor/getSourceModule.js +66 -0
- package/dist/extractor/getSourceModule.js.map +6 -0
- package/dist/extractor/getStaticBindingsForScope.js +143 -0
- package/dist/extractor/getStaticBindingsForScope.js.map +6 -0
- package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.js +24 -0
- package/dist/extractor/getTamaguiConfigPathFromOptionsConfig.js.map +6 -0
- package/dist/extractor/hoistClassNames.js +63 -0
- package/dist/extractor/hoistClassNames.js.map +6 -0
- package/dist/extractor/literalToAst.js +90 -0
- package/dist/extractor/literalToAst.js.map +6 -0
- package/dist/extractor/loadFile.js +14 -0
- package/dist/extractor/loadFile.js.map +6 -0
- package/dist/extractor/loadTamagui.js +263 -0
- package/dist/extractor/loadTamagui.js.map +6 -0
- package/dist/extractor/logLines.js +30 -0
- package/dist/extractor/logLines.js.map +6 -0
- package/dist/extractor/normalizeTernaries.js +59 -0
- package/dist/extractor/normalizeTernaries.js.map +6 -0
- package/dist/extractor/propsToFontFamilyCache.js +34 -0
- package/dist/extractor/propsToFontFamilyCache.js.map +6 -0
- package/dist/extractor/regenerateConfig.js +111 -0
- package/dist/extractor/regenerateConfig.js.map +6 -0
- package/dist/extractor/removeUnusedHooks.js +72 -0
- package/dist/extractor/removeUnusedHooks.js.map +6 -0
- package/dist/extractor/timer.js +38 -0
- package/dist/extractor/timer.js.map +6 -0
- package/dist/extractor/validHTMLAttributes.js +68 -0
- package/dist/extractor/validHTMLAttributes.js.map +6 -0
- package/dist/extractor/watchTamaguiConfig.js +57 -0
- package/dist/extractor/watchTamaguiConfig.js.map +6 -0
- package/dist/getPragmaOptions.js +49 -0
- package/dist/getPragmaOptions.js.map +6 -0
- package/dist/helpers/memoize.js +33 -0
- package/dist/helpers/memoize.js.map +6 -0
- package/dist/helpers/requireTamaguiCore.js +30 -0
- package/dist/helpers/requireTamaguiCore.js.map +6 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +6 -0
- package/dist/registerRequire.js +96 -0
- package/dist/registerRequire.js.map +6 -0
- package/dist/server.js +58 -0
- package/dist/server.js.map +6 -0
- package/dist/setup.js +1 -0
- package/dist/setup.js.map +6 -0
- package/dist/types.js +14 -0
- package/dist/types.js.map +6 -0
- package/package.json +14 -14
@@ -0,0 +1,72 @@
|
|
1
|
+
var __create = Object.create;
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
11
|
+
for (let key of __getOwnPropNames(from))
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
13
|
+
return to;
|
14
|
+
};
|
15
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
16
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
17
|
+
// file that has been converted to a CommonJS file using a Babel-
|
18
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
19
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
21
|
+
mod
|
22
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
23
|
+
var buildClassName_exports = {};
|
24
|
+
__export(buildClassName_exports, {
|
25
|
+
buildClassName: () => buildClassName,
|
26
|
+
buildClassNameLogic: () => buildClassNameLogic
|
27
|
+
});
|
28
|
+
module.exports = __toCommonJS(buildClassName_exports);
|
29
|
+
var t = __toESM(require("@babel/types"));
|
30
|
+
const buildClassName = (objectsIn, extras = "") => {
|
31
|
+
let objects = buildClassNameLogic(objectsIn);
|
32
|
+
return objects ? (t.isStringLiteral(objects) ? objects.value = `${extras} ${objects.value}` : objects = t.binaryExpression("+", t.stringLiteral(extras), objects), objects) : null;
|
33
|
+
}, buildClassNameLogic = (objects) => objects.reduce((acc, val) => {
|
34
|
+
if (acc == null)
|
35
|
+
return (
|
36
|
+
// pass conditional expressions through
|
37
|
+
t.isConditionalExpression(val) || // pass non-null literals through
|
38
|
+
t.isStringLiteral(val) || t.isNumericLiteral(val) ? val : t.logicalExpression("||", val, t.stringLiteral(""))
|
39
|
+
);
|
40
|
+
let inner;
|
41
|
+
if (t.isStringLiteral(val)) {
|
42
|
+
if (t.isStringLiteral(acc))
|
43
|
+
return t.stringLiteral(`${acc.value} ${val.value}`);
|
44
|
+
inner = t.stringLiteral(` ${val.value}`);
|
45
|
+
} else if (t.isLiteral(val))
|
46
|
+
inner = t.binaryExpression("+", t.stringLiteral(" "), val);
|
47
|
+
else if (t.isConditionalExpression(val) || t.isBinaryExpression(val)) {
|
48
|
+
if (t.isStringLiteral(acc))
|
49
|
+
return t.binaryExpression("+", t.stringLiteral(`${acc.value} `), val);
|
50
|
+
inner = t.binaryExpression("+", t.stringLiteral(" "), val);
|
51
|
+
} else if (t.isIdentifier(val) || t.isMemberExpression(val))
|
52
|
+
inner = t.conditionalExpression(
|
53
|
+
val,
|
54
|
+
t.binaryExpression("+", t.stringLiteral(" "), val),
|
55
|
+
t.stringLiteral("")
|
56
|
+
);
|
57
|
+
else {
|
58
|
+
if (t.isStringLiteral(acc))
|
59
|
+
return t.binaryExpression(
|
60
|
+
"+",
|
61
|
+
t.stringLiteral(`${acc.value} `),
|
62
|
+
t.logicalExpression("||", val, t.stringLiteral(""))
|
63
|
+
);
|
64
|
+
inner = t.binaryExpression(
|
65
|
+
"+",
|
66
|
+
t.stringLiteral(" "),
|
67
|
+
t.logicalExpression("||", val, t.stringLiteral(""))
|
68
|
+
);
|
69
|
+
}
|
70
|
+
return t.binaryExpression("+", acc, inner);
|
71
|
+
}, null);
|
72
|
+
//# sourceMappingURL=buildClassName.js.map
|
@@ -0,0 +1,6 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../src/extractor/buildClassName.ts"],
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAAmB;AASZ,MAAM,iBAA0B,CAAC,WAAW,SAAS,OAAO;AACjE,MAAI,UAAU,oBAAoB,SAAS;AAC3C,SAAK,WACD,EAAE,gBAAgB,OAAO,IAE3B,QAAQ,QAAQ,GAAG,MAAM,IAAI,QAAQ,KAAK,KAE1C,UAAU,EAAE,iBAAiB,KAAK,EAAE,cAAc,MAAM,GAAG,OAAO,GAE7D,WAPc;AAQvB,GAEa,sBAA+B,CAAC,YACpC,QAAQ,OAA4B,CAAC,KAAK,QAAQ;AACvD,MAAI,OAAO;AACT;AAAA;AAAA,MAEE,EAAE,wBAAwB,GAAG;AAAA,MAE7B,EAAE,gBAAgB,GAAG,KACrB,EAAE,iBAAiB,GAAG,IAEf,MAEF,EAAE,kBAAkB,MAAM,KAAK,EAAE,cAAc,EAAE,CAAC;AAAA;AAG3D,MAAI;AACJ,MAAI,EAAE,gBAAgB,GAAG,GAAG;AAC1B,QAAI,EAAE,gBAAgB,GAAG;AAEvB,aAAO,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,IAAI,KAAK,EAAE;AAEpD,YAAQ,EAAE,cAAc,IAAI,IAAI,KAAK,EAAE;AAAA,EACzC,WAAW,EAAE,UAAU,GAAG;AACxB,YAAQ,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG;AAAA,WAChD,EAAE,wBAAwB,GAAG,KAAK,EAAE,mBAAmB,GAAG,GAAG;AACtE,QAAI,EAAE,gBAAgB,GAAG;AACvB,aAAO,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,IAAI,KAAK,GAAG,GAAG,GAAG;AAEtE,YAAQ,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG;AAAA,EAC3D,WAAW,EAAE,aAAa,GAAG,KAAK,EAAE,mBAAmB,GAAG;AAExD,YAAQ,EAAE;AAAA,MACR;AAAA,MACA,EAAE,iBAAiB,KAAK,EAAE,cAAc,GAAG,GAAG,GAAG;AAAA,MACjD,EAAE,cAAc,EAAE;AAAA,IACpB;AAAA,OACK;AACL,QAAI,EAAE,gBAAgB,GAAG;AACvB,aAAO,EAAE;AAAA,QACP;AAAA,QACA,EAAE,cAAc,GAAG,IAAI,KAAK,GAAG;AAAA,QAC/B,EAAE,kBAAkB,MAAM,KAAK,EAAE,cAAc,EAAE,CAAC;AAAA,MACpD;AAGF,YAAQ,EAAE;AAAA,MACR;AAAA,MACA,EAAE,cAAc,GAAG;AAAA,MACnB,EAAE,kBAAkB,MAAM,KAAK,EAAE,cAAc,EAAE,CAAC;AAAA,IACpD;AAAA,EACF;AAEA,SAAO,EAAE,iBAAiB,KAAK,KAAK,KAAK;AAC3C,GAAG,IAAI;",
|
5
|
+
"names": []
|
6
|
+
}
|
@@ -0,0 +1,133 @@
|
|
1
|
+
var __create = Object.create;
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
11
|
+
for (let key of __getOwnPropNames(from))
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
13
|
+
return to;
|
14
|
+
};
|
15
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
16
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
17
|
+
// file that has been converted to a CommonJS file using a Babel-
|
18
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
19
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
21
|
+
mod
|
22
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
23
|
+
var bundle_exports = {};
|
24
|
+
__export(bundle_exports, {
|
25
|
+
esbuildIgnoreFilesRegex: () => esbuildIgnoreFilesRegex,
|
26
|
+
esbuildLoaderConfig: () => esbuildLoaderConfig,
|
27
|
+
esbundleTamaguiConfig: () => esbundleTamaguiConfig
|
28
|
+
});
|
29
|
+
module.exports = __toCommonJS(bundle_exports);
|
30
|
+
var import_node_path = require("node:path"), import_esbuild = __toESM(require("esbuild")), FS = __toESM(require("fs-extra")), import_esbuildAliasPlugin = require("./esbuildAliasPlugin"), import_loadTamagui = require("./loadTamagui");
|
31
|
+
const esbuildLoaderConfig = {
|
32
|
+
".js": "jsx",
|
33
|
+
".png": "dataurl",
|
34
|
+
".jpg": "dataurl",
|
35
|
+
".jpeg": "dataurl",
|
36
|
+
".svg": "dataurl",
|
37
|
+
".gif": "dataurl",
|
38
|
+
".webp": "dataurl",
|
39
|
+
".woff2": "dataurl",
|
40
|
+
".woff": "dataurl",
|
41
|
+
".eot": "dataurl",
|
42
|
+
".otf": "dataurl",
|
43
|
+
".ttf": "dataurl",
|
44
|
+
".mp4": "file",
|
45
|
+
".mpeg4": "file",
|
46
|
+
".mov": "file",
|
47
|
+
".avif": "file",
|
48
|
+
".wmv": "file",
|
49
|
+
".webm": "file",
|
50
|
+
".wav": "file",
|
51
|
+
".aac": "file",
|
52
|
+
".ogg": "file",
|
53
|
+
".flac": "file"
|
54
|
+
}, dataExtensions = Object.keys(esbuildLoaderConfig).filter(
|
55
|
+
(k) => esbuildLoaderConfig[k] === "file" || esbuildLoaderConfig[k] === "dataurl"
|
56
|
+
).map((k) => k.slice(1)), esbuildIgnoreFilesRegex = new RegExp(`.(${dataExtensions.join("|")})$`, "i");
|
57
|
+
function getESBuildConfig({ entryPoints, resolvePlatformSpecificEntries, ...options }, platform, aliases) {
|
58
|
+
return process.env.DEBUG?.startsWith("tamagui") && console.info("Building", entryPoints), {
|
59
|
+
bundle: !0,
|
60
|
+
entryPoints: resolvePlatformSpecificEntries ? entryPoints.map(import_loadTamagui.resolveWebOrNativeSpecificEntry) : entryPoints,
|
61
|
+
format: "cjs",
|
62
|
+
target: "node16",
|
63
|
+
jsx: "transform",
|
64
|
+
jsxFactory: "react",
|
65
|
+
allowOverwrite: !0,
|
66
|
+
keepNames: !0,
|
67
|
+
resolveExtensions: [
|
68
|
+
".web.tsx",
|
69
|
+
".web.ts",
|
70
|
+
".web.jsx",
|
71
|
+
".web.js",
|
72
|
+
".tsx",
|
73
|
+
".ts",
|
74
|
+
".jsx",
|
75
|
+
".js"
|
76
|
+
],
|
77
|
+
platform: "node",
|
78
|
+
tsconfigRaw: {
|
79
|
+
compilerOptions: {
|
80
|
+
jsx: "react-jsx"
|
81
|
+
}
|
82
|
+
},
|
83
|
+
loader: esbuildLoaderConfig,
|
84
|
+
logLevel: "warning",
|
85
|
+
plugins: [
|
86
|
+
{
|
87
|
+
name: "external",
|
88
|
+
setup(build) {
|
89
|
+
build.onResolve({ filter: /@tamagui\/core/ }, (args) => ({
|
90
|
+
path: platform === "native" ? "@tamagui/core/native" : "@tamagui/core",
|
91
|
+
external: !0
|
92
|
+
})), build.onResolve({ filter: /react-native\/package.json$/ }, (args) => ({
|
93
|
+
path: "react-native/package.json",
|
94
|
+
external: !0
|
95
|
+
})), build.onResolve({ filter: /@tamagui\/web/ }, (args) => ({
|
96
|
+
path: platform === "native" ? "@tamagui/core/native" : "@tamagui/core",
|
97
|
+
external: !0
|
98
|
+
})), build.onResolve({ filter: /^(react-native|react-native\/.*)$/ }, (args) => ({
|
99
|
+
path: "@tamagui/react-native-web-lite",
|
100
|
+
external: !0
|
101
|
+
})), build.onResolve({ filter: /react-native-reanimated/ }, (args) => ({
|
102
|
+
path: "react-native-reanimated",
|
103
|
+
external: !0
|
104
|
+
}));
|
105
|
+
}
|
106
|
+
},
|
107
|
+
(0, import_esbuildAliasPlugin.esbuildAliasPlugin)({
|
108
|
+
...aliases
|
109
|
+
})
|
110
|
+
],
|
111
|
+
...options
|
112
|
+
};
|
113
|
+
}
|
114
|
+
async function esbundleTamaguiConfig(props, platform, aliases) {
|
115
|
+
await asyncLock(props);
|
116
|
+
const config = getESBuildConfig(props, platform, aliases);
|
117
|
+
return await import_esbuild.default.build(config);
|
118
|
+
}
|
119
|
+
async function asyncLock(props) {
|
120
|
+
const lockFile = (0, import_node_path.join)((0, import_node_path.dirname)(props.outfile), (0, import_node_path.basename)(props.outfile, ".lock")), lockStat = await FS.stat(lockFile).catch(() => {
|
121
|
+
});
|
122
|
+
if ((lockStat ? (/* @__PURE__ */ new Date()).getTime() - new Date(lockStat.mtime).getTime() : Number.POSITIVE_INFINITY) < 500) {
|
123
|
+
process.env.DEBUG?.startsWith("tamagui") && console.info("Waiting for existing build", props.entryPoints);
|
124
|
+
let tries = 5;
|
125
|
+
for (; tries--; ) {
|
126
|
+
if (await FS.pathExists(props.outfile))
|
127
|
+
return;
|
128
|
+
await new Promise((res) => setTimeout(res, 50));
|
129
|
+
}
|
130
|
+
}
|
131
|
+
FS.writeFile(lockFile, "");
|
132
|
+
}
|
133
|
+
//# sourceMappingURL=bundle.js.map
|
@@ -0,0 +1,6 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../src/extractor/bundle.ts"],
|
4
|
+
"mappings": "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",
|
5
|
+
"names": ["esbuild"]
|
6
|
+
}
|
@@ -0,0 +1,350 @@
|
|
1
|
+
var __create = Object.create;
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
11
|
+
for (let key of __getOwnPropNames(from))
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
13
|
+
return to;
|
14
|
+
};
|
15
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
16
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
17
|
+
// file that has been converted to a CommonJS file using a Babel-
|
18
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
19
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
21
|
+
mod
|
22
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
23
|
+
var bundleConfig_exports = {};
|
24
|
+
__export(bundleConfig_exports, {
|
25
|
+
bundleConfig: () => bundleConfig,
|
26
|
+
esbuildOptions: () => esbuildOptions,
|
27
|
+
getBundledConfig: () => getBundledConfig,
|
28
|
+
getLoadedConfig: () => getLoadedConfig,
|
29
|
+
hasBundledConfigChanged: () => hasBundledConfigChanged,
|
30
|
+
loadComponents: () => loadComponents,
|
31
|
+
loadComponentsInner: () => loadComponentsInner,
|
32
|
+
writeTamaguiCSS: () => writeTamaguiCSS
|
33
|
+
});
|
34
|
+
module.exports = __toCommonJS(bundleConfig_exports);
|
35
|
+
var import_generator = __toESM(require("@babel/generator")), import_traverse = __toESM(require("@babel/traverse")), t = __toESM(require("@babel/types")), import_node_fs = require("node:fs"), import_node_path = require("node:path"), import_cli_color = require("@tamagui/cli-color"), import_esbuild = __toESM(require("esbuild")), FS = __toESM(require("fs-extra")), import_promises = require("node:fs/promises"), import_registerRequire = require("../registerRequire"), import_babelParse = require("./babelParse"), import_bundle = require("./bundle"), import_getTamaguiConfigPathFromOptionsConfig = require("./getTamaguiConfigPathFromOptionsConfig");
|
36
|
+
const external = [
|
37
|
+
"@tamagui/core",
|
38
|
+
"@tamagui/web",
|
39
|
+
"react",
|
40
|
+
"react-dom",
|
41
|
+
"react-native-svg"
|
42
|
+
], esbuildExtraOptions = {
|
43
|
+
define: {
|
44
|
+
__DEV__: `${process.env.NODE_ENV === "development"}`
|
45
|
+
}
|
46
|
+
}, esbuildOptions = {
|
47
|
+
target: "es2018",
|
48
|
+
format: "cjs",
|
49
|
+
jsx: "automatic",
|
50
|
+
platform: "node",
|
51
|
+
...esbuildExtraOptions
|
52
|
+
};
|
53
|
+
let currentBundle = null, isBundling = !1, lastBundle = null;
|
54
|
+
const waitForBundle = /* @__PURE__ */ new Set();
|
55
|
+
function hasBundledConfigChanged() {
|
56
|
+
return lastBundle === currentBundle ? !1 : (lastBundle = currentBundle, !0);
|
57
|
+
}
|
58
|
+
let loadedConfig = null;
|
59
|
+
const getLoadedConfig = () => loadedConfig;
|
60
|
+
async function getBundledConfig(props, rebuild = !1) {
|
61
|
+
if (isBundling)
|
62
|
+
await new Promise((res) => {
|
63
|
+
waitForBundle.add(res);
|
64
|
+
});
|
65
|
+
else if (!currentBundle || rebuild)
|
66
|
+
return await bundleConfig(props);
|
67
|
+
return currentBundle;
|
68
|
+
}
|
69
|
+
global.tamaguiLastLoaded ||= 0;
|
70
|
+
function updateLastLoaded(config) {
|
71
|
+
global.tamaguiLastLoaded = Date.now(), global.tamaguiLastBundledConfig = config;
|
72
|
+
}
|
73
|
+
let hasBundledOnce = !1;
|
74
|
+
async function bundleConfig(props) {
|
75
|
+
if (global.tamaguiLastBundledConfig && Date.now() - global.tamaguiLastLoaded < 3e3)
|
76
|
+
return global.tamaguiLastBundledConfig;
|
77
|
+
try {
|
78
|
+
isBundling = !0;
|
79
|
+
const configEntry = props.config ? (0, import_getTamaguiConfigPathFromOptionsConfig.getTamaguiConfigPathFromOptionsConfig)(props.config) : "", tmpDir = (0, import_node_path.join)(process.cwd(), ".tamagui"), configOutPath = (0, import_node_path.join)(tmpDir, "tamagui.config.cjs"), baseComponents = (props.components || []).filter((x) => x !== "@tamagui/core"), componentOutPaths = baseComponents.map(
|
80
|
+
(componentModule) => (0, import_node_path.join)(
|
81
|
+
tmpDir,
|
82
|
+
`${componentModule.split(import_node_path.sep).join("-").replace(/[^a-z0-9]+/gi, "")}-components.config.cjs`
|
83
|
+
)
|
84
|
+
);
|
85
|
+
if (process.env.NODE_ENV === "development" && process.env.DEBUG?.startsWith("tamagui") && console.info("Building config entry", configEntry), !props.disableInitialBuild) {
|
86
|
+
try {
|
87
|
+
await FS.ensureDir(tmpDir);
|
88
|
+
} catch {
|
89
|
+
}
|
90
|
+
const start = Date.now();
|
91
|
+
await Promise.all([
|
92
|
+
props.config ? (0, import_bundle.esbundleTamaguiConfig)(
|
93
|
+
{
|
94
|
+
entryPoints: [configEntry],
|
95
|
+
external,
|
96
|
+
outfile: configOutPath,
|
97
|
+
target: "node16",
|
98
|
+
...esbuildExtraOptions
|
99
|
+
},
|
100
|
+
props.platform || "web"
|
101
|
+
) : null,
|
102
|
+
...baseComponents.map((componentModule, i) => (0, import_bundle.esbundleTamaguiConfig)(
|
103
|
+
{
|
104
|
+
entryPoints: [componentModule],
|
105
|
+
resolvePlatformSpecificEntries: !0,
|
106
|
+
external,
|
107
|
+
outfile: componentOutPaths[i],
|
108
|
+
target: "node16",
|
109
|
+
...esbuildExtraOptions
|
110
|
+
},
|
111
|
+
props.platform || "web"
|
112
|
+
))
|
113
|
+
]), (0, import_cli_color.colorLog)(
|
114
|
+
import_cli_color.Color.FgYellow,
|
115
|
+
`
|
116
|
+
\u27A1 [tamagui] built config and components (${Date.now() - start}ms)`
|
117
|
+
), process.env.DEBUG?.startsWith("tamagui") && (0, import_cli_color.colorLog)(
|
118
|
+
import_cli_color.Color.Dim,
|
119
|
+
`
|
120
|
+
Config .${import_node_path.sep}${(0, import_node_path.relative)(process.cwd(), configOutPath)}
|
121
|
+
Components ${[
|
122
|
+
...componentOutPaths.map((p) => `.${import_node_path.sep}${(0, import_node_path.relative)(process.cwd(), p)}`)
|
123
|
+
].join(`
|
124
|
+
`)}
|
125
|
+
`
|
126
|
+
);
|
127
|
+
}
|
128
|
+
let out;
|
129
|
+
const { unregister } = (0, import_registerRequire.registerRequire)(props.platform || "web");
|
130
|
+
try {
|
131
|
+
if (hasBundledOnce)
|
132
|
+
for (const key in require.cache)
|
133
|
+
/(core|web)[\/\\]dist/.test(key) || delete require.cache[key];
|
134
|
+
else
|
135
|
+
hasBundledOnce = !0;
|
136
|
+
out = require(configOutPath);
|
137
|
+
} catch (err) {
|
138
|
+
throw err;
|
139
|
+
} finally {
|
140
|
+
unregister();
|
141
|
+
}
|
142
|
+
let config = out.default || out || out.config;
|
143
|
+
if (config && config.config && !config.tokens && (config = config.config), !config)
|
144
|
+
throw new Error(`No config: ${config}`);
|
145
|
+
loadedConfig = config, props.outputCSS && await writeTamaguiCSS(props.outputCSS, config);
|
146
|
+
let components = loadComponents({
|
147
|
+
...props,
|
148
|
+
components: componentOutPaths
|
149
|
+
});
|
150
|
+
if (!components)
|
151
|
+
throw new Error(`No components found: ${componentOutPaths.join(", ")}`);
|
152
|
+
for (const component of components)
|
153
|
+
component.moduleName = baseComponents[componentOutPaths.indexOf(component.moduleName)] || component.moduleName, component.moduleName || (process.env.DEBUG?.includes("tamagui") || process.env.IS_TAMAGUI_DEV) && console.warn(
|
154
|
+
`\u26A0\uFE0F no module name found: ${component.moduleName} ${JSON.stringify(
|
155
|
+
baseComponents
|
156
|
+
)} in ${JSON.stringify(componentOutPaths)}`
|
157
|
+
);
|
158
|
+
process.env.NODE_ENV === "development" && process.env.DEBUG?.startsWith("tamagui") && console.info("Loaded components", components);
|
159
|
+
const res = {
|
160
|
+
components,
|
161
|
+
nameToPaths: {},
|
162
|
+
tamaguiConfig: config
|
163
|
+
};
|
164
|
+
return currentBundle = res, updateLastLoaded(res), res;
|
165
|
+
} catch (err) {
|
166
|
+
console.error(
|
167
|
+
`Error bundling tamagui config: ${err?.message} (run with DEBUG=tamagui to see stack)`
|
168
|
+
), process.env.DEBUG?.includes("tamagui") && console.error(err.stack);
|
169
|
+
} finally {
|
170
|
+
isBundling = !1, waitForBundle.forEach((cb) => cb()), waitForBundle.clear();
|
171
|
+
}
|
172
|
+
}
|
173
|
+
async function writeTamaguiCSS(outputCSS, config) {
|
174
|
+
const flush = async () => {
|
175
|
+
(0, import_cli_color.colorLog)(import_cli_color.Color.FgYellow, ` \u27A1 [tamagui] output css: ${outputCSS}`), await FS.writeFile(outputCSS, css);
|
176
|
+
}, css = config.getCSS();
|
177
|
+
try {
|
178
|
+
(0, import_node_fs.existsSync)(outputCSS) && await (0, import_promises.readFile)(outputCSS, "utf8") === css || await flush();
|
179
|
+
} catch (err) {
|
180
|
+
console.info("Error writing themes", err);
|
181
|
+
}
|
182
|
+
}
|
183
|
+
function loadComponents(props, forceExports = !1) {
|
184
|
+
const coreComponents = getCoreComponents(props), otherComponents = loadComponentsInner(props, forceExports);
|
185
|
+
return [...coreComponents, ...otherComponents || []];
|
186
|
+
}
|
187
|
+
function getCoreComponents(props) {
|
188
|
+
const loaded = loadComponentsInner({
|
189
|
+
...props,
|
190
|
+
components: ["@tamagui/core"]
|
191
|
+
});
|
192
|
+
if (!loaded)
|
193
|
+
throw new Error("Core should always load");
|
194
|
+
return [
|
195
|
+
{
|
196
|
+
...loaded[0],
|
197
|
+
moduleName: "@tamagui/core"
|
198
|
+
}
|
199
|
+
];
|
200
|
+
}
|
201
|
+
function loadComponentsInner(props, forceExports = !1) {
|
202
|
+
const componentsModules = props.components || [], key = componentsModules.join("");
|
203
|
+
if (!forceExports && cacheComponents[key])
|
204
|
+
return cacheComponents[key];
|
205
|
+
const { unregister } = (0, import_registerRequire.registerRequire)(props.platform || "web", {
|
206
|
+
proxyWormImports: forceExports
|
207
|
+
});
|
208
|
+
try {
|
209
|
+
const info = componentsModules.flatMap((name) => {
|
210
|
+
const isDynamic = !!(0, import_node_path.extname)(name) && forceExports, fileContents = isDynamic ? (0, import_node_fs.readFileSync)(name, "utf-8") : "", loadModule = isDynamic ? (0, import_node_path.join)((0, import_node_path.dirname)(name), `.tamagui-dynamic-eval-${(0, import_node_path.basename)(name)}.tsx`) : name;
|
211
|
+
let writtenContents = fileContents, didBabel = !1;
|
212
|
+
function attemptLoad({ forceExports: forceExports2 = !1 } = {}) {
|
213
|
+
isDynamic && (writtenContents = forceExports2 ? transformAddExports((0, import_babelParse.babelParse)(esbuildit(fileContents, "modern"), name)) : fileContents, FS.writeFileSync(loadModule, writtenContents), import_esbuild.default.buildSync({
|
214
|
+
...esbuildOptions,
|
215
|
+
entryPoints: [loadModule],
|
216
|
+
outfile: loadModule,
|
217
|
+
alias: {
|
218
|
+
"react-native": require.resolve("@tamagui/react-native-web-lite")
|
219
|
+
},
|
220
|
+
bundle: !0,
|
221
|
+
packages: "external",
|
222
|
+
allowOverwrite: !0,
|
223
|
+
// logLevel: 'silent',
|
224
|
+
sourcemap: !1,
|
225
|
+
loader: import_bundle.esbuildLoaderConfig
|
226
|
+
})), process.env.DEBUG === "tamagui" && console.info("loadModule", loadModule, require.resolve(loadModule));
|
227
|
+
const moduleResult = require(loadModule);
|
228
|
+
forceExports2 || (0, import_registerRequire.setRequireResult)(name, moduleResult);
|
229
|
+
const nameToInfo = getComponentStaticConfigByName(
|
230
|
+
name,
|
231
|
+
interopDefaultExport(moduleResult)
|
232
|
+
);
|
233
|
+
return {
|
234
|
+
moduleName: name,
|
235
|
+
nameToInfo
|
236
|
+
};
|
237
|
+
}
|
238
|
+
const dispose = () => {
|
239
|
+
isDynamic && FS.removeSync(loadModule);
|
240
|
+
};
|
241
|
+
try {
|
242
|
+
const res = attemptLoad({
|
243
|
+
forceExports: !0
|
244
|
+
});
|
245
|
+
return didBabel = !0, res;
|
246
|
+
} catch (err) {
|
247
|
+
console.info("babel err", err, writtenContents), writtenContents = fileContents, process.env.DEBUG?.startsWith("tamagui") && console.info("Error parsing babel likely", err);
|
248
|
+
} finally {
|
249
|
+
dispose();
|
250
|
+
}
|
251
|
+
try {
|
252
|
+
return attemptLoad({
|
253
|
+
forceExports: !1
|
254
|
+
});
|
255
|
+
} catch (err) {
|
256
|
+
return process.env.TAMAGUI_ENABLE_WARN_DYNAMIC_LOAD && (console.info(`
|
257
|
+
|
258
|
+
Tamagui attempted but failed to dynamically optimize components in:
|
259
|
+
${name}
|
260
|
+
`), console.info(err), console.info(
|
261
|
+
`At: ${loadModule}`,
|
262
|
+
`
|
263
|
+
didBabel: ${didBabel}`,
|
264
|
+
`
|
265
|
+
In:`,
|
266
|
+
writtenContents,
|
267
|
+
`
|
268
|
+
isDynamic: `,
|
269
|
+
isDynamic
|
270
|
+
)), [];
|
271
|
+
} finally {
|
272
|
+
dispose();
|
273
|
+
}
|
274
|
+
});
|
275
|
+
return cacheComponents[key] = info, info;
|
276
|
+
} catch (err) {
|
277
|
+
return console.info("Tamagui error bundling components", err.message, err.stack), null;
|
278
|
+
} finally {
|
279
|
+
unregister();
|
280
|
+
}
|
281
|
+
}
|
282
|
+
const esbuildit = (src, target) => import_esbuild.default.transformSync(src, {
|
283
|
+
...esbuildOptions,
|
284
|
+
...target === "modern" && {
|
285
|
+
target: "es2022",
|
286
|
+
jsx: "automatic",
|
287
|
+
loader: "tsx",
|
288
|
+
platform: "neutral",
|
289
|
+
format: "esm"
|
290
|
+
}
|
291
|
+
}).code;
|
292
|
+
function getComponentStaticConfigByName(name, exported) {
|
293
|
+
const components = {};
|
294
|
+
try {
|
295
|
+
if (!exported || typeof exported != "object" || Array.isArray(exported))
|
296
|
+
throw new Error(`Invalid export from package ${name}: ${typeof exported}`);
|
297
|
+
for (const key in exported) {
|
298
|
+
const found = getTamaguiComponent(key, exported[key]);
|
299
|
+
if (found) {
|
300
|
+
const { Component, ...sc } = found.staticConfig;
|
301
|
+
components[key] = { staticConfig: sc };
|
302
|
+
}
|
303
|
+
}
|
304
|
+
} catch (err) {
|
305
|
+
process.env.TAMAGUI_ENABLE_WARN_DYNAMIC_LOAD && (console.error(
|
306
|
+
`Tamagui failed getting components from ${name} (Disable error by setting environment variable TAMAGUI_ENABLE_WARN_DYNAMIC_LOAD=1)`
|
307
|
+
), console.error(err));
|
308
|
+
}
|
309
|
+
return components;
|
310
|
+
}
|
311
|
+
function getTamaguiComponent(name, Component) {
|
312
|
+
if (name[0].toUpperCase() !== name[0])
|
313
|
+
return;
|
314
|
+
if (Component?.staticConfig)
|
315
|
+
return Component;
|
316
|
+
}
|
317
|
+
function interopDefaultExport(mod) {
|
318
|
+
return mod?.default ?? mod;
|
319
|
+
}
|
320
|
+
const cacheComponents = {};
|
321
|
+
function transformAddExports(ast) {
|
322
|
+
const usedNames = /* @__PURE__ */ new Set();
|
323
|
+
return (0, import_traverse.default)(ast, {
|
324
|
+
ExportNamedDeclaration(nodePath) {
|
325
|
+
if (nodePath.node.specifiers)
|
326
|
+
for (const spec of nodePath.node.specifiers)
|
327
|
+
usedNames.add(
|
328
|
+
t.isIdentifier(spec.exported) ? spec.exported.name : spec.exported.value
|
329
|
+
);
|
330
|
+
}
|
331
|
+
}), (0, import_traverse.default)(ast, {
|
332
|
+
VariableDeclaration(nodePath) {
|
333
|
+
if (!t.isProgram(nodePath.parent)) return;
|
334
|
+
const decs = nodePath.node.declarations;
|
335
|
+
if (decs.length > 1) return;
|
336
|
+
const [dec] = decs;
|
337
|
+
t.isIdentifier(dec.id) && dec.init && (usedNames.has(dec.id.name) || (usedNames.add(dec.id.name), nodePath.replaceWith(
|
338
|
+
t.exportNamedDeclaration(t.variableDeclaration("let", [dec]), [
|
339
|
+
t.exportSpecifier(t.identifier(dec.id.name), t.identifier(dec.id.name))
|
340
|
+
])
|
341
|
+
)));
|
342
|
+
}
|
343
|
+
}), (0, import_generator.default)(ast, {
|
344
|
+
concise: !1,
|
345
|
+
filename: "test.tsx",
|
346
|
+
retainLines: !1,
|
347
|
+
sourceMaps: !1
|
348
|
+
}).code;
|
349
|
+
}
|
350
|
+
//# sourceMappingURL=bundleConfig.js.map
|
@@ -0,0 +1,6 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../src/extractor/bundleConfig.ts"],
|
4
|
+
"mappings": "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",
|
5
|
+
"names": ["forceExports", "esbuild", "traverse", "generate"]
|
6
|
+
}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
var __create = Object.create;
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
11
|
+
for (let key of __getOwnPropNames(from))
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
13
|
+
return to;
|
14
|
+
};
|
15
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
16
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
17
|
+
// file that has been converted to a CommonJS file using a Babel-
|
18
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
19
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
21
|
+
mod
|
22
|
+
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
23
|
+
var createEvaluator_exports = {};
|
24
|
+
__export(createEvaluator_exports, {
|
25
|
+
createEvaluator: () => createEvaluator,
|
26
|
+
createSafeEvaluator: () => createSafeEvaluator
|
27
|
+
});
|
28
|
+
module.exports = __toCommonJS(createEvaluator_exports);
|
29
|
+
var import_node_vm = __toESM(require("node:vm")), import_generator = __toESM(require("@babel/generator")), t = __toESM(require("@babel/types")), import_esbuild = __toESM(require("esbuild")), import_constants = require("../constants"), import_evaluateAstNode = require("./evaluateAstNode");
|
30
|
+
function createEvaluator({
|
31
|
+
props,
|
32
|
+
staticNamespace,
|
33
|
+
sourcePath,
|
34
|
+
traversePath,
|
35
|
+
shouldPrintDebug
|
36
|
+
}) {
|
37
|
+
const evalFn = (n) => {
|
38
|
+
if (t.isIdentifier(n) && typeof staticNamespace[n.name] < "u")
|
39
|
+
return staticNamespace[n.name];
|
40
|
+
const evalContext = import_node_vm.default.createContext(staticNamespace), codeWithTypescriptAnnotations = `(${(0, import_generator.default)(n).code})`, code = import_esbuild.default.transformSync(codeWithTypescriptAnnotations, { loader: "tsx" }).code.replace(/;\n$/, "");
|
41
|
+
return shouldPrintDebug && console.info("evaluating", code), import_node_vm.default.runInContext(code, evalContext);
|
42
|
+
};
|
43
|
+
return (n) => (0, import_evaluateAstNode.evaluateAstNode)(n, evalFn);
|
44
|
+
}
|
45
|
+
function createSafeEvaluator(attemptEval) {
|
46
|
+
return (n) => {
|
47
|
+
try {
|
48
|
+
return attemptEval(n);
|
49
|
+
} catch {
|
50
|
+
return import_constants.FAILED_EVAL;
|
51
|
+
}
|
52
|
+
};
|
53
|
+
}
|
54
|
+
//# sourceMappingURL=createEvaluator.js.map
|
@@ -0,0 +1,6 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../src/extractor/createEvaluator.ts"],
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAe,6BAEf,mBAAqB,sCAErB,IAAmB,kCACnB,iBAAoB,6BAEpB,mBAA4B,yBAE5B,yBAAgC;AAEzB,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMG;AAED,QAAM,SAAS,CAAC,MAAc;AAE5B,QAAI,EAAE,aAAa,CAAC,KAAK,OAAO,gBAAgB,EAAE,IAAI,IAAM;AAC1D,aAAO,gBAAgB,EAAE,IAAI;AAE/B,UAAM,cAAc,eAAAA,QAAG,cAAc,eAAe,GAE9C,gCAAgC,QAAI,iBAAAC,SAAS,CAAQ,EAAE,IAAI,KAC3D,OAAO,eAAAC,QACV,cAAc,+BAA+B,EAAE,QAAQ,MAAM,CAAC,EAC9D,KAAK,QAAQ,QAAQ,EAAE;AAE1B,WAAI,oBACF,QAAQ,KAAK,cAAc,IAAI,GAE1B,eAAAF,QAAG,aAAa,MAAM,WAAW;AAAA,EAC1C;AAEA,SAAO,CAAC,UACC,wCAAgB,GAAG,MAAM;AAEpC;AAEO,SAAS,oBAAoB,aAAiC;AACnE,SAAO,CAAC,MAAc;AACpB,QAAI;AACF,aAAO,YAAY,CAAC;AAAA,IACtB,QAAc;AACZ,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
|
5
|
+
"names": ["vm", "generate", "esbuild"]
|
6
|
+
}
|