@tamagui/cli 1.142.0 → 1.143.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.
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf,
8
+ __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: !0
13
+ });
14
+ },
15
+ __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: !0
30
+ }) : target, mod)),
31
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: !0
33
+ }), mod);
34
+ var add_exports = {};
35
+ __export(add_exports, {
36
+ generatedPackageTypes: () => generatedPackageTypes,
37
+ installGeneratedPackage: () => installGeneratedPackage
38
+ });
39
+ module.exports = __toCommonJS(add_exports);
40
+ var import_child_process = require("child_process"),
41
+ import_fs = require("fs"),
42
+ import_promises = require("fs/promises"),
43
+ import_os = require("os"),
44
+ import_path = __toESM(require("path")),
45
+ import_chalk = __toESM(require("chalk")),
46
+ import_change_case = require("change-case"),
47
+ import_fs_extra = require("fs-extra"),
48
+ import_marked = require("marked"),
49
+ import_marked_terminal = __toESM(require("marked-terminal")),
50
+ import_opener = __toESM(require("opener")),
51
+ import_prompts = __toESM(require("prompts"));
52
+ function _instanceof(left, right) {
53
+ return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
54
+ }
55
+ import_marked.marked.setOptions({
56
+ renderer: new import_marked_terminal.default()
57
+ });
58
+ var home = (0, import_os.homedir)(),
59
+ tamaguiDir = import_path.default.join(home, ".tamagui"),
60
+ generatedPackageTypes = ["font", "icon"],
61
+ installGeneratedPackage = async function (type, packagesPath) {
62
+ if (packagesPath = packagesPath || import_path.default.join(process.cwd(), "packages"), !generatedPackageTypes.includes(type)) throw new Error(`${type ? `Type "${type}" is Not supported.` : "No type provided."} Supported types: ${generatedPackageTypes.join(", ")}`);
63
+ var repoName = type === "font" ? "tamagui-google-fonts" : "tamagui-iconify";
64
+ console.info(`Setting up ${import_chalk.default.blueBright(tamaguiDir)}...`), await (0, import_fs_extra.ensureDir)(tamaguiDir);
65
+ var tempDir = import_path.default.join(tamaguiDir, repoName);
66
+ (0, import_fs.existsSync)(tempDir) && (0, import_fs.rmSync)(tempDir, {
67
+ recursive: !0
68
+ });
69
+ try {
70
+ process.chdir(tamaguiDir);
71
+ try {
72
+ console.info("Attempting to clone with SSH"), (0, import_child_process.execSync)(`git clone -n --depth=1 --branch generated --filter=tree:0 git@github.com:tamagui/${repoName}.git`);
73
+ } catch {
74
+ console.info("SSH failed - Attempting to c lone with HTTPS"), (0, import_child_process.execSync)(`git clone -n --depth=1 --branch generated --filter=tree:0 https://github.com/tamagui/${repoName}`);
75
+ }
76
+ process.chdir(tempDir), (0, import_child_process.execSync)(["git sparse-checkout set --no-cone meta", "git checkout"].join(" && "));
77
+ } catch (error) {
78
+ if (_instanceof(error, Error)) throw error?.stderr.includes("Repository not found") && (console.info(import_chalk.default.yellow(`You don't have access to Tamagui ${type === "font" ? "fonts" : "icons"}. Check \u{1F961} Tamagui Takeout (https://tamagui.dev/takeout) for more info.`)), (0, import_opener.default)("https://tamagui.dev/takeout"), process.exit(0)), error;
79
+ }
80
+ var meta = JSON.parse(await (0, import_promises.readFile)(import_path.default.join(tamaguiDir, repoName, "meta", "data.json")).then(function (r) {
81
+ return r.toString();
82
+ }));
83
+ console.info(import_chalk.default.gray("Use \u21E7/\u21E9 to navigate. Use tab to cycle the result. Use Page Up/Page Down (on Mac: fn + \u21E7 / \u21E9) to change page. Hit enter to select the highlighted item below the prompt."));
84
+ var result = await (0, import_prompts.default)({
85
+ name: "packageName",
86
+ type: "autocomplete",
87
+ message: type === "icon" ? "Pick an icon pack:" : type === "font" ? "Pick a font:" : "Pick one:",
88
+ choices: Object.entries(meta).map(function (param) {
89
+ var [slug, data] = param;
90
+ return {
91
+ title: type === "font" ? `${slug}: ${data.weights.length} weights, ${data.styles.length} styles, ${data.subsets.length} subsets (https://fonts.google.com/specimen/${(0, import_change_case.pascalCase)(slug)})` : `${data.name}: ${data.total} icons, ${data.license.title} license (${data.author.url})`,
92
+ value: slug
93
+ };
94
+ })
95
+ }),
96
+ packageName = `${type}-${result.packageName}`,
97
+ packageDir = import_path.default.join(tempDir, "packages", packageName);
98
+ process.chdir(tempDir), (0, import_child_process.execSync)([`git sparse-checkout set --no-cone packages/${packageName}`, "git checkout"].join(" && "));
99
+ var finalDir = import_path.default.join(packagesPath, packageName);
100
+ await (0, import_fs_extra.ensureDir)(packagesPath), await (0, import_fs_extra.copy)(packageDir, finalDir), console.info(), console.info(import_chalk.default.green(`Created the package under ${finalDir}`)), console.info();
101
+ var readmePath = import_path.default.join(finalDir, "README.md");
102
+ (0, import_fs.existsSync)(readmePath) && console.info(import_marked.marked.parse((0, import_fs_extra.readFileSync)(readmePath).toString()));
103
+ };
104
+ //# sourceMappingURL=add.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","add_exports","__export","generatedPackageTypes","installGeneratedPackage","module","exports","import_child_process","require","import_fs","import_promises","import_os","import_path","__toESM","import_chalk","import_change_case","import_fs_extra","import_marked","import_marked_terminal","import_opener","import_prompts","_instanceof","left","right","Symbol","hasInstance","marked","setOptions","renderer","default","home","homedir","tamaguiDir","join","type","packagesPath","process","cwd","includes","Error","repoName","console","info","blueBright","ensureDir","tempDir","existsSync","rmSync","recursive","chdir","execSync","error","stderr","yellow","exit","meta","JSON","parse","readFile","then","r","toString","gray","result","name","message","choices","Object","entries","map","param","slug","data","title","weights","length","styles","subsets","pascalCase","total","license","author","url","packageName","packageDir","finalDir","copy","green","readmePath","readFileSync"],"sources":["../src/add.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,292 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf,
8
+ __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: !0
13
+ });
14
+ },
15
+ __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: !0
30
+ }) : target, mod)),
31
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: !0
33
+ }), mod);
34
+ var build_exports = {};
35
+ __export(build_exports, {
36
+ build: () => build,
37
+ insertCssImport: () => insertCssImport
38
+ });
39
+ module.exports = __toCommonJS(build_exports);
40
+ var import_static = require("@tamagui/static"),
41
+ import_chokidar = __toESM(require("chokidar")),
42
+ import_fs_extra = require("fs-extra"),
43
+ import_micromatch = __toESM(require("micromatch")),
44
+ import_path = require("path"),
45
+ import_os = require("os"),
46
+ import_child_process = require("child_process"),
47
+ import_crypto = require("crypto");
48
+ function insertCssImport(jsContent, cssImport) {
49
+ var directiveMatch = jsContent.match(/^(['"])use (client|server)\1;?\n?/);
50
+ if (directiveMatch) {
51
+ var directive = directiveMatch[0],
52
+ rest = jsContent.slice(directive.length);
53
+ return `${directive}${cssImport}
54
+ ${rest}`;
55
+ }
56
+ return `${cssImport}
57
+ ${jsContent}`;
58
+ }
59
+ var build = async function (options) {
60
+ var _options_dir,
61
+ sourceDir = (_options_dir = options.dir) !== null && _options_dir !== void 0 ? _options_dir : ".",
62
+ promises = [],
63
+ buildOptions = (0, import_static.loadTamaguiBuildConfigSync)(options.tamaguiOptions),
64
+ targets = options.target === "both" || !options.target ? ["web", "native"] : [options.target],
65
+ webTamaguiOptions = {
66
+ ...buildOptions,
67
+ platform: "web"
68
+ };
69
+ await (0, import_static.loadTamagui)(webTamaguiOptions);
70
+ var allFiles = [],
71
+ watchPattern = sourceDir.match(/\.(tsx|jsx)$/) ? sourceDir :
72
+ // Single file
73
+ `${sourceDir}/**/*.{tsx,jsx}`;
74
+ await new Promise(function (res) {
75
+ import_chokidar.default.watch(watchPattern, {
76
+ ignoreInitial: !1
77
+ }).on("add", function (relativePath) {
78
+ var sourcePath = (0, import_path.resolve)(process.cwd(), relativePath);
79
+ options.exclude && import_micromatch.default.contains(relativePath, options.exclude) || options.include && !import_micromatch.default.contains(relativePath, options.include) || allFiles.push(sourcePath);
80
+ }).on("ready", function () {
81
+ return res();
82
+ });
83
+ });
84
+ var fileToTargets = /* @__PURE__ */new Map(),
85
+ _iteratorNormalCompletion = !0,
86
+ _didIteratorError = !1,
87
+ _iteratorError = void 0;
88
+ try {
89
+ for (var _loop = function () {
90
+ var sourcePath = _step.value,
91
+ platformMatch = sourcePath.match(/\.(web|native|ios|android)\.(tsx|jsx)$/),
92
+ filePlatforms = [];
93
+ if (platformMatch) {
94
+ var platform = platformMatch[1];
95
+ platform === "web" || platform === "ios" ? filePlatforms = ["web"] : (platform === "native" || platform === "android") && (filePlatforms = ["native"]);
96
+ } else {
97
+ var basePath = sourcePath.replace(/\.(tsx|jsx)$/, ""),
98
+ hasNative = allFiles.some(function (f) {
99
+ return f === `${basePath}.native.tsx` || f === `${basePath}.native.jsx` || f === `${basePath}.android.tsx` || f === `${basePath}.android.jsx`;
100
+ }),
101
+ hasWeb = allFiles.some(function (f) {
102
+ return f === `${basePath}.web.tsx` || f === `${basePath}.web.jsx` || f === `${basePath}.ios.tsx` || f === `${basePath}.ios.jsx`;
103
+ });
104
+ filePlatforms = targets.filter(function (target) {
105
+ return !(target === "native" && hasNative || target === "web" && hasWeb);
106
+ }), hasWeb && hasNative && (filePlatforms = []);
107
+ }
108
+ filePlatforms.length > 0 && fileToTargets.set(sourcePath, filePlatforms);
109
+ }, _iterator = allFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) _loop();
110
+ } catch (err) {
111
+ _didIteratorError = !0, _iteratorError = err;
112
+ } finally {
113
+ try {
114
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
115
+ } finally {
116
+ if (_didIteratorError) throw _iteratorError;
117
+ }
118
+ }
119
+ var stats = {
120
+ filesProcessed: 0,
121
+ optimized: 0,
122
+ flattened: 0,
123
+ styled: 0,
124
+ found: 0
125
+ },
126
+ trackedFiles = [],
127
+ restoreDir = options.runCommand ? (0, import_path.join)((0, import_os.tmpdir)(), `tamagui-restore-${process.pid}`) : null;
128
+ restoreDir && (await (0, import_fs_extra.mkdir)(restoreDir, {
129
+ recursive: !0
130
+ }));
131
+ var trackFile = async function (filePath) {
132
+ if (restoreDir) {
133
+ var hash = (0, import_crypto.createHash)("md5").update(filePath).digest("hex"),
134
+ backupPath = (0, import_path.join)(restoreDir, hash);
135
+ await (0, import_fs_extra.copyFile)(filePath, backupPath), trackedFiles.push({
136
+ path: filePath,
137
+ hardlinkPath: backupPath,
138
+ mtimeAfterWrite: 0
139
+ });
140
+ }
141
+ },
142
+ recordMtime = async function (filePath) {
143
+ if (restoreDir) {
144
+ var tracked = trackedFiles.find(function (t) {
145
+ return t.path === filePath;
146
+ });
147
+ if (tracked) {
148
+ var fileStat = await (0, import_fs_extra.stat)(filePath);
149
+ tracked.mtimeAfterWrite = fileStat.mtimeMs;
150
+ }
151
+ }
152
+ },
153
+ _iteratorNormalCompletion1 = !0,
154
+ _didIteratorError1 = !1,
155
+ _iteratorError1 = void 0;
156
+ try {
157
+ for (var _loop1 = function () {
158
+ var [sourcePath, filePlatforms] = _step1.value;
159
+ promises.push(async function () {
160
+ if (options.debug) {
161
+ var _process_env;
162
+ (_process_env = process.env).NODE_ENV || (_process_env.NODE_ENV = "development");
163
+ }
164
+ var originalSource = await (0, import_fs_extra.readFile)(sourcePath, "utf-8");
165
+ if (filePlatforms.includes("web")) {
166
+ process.env.TAMAGUI_TARGET = "web";
167
+ var extractor = (0, import_static.createExtractor)({
168
+ platform: "web"
169
+ }),
170
+ out = await (0, import_static.extractToClassNames)({
171
+ extractor,
172
+ source: originalSource,
173
+ sourcePath,
174
+ options: {
175
+ ...buildOptions,
176
+ platform: "web"
177
+ },
178
+ shouldPrintDebug: options.debug || !1
179
+ });
180
+ if (out) {
181
+ stats.filesProcessed++;
182
+ var cssName = "_" + (0, import_path.basename)(sourcePath, (0, import_path.extname)(sourcePath)),
183
+ stylePath = (0, import_path.join)((0, import_path.dirname)(sourcePath), cssName + ".css"),
184
+ cssImport = `import "./${cssName}.css"`,
185
+ jsContent = typeof out.js == "string" ? out.js : out.js.toString("utf-8"),
186
+ code = insertCssImport(jsContent, cssImport);
187
+ await trackFile(sourcePath), await (0, import_fs_extra.writeFile)(sourcePath, code, "utf-8"), await recordMtime(sourcePath), await (0, import_fs_extra.writeFile)(stylePath, out.styles, "utf-8"), trackedFiles.push({
188
+ path: stylePath,
189
+ hardlinkPath: "",
190
+ // Empty means delete on restore
191
+ mtimeAfterWrite: (await (0, import_fs_extra.stat)(stylePath)).mtimeMs
192
+ });
193
+ }
194
+ }
195
+ if (filePlatforms.includes("native")) {
196
+ process.env.TAMAGUI_TARGET = "native";
197
+ var nativeTamaguiOptions = {
198
+ ...buildOptions,
199
+ platform: "native"
200
+ },
201
+ nativeOut = (0, import_static.extractToNative)(sourcePath, originalSource, nativeTamaguiOptions),
202
+ nativeOutputPath = sourcePath,
203
+ isPlatformSpecific = /\.(web|native|ios|android)\.(tsx|jsx)$/.test(sourcePath);
204
+ !isPlatformSpecific && filePlatforms.length > 1 && (nativeOutputPath = sourcePath.replace(/\.(tsx|jsx)$/, ".native.$1")), nativeOut.code && ((nativeOutputPath === sourcePath || filePlatforms.length === 1) && (await trackFile(nativeOutputPath)), await (0, import_fs_extra.writeFile)(nativeOutputPath, nativeOut.code, "utf-8"), await recordMtime(nativeOutputPath), nativeOutputPath !== sourcePath && filePlatforms.length > 1 && trackedFiles.push({
205
+ path: nativeOutputPath,
206
+ hardlinkPath: "",
207
+ // Empty = delete on restore
208
+ mtimeAfterWrite: (await (0, import_fs_extra.stat)(nativeOutputPath)).mtimeMs
209
+ }));
210
+ }
211
+ }());
212
+ }, _iterator1 = fileToTargets[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) _loop1();
213
+ } catch (err) {
214
+ _didIteratorError1 = !0, _iteratorError1 = err;
215
+ } finally {
216
+ try {
217
+ !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
218
+ } finally {
219
+ if (_didIteratorError1) throw _iteratorError1;
220
+ }
221
+ }
222
+ if (await Promise.all(promises), options.expectOptimizations !== void 0) {
223
+ var totalOptimizations = stats.optimized + stats.flattened;
224
+ totalOptimizations < options.expectOptimizations && (console.error(`
225
+ Expected at least ${options.expectOptimizations} optimizations but only got ${totalOptimizations}`), console.error(`Stats: ${JSON.stringify(stats, null, 2)}`), process.exit(1)), console.info(`
226
+ \u2713 Met optimization target: ${totalOptimizations} >= ${options.expectOptimizations}`);
227
+ }
228
+ if (options.runCommand && options.runCommand.length > 0) {
229
+ var command = options.runCommand.join(" ");
230
+ console.info(`
231
+ Running: ${command}
232
+ `);
233
+ try {
234
+ (0, import_child_process.execSync)(command, {
235
+ stdio: "inherit"
236
+ });
237
+ } catch (err) {
238
+ console.error(`
239
+ Command failed with exit code ${err.status || 1}`), process.exitCode = err.status || 1;
240
+ } finally {
241
+ await restoreFiles(trackedFiles, restoreDir);
242
+ }
243
+ }
244
+ return {
245
+ stats,
246
+ trackedFiles
247
+ };
248
+ };
249
+ async function restoreFiles(trackedFiles, restoreDir) {
250
+ if (!(!restoreDir || trackedFiles.length === 0)) {
251
+ console.info(`
252
+ Restoring ${trackedFiles.length} files...`);
253
+ var restored = 0,
254
+ skipped = 0,
255
+ deleted = 0,
256
+ _iteratorNormalCompletion = !0,
257
+ _didIteratorError = !1,
258
+ _iteratorError = void 0;
259
+ try {
260
+ for (var _iterator = trackedFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
261
+ var tracked = _step.value;
262
+ try {
263
+ var currentStat = await (0, import_fs_extra.stat)(tracked.path).catch(function () {
264
+ return null;
265
+ });
266
+ if (currentStat && currentStat.mtimeMs !== tracked.mtimeAfterWrite) {
267
+ console.warn(` Skipping ${tracked.path} - modified during build`), skipped++;
268
+ continue;
269
+ }
270
+ tracked.hardlinkPath === "" ? (await (0, import_fs_extra.rm)(tracked.path, {
271
+ force: !0
272
+ }), deleted++) : (await (0, import_fs_extra.copyFile)(tracked.hardlinkPath, tracked.path), restored++);
273
+ } catch (err) {
274
+ console.warn(` Failed to restore ${tracked.path}: ${err.message}`), skipped++;
275
+ }
276
+ }
277
+ } catch (err) {
278
+ _didIteratorError = !0, _iteratorError = err;
279
+ } finally {
280
+ try {
281
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
282
+ } finally {
283
+ if (_didIteratorError) throw _iteratorError;
284
+ }
285
+ }
286
+ await (0, import_fs_extra.rm)(restoreDir, {
287
+ recursive: !0,
288
+ force: !0
289
+ }), console.info(` Restored: ${restored}, Deleted: ${deleted}, Skipped: ${skipped}`);
290
+ }
291
+ }
292
+ //# sourceMappingURL=build.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","build_exports","__export","build","insertCssImport","module","exports","import_static","require","import_chokidar","__toESM","import_fs_extra","import_micromatch","import_path","import_os","import_child_process","import_crypto","jsContent","cssImport","directiveMatch","match","directive","rest","slice","length","options","_options_dir","sourceDir","dir","promises","buildOptions","loadTamaguiBuildConfigSync","tamaguiOptions","targets","target","webTamaguiOptions","platform","loadTamagui","allFiles","watchPattern","Promise","res","default","watch","ignoreInitial","on","relativePath","sourcePath","resolve","process","cwd","exclude","contains","include","push","fileToTargets","Map","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","_step","platformMatch","filePlatforms","basePath","replace","hasNative","some","f","hasWeb","filter","set","_iterator","Symbol","iterator","next","done","err","return","stats","filesProcessed","optimized","flattened","styled","found","trackedFiles","restoreDir","runCommand","join","tmpdir","pid","mkdir","recursive","trackFile","filePath","hash","createHash","update","digest","backupPath","copyFile","path","hardlinkPath","mtimeAfterWrite","recordMtime","tracked","find","t","fileStat","stat","mtimeMs","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop1","_step1","debug","_process_env","env","NODE_ENV","originalSource","readFile","includes","TAMAGUI_TARGET","extractor","createExtractor","out","extractToClassNames","source","shouldPrintDebug","cssName","basename","extname","stylePath","dirname","js","toString","code","writeFile","styles","nativeTamaguiOptions","nativeOut","extractToNative","nativeOutputPath","isPlatformSpecific","test","_iterator1"],"sources":["../src/build.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}