@tamagui/static 1.25.0-1683417484302 → 1.26.1
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/cjs/require.js +43 -41
- package/dist/cjs/require.js.map +1 -1
- package/dist/esm/require.js +43 -41
- package/dist/esm/require.js.map +1 -1
- package/package.json +14 -14
- package/src/require.ts +88 -87
- package/types/require.d.ts.map +1 -1
- package/dist/esm/constants.mjs +0 -15
- package/dist/esm/constants.mjs.map +0 -6
- package/dist/esm/extractor/accessSafe.mjs +0 -19
- package/dist/esm/extractor/accessSafe.mjs.map +0 -6
- package/dist/esm/extractor/babelParse.mjs +0 -32
- package/dist/esm/extractor/babelParse.mjs.map +0 -6
- package/dist/esm/extractor/buildClassName.mjs +0 -65
- package/dist/esm/extractor/buildClassName.mjs.map +0 -6
- package/dist/esm/extractor/bundle.mjs +0 -92
- package/dist/esm/extractor/bundle.mjs.map +0 -6
- package/dist/esm/extractor/bundleConfig.mjs +0 -369
- package/dist/esm/extractor/bundleConfig.mjs.map +0 -6
- package/dist/esm/extractor/createEvaluator.mjs +0 -52
- package/dist/esm/extractor/createEvaluator.mjs.map +0 -6
- package/dist/esm/extractor/createExtractor.mjs +0 -1628
- package/dist/esm/extractor/createExtractor.mjs.map +0 -6
- package/dist/esm/extractor/ensureImportingConcat.mjs +0 -31
- package/dist/esm/extractor/ensureImportingConcat.mjs.map +0 -6
- package/dist/esm/extractor/evaluateAstNode.mjs +0 -97
- package/dist/esm/extractor/evaluateAstNode.mjs.map +0 -6
- package/dist/esm/extractor/extractHelpers.mjs +0 -162
- package/dist/esm/extractor/extractHelpers.mjs.map +0 -6
- package/dist/esm/extractor/extractMediaStyle.mjs +0 -162
- package/dist/esm/extractor/extractMediaStyle.mjs.map +0 -6
- package/dist/esm/extractor/extractToClassNames.mjs +0 -381
- package/dist/esm/extractor/extractToClassNames.mjs.map +0 -6
- package/dist/esm/extractor/findTopmostFunction.mjs +0 -20
- package/dist/esm/extractor/findTopmostFunction.mjs.map +0 -6
- package/dist/esm/extractor/generateTamaguiStudioConfig.mjs +0 -82
- package/dist/esm/extractor/generateTamaguiStudioConfig.mjs.map +0 -6
- package/dist/esm/extractor/generatedUid.mjs +0 -26
- package/dist/esm/extractor/generatedUid.mjs.map +0 -6
- package/dist/esm/extractor/getPrefixLogs.mjs +0 -8
- package/dist/esm/extractor/getPrefixLogs.mjs.map +0 -6
- package/dist/esm/extractor/getPropValueFromAttributes.mjs +0 -56
- package/dist/esm/extractor/getPropValueFromAttributes.mjs.map +0 -6
- package/dist/esm/extractor/getSourceModule.mjs +0 -70
- package/dist/esm/extractor/getSourceModule.mjs.map +0 -6
- package/dist/esm/extractor/getStaticBindingsForScope.mjs +0 -191
- package/dist/esm/extractor/getStaticBindingsForScope.mjs.map +0 -6
- package/dist/esm/extractor/hoistClassNames.mjs +0 -41
- package/dist/esm/extractor/hoistClassNames.mjs.map +0 -6
- package/dist/esm/extractor/literalToAst.mjs +0 -81
- package/dist/esm/extractor/literalToAst.mjs.map +0 -6
- package/dist/esm/extractor/loadFile.mjs +0 -20
- package/dist/esm/extractor/loadFile.mjs.map +0 -6
- package/dist/esm/extractor/loadTamagui.mjs +0 -219
- package/dist/esm/extractor/loadTamagui.mjs.map +0 -6
- package/dist/esm/extractor/logLines.mjs +0 -20
- package/dist/esm/extractor/logLines.mjs.map +0 -6
- package/dist/esm/extractor/normalizeTernaries.mjs +0 -52
- package/dist/esm/extractor/normalizeTernaries.mjs.map +0 -6
- package/dist/esm/extractor/removeUnusedHooks.mjs +0 -76
- package/dist/esm/extractor/removeUnusedHooks.mjs.map +0 -6
- package/dist/esm/extractor/timer.mjs +0 -29
- package/dist/esm/extractor/timer.mjs.map +0 -6
- package/dist/esm/extractor/validHTMLAttributes.mjs +0 -102
- package/dist/esm/extractor/validHTMLAttributes.mjs.map +0 -6
- package/dist/esm/getPragmaOptions.mjs +0 -44
- package/dist/esm/getPragmaOptions.mjs.map +0 -6
- package/dist/esm/helpers/memoize.mjs +0 -22
- package/dist/esm/helpers/memoize.mjs.map +0 -6
- package/dist/esm/index.mjs +0 -16
- package/dist/esm/index.mjs.map +0 -6
- package/dist/esm/require.mjs +0 -61
- package/dist/esm/require.mjs.map +0 -6
- package/dist/esm/types.mjs +0 -1
- package/dist/esm/types.mjs.map +0 -6
- package/dist/esm/webpackPlugin.mjs +0 -11
- package/dist/esm/webpackPlugin.mjs.map +0 -6
- package/types/extractor/generateTamaguiConfig.d.ts +0 -4
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { basename, dirname, join } from "path";
|
|
2
|
-
import esbuild from "esbuild";
|
|
3
|
-
import { pathExists, stat, writeFile } from "fs-extra";
|
|
4
|
-
import { resolveWebOrNativeSpecificEntry } from "./loadTamagui";
|
|
5
|
-
function getESBuildConfig({ entryPoints, resolvePlatformSpecificEntries, ...options }, aliases) {
|
|
6
|
-
var _a;
|
|
7
|
-
const alias = require("@tamagui/core-node").aliasPlugin;
|
|
8
|
-
if ((_a = process.env.DEBUG) == null ? void 0 : _a.startsWith("tamagui")) {
|
|
9
|
-
console.log(`Building`, entryPoints);
|
|
10
|
-
}
|
|
11
|
-
const tsconfig = join(__dirname, "..", "..", "..", "tamagui.tsconfig.json");
|
|
12
|
-
const resolvedEntryPoints = !resolvePlatformSpecificEntries ? entryPoints : entryPoints.map(resolveWebOrNativeSpecificEntry);
|
|
13
|
-
const res = {
|
|
14
|
-
bundle: true,
|
|
15
|
-
entryPoints: resolvedEntryPoints,
|
|
16
|
-
format: "cjs",
|
|
17
|
-
target: "node18",
|
|
18
|
-
jsx: "transform",
|
|
19
|
-
jsxFactory: "react",
|
|
20
|
-
allowOverwrite: true,
|
|
21
|
-
keepNames: true,
|
|
22
|
-
platform: "node",
|
|
23
|
-
tsconfig,
|
|
24
|
-
loader: {
|
|
25
|
-
".js": "jsx"
|
|
26
|
-
},
|
|
27
|
-
logLevel: "warning",
|
|
28
|
-
plugins: [
|
|
29
|
-
{
|
|
30
|
-
name: "external",
|
|
31
|
-
setup(build) {
|
|
32
|
-
build.onResolve({ filter: /@tamagui\/core/ }, (args) => {
|
|
33
|
-
return {
|
|
34
|
-
path: "@tamagui/core-node",
|
|
35
|
-
external: true
|
|
36
|
-
};
|
|
37
|
-
});
|
|
38
|
-
build.onResolve({ filter: /@tamagui\/web/ }, (args) => {
|
|
39
|
-
return {
|
|
40
|
-
path: "@tamagui/core-node",
|
|
41
|
-
external: true
|
|
42
|
-
};
|
|
43
|
-
});
|
|
44
|
-
build.onResolve({ filter: /^(react-native|react-native\/.*)$/ }, (args) => {
|
|
45
|
-
return {
|
|
46
|
-
path: "react-native-web-lite",
|
|
47
|
-
external: true
|
|
48
|
-
};
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
alias({
|
|
53
|
-
...aliases
|
|
54
|
-
})
|
|
55
|
-
],
|
|
56
|
-
...options
|
|
57
|
-
};
|
|
58
|
-
return res;
|
|
59
|
-
}
|
|
60
|
-
async function bundle(props, aliases) {
|
|
61
|
-
await asyncLock(props);
|
|
62
|
-
return esbuild.build(getESBuildConfig(props, aliases));
|
|
63
|
-
}
|
|
64
|
-
function bundleSync(props, aliases) {
|
|
65
|
-
return esbuild.buildSync(getESBuildConfig(props, aliases));
|
|
66
|
-
}
|
|
67
|
-
async function asyncLock(props) {
|
|
68
|
-
var _a;
|
|
69
|
-
const lockFile = join(dirname(props.outfile), basename(props.outfile, ".lock"));
|
|
70
|
-
const lockStat = await stat(lockFile).catch(() => {
|
|
71
|
-
});
|
|
72
|
-
const lockedMsAgo = !lockStat ? Infinity : (/* @__PURE__ */ new Date()).getTime() - new Date(lockStat.mtime).getTime();
|
|
73
|
-
if (lockedMsAgo < 500) {
|
|
74
|
-
if ((_a = process.env.DEBUG) == null ? void 0 : _a.startsWith("tamagui")) {
|
|
75
|
-
console.log(`Waiting for existing build`, props.entryPoints);
|
|
76
|
-
}
|
|
77
|
-
let tries = 5;
|
|
78
|
-
while (tries--) {
|
|
79
|
-
if (await pathExists(props.outfile)) {
|
|
80
|
-
return;
|
|
81
|
-
} else {
|
|
82
|
-
await new Promise((res) => setTimeout(res, 50));
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
void writeFile(lockFile, "");
|
|
87
|
-
}
|
|
88
|
-
export {
|
|
89
|
-
bundle,
|
|
90
|
-
bundleSync
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=bundle.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/extractor/bundle.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,UAAU,SAAS,YAAY;AAExC,OAAO,aAAa;AACpB,SAAS,YAAY,MAAM,iBAAiB;AAE5C,SAAS,uCAAuC;AAYhD,SAAS,iBACP,EAAE,aAAa,gCAAgC,GAAG,QAAQ,GAC1D,SACA;AApBF;AAqBE,QAAM,QAAQ,QAAQ,oBAAoB,EAAE;AAC5C,OAAI,aAAQ,IAAI,UAAZ,mBAAmB,WAAW,YAAY;AAE5C,YAAQ,IAAI,YAAY,WAAW;AAAA,EACrC;AACA,QAAM,WAAW,KAAK,WAAW,MAAM,MAAM,MAAM,uBAAuB;AAE1E,QAAM,sBAAsB,CAAC,iCACzB,cACA,YAAY,IAAI,+BAA+B;AAEnD,QAAM,MAA4B;AAAA,IAChC,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,UAAU;AAAA,IACV;AAAA,IACA,QAAQ;AAAA,MACN,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,IACV,SAAS;AAAA,MACP;AAAA,QACE,MAAM;AAAA,QACN,MAAM,OAAO;AACX,gBAAM,UAAU,EAAE,QAAQ,iBAAiB,GAAG,CAAC,SAAS;AACtD,mBAAO;AAAA,cACL,MAAM;AAAA,cACN,UAAU;AAAA,YACZ;AAAA,UACF,CAAC;AAED,gBAAM,UAAU,EAAE,QAAQ,gBAAgB,GAAG,CAAC,SAAS;AACrD,mBAAO;AAAA,cACL,MAAM;AAAA,cACN,UAAU;AAAA,YACZ;AAAA,UACF,CAAC;AAED,gBAAM,UAAU,EAAE,QAAQ,oCAAoC,GAAG,CAAC,SAAS;AACzE,mBAAO;AAAA,cACL,MAAM;AAAA,cACN,UAAU;AAAA,YACZ;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,MACA,MAAM;AAAA,QACJ,GAAG;AAAA,MACL,CAAC;AAAA,IACH;AAAA,IACA,GAAG;AAAA,EACL;AAEA,SAAO;AACT;AAEA,eAAsB,OAAO,OAAc,SAAkC;AAC3E,QAAM,UAAU,KAAK;AACrB,SAAO,QAAQ,MAAM,iBAAiB,OAAO,OAAO,CAAC;AACvD;AAEO,SAAS,WAAW,OAAc,SAAkC;AACzE,SAAO,QAAQ,UAAU,iBAAiB,OAAO,OAAO,CAAC;AAC3D;AAGA,eAAe,UAAU,OAAc;AA7FvC;AA8FE,QAAM,WAAW,KAAK,QAAQ,MAAM,OAAO,GAAG,SAAS,MAAM,SAAS,OAAO,CAAC;AAC9E,QAAM,WAAW,MAAM,KAAK,QAAQ,EAAE,MAAM,MAAM;AAAA,EAElD,CAAC;AACD,QAAM,cAAc,CAAC,WACjB,YACA,oBAAI,KAAK,GAAE,QAAQ,IAAI,IAAI,KAAK,SAAS,KAAK,EAAE,QAAQ;AAC5D,MAAI,cAAc,KAAK;AACrB,SAAI,aAAQ,IAAI,UAAZ,mBAAmB,WAAW,YAAY;AAE5C,cAAQ,IAAI,8BAA8B,MAAM,WAAW;AAAA,IAC7D;AACA,QAAI,QAAQ;AACZ,WAAO,SAAS;AACd,UAAI,MAAM,WAAW,MAAM,OAAO,GAAG;AACnC;AAAA,MACF,OAAO;AACL,cAAM,IAAI,QAAQ,CAAC,QAAQ,WAAW,KAAK,EAAE,CAAC;AAAA,MAChD;AAAA,IACF;AAAA,EACF;AACA,OAAK,UAAU,UAAU,EAAE;AAC7B;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,369 +0,0 @@
|
|
|
1
|
-
import { readFileSync } from "fs";
|
|
2
|
-
import path, { basename, dirname, extname, join, relative, sep } from "path";
|
|
3
|
-
import generate from "@babel/generator";
|
|
4
|
-
import traverse from "@babel/traverse";
|
|
5
|
-
import * as t from "@babel/types";
|
|
6
|
-
import { Color, colorLog } from "@tamagui/cli-color";
|
|
7
|
-
import esbuild from "esbuild";
|
|
8
|
-
import { ensureDir, removeSync, writeFileSync } from "fs-extra";
|
|
9
|
-
import { registerRequire } from "../require";
|
|
10
|
-
import { babelParse } from "./babelParse";
|
|
11
|
-
import { bundle } from "./bundle";
|
|
12
|
-
let loggedOutputInfo = false;
|
|
13
|
-
const external = [
|
|
14
|
-
"@tamagui/core",
|
|
15
|
-
"@tamagui/web",
|
|
16
|
-
"@tamagui/core-node",
|
|
17
|
-
"react",
|
|
18
|
-
"react-dom",
|
|
19
|
-
"react-native-svg"
|
|
20
|
-
];
|
|
21
|
-
const esbuildOptions = {
|
|
22
|
-
loader: "tsx",
|
|
23
|
-
target: "es2018",
|
|
24
|
-
format: "cjs",
|
|
25
|
-
jsx: "transform",
|
|
26
|
-
platform: "node"
|
|
27
|
-
};
|
|
28
|
-
let currentBundle = null;
|
|
29
|
-
let isBundling = false;
|
|
30
|
-
let lastBundle = null;
|
|
31
|
-
const waitForBundle = /* @__PURE__ */ new Set();
|
|
32
|
-
async function hasBundledConfigChanged() {
|
|
33
|
-
if (lastBundle === currentBundle) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
lastBundle = currentBundle;
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
|
-
async function getBundledConfig(props, rebuild = false) {
|
|
40
|
-
if (isBundling) {
|
|
41
|
-
await new Promise((res) => {
|
|
42
|
-
waitForBundle.add(res);
|
|
43
|
-
});
|
|
44
|
-
} else if (!currentBundle || rebuild) {
|
|
45
|
-
return await bundleConfig(props);
|
|
46
|
-
}
|
|
47
|
-
return currentBundle;
|
|
48
|
-
}
|
|
49
|
-
async function bundleConfig(props) {
|
|
50
|
-
var _a, _b, _c;
|
|
51
|
-
try {
|
|
52
|
-
isBundling = true;
|
|
53
|
-
const configEntry = props.config ? join(process.cwd(), props.config) : "";
|
|
54
|
-
const tmpDir = join(process.cwd(), ".tamagui");
|
|
55
|
-
const configOutPath = join(tmpDir, `tamagui.config.cjs`);
|
|
56
|
-
const baseComponents = props.components.filter((x) => x !== "@tamagui/core");
|
|
57
|
-
const componentOutPaths = baseComponents.map(
|
|
58
|
-
(componentModule) => join(
|
|
59
|
-
tmpDir,
|
|
60
|
-
`${componentModule.split(sep).join("-").replace(/[^a-z0-9]+/gi, "")}-components.config.cjs`
|
|
61
|
-
)
|
|
62
|
-
);
|
|
63
|
-
if (process.env.NODE_ENV === "development" && ((_a = process.env.DEBUG) == null ? void 0 : _a.startsWith("tamagui"))) {
|
|
64
|
-
console.log(`Building config entry`, configEntry);
|
|
65
|
-
}
|
|
66
|
-
try {
|
|
67
|
-
await ensureDir(tmpDir);
|
|
68
|
-
} catch {
|
|
69
|
-
}
|
|
70
|
-
const start = Date.now();
|
|
71
|
-
await Promise.all([
|
|
72
|
-
props.config ? bundle({
|
|
73
|
-
entryPoints: [configEntry],
|
|
74
|
-
external,
|
|
75
|
-
outfile: configOutPath,
|
|
76
|
-
target: "node16"
|
|
77
|
-
}) : null,
|
|
78
|
-
...baseComponents.map((componentModule, i) => {
|
|
79
|
-
return bundle({
|
|
80
|
-
entryPoints: [componentModule],
|
|
81
|
-
resolvePlatformSpecificEntries: true,
|
|
82
|
-
external,
|
|
83
|
-
outfile: componentOutPaths[i],
|
|
84
|
-
target: "node16"
|
|
85
|
-
});
|
|
86
|
-
})
|
|
87
|
-
]);
|
|
88
|
-
if (!loggedOutputInfo) {
|
|
89
|
-
loggedOutputInfo = true;
|
|
90
|
-
colorLog(
|
|
91
|
-
Color.FgYellow,
|
|
92
|
-
`
|
|
93
|
-
Tamagui built config and components (${Date.now() - start}ms):`
|
|
94
|
-
);
|
|
95
|
-
colorLog(
|
|
96
|
-
Color.Dim,
|
|
97
|
-
`
|
|
98
|
-
Config .${sep}${relative(process.cwd(), configOutPath)}
|
|
99
|
-
Components ${[
|
|
100
|
-
...componentOutPaths.map((p) => `.${sep}${relative(process.cwd(), p)}`)
|
|
101
|
-
].join("\n ")}
|
|
102
|
-
`
|
|
103
|
-
);
|
|
104
|
-
}
|
|
105
|
-
delete require.cache[path.resolve(configOutPath)];
|
|
106
|
-
let out;
|
|
107
|
-
const unregister = registerRequire();
|
|
108
|
-
try {
|
|
109
|
-
out = require(configOutPath);
|
|
110
|
-
} catch (err) {
|
|
111
|
-
throw err;
|
|
112
|
-
} finally {
|
|
113
|
-
unregister();
|
|
114
|
-
}
|
|
115
|
-
const config = out.default || out;
|
|
116
|
-
if (!config) {
|
|
117
|
-
throw new Error(`No config: ${config}`);
|
|
118
|
-
}
|
|
119
|
-
let components = loadComponents({
|
|
120
|
-
...props,
|
|
121
|
-
components: componentOutPaths
|
|
122
|
-
});
|
|
123
|
-
if (!components) {
|
|
124
|
-
throw new Error(`No components found: ${componentOutPaths.join(", ")}`);
|
|
125
|
-
}
|
|
126
|
-
for (const component of components) {
|
|
127
|
-
component.moduleName = baseComponents[componentOutPaths.indexOf(component.moduleName)];
|
|
128
|
-
if (!component.moduleName) {
|
|
129
|
-
console.warn(
|
|
130
|
-
`\u26A0\uFE0F no module name found: ${component.moduleName} ${JSON.stringify(
|
|
131
|
-
baseComponents
|
|
132
|
-
)} in ${JSON.stringify(componentOutPaths)}`
|
|
133
|
-
);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
const coreComponents = loadComponents({
|
|
137
|
-
...props,
|
|
138
|
-
components: ["@tamagui/core-node"]
|
|
139
|
-
});
|
|
140
|
-
if (coreComponents) {
|
|
141
|
-
coreComponents[0].moduleName = "@tamagui/core";
|
|
142
|
-
components = [...components, ...coreComponents];
|
|
143
|
-
}
|
|
144
|
-
if (process.env.NODE_ENV === "development" && ((_b = process.env.DEBUG) == null ? void 0 : _b.startsWith("tamagui"))) {
|
|
145
|
-
console.log("Loaded components", components);
|
|
146
|
-
}
|
|
147
|
-
const res = {
|
|
148
|
-
components,
|
|
149
|
-
nameToPaths: {},
|
|
150
|
-
tamaguiConfig: config
|
|
151
|
-
};
|
|
152
|
-
currentBundle = res;
|
|
153
|
-
return res;
|
|
154
|
-
} catch (err) {
|
|
155
|
-
console.error(
|
|
156
|
-
`Error bundling tamagui config: ${err == null ? void 0 : err.message} (run with DEBUG=tamagui to see stack)`
|
|
157
|
-
);
|
|
158
|
-
if ((_c = process.env.DEBUG) == null ? void 0 : _c.includes("tamagui")) {
|
|
159
|
-
console.error(err.stack);
|
|
160
|
-
}
|
|
161
|
-
} finally {
|
|
162
|
-
isBundling = false;
|
|
163
|
-
waitForBundle.forEach((cb) => cb());
|
|
164
|
-
waitForBundle.clear();
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
function loadComponents(props) {
|
|
168
|
-
const componentsModules = props.components;
|
|
169
|
-
const key = componentsModules.join("");
|
|
170
|
-
if (cacheComponents[key]) {
|
|
171
|
-
return cacheComponents[key];
|
|
172
|
-
}
|
|
173
|
-
const unregister = registerRequire();
|
|
174
|
-
try {
|
|
175
|
-
const info = componentsModules.flatMap((name) => {
|
|
176
|
-
var _a;
|
|
177
|
-
const extension = extname(name);
|
|
178
|
-
const isLocal = Boolean(extension);
|
|
179
|
-
const isDynamic = isLocal && !props.config;
|
|
180
|
-
if (isDynamic && !process.env.TAMAGUI_ENABLE_DYNAMIC_LOAD) {
|
|
181
|
-
return [];
|
|
182
|
-
}
|
|
183
|
-
const fileContents = isDynamic ? readFileSync(name, "utf-8") : "";
|
|
184
|
-
const loadModule = isDynamic ? join(dirname(name), `.tamagui-dynamic-eval-${basename(name)}.tsx`) : name;
|
|
185
|
-
let writtenContents = fileContents;
|
|
186
|
-
let didBabel = false;
|
|
187
|
-
function attemptLoad({ forceExports = false } = {}) {
|
|
188
|
-
if (isDynamic) {
|
|
189
|
-
writtenContents = forceExports ? esbuildit(
|
|
190
|
-
transformAddExports(babelParse(esbuildit(fileContents, "modern")))
|
|
191
|
-
) : esbuildit(fileContents);
|
|
192
|
-
writeFileSync(loadModule, writtenContents);
|
|
193
|
-
}
|
|
194
|
-
if (process.env.DEBUG === "tamagui") {
|
|
195
|
-
console.log(`loadModule`, loadModule, require.resolve(loadModule));
|
|
196
|
-
}
|
|
197
|
-
const nameToInfo = getComponentStaticConfigByName(
|
|
198
|
-
name,
|
|
199
|
-
interopDefaultExport(require(loadModule))
|
|
200
|
-
);
|
|
201
|
-
return {
|
|
202
|
-
moduleName: name,
|
|
203
|
-
nameToInfo
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
const dispose = () => {
|
|
207
|
-
isDynamic && removeSync(loadModule);
|
|
208
|
-
};
|
|
209
|
-
try {
|
|
210
|
-
const res = attemptLoad({
|
|
211
|
-
forceExports: true
|
|
212
|
-
});
|
|
213
|
-
didBabel = true;
|
|
214
|
-
return res;
|
|
215
|
-
} catch (err) {
|
|
216
|
-
console.log("babel err", err, writtenContents);
|
|
217
|
-
writtenContents = fileContents;
|
|
218
|
-
if ((_a = process.env.DEBUG) == null ? void 0 : _a.startsWith("tamagui")) {
|
|
219
|
-
console.log(`Error parsing babel likely`, err);
|
|
220
|
-
}
|
|
221
|
-
} finally {
|
|
222
|
-
dispose();
|
|
223
|
-
}
|
|
224
|
-
try {
|
|
225
|
-
return attemptLoad({
|
|
226
|
-
forceExports: false
|
|
227
|
-
});
|
|
228
|
-
} catch (err) {
|
|
229
|
-
if (!process.env.TAMAGUI_DISABLE_WARN_DYNAMIC_LOAD) {
|
|
230
|
-
console.log(`
|
|
231
|
-
|
|
232
|
-
Tamagui attempted but failed to dynamically load components in:
|
|
233
|
-
${name}
|
|
234
|
-
|
|
235
|
-
This will leave some styled() tags unoptimized.
|
|
236
|
-
Disable this file (or dynamic loading altogether):
|
|
237
|
-
|
|
238
|
-
disableExtractFoundComponents: ['${name}'] | true
|
|
239
|
-
|
|
240
|
-
Quiet this warning with environment variable:
|
|
241
|
-
|
|
242
|
-
TAMAGUI_DISABLE_WARN_DYNAMIC_LOAD=1
|
|
243
|
-
|
|
244
|
-
`);
|
|
245
|
-
console.log(err);
|
|
246
|
-
console.log(
|
|
247
|
-
`At: ${loadModule}`,
|
|
248
|
-
`
|
|
249
|
-
didBabel: ${didBabel}`,
|
|
250
|
-
`
|
|
251
|
-
In:`,
|
|
252
|
-
writtenContents,
|
|
253
|
-
`
|
|
254
|
-
isDynamic: `,
|
|
255
|
-
isDynamic
|
|
256
|
-
);
|
|
257
|
-
}
|
|
258
|
-
return [];
|
|
259
|
-
} finally {
|
|
260
|
-
dispose();
|
|
261
|
-
}
|
|
262
|
-
});
|
|
263
|
-
cacheComponents[key] = info;
|
|
264
|
-
return info;
|
|
265
|
-
} catch (err) {
|
|
266
|
-
console.log(`Tamagui error bundling components`, err.message, err.stack);
|
|
267
|
-
return null;
|
|
268
|
-
} finally {
|
|
269
|
-
unregister();
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
const esbuildit = (src, target) => {
|
|
273
|
-
return esbuild.transformSync(src, {
|
|
274
|
-
...esbuildOptions,
|
|
275
|
-
...target === "modern" && {
|
|
276
|
-
target: "es2022",
|
|
277
|
-
jsx: "transform",
|
|
278
|
-
loader: "tsx",
|
|
279
|
-
platform: "neutral",
|
|
280
|
-
format: "esm"
|
|
281
|
-
}
|
|
282
|
-
}).code;
|
|
283
|
-
};
|
|
284
|
-
function getComponentStaticConfigByName(name, exported) {
|
|
285
|
-
const components = {};
|
|
286
|
-
try {
|
|
287
|
-
if (!exported || typeof exported !== "object" || Array.isArray(exported)) {
|
|
288
|
-
throw new Error(`Invalid export from package ${name}: ${typeof exported}`);
|
|
289
|
-
}
|
|
290
|
-
for (const key in exported) {
|
|
291
|
-
const found = getTamaguiComponent(key, exported[key]);
|
|
292
|
-
if (found) {
|
|
293
|
-
const { Component, ...sc } = found.staticConfig;
|
|
294
|
-
components[key] = { staticConfig: sc };
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
} catch (err) {
|
|
298
|
-
if (process.env.TAMAGUI_DISABLE_WARN_DYNAMIC_LOAD !== "1") {
|
|
299
|
-
console.error(
|
|
300
|
-
`Tamagui failed getting from ${name} (Disable error by setting environment variable TAMAGUI_DISABLE_WARN_DYNAMIC_LOAD=1)`
|
|
301
|
-
);
|
|
302
|
-
console.error(err);
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
return components;
|
|
306
|
-
}
|
|
307
|
-
function getTamaguiComponent(name, Component) {
|
|
308
|
-
if (name[0].toUpperCase() !== name[0]) {
|
|
309
|
-
return;
|
|
310
|
-
}
|
|
311
|
-
const staticConfig = Component == null ? void 0 : Component.staticConfig;
|
|
312
|
-
if (staticConfig) {
|
|
313
|
-
return Component;
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
function interopDefaultExport(mod) {
|
|
317
|
-
return (mod == null ? void 0 : mod.default) ?? mod;
|
|
318
|
-
}
|
|
319
|
-
const cacheComponents = {};
|
|
320
|
-
function transformAddExports(ast) {
|
|
321
|
-
const usedNames = /* @__PURE__ */ new Set();
|
|
322
|
-
traverse(ast, {
|
|
323
|
-
ExportNamedDeclaration(nodePath) {
|
|
324
|
-
if (nodePath.node.specifiers) {
|
|
325
|
-
for (const spec of nodePath.node.specifiers) {
|
|
326
|
-
usedNames.add(
|
|
327
|
-
t.isIdentifier(spec.exported) ? spec.exported.name : spec.exported.value
|
|
328
|
-
);
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
});
|
|
333
|
-
traverse(ast, {
|
|
334
|
-
VariableDeclaration(nodePath) {
|
|
335
|
-
if (!t.isProgram(nodePath.parent))
|
|
336
|
-
return;
|
|
337
|
-
const decs = nodePath.node.declarations;
|
|
338
|
-
if (decs.length > 1)
|
|
339
|
-
return;
|
|
340
|
-
const [dec] = decs;
|
|
341
|
-
if (!t.isIdentifier(dec.id))
|
|
342
|
-
return;
|
|
343
|
-
if (!dec.init)
|
|
344
|
-
return;
|
|
345
|
-
if (usedNames.has(dec.id.name))
|
|
346
|
-
return;
|
|
347
|
-
usedNames.add(dec.id.name);
|
|
348
|
-
nodePath.replaceWith(
|
|
349
|
-
t.exportNamedDeclaration(t.variableDeclaration("let", [dec]), [
|
|
350
|
-
t.exportSpecifier(t.identifier(dec.id.name), t.identifier(dec.id.name))
|
|
351
|
-
])
|
|
352
|
-
);
|
|
353
|
-
}
|
|
354
|
-
});
|
|
355
|
-
return generate(ast, {
|
|
356
|
-
concise: false,
|
|
357
|
-
filename: "test.tsx",
|
|
358
|
-
retainLines: false,
|
|
359
|
-
sourceMaps: false
|
|
360
|
-
}).code;
|
|
361
|
-
}
|
|
362
|
-
export {
|
|
363
|
-
bundleConfig,
|
|
364
|
-
esbuildOptions,
|
|
365
|
-
getBundledConfig,
|
|
366
|
-
hasBundledConfigChanged,
|
|
367
|
-
loadComponents
|
|
368
|
-
};
|
|
369
|
-
//# sourceMappingURL=bundleConfig.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/extractor/bundleConfig.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import vm from "vm";
|
|
2
|
-
import generate from "@babel/generator";
|
|
3
|
-
import * as t from "@babel/types";
|
|
4
|
-
import { createCSSVariable } from "@tamagui/core-node";
|
|
5
|
-
import esbuild from "esbuild";
|
|
6
|
-
import { FAILED_EVAL } from "../constants";
|
|
7
|
-
import { evaluateAstNode } from "./evaluateAstNode";
|
|
8
|
-
import { isValidThemeHook } from "./extractHelpers";
|
|
9
|
-
function createEvaluator({
|
|
10
|
-
props,
|
|
11
|
-
staticNamespace,
|
|
12
|
-
sourcePath,
|
|
13
|
-
traversePath,
|
|
14
|
-
shouldPrintDebug
|
|
15
|
-
}) {
|
|
16
|
-
const evalFn = (n) => {
|
|
17
|
-
if (t.isMemberExpression(n) && t.isIdentifier(n.property) && traversePath && isValidThemeHook(props, traversePath, n, sourcePath)) {
|
|
18
|
-
const key = n.property.name;
|
|
19
|
-
if (shouldPrintDebug) {
|
|
20
|
-
console.log(" > found theme prop", key);
|
|
21
|
-
}
|
|
22
|
-
return createCSSVariable(key);
|
|
23
|
-
}
|
|
24
|
-
if (t.isIdentifier(n) && typeof staticNamespace[n.name] !== "undefined") {
|
|
25
|
-
return staticNamespace[n.name];
|
|
26
|
-
}
|
|
27
|
-
const evalContext = vm.createContext(staticNamespace);
|
|
28
|
-
const codeWithTypescriptAnnotations = `(${generate(n).code})`;
|
|
29
|
-
const code = esbuild.transformSync(codeWithTypescriptAnnotations, { loader: "tsx" }).code.replace(/;\n$/, "");
|
|
30
|
-
if (shouldPrintDebug) {
|
|
31
|
-
console.log("evaluating", code);
|
|
32
|
-
}
|
|
33
|
-
return vm.runInContext(code, evalContext);
|
|
34
|
-
};
|
|
35
|
-
return (n) => {
|
|
36
|
-
return evaluateAstNode(n, evalFn);
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
function createSafeEvaluator(attemptEval) {
|
|
40
|
-
return (n) => {
|
|
41
|
-
try {
|
|
42
|
-
return attemptEval(n);
|
|
43
|
-
} catch (err) {
|
|
44
|
-
return FAILED_EVAL;
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
export {
|
|
49
|
-
createEvaluator,
|
|
50
|
-
createSafeEvaluator
|
|
51
|
-
};
|
|
52
|
-
//# sourceMappingURL=createEvaluator.mjs.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/extractor/createEvaluator.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,QAAQ;AAEf,OAAO,cAAc;AAErB,YAAY,OAAO;AACnB,SAAS,yBAAyB;AAClC,OAAO,aAAa;AAEpB,SAAS,mBAAmB;AAE5B,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AAE1B,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMG;AAED,QAAM,SAAS,CAAC,MAAc;AAE5B,QACE,EAAE,mBAAmB,CAAC,KACtB,EAAE,aAAa,EAAE,QAAQ,KACzB,gBACA,iBAAiB,OAAO,cAAc,GAAG,UAAU,GACnD;AACA,YAAM,MAAM,EAAE,SAAS;AACvB,UAAI,kBAAkB;AAEpB,gBAAQ,IAAI,0BAA0B,GAAG;AAAA,MAC3C;AACA,aAAO,kBAAkB,GAAG;AAAA,IAC9B;AAEA,QAAI,EAAE,aAAa,CAAC,KAAK,OAAO,gBAAgB,EAAE,IAAI,MAAM,aAAa;AACvE,aAAO,gBAAgB,EAAE,IAAI;AAAA,IAC/B;AACA,UAAM,cAAc,GAAG,cAAc,eAAe;AAEpD,UAAM,gCAAgC,IAAI,SAAS,CAAQ,EAAE;AAC7D,UAAM,OAAO,QACV,cAAc,+BAA+B,EAAE,QAAQ,MAAM,CAAC,EAC9D,KAAK,QAAQ,QAAQ,EAAE;AAE1B,QAAI,kBAAkB;AAEpB,cAAQ,IAAI,cAAc,IAAI;AAAA,IAChC;AACA,WAAO,GAAG,aAAa,MAAM,WAAW;AAAA,EAC1C;AAEA,SAAO,CAAC,MAAc;AACpB,WAAO,gBAAgB,GAAG,MAAM;AAAA,EAClC;AACF;AAEO,SAAS,oBAAoB,aAAiC;AACnE,SAAO,CAAC,MAAc;AACpB,QAAI;AACF,aAAO,YAAY,CAAC;AAAA,IACtB,SAAS,KAAP;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACF;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|