@tamagui/static 1.26.0 → 1.27.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 (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,70 +0,0 @@
1
- import * as t from "@babel/types";
2
- function getSourceModule(itemName, itemBinding) {
3
- if (!itemBinding.constant) {
4
- return null;
5
- }
6
- let sourceModule;
7
- let imported;
8
- let local;
9
- let destructured;
10
- let usesImportSyntax = false;
11
- const itemNode = itemBinding.path.node;
12
- if (
13
- // import x from 'y';
14
- t.isImportDefaultSpecifier(itemNode) || // import {x} from 'y';
15
- t.isImportSpecifier(itemNode)
16
- ) {
17
- if (t.isImportDeclaration(itemBinding.path.parent)) {
18
- sourceModule = itemBinding.path.parent.source.value;
19
- local = itemNode.local.name;
20
- usesImportSyntax = true;
21
- if (t.isImportSpecifier(itemNode)) {
22
- imported = itemNode.imported["name"];
23
- destructured = true;
24
- } else {
25
- imported = itemNode.local.name;
26
- destructured = false;
27
- }
28
- }
29
- } else if (t.isVariableDeclarator(itemNode) && itemNode.init != null && t.isCallExpression(itemNode.init) && t.isIdentifier(itemNode.init.callee) && itemNode.init.callee.name === "require" && itemNode.init.arguments.length === 1) {
30
- const firstArg = itemNode.init.arguments[0];
31
- if (!t.isStringLiteral(firstArg)) {
32
- return null;
33
- }
34
- sourceModule = firstArg.value;
35
- if (t.isIdentifier(itemNode.id)) {
36
- local = itemNode.id.name;
37
- imported = itemNode.id.name;
38
- destructured = false;
39
- } else if (t.isObjectPattern(itemNode.id)) {
40
- for (const objProp of itemNode.id.properties) {
41
- if (t.isObjectProperty(objProp) && t.isIdentifier(objProp.value) && objProp.value.name === itemName) {
42
- local = objProp.value.name;
43
- imported = objProp.key.name;
44
- destructured = true;
45
- break;
46
- }
47
- }
48
- if (!local || !imported) {
49
- console.error("could not find prop with value `%s`", itemName);
50
- return null;
51
- }
52
- } else {
53
- console.error("Unhandled id type: %s", itemNode.id.type);
54
- return null;
55
- }
56
- } else {
57
- return null;
58
- }
59
- return {
60
- destructured,
61
- imported,
62
- local,
63
- sourceModule,
64
- usesImportSyntax
65
- };
66
- }
67
- export {
68
- getSourceModule
69
- };
70
- //# sourceMappingURL=getSourceModule.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/getSourceModule.ts"],
4
- "mappings": "AAAA,YAAY,OAAO;AAUZ,SAAS,gBACd,UACA,aAIqB;AAErB,MAAI,CAAC,YAAY,UAAU;AACzB,WAAO;AAAA,EACT;AAEA,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI,mBAAmB;AAEvB,QAAM,WAAW,YAAY,KAAK;AAElC;AAAA;AAAA,IAEE,EAAE,yBAAyB,QAAQ;AAAA,IAEnC,EAAE,kBAAkB,QAAQ;AAAA,IAC5B;AACA,QAAI,EAAE,oBAAoB,YAAY,KAAK,MAAM,GAAG;AAClD,qBAAe,YAAY,KAAK,OAAO,OAAO;AAC9C,cAAQ,SAAS,MAAM;AACvB,yBAAmB;AACnB,UAAI,EAAE,kBAAkB,QAAQ,GAAG;AACjC,mBAAW,SAAS,SAAS,MAAM;AACnC,uBAAe;AAAA,MACjB,OAAO;AACL,mBAAW,SAAS,MAAM;AAC1B,uBAAe;AAAA,MACjB;AAAA,IACF;AAAA,EACF,WACE,EAAE,qBAAqB,QAAQ,KAC/B,SAAS,QAAQ,QACjB,EAAE,iBAAiB,SAAS,IAAI,KAChC,EAAE,aAAa,SAAS,KAAK,MAAM,KACnC,SAAS,KAAK,OAAO,SAAS,aAC9B,SAAS,KAAK,UAAU,WAAW,GACnC;AACA,UAAM,WAAW,SAAS,KAAK,UAAU,CAAC;AAC1C,QAAI,CAAC,EAAE,gBAAgB,QAAQ,GAAG;AAChC,aAAO;AAAA,IACT;AACA,mBAAe,SAAS;AAExB,QAAI,EAAE,aAAa,SAAS,EAAE,GAAG;AAC/B,cAAQ,SAAS,GAAG;AACpB,iBAAW,SAAS,GAAG;AACvB,qBAAe;AAAA,IACjB,WAAW,EAAE,gBAAgB,SAAS,EAAE,GAAG;AACzC,iBAAW,WAAW,SAAS,GAAG,YAAY;AAC5C,YACE,EAAE,iBAAiB,OAAO,KAC1B,EAAE,aAAa,QAAQ,KAAK,KAC5B,QAAQ,MAAM,SAAS,UACvB;AACA,kBAAQ,QAAQ,MAAM;AAEtB,qBAAW,QAAQ,IAAI;AACvB,yBAAe;AACf;AAAA,QACF;AAAA,MACF;AAEA,UAAI,CAAC,SAAS,CAAC,UAAU;AACvB,gBAAQ,MAAM,uCAAuC,QAAQ;AAC7D,eAAO;AAAA,MACT;AAAA,IACF,OAAO;AACL,cAAQ,MAAM,yBAAyB,SAAS,GAAG,IAAI;AACvD,aAAO;AAAA,IACT;AAAA,EACF,OAAO;AACL,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
- "names": []
6
- }
@@ -1,191 +0,0 @@
1
- import { fork } from "child_process";
2
- import { dirname, extname, join, resolve } from "path";
3
- import * as t from "@babel/types";
4
- import { evaluateAstNode } from "./evaluateAstNode";
5
- import { getSourceModule } from "./getSourceModule";
6
- const isLocalImport = (path) => path.startsWith(".") || path.startsWith("/");
7
- function resolveImportPath(sourcePath, path) {
8
- const sourceDir = dirname(sourcePath);
9
- if (isLocalImport(path)) {
10
- if (extname(path) === "") {
11
- path += ".js";
12
- }
13
- return resolve(sourceDir, path);
14
- }
15
- return path;
16
- }
17
- const cache = /* @__PURE__ */ new Map();
18
- const pending = /* @__PURE__ */ new Map();
19
- const loadCmd = `${join(__dirname, "loadFile.js")}`;
20
- let exited = false;
21
- let child = null;
22
- function forkChild() {
23
- child = fork(loadCmd, [], {
24
- execArgv: ["-r", "esbuild-register"],
25
- detached: false,
26
- stdio: "ignore"
27
- });
28
- }
29
- function cleanupBeforeExit() {
30
- if (exited)
31
- return;
32
- if (!child)
33
- return;
34
- child.removeAllListeners();
35
- child.unref();
36
- child.disconnect();
37
- child.kill();
38
- exited = true;
39
- }
40
- process.once("SIGTERM", cleanupBeforeExit);
41
- process.once("SIGINT", cleanupBeforeExit);
42
- process.once("beforeExit", cleanupBeforeExit);
43
- function importModule(path) {
44
- if (!child) {
45
- forkChild();
46
- }
47
- if (pending.has(path)) {
48
- return pending.get(path);
49
- }
50
- const promise = new Promise((res, rej) => {
51
- if (!child)
52
- return;
53
- if (cache.size > 2e3) {
54
- cache.clear();
55
- }
56
- if (cache.has(path)) {
57
- return cache.get(path);
58
- }
59
- const listener = (msg) => {
60
- if (!child)
61
- return;
62
- if (!msg)
63
- return;
64
- if (typeof msg !== "string")
65
- return;
66
- if (msg[0] === "-") {
67
- rej(new Error(msg.slice(1)));
68
- return;
69
- }
70
- child.removeListener("message", listener);
71
- const val = JSON.parse(msg);
72
- cache.set(path, val);
73
- res(val);
74
- };
75
- child.once("message", listener);
76
- child.send(`${path.replace(".js", "")}`);
77
- });
78
- pending.set(path, promise);
79
- return promise;
80
- }
81
- async function getStaticBindingsForScope(scope, whitelist = [], sourcePath, bindingCache, shouldPrintDebug) {
82
- var _a;
83
- const bindings = scope.getAllBindings();
84
- const ret = {};
85
- if (shouldPrintDebug) {
86
- }
87
- const program = scope.getProgramParent().block;
88
- for (const node of program.body) {
89
- if (t.isImportDeclaration(node)) {
90
- const importPath = node.source.value;
91
- if (!node.specifiers.length)
92
- continue;
93
- if (!isLocalImport(importPath)) {
94
- continue;
95
- }
96
- const moduleName = resolveImportPath(sourcePath, importPath);
97
- const isOnWhitelist = whitelist.some((test) => moduleName.endsWith(test));
98
- if (!isOnWhitelist)
99
- continue;
100
- try {
101
- const src = await importModule(moduleName);
102
- if (!src)
103
- continue;
104
- for (const specifier of node.specifiers) {
105
- if (t.isImportSpecifier(specifier) && t.isIdentifier(specifier.imported)) {
106
- if (typeof src[specifier.imported.name] !== "undefined") {
107
- const val = src[specifier.local.name];
108
- ret[specifier.local.name] = val;
109
- }
110
- }
111
- }
112
- } catch (err) {
113
- if (shouldPrintDebug) {
114
- console.warn(
115
- ` | Skipping partial evaluation of constant file: ${moduleName} (DEBUG=tamagui for more)`
116
- );
117
- } else if ((_a = process.env.DEBUG) == null ? void 0 : _a.startsWith("tamagui")) {
118
- console.log(`Error in partial evaluation`, err.message, err.stack);
119
- }
120
- }
121
- }
122
- }
123
- if (!bindingCache) {
124
- throw new Error("BindingCache is a required param");
125
- }
126
- for (const k in bindings) {
127
- const binding = bindings[k];
128
- const sourceModule = getSourceModule(k, binding);
129
- if (sourceModule) {
130
- if (!sourceModule.sourceModule) {
131
- continue;
132
- }
133
- const moduleName = resolveImportPath(sourcePath, sourceModule.sourceModule);
134
- const isOnWhitelist = whitelist.some((test) => moduleName.endsWith(test));
135
- if (isOnWhitelist) {
136
- const src = importModule(moduleName);
137
- if (!src) {
138
- console.log(
139
- ` | \u26A0\uFE0F Missing file ${moduleName} via ${sourcePath} import ${sourceModule.sourceModule}?`
140
- );
141
- return {};
142
- }
143
- if (sourceModule.destructured) {
144
- if (sourceModule.imported) {
145
- ret[k] = src[sourceModule.imported];
146
- }
147
- } else {
148
- ret[k] = src;
149
- }
150
- }
151
- continue;
152
- }
153
- const { parent } = binding.path;
154
- if (!t.isVariableDeclaration(parent) || parent.kind !== "const") {
155
- continue;
156
- }
157
- const dec = parent.declarations.find((d) => t.isIdentifier(d.id) && d.id.name === k);
158
- if (!dec || !dec.init) {
159
- continue;
160
- }
161
- if (typeof dec.id.start !== "number" || typeof dec.id.end !== "number") {
162
- console.error("dec.id.start/end is not a number");
163
- continue;
164
- }
165
- if (!t.isIdentifier(dec.id)) {
166
- console.error("dec is not an identifier");
167
- continue;
168
- }
169
- const cacheKey = `${dec.id.name}_${dec.id.start}-${dec.id.end}`;
170
- if (Object.hasOwnProperty.call(bindingCache, cacheKey)) {
171
- ret[k] = bindingCache[cacheKey];
172
- continue;
173
- }
174
- if (Object.hasOwnProperty.call(bindingCache, cacheKey)) {
175
- ret[k] = bindingCache[cacheKey];
176
- continue;
177
- }
178
- try {
179
- ret[k] = evaluateAstNode(dec.init, void 0, shouldPrintDebug);
180
- bindingCache[cacheKey] = ret[k];
181
- continue;
182
- } catch {
183
- }
184
- }
185
- return ret;
186
- }
187
- export {
188
- cleanupBeforeExit,
189
- getStaticBindingsForScope
190
- };
191
- //# sourceMappingURL=getStaticBindingsForScope.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/getStaticBindingsForScope.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,41 +0,0 @@
1
- import * as t from "@babel/types";
2
- function hoistClassNames(path, existing, expr) {
3
- const hoist = hoistClassNames.bind(null, path, existing);
4
- if (t.isStringLiteral(expr)) {
5
- if (expr.value.trim() === "") {
6
- return expr;
7
- }
8
- if (existing[expr.value]) {
9
- return existing[expr.value];
10
- }
11
- const identifier = replaceStringWithVariable(expr);
12
- existing[expr.value] = identifier;
13
- return identifier;
14
- }
15
- if (t.isBinaryExpression(expr)) {
16
- return t.binaryExpression(expr.operator, hoist(expr.left), hoist(expr.right));
17
- }
18
- if (t.isLogicalExpression(expr)) {
19
- return t.logicalExpression(expr.operator, hoist(expr.left), hoist(expr.right));
20
- }
21
- if (t.isConditionalExpression(expr)) {
22
- return t.conditionalExpression(expr.test, hoist(expr.consequent), hoist(expr.alternate));
23
- }
24
- return expr;
25
- function replaceStringWithVariable(str) {
26
- const uid = path.scope.generateUidIdentifier("cn");
27
- const parent = path.findParent((path2) => path2.isProgram());
28
- if (!parent)
29
- throw new Error(`no program?`);
30
- const variable = t.variableDeclaration("const", [
31
- // adding a space for extra safety
32
- t.variableDeclarator(uid, t.stringLiteral(` ${str.value}`))
33
- ]);
34
- parent.unshiftContainer("body", variable);
35
- return uid;
36
- }
37
- }
38
- export {
39
- hoistClassNames
40
- };
41
- //# sourceMappingURL=hoistClassNames.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/hoistClassNames.ts"],
4
- "mappings": "AACA,YAAY,OAAO;AAEZ,SAAS,gBACd,MACA,UACA,MACA;AACA,QAAM,QAAQ,gBAAgB,KAAK,MAAM,MAAM,QAAQ;AACvD,MAAI,EAAE,gBAAgB,IAAI,GAAG;AAC3B,QAAI,KAAK,MAAM,KAAK,MAAM,IAAI;AAC5B,aAAO;AAAA,IACT;AACA,QAAI,SAAS,KAAK,KAAK,GAAG;AACxB,aAAO,SAAS,KAAK,KAAK;AAAA,IAC5B;AACA,UAAM,aAAa,0BAA0B,IAAI;AACjD,aAAS,KAAK,KAAK,IAAI;AACvB,WAAO;AAAA,EACT;AACA,MAAI,EAAE,mBAAmB,IAAI,GAAG;AAC9B,WAAO,EAAE,iBAAiB,KAAK,UAAU,MAAM,KAAK,IAAI,GAAG,MAAM,KAAK,KAAK,CAAC;AAAA,EAC9E;AACA,MAAI,EAAE,oBAAoB,IAAI,GAAG;AAC/B,WAAO,EAAE,kBAAkB,KAAK,UAAU,MAAM,KAAK,IAAI,GAAG,MAAM,KAAK,KAAK,CAAC;AAAA,EAC/E;AACA,MAAI,EAAE,wBAAwB,IAAI,GAAG;AACnC,WAAO,EAAE,sBAAsB,KAAK,MAAM,MAAM,KAAK,UAAU,GAAG,MAAM,KAAK,SAAS,CAAC;AAAA,EACzF;AACA,SAAO;AAEP,WAAS,0BAA0B,KAAoC;AAErE,UAAM,MAAM,KAAK,MAAM,sBAAsB,IAAI;AACjD,UAAM,SAAS,KAAK,WAAW,CAACA,UAASA,MAAK,UAAU,CAAC;AACzD,QAAI,CAAC;AAAQ,YAAM,IAAI,MAAM,aAAa;AAC1C,UAAM,WAAW,EAAE,oBAAoB,SAAS;AAAA;AAAA,MAE9C,EAAE,mBAAmB,KAAK,EAAE,cAAc,IAAI,IAAI,OAAO,CAAC;AAAA,IAC5D,CAAC;AAED,WAAO,iBAAiB,QAAQ,QAAQ;AACxC,WAAO;AAAA,EACT;AACF;",
5
- "names": ["path"]
6
- }
@@ -1,81 +0,0 @@
1
- import * as t from "@babel/types";
2
- function literalToAst(literal) {
3
- if (literal === null) {
4
- return t.nullLiteral();
5
- }
6
- switch (typeof literal) {
7
- case "function":
8
- throw new Error("Unsupported");
9
- case "number":
10
- return t.numericLiteral(literal);
11
- case "string":
12
- return t.stringLiteral(literal);
13
- case "boolean":
14
- return t.booleanLiteral(literal);
15
- case "undefined":
16
- return t.unaryExpression("void", t.numericLiteral(0), true);
17
- default:
18
- if (Array.isArray(literal)) {
19
- return t.arrayExpression(literal.map(literalToAst));
20
- }
21
- return t.objectExpression(
22
- Object.keys(literal).filter((k) => {
23
- return typeof literal[k] !== "undefined";
24
- }).map((k) => {
25
- return t.objectProperty(t.stringLiteral(k), literalToAst(literal[k]));
26
- })
27
- );
28
- }
29
- }
30
- const easyPeasies = ["BooleanLiteral", "StringLiteral", "NumericLiteral"];
31
- function astToLiteral(node) {
32
- if (!node) {
33
- return;
34
- }
35
- if (easyPeasies.includes(node.type)) {
36
- return node.value;
37
- }
38
- if (node.name === "undefined" && !node.value) {
39
- return void 0;
40
- }
41
- if (t.isNullLiteral(node)) {
42
- return null;
43
- }
44
- if (t.isObjectExpression(node)) {
45
- return computeProps(node.properties);
46
- }
47
- if (t.isArrayExpression(node)) {
48
- return node.elements.reduce(
49
- // @ts-ignore
50
- (acc, element) => [
51
- ...acc,
52
- ...(element == null ? void 0 : element.type) === "SpreadElement" ? astToLiteral(element.argument) : [astToLiteral(element)]
53
- ],
54
- []
55
- );
56
- }
57
- }
58
- function computeProps(props) {
59
- return props.reduce((acc, prop) => {
60
- if (prop.type === "SpreadElement") {
61
- return {
62
- ...acc,
63
- ...astToLiteral(prop.argument)
64
- };
65
- } else if (prop.type !== "ObjectMethod") {
66
- const val = astToLiteral(prop.value);
67
- if (val !== void 0) {
68
- return {
69
- ...acc,
70
- [prop.key.name]: val
71
- };
72
- }
73
- }
74
- return acc;
75
- }, {});
76
- }
77
- export {
78
- astToLiteral,
79
- literalToAst
80
- };
81
- //# sourceMappingURL=literalToAst.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/literalToAst.ts"],
4
- "mappings": "AAAA,YAAY,OAAO;AAEZ,SAAS,aAAa,SAA4B;AACvD,MAAI,YAAY,MAAM;AACpB,WAAO,EAAE,YAAY;AAAA,EACvB;AACA,UAAQ,OAAO,SAAS;AAAA,IACtB,KAAK;AACH,YAAM,IAAI,MAAM,aAAa;AAAA,IAC/B,KAAK;AACH,aAAO,EAAE,eAAe,OAAO;AAAA,IACjC,KAAK;AACH,aAAO,EAAE,cAAc,OAAO;AAAA,IAChC,KAAK;AACH,aAAO,EAAE,eAAe,OAAO;AAAA,IACjC,KAAK;AACH,aAAO,EAAE,gBAAgB,QAAQ,EAAE,eAAe,CAAC,GAAG,IAAI;AAAA,IAC5D;AACE,UAAI,MAAM,QAAQ,OAAO,GAAG;AAC1B,eAAO,EAAE,gBAAgB,QAAQ,IAAI,YAAY,CAAC;AAAA,MACpD;AACA,aAAO,EAAE;AAAA,QACP,OAAO,KAAK,OAAO,EAChB,OAAO,CAAC,MAAM;AACb,iBAAO,OAAO,QAAQ,CAAC,MAAM;AAAA,QAC/B,CAAC,EACA,IAAI,CAAC,MAAM;AACV,iBAAO,EAAE,eAAe,EAAE,cAAc,CAAC,GAAG,aAAa,QAAQ,CAAC,CAAC,CAAC;AAAA,QACtE,CAAC;AAAA,MACL;AAAA,EACJ;AACF;AAEA,MAAM,cAAc,CAAC,kBAAkB,iBAAiB,gBAAgB;AAEjE,SAAS,aAAa,MAAW;AACtC,MAAI,CAAC,MAAM;AACT;AAAA,EACF;AACA,MAAI,YAAY,SAAS,KAAK,IAAI,GAAG;AACnC,WAAO,KAAK;AAAA,EACd;AACA,MAAI,KAAK,SAAS,eAAe,CAAC,KAAK,OAAO;AAC5C,WAAO;AAAA,EACT;AACA,MAAI,EAAE,cAAc,IAAI,GAAG;AACzB,WAAO;AAAA,EACT;AACA,MAAI,EAAE,mBAAmB,IAAI,GAAG;AAC9B,WAAO,aAAa,KAAK,UAAU;AAAA,EACrC;AACA,MAAI,EAAE,kBAAkB,IAAI,GAAG;AAC7B,WAAO,KAAK,SAAS;AAAA;AAAA,MAEnB,CAAC,KAAK,YAAY;AAAA,QAChB,GAAG;AAAA,QACH,IAAI,mCAAS,UAAS,kBAClB,aAAa,QAAQ,QAAQ,IAC7B,CAAC,aAAa,OAAO,CAAC;AAAA,MAC5B;AAAA,MACA,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEA,SAAS,aAAa,OAAO;AAC3B,SAAO,MAAM,OAAO,CAAC,KAAK,SAAS;AACjC,QAAI,KAAK,SAAS,iBAAiB;AACjC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG,aAAa,KAAK,QAAQ;AAAA,MAC/B;AAAA,IACF,WAAW,KAAK,SAAS,gBAAgB;AACvC,YAAM,MAAM,aAAa,KAAK,KAAK;AACnC,UAAI,QAAQ,QAAW;AACrB,eAAO;AAAA,UACL,GAAG;AAAA,UACH,CAAC,KAAK,IAAI,IAAI,GAAG;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;",
5
- "names": []
6
- }
@@ -1,20 +0,0 @@
1
- process.on("message", (path) => {
2
- var _a, _b, _c;
3
- if (typeof path !== "string") {
4
- throw new Error(`Not a string: ${path}`);
5
- }
6
- try {
7
- const out = require(path);
8
- (_a = process.send) == null ? void 0 : _a.call(process, JSON.stringify(out));
9
- } catch (err) {
10
- if (err instanceof Error) {
11
- (_b = process.send) == null ? void 0 : _b.call(process, `-${err.message}
12
- ${err.stack}`);
13
- } else {
14
- (_c = process.send) == null ? void 0 : _c.call(process, `-${err}`);
15
- }
16
- }
17
- });
18
- setInterval(() => {
19
- }, 1e3);
20
- //# sourceMappingURL=loadFile.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/loadFile.ts"],
4
- "mappings": "AAAA,QAAQ,GAAG,WAAW,CAAC,SAAS;AAAhC;AACE,MAAI,OAAO,SAAS,UAAU;AAC5B,UAAM,IAAI,MAAM,iBAAiB,MAAM;AAAA,EACzC;AACA,MAAI;AACF,UAAM,MAAM,QAAQ,IAAI;AACxB,kBAAQ,SAAR,iCAAe,KAAK,UAAU,GAAG;AAAA,EACnC,SAAS,KAAP;AACA,QAAI,eAAe,OAAO;AACxB,oBAAQ,SAAR,iCAAe,IAAI,IAAI;AAAA,EAAY,IAAI;AAAA,IACzC,OAAO;AACL,oBAAQ,SAAR,iCAAe,IAAI;AAAA,IACrB;AAAA,EACF;AACF,CAAC;AAED,YAAY,MAAM;AAAC,GAAG,GAAI;",
5
- "names": []
6
- }
@@ -1,219 +0,0 @@
1
- import { basename, dirname, extname, join, resolve } from "path";
2
- import { getDefaultTamaguiConfig } from "@tamagui/config-default-node";
3
- import { createTamagui } from "@tamagui/core-node";
4
- import esbuild from "esbuild";
5
- import fs, { existsSync, pathExists, readJSON } from "fs-extra";
6
- import { SHOULD_DEBUG } from "../constants";
7
- import { getNameToPaths, registerRequire } from "../require";
8
- import {
9
- TamaguiProjectInfo,
10
- esbuildOptions,
11
- getBundledConfig,
12
- hasBundledConfigChanged,
13
- loadComponents
14
- } from "./bundleConfig";
15
- import {
16
- generateTamaguiStudioConfig,
17
- generateTamaguiStudioConfigSync
18
- } from "./generateTamaguiStudioConfig";
19
- const getFilledOptions = (propsIn) => ({
20
- // defaults
21
- config: "tamagui.config.ts",
22
- components: ["tamagui"],
23
- ...propsIn
24
- });
25
- async function loadTamagui(propsIn) {
26
- const props = getFilledOptions(propsIn);
27
- const bundleInfo = await getBundledConfig(props);
28
- if (!bundleInfo) {
29
- console.warn(
30
- `No bundled config generated, maybe an error in bundling. Set DEBUG=tamagui and re-run to get logs.`
31
- );
32
- return null;
33
- }
34
- if (bundleInfo) {
35
- createTamagui(bundleInfo.tamaguiConfig);
36
- }
37
- if (!hasBundledConfigChanged()) {
38
- return bundleInfo;
39
- }
40
- try {
41
- await generateTamaguiStudioConfig(props, bundleInfo);
42
- } catch {
43
- }
44
- return bundleInfo;
45
- }
46
- function loadTamaguiSync(propsIn) {
47
- const props = getFilledOptions(propsIn);
48
- const { unregister } = require("esbuild-register/dist/node").register(esbuildOptions);
49
- const unregisterRequire = registerRequire();
50
- try {
51
- process.env.IS_STATIC = "is_static";
52
- const devValueOG = globalThis["__DEV__"];
53
- globalThis["__DEV__"] = process.env.NODE_ENV === "development";
54
- try {
55
- let tamaguiConfig = null;
56
- if (props.config) {
57
- const configPath = join(process.cwd(), props.config);
58
- const exp = require(configPath);
59
- tamaguiConfig = exp["default"] || exp;
60
- if (!tamaguiConfig || !tamaguiConfig.parsed) {
61
- const confPath = require.resolve(configPath);
62
- throw new Error(`Can't find valid config in ${confPath}:
63
-
64
- Be sure you "export default" the config.`);
65
- }
66
- }
67
- const components = loadComponents(props);
68
- if (!components) {
69
- throw new Error(`No components loaded`);
70
- }
71
- if (process.env.DEBUG === "tamagui") {
72
- console.log(`components`, components);
73
- }
74
- process.env.IS_STATIC = void 0;
75
- globalThis["__DEV__"] = devValueOG;
76
- if (props.config && tamaguiConfig) {
77
- createTamagui(tamaguiConfig);
78
- }
79
- const info = {
80
- components,
81
- tamaguiConfig,
82
- nameToPaths: getNameToPaths()
83
- };
84
- generateTamaguiStudioConfigSync(props, info);
85
- return info;
86
- } catch (err) {
87
- if (err instanceof Error) {
88
- console.warn(
89
- `Error loading tamagui.config.ts (set DEBUG=tamagui to see full stack), running tamagui without custom config`
90
- );
91
- console.log(`
92
-
93
- ${err.message}
94
-
95
- `);
96
- if (SHOULD_DEBUG) {
97
- console.error(err.stack);
98
- }
99
- } else {
100
- console.error(`Error loading tamagui.config.ts`, err);
101
- }
102
- return {
103
- components: [],
104
- tamaguiConfig: getDefaultTamaguiConfig(),
105
- nameToPaths: {}
106
- };
107
- }
108
- } finally {
109
- unregister();
110
- unregisterRequire();
111
- }
112
- }
113
- async function getOptions({
114
- root = process.cwd(),
115
- tsconfigPath = "tsconfig.json",
116
- tamaguiOptions,
117
- host,
118
- debug
119
- } = {}) {
120
- const tsConfigFilePath = join(root, tsconfigPath);
121
- if (!await fs.pathExists(tsConfigFilePath)) {
122
- throw new Error(`No tsconfig found: ${tsConfigFilePath}`);
123
- }
124
- const dotDir = join(root, ".tamagui");
125
- const pkgJson = await readJSON(join(root, "package.json"));
126
- return {
127
- mode: process.env.NODE_ENV === "production" ? "production" : "development",
128
- root,
129
- host: host || "127.0.0.1",
130
- pkgJson,
131
- debug,
132
- tsconfigPath,
133
- tamaguiOptions: {
134
- components: ["tamagui"],
135
- ...tamaguiOptions,
136
- config: await getDefaultTamaguiConfigPath(root, tamaguiOptions == null ? void 0 : tamaguiOptions.config)
137
- },
138
- paths: {
139
- dotDir,
140
- conf: join(dotDir, "tamagui.config.json"),
141
- types: join(dotDir, "types.json")
142
- }
143
- };
144
- }
145
- function resolveWebOrNativeSpecificEntry(entry) {
146
- const workspaceRoot = resolve();
147
- const resolved = require.resolve(entry, { paths: [workspaceRoot] });
148
- const ext = extname(resolved);
149
- const fileName = basename(resolved).replace(ext, "");
150
- const specificExt = process.env.TAMAGUI_TARGET === "web" ? "web" : "native";
151
- const specificFile = join(dirname(resolved), fileName + "." + specificExt + ext);
152
- if (existsSync(specificFile)) {
153
- return specificFile;
154
- }
155
- return entry;
156
- }
157
- const defaultPaths = ["tamagui.config.ts", join("src", "tamagui.config.ts")];
158
- let hasWarnedOnce = false;
159
- async function getDefaultTamaguiConfigPath(root, configPath) {
160
- const searchPaths = [
161
- ...new Set(
162
- [configPath, ...defaultPaths].filter(Boolean).map((p) => join(root, p))
163
- )
164
- ];
165
- for (const path of searchPaths) {
166
- if (await pathExists(path)) {
167
- return path;
168
- }
169
- }
170
- if (!hasWarnedOnce) {
171
- hasWarnedOnce = true;
172
- console.warn(`Warning: couldn't find tamagui.config.ts in the following paths given configuration "${configPath}":
173
- ${searchPaths.join(`
174
- `)}
175
- `);
176
- }
177
- }
178
- async function watchTamaguiConfig(tamaguiOptions) {
179
- const options = await getOptions({ tamaguiOptions });
180
- if (!options.tamaguiOptions.config) {
181
- throw new Error(`No config`);
182
- }
183
- let hasRunOnce = false;
184
- const context = await esbuild.context({
185
- entryPoints: [options.tamaguiOptions.config],
186
- sourcemap: false,
187
- // dont output just use esbuild as a watcher
188
- write: false,
189
- plugins: [
190
- {
191
- name: `on-rebuild`,
192
- setup({ onEnd }) {
193
- onEnd(() => {
194
- if (!hasRunOnce) {
195
- hasRunOnce = true;
196
- return;
197
- } else {
198
- void generateTamaguiStudioConfig(options.tamaguiOptions, null, true);
199
- }
200
- });
201
- }
202
- }
203
- ]
204
- });
205
- const promise = context.watch();
206
- return {
207
- context,
208
- promise
209
- };
210
- }
211
- export {
212
- TamaguiProjectInfo,
213
- getOptions,
214
- loadTamagui,
215
- loadTamaguiSync,
216
- resolveWebOrNativeSpecificEntry,
217
- watchTamaguiConfig
218
- };
219
- //# sourceMappingURL=loadTamagui.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/loadTamagui.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }