@tamagui/static 1.26.0 → 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.
Files changed (78) hide show
  1. package/dist/cjs/require.js +43 -41
  2. package/dist/cjs/require.js.map +1 -1
  3. package/dist/esm/require.js +43 -41
  4. package/dist/esm/require.js.map +1 -1
  5. package/package.json +14 -14
  6. package/src/require.ts +88 -87
  7. package/types/require.d.ts.map +1 -1
  8. package/dist/esm/constants.mjs +0 -15
  9. package/dist/esm/constants.mjs.map +0 -6
  10. package/dist/esm/extractor/accessSafe.mjs +0 -19
  11. package/dist/esm/extractor/accessSafe.mjs.map +0 -6
  12. package/dist/esm/extractor/babelParse.mjs +0 -32
  13. package/dist/esm/extractor/babelParse.mjs.map +0 -6
  14. package/dist/esm/extractor/buildClassName.mjs +0 -65
  15. package/dist/esm/extractor/buildClassName.mjs.map +0 -6
  16. package/dist/esm/extractor/bundle.mjs +0 -92
  17. package/dist/esm/extractor/bundle.mjs.map +0 -6
  18. package/dist/esm/extractor/bundleConfig.mjs +0 -369
  19. package/dist/esm/extractor/bundleConfig.mjs.map +0 -6
  20. package/dist/esm/extractor/createEvaluator.mjs +0 -52
  21. package/dist/esm/extractor/createEvaluator.mjs.map +0 -6
  22. package/dist/esm/extractor/createExtractor.mjs +0 -1628
  23. package/dist/esm/extractor/createExtractor.mjs.map +0 -6
  24. package/dist/esm/extractor/ensureImportingConcat.mjs +0 -31
  25. package/dist/esm/extractor/ensureImportingConcat.mjs.map +0 -6
  26. package/dist/esm/extractor/evaluateAstNode.mjs +0 -97
  27. package/dist/esm/extractor/evaluateAstNode.mjs.map +0 -6
  28. package/dist/esm/extractor/extractHelpers.mjs +0 -162
  29. package/dist/esm/extractor/extractHelpers.mjs.map +0 -6
  30. package/dist/esm/extractor/extractMediaStyle.mjs +0 -162
  31. package/dist/esm/extractor/extractMediaStyle.mjs.map +0 -6
  32. package/dist/esm/extractor/extractToClassNames.mjs +0 -381
  33. package/dist/esm/extractor/extractToClassNames.mjs.map +0 -6
  34. package/dist/esm/extractor/findTopmostFunction.mjs +0 -20
  35. package/dist/esm/extractor/findTopmostFunction.mjs.map +0 -6
  36. package/dist/esm/extractor/generateTamaguiStudioConfig.mjs +0 -82
  37. package/dist/esm/extractor/generateTamaguiStudioConfig.mjs.map +0 -6
  38. package/dist/esm/extractor/generatedUid.mjs +0 -26
  39. package/dist/esm/extractor/generatedUid.mjs.map +0 -6
  40. package/dist/esm/extractor/getPrefixLogs.mjs +0 -8
  41. package/dist/esm/extractor/getPrefixLogs.mjs.map +0 -6
  42. package/dist/esm/extractor/getPropValueFromAttributes.mjs +0 -56
  43. package/dist/esm/extractor/getPropValueFromAttributes.mjs.map +0 -6
  44. package/dist/esm/extractor/getSourceModule.mjs +0 -70
  45. package/dist/esm/extractor/getSourceModule.mjs.map +0 -6
  46. package/dist/esm/extractor/getStaticBindingsForScope.mjs +0 -191
  47. package/dist/esm/extractor/getStaticBindingsForScope.mjs.map +0 -6
  48. package/dist/esm/extractor/hoistClassNames.mjs +0 -41
  49. package/dist/esm/extractor/hoistClassNames.mjs.map +0 -6
  50. package/dist/esm/extractor/literalToAst.mjs +0 -81
  51. package/dist/esm/extractor/literalToAst.mjs.map +0 -6
  52. package/dist/esm/extractor/loadFile.mjs +0 -20
  53. package/dist/esm/extractor/loadFile.mjs.map +0 -6
  54. package/dist/esm/extractor/loadTamagui.mjs +0 -219
  55. package/dist/esm/extractor/loadTamagui.mjs.map +0 -6
  56. package/dist/esm/extractor/logLines.mjs +0 -20
  57. package/dist/esm/extractor/logLines.mjs.map +0 -6
  58. package/dist/esm/extractor/normalizeTernaries.mjs +0 -52
  59. package/dist/esm/extractor/normalizeTernaries.mjs.map +0 -6
  60. package/dist/esm/extractor/removeUnusedHooks.mjs +0 -76
  61. package/dist/esm/extractor/removeUnusedHooks.mjs.map +0 -6
  62. package/dist/esm/extractor/timer.mjs +0 -29
  63. package/dist/esm/extractor/timer.mjs.map +0 -6
  64. package/dist/esm/extractor/validHTMLAttributes.mjs +0 -102
  65. package/dist/esm/extractor/validHTMLAttributes.mjs.map +0 -6
  66. package/dist/esm/getPragmaOptions.mjs +0 -44
  67. package/dist/esm/getPragmaOptions.mjs.map +0 -6
  68. package/dist/esm/helpers/memoize.mjs +0 -22
  69. package/dist/esm/helpers/memoize.mjs.map +0 -6
  70. package/dist/esm/index.mjs +0 -16
  71. package/dist/esm/index.mjs.map +0 -6
  72. package/dist/esm/require.mjs +0 -61
  73. package/dist/esm/require.mjs.map +0 -6
  74. package/dist/esm/types.mjs +0 -1
  75. package/dist/esm/types.mjs.map +0 -6
  76. package/dist/esm/webpackPlugin.mjs +0 -11
  77. package/dist/esm/webpackPlugin.mjs.map +0 -6
  78. 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
- }