@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,381 +0,0 @@
1
- import * as path from "path";
2
- import { basename } from "path";
3
- import * as util from "util";
4
- import generate from "@babel/generator";
5
- import * as t from "@babel/types";
6
- import { getStylesAtomic } from "@tamagui/core-node";
7
- import { concatClassName } from "@tamagui/helpers";
8
- import { babelParse } from "./babelParse";
9
- import { buildClassName } from "./buildClassName";
10
- import { ensureImportingConcat } from "./ensureImportingConcat";
11
- import { isSimpleSpread } from "./extractHelpers";
12
- import { extractMediaStyle } from "./extractMediaStyle";
13
- import { getPrefixLogs } from "./getPrefixLogs";
14
- import { hoistClassNames } from "./hoistClassNames";
15
- import { logLines } from "./logLines";
16
- import { timer } from "./timer";
17
- const mergeStyleGroups = {
18
- shadowOpacity: true,
19
- shadowRadius: true,
20
- shadowColor: true,
21
- shadowOffset: true
22
- };
23
- async function extractToClassNames({
24
- extractor,
25
- source,
26
- sourcePath,
27
- options,
28
- shouldPrintDebug
29
- }) {
30
- const tm = timer();
31
- if (shouldPrintDebug) {
32
- console.warn(`--- ${sourcePath} ---
33
-
34
- `);
35
- }
36
- if (typeof source !== "string") {
37
- throw new Error("`source` must be a string of javascript");
38
- }
39
- if (sourcePath && !path.isAbsolute(sourcePath)) {
40
- throw new Error("`sourcePath` must be an absolute path to a .js file");
41
- }
42
- if (!/.[tj]sx?$/i.test(sourcePath || "")) {
43
- console.warn(`${sourcePath == null ? void 0 : sourcePath.slice(0, 100)} - bad filename.`);
44
- }
45
- await extractor.loadTamagui(options);
46
- const shouldLogTiming = options.logTimings ?? true;
47
- const start = Date.now();
48
- const mem = shouldLogTiming ? process.memoryUsage() : null;
49
- let ast;
50
- try {
51
- ast = babelParse(source);
52
- } catch (err) {
53
- console.error("babel parse error:", sourcePath == null ? void 0 : sourcePath.slice(0, 100));
54
- throw err;
55
- }
56
- tm.mark(`babel-parse`, shouldPrintDebug === "verbose");
57
- const cssMap = /* @__PURE__ */ new Map();
58
- const existingHoists = {};
59
- let hasFlattened = false;
60
- const res = await extractor.parse(ast, {
61
- shouldPrintDebug,
62
- ...options,
63
- sourcePath,
64
- target: "html",
65
- extractStyledDefinitions: true,
66
- onStyleRule(identifier, rules) {
67
- const css = rules.join(";");
68
- if (shouldPrintDebug) {
69
- console.log(`adding styled() rule: .${identifier} ${css}`);
70
- }
71
- cssMap.set(`.${identifier}`, { css, commentTexts: [] });
72
- },
73
- getFlattenedNode: ({ tag }) => {
74
- hasFlattened = true;
75
- return tag;
76
- },
77
- onExtractTag: ({
78
- parserProps,
79
- attrs,
80
- node,
81
- attemptEval,
82
- jsxPath,
83
- originalNodeName,
84
- filePath,
85
- lineNumbers,
86
- programPath,
87
- isFlattened,
88
- completeProps,
89
- staticConfig
90
- }) => {
91
- var _a;
92
- if (staticConfig.acceptsClassName === false) {
93
- if (shouldPrintDebug) {
94
- console.log(`bail, acceptsClassName is false`);
95
- }
96
- return;
97
- }
98
- const didFlattenThisTag = hasFlattened;
99
- hasFlattened = false;
100
- let finalClassNames = [];
101
- const finalAttrs = [];
102
- let finalStyles = [];
103
- let viewStyles = {};
104
- for (const attr of attrs) {
105
- if (attr.type === "style") {
106
- viewStyles = {
107
- ...viewStyles,
108
- ...attr.value
109
- };
110
- }
111
- }
112
- const ensureNeededPrevStyle = (style) => {
113
- const keys = Object.keys(style);
114
- if (!keys.some((key) => mergeStyleGroups[key])) {
115
- return style;
116
- }
117
- for (const k in mergeStyleGroups) {
118
- if (k in viewStyles) {
119
- style[k] = style[k] ?? viewStyles[k];
120
- }
121
- }
122
- return style;
123
- };
124
- const addStyles = (style) => {
125
- if (!style)
126
- return [];
127
- const styleWithPrev = ensureNeededPrevStyle(style);
128
- const res2 = getStylesAtomic(styleWithPrev);
129
- if (res2.length) {
130
- finalStyles = [...finalStyles, ...res2];
131
- }
132
- return res2;
133
- };
134
- let lastMediaImportance = 1;
135
- for (const attr of attrs) {
136
- switch (attr.type) {
137
- case "style": {
138
- if (!isFlattened) {
139
- const styles2 = getStylesAtomic(attr.value);
140
- finalStyles = [...finalStyles, ...styles2];
141
- for (const style of styles2) {
142
- const prop = style.pseudo ? `${style.property}-${style.pseudo}` : style.property;
143
- finalAttrs.push(
144
- t.jsxAttribute(t.jsxIdentifier(prop), t.stringLiteral(style.identifier))
145
- );
146
- }
147
- } else {
148
- const styles2 = addStyles(attr.value);
149
- const newClassNames = concatClassName(
150
- styles2.map((x) => x.identifier).join(" ")
151
- );
152
- const existing = finalClassNames.find(
153
- (x) => x.type == "StringLiteral"
154
- );
155
- if (existing) {
156
- existing.value = `${existing.value} ${newClassNames}`;
157
- } else {
158
- finalClassNames = [...finalClassNames, t.stringLiteral(newClassNames)];
159
- }
160
- }
161
- break;
162
- }
163
- case "attr": {
164
- const val = attr.value;
165
- if (t.isJSXSpreadAttribute(val)) {
166
- if (isSimpleSpread(val)) {
167
- finalClassNames.push(
168
- t.logicalExpression(
169
- "&&",
170
- val.argument,
171
- t.memberExpression(val.argument, t.identifier("className"))
172
- )
173
- );
174
- }
175
- } else if (val.name.name === "className") {
176
- const value = val.value;
177
- if (value) {
178
- try {
179
- const evaluatedValue = attemptEval(value);
180
- finalClassNames.push(t.stringLiteral(evaluatedValue));
181
- } catch (e) {
182
- finalClassNames.push(value["expression"]);
183
- }
184
- }
185
- continue;
186
- }
187
- finalAttrs.push(val);
188
- break;
189
- }
190
- case "ternary": {
191
- const mediaExtraction = extractMediaStyle(
192
- parserProps,
193
- attr.value,
194
- jsxPath,
195
- extractor.getTamagui(),
196
- sourcePath || "",
197
- lastMediaImportance,
198
- shouldPrintDebug
199
- );
200
- if (shouldPrintDebug) {
201
- if (mediaExtraction) {
202
- console.log(
203
- "ternary (mediaStyles)",
204
- ((_a = mediaExtraction.ternaryWithoutMedia) == null ? void 0 : _a.inlineMediaQuery) ?? "",
205
- mediaExtraction.mediaStyles.map((x) => x.identifier).join(".")
206
- );
207
- }
208
- }
209
- if (!mediaExtraction) {
210
- addTernaryStyle(
211
- attr.value,
212
- addStyles(attr.value.consequent),
213
- addStyles(attr.value.alternate)
214
- );
215
- continue;
216
- }
217
- lastMediaImportance++;
218
- if (mediaExtraction.mediaStyles) {
219
- finalStyles = [...finalStyles, ...mediaExtraction.mediaStyles];
220
- }
221
- if (mediaExtraction.ternaryWithoutMedia) {
222
- addTernaryStyle(
223
- mediaExtraction.ternaryWithoutMedia,
224
- mediaExtraction.mediaStyles,
225
- []
226
- );
227
- } else {
228
- finalClassNames = [
229
- ...finalClassNames,
230
- ...mediaExtraction.mediaStyles.map((x) => t.stringLiteral(x.identifier))
231
- ];
232
- }
233
- break;
234
- }
235
- }
236
- }
237
- function addTernaryStyle(ternary, a, b) {
238
- const cCN = a.map((x) => x.identifier).join(" ");
239
- const aCN = b.map((x) => x.identifier).join(" ");
240
- if (a.length && b.length) {
241
- finalClassNames.push(
242
- t.conditionalExpression(
243
- ternary.test,
244
- t.stringLiteral(cCN),
245
- t.stringLiteral(aCN)
246
- )
247
- );
248
- } else {
249
- finalClassNames.push(
250
- t.conditionalExpression(
251
- ternary.test,
252
- t.stringLiteral(" " + cCN),
253
- t.stringLiteral(" " + aCN)
254
- )
255
- );
256
- }
257
- }
258
- if (shouldPrintDebug) {
259
- console.log(
260
- " finalClassNames\n",
261
- logLines(finalClassNames.map((x) => x["value"]).join(" "))
262
- );
263
- }
264
- node.attributes = finalAttrs;
265
- if (finalClassNames.length) {
266
- const extraClassNames = (() => {
267
- let value = "";
268
- if (!isFlattened) {
269
- return value;
270
- }
271
- if (process.env.TAMAGUI_DEBUG_OPTIMIZATIONS) {
272
- value += `is_tamagui_flattened`;
273
- }
274
- if (staticConfig.componentName) {
275
- value += ` is_${staticConfig.componentName}`;
276
- }
277
- if (staticConfig.isText) {
278
- let family = completeProps.fontFamily;
279
- if (family[0] === "$") {
280
- family = family.slice(1);
281
- }
282
- value += ` font_${family}`;
283
- }
284
- return value;
285
- })();
286
- const names = buildClassName(finalClassNames, extraClassNames);
287
- const nameExpr = names ? hoistClassNames(jsxPath, existingHoists, names) : null;
288
- let expr = nameExpr;
289
- if (nameExpr && !t.isIdentifier(nameExpr)) {
290
- if (!didFlattenThisTag) {
291
- } else {
292
- ensureImportingConcat(programPath);
293
- const simpleSpreads = attrs.filter(
294
- (x) => t.isJSXSpreadAttribute(x.value) && isSimpleSpread(x.value)
295
- );
296
- expr = t.callExpression(t.identifier("concatClassName"), [
297
- expr,
298
- ...simpleSpreads.map((val) => val.value["argument"])
299
- ]);
300
- }
301
- }
302
- node.attributes.push(
303
- t.jsxAttribute(t.jsxIdentifier("className"), t.jsxExpressionContainer(expr))
304
- );
305
- }
306
- const comment = util.format(
307
- "/* %s:%s (%s) */",
308
- filePath,
309
- lineNumbers,
310
- originalNodeName
311
- );
312
- for (const { identifier, rules } of finalStyles) {
313
- const className = `.${identifier}`;
314
- if (cssMap.has(className)) {
315
- if (comment) {
316
- const val = cssMap.get(className);
317
- val.commentTexts.push(comment);
318
- cssMap.set(className, val);
319
- }
320
- } else if (rules.length) {
321
- cssMap.set(className, {
322
- css: rules.join("\n"),
323
- commentTexts: [comment]
324
- });
325
- }
326
- }
327
- }
328
- });
329
- if (!res || !res.modified && !res.optimized && !res.flattened && !res.styled) {
330
- if (shouldPrintDebug) {
331
- console.log("no res or none modified", res);
332
- }
333
- return null;
334
- }
335
- const styles = Array.from(cssMap.values()).map((x) => x.css).join("\n").trim();
336
- const result = generate(
337
- ast,
338
- {
339
- concise: false,
340
- filename: sourcePath,
341
- // this makes the debug output terrible, and i think sourcemap works already
342
- retainLines: false,
343
- sourceFileName: sourcePath,
344
- sourceMaps: true
345
- },
346
- source
347
- );
348
- if (shouldPrintDebug) {
349
- console.log(
350
- "\n -------- output code ------- \n\n",
351
- result.code.split("\n").filter((x) => !x.startsWith("//")).join("\n")
352
- );
353
- console.log("\n -------- output style -------- \n\n", styles);
354
- }
355
- if (shouldLogTiming) {
356
- const memUsed = mem ? Math.round((process.memoryUsage().heapUsed - mem.heapUsed) / 1024 / 1204 * 10) / 10 : 0;
357
- const path2 = basename(sourcePath || "").replace(/\.[jt]sx?$/, "").slice(0, 22).trim().padStart(24);
358
- const numStyled = `${res.styled}`.padStart(3);
359
- const numOptimized = `${res.optimized}`.padStart(3);
360
- const numFound = `${res.found}`.padStart(3);
361
- const numFlattened = `${res.flattened}`.padStart(3);
362
- const memory = process.env.DEBUG && memUsed > 10 ? ` ${memUsed}MB` : "";
363
- const timing = Date.now() - start;
364
- const timingStr = `${timing}ms`.padStart(6);
365
- const pre = getPrefixLogs(options);
366
- const memStr = memory ? `(${memory})` : "";
367
- console.log(
368
- `${pre} ${path2} ${numFound} \xB7 ${numOptimized} \xB7 ${numFlattened} \xB7 ${numStyled} ${timingStr} ${memStr}`
369
- );
370
- }
371
- return {
372
- ast,
373
- styles,
374
- js: result.code,
375
- map: result.map
376
- };
377
- }
378
- export {
379
- extractToClassNames
380
- };
381
- //# sourceMappingURL=extractToClassNames.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/extractToClassNames.ts"],
4
- "mappings": "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",
5
- "names": ["res", "styles", "path"]
6
- }
@@ -1,20 +0,0 @@
1
- function findTopmostFunction(jsxPath) {
2
- const isFunction = (path) => path.isArrowFunctionExpression() || path.isFunctionDeclaration() || path.isFunctionExpression();
3
- let compFn = jsxPath.findParent(isFunction);
4
- while (compFn) {
5
- const parent = compFn.findParent(isFunction);
6
- if (parent) {
7
- compFn = parent;
8
- } else {
9
- break;
10
- }
11
- }
12
- if (!compFn) {
13
- return null;
14
- }
15
- return compFn;
16
- }
17
- export {
18
- findTopmostFunction
19
- };
20
- //# sourceMappingURL=findTopmostFunction.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/findTopmostFunction.ts"],
4
- "mappings": "AAGO,SAAS,oBAAoB,SAAiC;AAEnE,QAAM,aAAa,CAAC,SAClB,KAAK,0BAA0B,KAAK,KAAK,sBAAsB,KAAK,KAAK,qBAAqB;AAChG,MAAI,SAA+B,QAAQ,WAAW,UAAU;AAChE,SAAO,QAAQ;AACb,UAAM,SAAS,OAAO,WAAW,UAAU;AAC3C,QAAI,QAAQ;AACV,eAAS;AAAA,IACX,OAAO;AACL;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,QAAQ;AAEX,WAAO;AAAA,EACT;AACA,SAAO;AACT;",
5
- "names": []
6
- }
@@ -1,82 +0,0 @@
1
- import { join } from "path";
2
- import { getVariableValue } from "@tamagui/core-node";
3
- import fs from "fs-extra";
4
- import { getBundledConfig } from "./bundleConfig";
5
- const confFile = join(process.cwd(), ".tamagui", "tamagui.config.json");
6
- async function generateTamaguiStudioConfig(tamaguiOptions, configIn, rebuild = false) {
7
- var _a;
8
- try {
9
- const config = configIn ?? await getBundledConfig(tamaguiOptions, rebuild);
10
- if (!config)
11
- return;
12
- await fs.writeJSON(
13
- confFile,
14
- {
15
- ...config,
16
- tamaguiConfig: transformConfig(config)
17
- },
18
- {
19
- spaces: 2
20
- }
21
- );
22
- } catch (err) {
23
- if ((_a = process.env.DEBUG) == null ? void 0 : _a.includes("tamagui")) {
24
- console.warn("generateTamaguiStudioConfig error", err);
25
- }
26
- }
27
- }
28
- function generateTamaguiStudioConfigSync(_tamaguiOptions, config) {
29
- var _a;
30
- try {
31
- fs.writeJSONSync(
32
- confFile,
33
- {
34
- ...config,
35
- tamaguiConfig: transformConfig(config)
36
- },
37
- {
38
- spaces: 2
39
- }
40
- );
41
- } catch (err) {
42
- if ((_a = process.env.DEBUG) == null ? void 0 : _a.includes("tamagui")) {
43
- console.warn("generateTamaguiStudioConfig error", err);
44
- }
45
- }
46
- }
47
- function transformConfig(config) {
48
- const next = JSON.parse(JSON.stringify(config));
49
- const { components, nameToPaths } = next;
50
- const { themes, tokens } = next.tamaguiConfig;
51
- for (const key in themes) {
52
- const theme = themes[key];
53
- theme.id = key;
54
- for (const tkey in theme) {
55
- theme[tkey] = getVariableValue(theme[tkey]);
56
- }
57
- }
58
- for (const key in tokens) {
59
- const token = { ...tokens[key] };
60
- for (const tkey in token) {
61
- token[tkey] = getVariableValue(token[tkey]);
62
- }
63
- }
64
- for (const component of components) {
65
- for (const _ in component.nameToInfo) {
66
- const compDefinition = { ...component.nameToInfo[_] };
67
- component.nameToInfo[_] = compDefinition;
68
- const { parentStaticConfig, ...rest } = compDefinition.staticConfig;
69
- compDefinition.staticConfig = rest;
70
- }
71
- }
72
- for (const key in nameToPaths) {
73
- nameToPaths[key] = [...nameToPaths[key]];
74
- }
75
- const { fontsParsed, getCSS, tokensParsed, themeConfig, ...cleanedConfig } = next.tamaguiConfig;
76
- return cleanedConfig;
77
- }
78
- export {
79
- generateTamaguiStudioConfig,
80
- generateTamaguiStudioConfigSync
81
- };
82
- //# sourceMappingURL=generateTamaguiStudioConfig.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/generateTamaguiStudioConfig.ts"],
4
- "mappings": "AAAA,SAAS,YAAY;AAErB,SAAS,wBAAwB;AAEjC,OAAO,QAAQ;AAEf,SAAwB,wBAAwB;AAEhD,MAAM,WAAW,KAAK,QAAQ,IAAI,GAAG,YAAY,qBAAqB;AAMtE,eAAsB,4BACpB,gBACA,UACA,UAAU,OACV;AAlBF;AAmBE,MAAI;AACF,UAAM,SAAS,YAAa,MAAM,iBAAiB,gBAAgB,OAAO;AAE1E,QAAI,CAAC;AAAQ;AAEb,UAAM,GAAG;AAAA,MACP;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,eAAe,gBAAgB,MAAM;AAAA,MACvC;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF,SAAS,KAAP;AACA,SAAI,aAAQ,IAAI,UAAZ,mBAAmB,SAAS,YAAY;AAC1C,cAAQ,KAAK,qCAAqC,GAAG;AAAA,IACvD;AAAA,EAEF;AACF;AAEO,SAAS,gCACd,iBACA,QACA;AA7CF;AA8CE,MAAI;AACF,OAAG;AAAA,MACD;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,eAAe,gBAAgB,MAAM;AAAA,MACvC;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF,SAAS,KAAP;AACA,SAAI,aAAQ,IAAI,UAAZ,mBAAmB,SAAS,YAAY;AAC1C,cAAQ,KAAK,qCAAqC,GAAG;AAAA,IACvD;AAAA,EAEF;AACF;AAEA,SAAS,gBAAgB,QAAuB;AAE9C,QAAM,OAAO,KAAK,MAAM,KAAK,UAAU,MAAM,CAAC;AAE9C,QAAM,EAAE,YAAY,YAAY,IAAI;AACpC,QAAM,EAAE,QAAQ,OAAO,IAAI,KAAK;AAKhC,aAAW,OAAO,QAAQ;AACxB,UAAM,QAAQ,OAAO,GAAG;AAExB,UAAM,KAAK;AACX,eAAW,QAAQ,OAAO;AACxB,YAAM,IAAI,IAAI,iBAAiB,MAAM,IAAI,CAAC;AAAA,IAC5C;AAAA,EACF;AAGA,aAAW,OAAO,QAAQ;AACxB,UAAM,QAAQ,EAAE,GAAG,OAAO,GAAG,EAAE;AAC/B,eAAW,QAAQ,OAAO;AACxB,YAAM,IAAI,IAAI,iBAAiB,MAAM,IAAI,CAAC;AAAA,IAC5C;AAAA,EACF;AAGA,aAAW,aAAa,YAAY;AAClC,eAAW,KAAK,UAAU,YAAY;AAEpC,YAAM,iBAAiB,EAAE,GAAG,UAAU,WAAW,CAAC,EAAE;AACpD,gBAAU,WAAW,CAAC,IAAI;AAE1B,YAAM,EAAE,oBAAoB,GAAG,KAAK,IAAI,eAAe;AACvD,qBAAe,eAAe;AAAA,IAChC;AAAA,EACF;AAGA,aAAW,OAAO,aAAa;AAE7B,gBAAY,GAAG,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC;AAAA,EACzC;AAGA,QAAM,EAAE,aAAa,QAAQ,cAAc,aAAa,GAAG,cAAc,IACvE,KAAK;AAEP,SAAO;AACT;",
5
- "names": []
6
- }
@@ -1,26 +0,0 @@
1
- import * as t from "@babel/types";
2
- function generateUid(scope, name) {
3
- if (!(typeof scope === "object"))
4
- throw "generateUid expects a scope object as its first parameter";
5
- if (!(typeof name === "string" && name !== ""))
6
- throw "generateUid expects a valid name as its second parameter";
7
- name = t.toIdentifier(name).replace(/^_+/, "").replace(/[0-9]+$/g, "");
8
- let uid;
9
- let i = 0;
10
- do {
11
- if (i > 1) {
12
- uid = name + i;
13
- } else {
14
- uid = name;
15
- }
16
- i++;
17
- } while (scope.hasLabel(uid) || scope.hasBinding(uid) || scope.hasGlobal(uid) || scope.hasReference(uid));
18
- const program = scope.getProgramParent();
19
- program.references[uid] = true;
20
- program.uids[uid] = true;
21
- return uid;
22
- }
23
- export {
24
- generateUid
25
- };
26
- //# sourceMappingURL=generatedUid.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/generatedUid.ts"],
4
- "mappings": "AAAA,YAAY,OAAO;AASZ,SAAS,YAAY,OAAY,MAAsB;AAC5D,MAAI,EAAE,OAAO,UAAU;AACrB,UAAM;AACR,MAAI,EAAE,OAAO,SAAS,YAAY,SAAS;AACzC,UAAM;AAER,SAAO,EACJ,aAAa,IAAI,EACjB,QAAQ,OAAO,EAAE,EACjB,QAAQ,YAAY,EAAE;AAEzB,MAAI;AACJ,MAAI,IAAI;AACR,KAAG;AACD,QAAI,IAAI,GAAG;AACT,YAAM,OAAO;AAAA,IACf,OAAO;AACL,YAAM;AAAA,IACR;AACA;AAAA,EACF,SACE,MAAM,SAAS,GAAG,KAClB,MAAM,WAAW,GAAG,KACpB,MAAM,UAAU,GAAG,KACnB,MAAM,aAAa,GAAG;AAGxB,QAAM,UAAU,MAAM,iBAAiB;AACvC,UAAQ,WAAW,GAAG,IAAI;AAC1B,UAAQ,KAAK,GAAG,IAAI;AAEpB,SAAO;AACT;",
5
- "names": []
6
- }
@@ -1,8 +0,0 @@
1
- function getPrefixLogs(options) {
2
- const { TAMAGUI_TARGET } = process.env;
3
- return (options == null ? void 0 : options.prefixLogs) ?? ` ${TAMAGUI_TARGET} | `;
4
- }
5
- export {
6
- getPrefixLogs
7
- };
8
- //# sourceMappingURL=getPrefixLogs.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/getPrefixLogs.ts"],
4
- "mappings": "AAEO,SAAS,cAAc,SAA0B;AACtD,QAAM,EAAE,eAAe,IAAI,QAAQ;AACnC,UAAO,mCAAS,eAAc,IAAI;AACpC;",
5
- "names": []
6
- }
@@ -1,56 +0,0 @@
1
- import generate from "@babel/generator";
2
- import * as t from "@babel/types";
3
- import { accessSafe } from "./accessSafe";
4
- function getPropValueFromAttributes(propName, attrs) {
5
- let propIndex = -1;
6
- let jsxAttr = null;
7
- for (let idx = -1, len = attrs.length; ++idx < len; ) {
8
- const attr = attrs[idx];
9
- if (t.isJSXAttribute(attr) && attr.name && attr.name.name === propName) {
10
- propIndex = idx;
11
- jsxAttr = attr;
12
- break;
13
- }
14
- }
15
- if (!jsxAttr || jsxAttr.value == null) {
16
- return null;
17
- }
18
- let propValue = jsxAttr.value;
19
- if (t.isJSXExpressionContainer(propValue)) {
20
- propValue = propValue.expression;
21
- }
22
- if (t.isJSXEmptyExpression(propValue)) {
23
- console.error("encountered JSXEmptyExpression");
24
- return null;
25
- }
26
- const applicableSpreads = attrs.filter(
27
- // 1. idx is greater than propValue prop index
28
- // 2. attr is a spread operator
29
- (attr, idx) => {
30
- if (t.isJSXSpreadAttribute(attr)) {
31
- if (t.isIdentifier(attr.argument) || t.isMemberExpression(attr.argument)) {
32
- return idx > propIndex;
33
- }
34
- if (t.isLogicalExpression(attr.argument)) {
35
- return false;
36
- }
37
- throw new Error(
38
- `unsupported spread of type "${attr.argument.type}": ${// @ts-ignore
39
- generate(attr).code}`
40
- );
41
- }
42
- return false;
43
- }
44
- ).map((attr) => attr.argument);
45
- if (applicableSpreads.length > 0) {
46
- propValue = applicableSpreads.reduce(
47
- (acc, val) => t.logicalExpression("||", accessSafe(val, propName), acc),
48
- propValue
49
- );
50
- }
51
- return propValue;
52
- }
53
- export {
54
- getPropValueFromAttributes
55
- };
56
- //# sourceMappingURL=getPropValueFromAttributes.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/extractor/getPropValueFromAttributes.ts"],
4
- "mappings": "AAAA,OAAO,cAAc;AACrB,YAAY,OAAO;AAEnB,SAAS,kBAAkB;AAkBpB,SAAS,2BACd,UACA,OACqB;AACrB,MAAI,YAAY;AAChB,MAAI,UAAiC;AACrC,WAAS,MAAM,IAAI,MAAM,MAAM,QAAQ,EAAE,MAAM,OAAO;AACpD,UAAM,OAAO,MAAM,GAAG;AACtB,QAAI,EAAE,eAAe,IAAI,KAAK,KAAK,QAAQ,KAAK,KAAK,SAAS,UAAU;AACtE,kBAAY;AACZ,gBAAU;AACV;AAAA,IACF;AAAA,EACF;AAEA,MAAI,CAAC,WAAW,QAAQ,SAAS,MAAM;AACrC,WAAO;AAAA,EACT;AAEA,MAAI,YAMe,QAAQ;AAE3B,MAAI,EAAE,yBAAyB,SAAS,GAAG;AACzC,gBAAY,UAAU;AAAA,EACxB;AAGA,MAAI,EAAE,qBAAqB,SAAS,GAAG;AACrC,YAAQ,MAAM,gCAAgC;AAC9C,WAAO;AAAA,EACT;AAGA,QAAM,oBAAoB,MACvB;AAAA;AAAA;AAAA,IAGC,CAAC,MAAM,QAAsC;AAC3C,UAAI,EAAE,qBAAqB,IAAI,GAAG;AAChC,YAAI,EAAE,aAAa,KAAK,QAAQ,KAAK,EAAE,mBAAmB,KAAK,QAAQ,GAAG;AACxE,iBAAO,MAAM;AAAA,QACf;AACA,YAAI,EAAE,oBAAoB,KAAK,QAAQ,GAAG;AACxC,iBAAO;AAAA,QACT;AACA,cAAM,IAAI;AAAA,UACR,+BAA+B,KAAK,SAAS;AAAA,UAE3C,SAAS,IAAW,EAAE;AAAA,QAE1B;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,EACF,EACC,IAAI,CAAC,SAAS,KAAK,QAAQ;AAK9B,MAAI,kBAAkB,SAAS,GAAG;AAChC,gBAAY,kBAAkB;AAAA,MAC5B,CAAC,KAAK,QAAQ,EAAE,kBAAkB,MAAM,WAAW,KAAK,QAAQ,GAAG,GAAG;AAAA,MACtE;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;",
5
- "names": []
6
- }