@tamagui/cli 1.141.5 → 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,612 @@
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 upgrade_exports = {};
35
+ __export(upgrade_exports, {
36
+ upgrade: () => upgrade
37
+ });
38
+ module.exports = __toCommonJS(upgrade_exports);
39
+ var import_chalk = __toESM(require("chalk")),
40
+ import_child_process = require("child_process"),
41
+ import_fs = require("fs"),
42
+ import_path = require("path"),
43
+ TAMAGUI_PACKAGES_PATTERN = /^(@tamagui\/|tamagui$)/,
44
+ COMMIT_TYPE_ORDER = ["feat", "fix", "perf", "refactor", "docs", "chore", "test", "ci"];
45
+ function parseVersionSpecifier(version) {
46
+ return version.startsWith(">=") ? {
47
+ specifier: ">=",
48
+ cleanVersion: version.slice(2)
49
+ } : version.startsWith(">") ? {
50
+ specifier: ">",
51
+ cleanVersion: version.slice(1)
52
+ } : version.startsWith("^") ? {
53
+ specifier: "^",
54
+ cleanVersion: version.slice(1)
55
+ } : version.startsWith("~") ? {
56
+ specifier: "~",
57
+ cleanVersion: version.slice(1)
58
+ } : version.startsWith("workspace:") ? {
59
+ specifier: "",
60
+ cleanVersion: version
61
+ } : {
62
+ specifier: "",
63
+ cleanVersion: version
64
+ };
65
+ }
66
+ function findPackageJsonFiles(root) {
67
+ var files = [],
68
+ rootPkgPath = (0, import_path.join)(root, "package.json");
69
+ (0, import_fs.existsSync)(rootPkgPath) && files.push(rootPkgPath);
70
+ try {
71
+ var result = (0, import_child_process.execSync)(`find "${root}" -name "package.json" -not -path "*/node_modules/*" -not -path "*/.git/*" 2>/dev/null`, {
72
+ encoding: "utf-8",
73
+ maxBuffer: 10485760
74
+ }),
75
+ foundFiles = result.trim().split(`
76
+ `).filter(Boolean);
77
+ files.push(...foundFiles.filter(function (f) {
78
+ return !files.includes(f);
79
+ }));
80
+ } catch {}
81
+ return files;
82
+ }
83
+ function findTamaguiPackages(root) {
84
+ var packageJsonFiles = findPackageJsonFiles(root),
85
+ packages = [],
86
+ _iteratorNormalCompletion = !0,
87
+ _didIteratorError = !1,
88
+ _iteratorError = void 0;
89
+ try {
90
+ for (var _iterator = packageJsonFiles[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
91
+ var filePath = _step.value;
92
+ try {
93
+ var content = (0, import_fs.readFileSync)(filePath, "utf-8"),
94
+ pkg = JSON.parse(content),
95
+ depTypes = ["dependencies", "devDependencies", "peerDependencies"],
96
+ _iteratorNormalCompletion1 = !0,
97
+ _didIteratorError1 = !1,
98
+ _iteratorError1 = void 0;
99
+ try {
100
+ for (var _iterator1 = depTypes[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
101
+ var depType = _step1.value,
102
+ deps = pkg[depType];
103
+ if (deps) {
104
+ var _iteratorNormalCompletion2 = !0,
105
+ _didIteratorError2 = !1,
106
+ _iteratorError2 = void 0;
107
+ try {
108
+ for (var _iterator2 = Object.entries(deps)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
109
+ var [name, version] = _step2.value;
110
+ if (typeof version == "string" && TAMAGUI_PACKAGES_PATTERN.test(name) && !version.startsWith("workspace:")) {
111
+ var {
112
+ specifier,
113
+ cleanVersion
114
+ } = parseVersionSpecifier(version);
115
+ packages.push({
116
+ name,
117
+ version: cleanVersion,
118
+ versionSpecifier: specifier,
119
+ filePath,
120
+ depType
121
+ });
122
+ }
123
+ }
124
+ } catch (err) {
125
+ _didIteratorError2 = !0, _iteratorError2 = err;
126
+ } finally {
127
+ try {
128
+ !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
129
+ } finally {
130
+ if (_didIteratorError2) throw _iteratorError2;
131
+ }
132
+ }
133
+ }
134
+ }
135
+ } catch (err) {
136
+ _didIteratorError1 = !0, _iteratorError1 = err;
137
+ } finally {
138
+ try {
139
+ !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
140
+ } finally {
141
+ if (_didIteratorError1) throw _iteratorError1;
142
+ }
143
+ }
144
+ } catch {}
145
+ }
146
+ } catch (err) {
147
+ _didIteratorError = !0, _iteratorError = err;
148
+ } finally {
149
+ try {
150
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
151
+ } finally {
152
+ if (_didIteratorError) throw _iteratorError;
153
+ }
154
+ }
155
+ return packages;
156
+ }
157
+ async function getLatestVersion() {
158
+ try {
159
+ var result = (0, import_child_process.execSync)("npm view tamagui version", {
160
+ encoding: "utf-8"
161
+ });
162
+ return result.trim();
163
+ } catch {
164
+ throw new Error("Failed to fetch latest tamagui version from npm");
165
+ }
166
+ }
167
+ function getCurrentVersion(packages) {
168
+ var versions = packages.map(function (p) {
169
+ return p.version;
170
+ });
171
+ if (versions.length === 0) return null;
172
+ var counts = /* @__PURE__ */new Map(),
173
+ _iteratorNormalCompletion = !0,
174
+ _didIteratorError = !1,
175
+ _iteratorError = void 0;
176
+ try {
177
+ for (var _iterator = versions[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
178
+ var v = _step.value;
179
+ counts.set(v, (counts.get(v) || 0) + 1);
180
+ }
181
+ } catch (err) {
182
+ _didIteratorError = !0, _iteratorError = err;
183
+ } finally {
184
+ try {
185
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
186
+ } finally {
187
+ if (_didIteratorError) throw _iteratorError;
188
+ }
189
+ }
190
+ var maxCount = 0,
191
+ mostCommon = versions[0],
192
+ _iteratorNormalCompletion1 = !0,
193
+ _didIteratorError1 = !1,
194
+ _iteratorError1 = void 0;
195
+ try {
196
+ for (var _iterator1 = counts[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
197
+ var [v1, count] = _step1.value;
198
+ count > maxCount && (maxCount = count, mostCommon = v1);
199
+ }
200
+ } catch (err) {
201
+ _didIteratorError1 = !0, _iteratorError1 = err;
202
+ } finally {
203
+ try {
204
+ !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
205
+ } finally {
206
+ if (_didIteratorError1) throw _iteratorError1;
207
+ }
208
+ }
209
+ return mostCommon;
210
+ }
211
+ function parseConventionalCommit(message) {
212
+ var match = message.match(/^(\w+)(?:\(([^)]+)\))?(!)?: (.+)$/);
213
+ if (!match) return null;
214
+ var [, type, scope, breaking, msg] = match,
215
+ validTypes = ["feat", "fix", "perf", "refactor", "docs", "chore", "test", "ci", "build", "style"];
216
+ return validTypes.includes(type) ? {
217
+ type,
218
+ scope,
219
+ message: msg,
220
+ breaking: !!breaking || message.toLowerCase().includes("breaking")
221
+ } : null;
222
+ }
223
+ function getChangelogFromGit(fromVersion, toVersion, debug) {
224
+ var commits = [];
225
+ try {
226
+ try {
227
+ (0, import_child_process.execSync)("git fetch --tags 2>/dev/null", {
228
+ encoding: "utf-8",
229
+ stdio: "pipe"
230
+ });
231
+ } catch {}
232
+ var fromTag = `v${fromVersion}`,
233
+ toTag = `v${toVersion}`;
234
+ debug && console.log(import_chalk.default.gray(` Looking for commits between ${fromTag} and ${toTag}...`));
235
+ var result;
236
+ try {
237
+ result = (0, import_child_process.execSync)(`git log ${fromTag}..${toTag} --pretty=format:"%H|%ad|%s" --date=short 2>/dev/null`, {
238
+ encoding: "utf-8",
239
+ maxBuffer: 10 * 1024 * 1024
240
+ });
241
+ } catch {
242
+ return debug && console.log(import_chalk.default.gray(" Tags not found, trying alternative approach...")), commits;
243
+ }
244
+ var lines = result.trim().split(`
245
+ `).filter(Boolean),
246
+ _iteratorNormalCompletion = !0,
247
+ _didIteratorError = !1,
248
+ _iteratorError = void 0;
249
+ try {
250
+ for (var _iterator = lines[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
251
+ var line = _step.value,
252
+ [hash, date, ...messageParts] = line.split("|"),
253
+ message = messageParts.join("|"),
254
+ parsed = parseConventionalCommit(message);
255
+ parsed && (["docs", "ci", "test", "build", "style"].includes(parsed.type) || commits.push({
256
+ hash: hash.slice(0, 7),
257
+ type: parsed.type,
258
+ scope: parsed.scope,
259
+ message: parsed.message,
260
+ breaking: parsed.breaking,
261
+ date
262
+ }));
263
+ }
264
+ } catch (err) {
265
+ _didIteratorError = !0, _iteratorError = err;
266
+ } finally {
267
+ try {
268
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
269
+ } finally {
270
+ if (_didIteratorError) throw _iteratorError;
271
+ }
272
+ }
273
+ } catch (err) {
274
+ debug && console.log(import_chalk.default.gray(` Could not fetch git history: ${err}`));
275
+ }
276
+ return commits;
277
+ }
278
+ async function getChangelogFromGitHub(fromVersion, toVersion, debug) {
279
+ try {
280
+ var response = await fetch(`https://api.github.com/repos/tamagui/tamagui/releases/tags/v${toVersion}`, {
281
+ headers: {
282
+ Accept: "application/vnd.github.v3+json",
283
+ "User-Agent": "tamagui-cli"
284
+ }
285
+ });
286
+ if (!response.ok) return debug && console.log(import_chalk.default.gray(` GitHub API returned ${response.status}`)), null;
287
+ var data = await response.json();
288
+ return data.body || null;
289
+ } catch (err) {
290
+ return debug && console.log(import_chalk.default.gray(` Could not fetch from GitHub: ${err}`)), null;
291
+ }
292
+ }
293
+ function formatChangelog(commits) {
294
+ if (commits.length === 0) return import_chalk.default.gray(" No changes found");
295
+ var grouped = /* @__PURE__ */new Map(),
296
+ _iteratorNormalCompletion = !0,
297
+ _didIteratorError = !1,
298
+ _iteratorError = void 0;
299
+ try {
300
+ for (var _iterator = commits[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
301
+ var commit = _step.value,
302
+ existing = grouped.get(commit.type) || [];
303
+ existing.push(commit), grouped.set(commit.type, existing);
304
+ }
305
+ } catch (err) {
306
+ _didIteratorError = !0, _iteratorError = err;
307
+ } finally {
308
+ try {
309
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
310
+ } finally {
311
+ if (_didIteratorError) throw _iteratorError;
312
+ }
313
+ }
314
+ var sortedTypes = Array.from(grouped.keys()).sort(function (a, b) {
315
+ var aIdx = COMMIT_TYPE_ORDER.indexOf(a),
316
+ bIdx = COMMIT_TYPE_ORDER.indexOf(b);
317
+ return (aIdx === -1 ? 999 : aIdx) - (bIdx === -1 ? 999 : bIdx);
318
+ }),
319
+ lines = [],
320
+ breakingChanges = commits.filter(function (c) {
321
+ return c.breaking;
322
+ });
323
+ if (breakingChanges.length > 0) {
324
+ lines.push(""), lines.push(import_chalk.default.red.bold(" BREAKING CHANGES"));
325
+ var _iteratorNormalCompletion1 = !0,
326
+ _didIteratorError1 = !1,
327
+ _iteratorError1 = void 0;
328
+ try {
329
+ for (var _iterator1 = breakingChanges[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
330
+ var commit1 = _step1.value,
331
+ scope = commit1.scope ? import_chalk.default.cyan(`(${commit1.scope})`) : "";
332
+ lines.push(` ${import_chalk.default.red("!")} ${scope} ${commit1.message} ${import_chalk.default.gray(`(${commit1.hash})`)}`);
333
+ }
334
+ } catch (err) {
335
+ _didIteratorError1 = !0, _iteratorError1 = err;
336
+ } finally {
337
+ try {
338
+ !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
339
+ } finally {
340
+ if (_didIteratorError1) throw _iteratorError1;
341
+ }
342
+ }
343
+ }
344
+ var typeLabels = {
345
+ feat: "Features",
346
+ fix: "Bug Fixes",
347
+ perf: "Performance",
348
+ refactor: "Refactoring",
349
+ docs: "Documentation",
350
+ chore: "Maintenance",
351
+ test: "Tests",
352
+ ci: "CI"
353
+ },
354
+ typeColors = {
355
+ feat: import_chalk.default.green,
356
+ fix: import_chalk.default.yellow,
357
+ perf: import_chalk.default.magenta,
358
+ refactor: import_chalk.default.blue,
359
+ docs: import_chalk.default.gray,
360
+ chore: import_chalk.default.gray,
361
+ test: import_chalk.default.gray,
362
+ ci: import_chalk.default.gray
363
+ },
364
+ _iteratorNormalCompletion2 = !0,
365
+ _didIteratorError2 = !1,
366
+ _iteratorError2 = void 0;
367
+ try {
368
+ for (var _iterator2 = sortedTypes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
369
+ var type = _step2.value,
370
+ typeCommits = grouped.get(type).filter(function (c) {
371
+ return !c.breaking;
372
+ });
373
+ if (typeCommits.length !== 0) {
374
+ var label = typeLabels[type] || type,
375
+ color = typeColors[type] || import_chalk.default.white;
376
+ lines.push(""), lines.push(color.bold(` ${label}`));
377
+ var _iteratorNormalCompletion3 = !0,
378
+ _didIteratorError3 = !1,
379
+ _iteratorError3 = void 0;
380
+ try {
381
+ for (var _iterator3 = typeCommits[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = !0) {
382
+ var commit2 = _step3.value,
383
+ scope1 = commit2.scope ? import_chalk.default.cyan(`(${commit2.scope})`) : "";
384
+ lines.push(` ${import_chalk.default.gray("-")} ${scope1} ${commit2.message} ${import_chalk.default.gray(`(${commit2.hash})`)}`);
385
+ }
386
+ } catch (err) {
387
+ _didIteratorError3 = !0, _iteratorError3 = err;
388
+ } finally {
389
+ try {
390
+ !_iteratorNormalCompletion3 && _iterator3.return != null && _iterator3.return();
391
+ } finally {
392
+ if (_didIteratorError3) throw _iteratorError3;
393
+ }
394
+ }
395
+ }
396
+ }
397
+ } catch (err) {
398
+ _didIteratorError2 = !0, _iteratorError2 = err;
399
+ } finally {
400
+ try {
401
+ !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
402
+ } finally {
403
+ if (_didIteratorError2) throw _iteratorError2;
404
+ }
405
+ }
406
+ return lines.join(`
407
+ `);
408
+ }
409
+ function displayPackageSummary(packages) {
410
+ console.log(""), console.log(import_chalk.default.bold("Found Tamagui packages:")), console.log("");
411
+ var byFile = /* @__PURE__ */new Map(),
412
+ _iteratorNormalCompletion = !0,
413
+ _didIteratorError = !1,
414
+ _iteratorError = void 0;
415
+ try {
416
+ for (var _iterator = packages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
417
+ var pkg = _step.value,
418
+ existing = byFile.get(pkg.filePath) || [];
419
+ existing.push(pkg), byFile.set(pkg.filePath, existing);
420
+ }
421
+ } catch (err) {
422
+ _didIteratorError = !0, _iteratorError = err;
423
+ } finally {
424
+ try {
425
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
426
+ } finally {
427
+ if (_didIteratorError) throw _iteratorError;
428
+ }
429
+ }
430
+ var allVersions = new Set(packages.map(function (p) {
431
+ return p.version;
432
+ })),
433
+ _iteratorNormalCompletion1 = !0,
434
+ _didIteratorError1 = !1,
435
+ _iteratorError1 = void 0;
436
+ try {
437
+ for (var _iterator1 = byFile[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
438
+ var [filePath, pkgs] = _step1.value,
439
+ relativePath = filePath.replace(process.cwd(), ".").replace(/^\.\//, "");
440
+ console.log(import_chalk.default.cyan(` ${relativePath}`));
441
+ var _iteratorNormalCompletion2 = !0,
442
+ _didIteratorError2 = !1,
443
+ _iteratorError2 = void 0;
444
+ try {
445
+ for (var _iterator2 = pkgs[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
446
+ var pkg1 = _step2.value,
447
+ versionDisplay = `${pkg1.versionSpecifier}${pkg1.version}`,
448
+ depTypeLabel = pkg1.depType === "devDependencies" ? import_chalk.default.gray(" (dev)") : pkg1.depType === "peerDependencies" ? import_chalk.default.gray(" (peer)") : "";
449
+ console.log(` ${import_chalk.default.white(pkg1.name)} ${import_chalk.default.yellow(versionDisplay)}${depTypeLabel}`);
450
+ }
451
+ } catch (err) {
452
+ _didIteratorError2 = !0, _iteratorError2 = err;
453
+ } finally {
454
+ try {
455
+ !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
456
+ } finally {
457
+ if (_didIteratorError2) throw _iteratorError2;
458
+ }
459
+ }
460
+ console.log("");
461
+ }
462
+ } catch (err) {
463
+ _didIteratorError1 = !0, _iteratorError1 = err;
464
+ } finally {
465
+ try {
466
+ !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
467
+ } finally {
468
+ if (_didIteratorError1) throw _iteratorError1;
469
+ }
470
+ }
471
+ if (allVersions.size > 1) {
472
+ console.log(import_chalk.default.yellow.bold("Warning: Version mismatch detected!")), console.log(import_chalk.default.yellow(" Found multiple versions:"));
473
+ var _iteratorNormalCompletion3 = !0,
474
+ _didIteratorError3 = !1,
475
+ _iteratorError3 = void 0;
476
+ try {
477
+ for (var _loop = function () {
478
+ var v = _step3.value,
479
+ count = packages.filter(function (p) {
480
+ return p.version === v;
481
+ }).length;
482
+ console.log(import_chalk.default.yellow(` - ${v} (${count} packages)`));
483
+ }, _iterator3 = allVersions[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = !0) _loop();
484
+ } catch (err) {
485
+ _didIteratorError3 = !0, _iteratorError3 = err;
486
+ } finally {
487
+ try {
488
+ !_iteratorNormalCompletion3 && _iterator3.return != null && _iterator3.return();
489
+ } finally {
490
+ if (_didIteratorError3) throw _iteratorError3;
491
+ }
492
+ }
493
+ console.log("");
494
+ }
495
+ }
496
+ function updatePackages(packages, newVersion, dryRun) {
497
+ var byFile = /* @__PURE__ */new Map(),
498
+ _iteratorNormalCompletion = !0,
499
+ _didIteratorError = !1,
500
+ _iteratorError = void 0;
501
+ try {
502
+ for (var _iterator = packages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
503
+ var pkg = _step.value,
504
+ existing = byFile.get(pkg.filePath) || [];
505
+ existing.push(pkg), byFile.set(pkg.filePath, existing);
506
+ }
507
+ } catch (err) {
508
+ _didIteratorError = !0, _iteratorError = err;
509
+ } finally {
510
+ try {
511
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
512
+ } finally {
513
+ if (_didIteratorError) throw _iteratorError;
514
+ }
515
+ }
516
+ var _iteratorNormalCompletion1 = !0,
517
+ _didIteratorError1 = !1,
518
+ _iteratorError1 = void 0;
519
+ try {
520
+ for (var _iterator1 = byFile[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
521
+ var [filePath, pkgs] = _step1.value,
522
+ content = (0, import_fs.readFileSync)(filePath, "utf-8"),
523
+ pkgJson = JSON.parse(content),
524
+ _iteratorNormalCompletion2 = !0,
525
+ _didIteratorError2 = !1,
526
+ _iteratorError2 = void 0;
527
+ try {
528
+ for (var _iterator2 = pkgs[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = !0) {
529
+ var pkg1 = _step2.value,
530
+ newVersionStr = `${pkg1.versionSpecifier}${newVersion}`;
531
+ pkgJson[pkg1.depType] && pkgJson[pkg1.depType][pkg1.name] && (pkgJson[pkg1.depType][pkg1.name] = newVersionStr);
532
+ }
533
+ } catch (err) {
534
+ _didIteratorError2 = !0, _iteratorError2 = err;
535
+ } finally {
536
+ try {
537
+ !_iteratorNormalCompletion2 && _iterator2.return != null && _iterator2.return();
538
+ } finally {
539
+ if (_didIteratorError2) throw _iteratorError2;
540
+ }
541
+ }
542
+ dryRun || (0, import_fs.writeFileSync)(filePath, JSON.stringify(pkgJson, null, 2) + `
543
+ `);
544
+ var relativePath = filePath.replace(process.cwd(), ".").replace(/^\.\//, "");
545
+ console.log(import_chalk.default.green(` ${dryRun ? "[dry-run] " : ""}Updated ${relativePath}`));
546
+ }
547
+ } catch (err) {
548
+ _didIteratorError1 = !0, _iteratorError1 = err;
549
+ } finally {
550
+ try {
551
+ !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
552
+ } finally {
553
+ if (_didIteratorError1) throw _iteratorError1;
554
+ }
555
+ }
556
+ }
557
+ async function upgrade() {
558
+ var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {},
559
+ {
560
+ from,
561
+ to,
562
+ changelogOnly,
563
+ dryRun,
564
+ debug
565
+ } = options,
566
+ root = process.cwd();
567
+ console.log(""), console.log(import_chalk.default.bold.blue("Tamagui Upgrade")), console.log("");
568
+ var packages = findTamaguiPackages(root);
569
+ if (packages.length === 0 && !changelogOnly) {
570
+ console.log(import_chalk.default.yellow("No Tamagui packages found in this workspace."));
571
+ return;
572
+ }
573
+ var fromVersion = from,
574
+ toVersion = to;
575
+ if (!fromVersion && packages.length > 0 && (fromVersion = getCurrentVersion(packages) || void 0), toVersion || (console.log(import_chalk.default.gray("Fetching latest version from npm...")), toVersion = await getLatestVersion()), fromVersion || (changelogOnly && (console.log(import_chalk.default.red("Error: --from version is required when using --changelog-only without packages")), process.exit(1)), fromVersion = toVersion), console.log(import_chalk.default.gray(` Current version: ${import_chalk.default.white(fromVersion)}`)), console.log(import_chalk.default.gray(` Target version: ${import_chalk.default.white(toVersion)}`)), console.log(""), packages.length > 0 && !changelogOnly && displayPackageSummary(packages), fromVersion !== toVersion) {
576
+ console.log(import_chalk.default.bold("Changelog:")), console.log(import_chalk.default.gray(` (${fromVersion} -> ${toVersion})`));
577
+ var commits = getChangelogFromGit(fromVersion, toVersion, debug);
578
+ if (commits.length > 0) console.log(formatChangelog(commits));else {
579
+ var githubChangelog = await getChangelogFromGitHub(fromVersion, toVersion, debug);
580
+ if (githubChangelog) {
581
+ console.log(""), console.log(import_chalk.default.gray(" (from GitHub release notes)"));
582
+ var lines = githubChangelog.split(`
583
+ `).slice(0, 50),
584
+ _iteratorNormalCompletion = !0,
585
+ _didIteratorError = !1,
586
+ _iteratorError = void 0;
587
+ try {
588
+ for (var _iterator = lines[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
589
+ var line = _step.value;
590
+ console.log(` ${line}`);
591
+ }
592
+ } catch (err) {
593
+ _didIteratorError = !0, _iteratorError = err;
594
+ } finally {
595
+ try {
596
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
597
+ } finally {
598
+ if (_didIteratorError) throw _iteratorError;
599
+ }
600
+ }
601
+ githubChangelog.split(`
602
+ `).length > 50 && console.log(import_chalk.default.gray(" ... (truncated, see full release notes on GitHub)"));
603
+ } else console.log(import_chalk.default.gray(" No changelog available. Check https://github.com/tamagui/tamagui/releases"));
604
+ }
605
+ console.log("");
606
+ } else {
607
+ console.log(import_chalk.default.green("Already on the latest version!"));
608
+ return;
609
+ }
610
+ changelogOnly || (console.log(import_chalk.default.bold(`Upgrading to ${toVersion}${dryRun ? " (dry run)" : ""}:`)), console.log(""), updatePackages(packages, toVersion, dryRun), console.log(""), dryRun ? (console.log(import_chalk.default.yellow("Dry run complete. No files were modified.")), console.log(import_chalk.default.gray("Remove --dry-run to perform the actual upgrade."))) : (console.log(import_chalk.default.green.bold("Upgrade complete!")), console.log(""), console.log(import_chalk.default.gray("Next steps:")), console.log(import_chalk.default.gray(" 1. Run your package manager install (npm install, yarn, pnpm install)")), console.log(import_chalk.default.gray(" 2. Review the changelog above for any breaking changes")), console.log(import_chalk.default.gray(" 3. Test your application"))), console.log(""));
611
+ }
612
+ //# sourceMappingURL=upgrade.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","upgrade_exports","__export","upgrade","module","exports","import_chalk","__toESM","require","import_child_process","import_fs","import_path","TAMAGUI_PACKAGES_PATTERN","COMMIT_TYPE_ORDER","parseVersionSpecifier","version","startsWith","specifier","cleanVersion","slice","findPackageJsonFiles","root","files","rootPkgPath","join","existsSync","push","result","execSync","encoding","maxBuffer","foundFiles","trim","split","filter","Boolean","f","includes","findTamaguiPackages","packageJsonFiles","packages","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","filePath","content","readFileSync","pkg","JSON","parse","depTypes","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","depType","deps","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","Object","entries","_step2","name","test","versionSpecifier","err","return","getLatestVersion","Error","getCurrentVersion","versions","map","p","length","counts","Map","v","set","get","maxCount","mostCommon","v1","count","parseConventionalCommit","message","match","type","scope","breaking","msg","validTypes","toLowerCase","getChangelogFromGit","fromVersion","toVersion","debug","commits","stdio","fromTag","toTag","console","log","default","gray","lines","line","hash","date","messageParts","parsed","getChangelogFromGitHub","response","fetch","headers","Accept","ok","status","data","json"],"sources":["../src/upgrade.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}