create-tamagui 1.86.2 → 1.86.4

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.
package/dist/index.js CHANGED
@@ -4447,7 +4447,7 @@ var require_opener = __commonJS({
4447
4447
  var require_kleur = __commonJS({
4448
4448
  "../../node_modules/kleur/index.js"(exports2, module2) {
4449
4449
  "use strict";
4450
- var { FORCE_COLOR, NODE_DISABLE_COLORS, TERM } = process.env, $2 = {
4450
+ var { FORCE_COLOR, NODE_DISABLE_COLORS, TERM } = process.env, $3 = {
4451
4451
  enabled: !NODE_DISABLE_COLORS && TERM !== "dumb" && FORCE_COLOR !== "0",
4452
4452
  // modifiers
4453
4453
  reset: init(0, 0),
@@ -4487,7 +4487,7 @@ var require_kleur = __commonJS({
4487
4487
  }
4488
4488
  function chain(has, keys) {
4489
4489
  let ctx = { has, keys };
4490
- return ctx.reset = $2.reset.bind(ctx), ctx.bold = $2.bold.bind(ctx), ctx.dim = $2.dim.bind(ctx), ctx.italic = $2.italic.bind(ctx), ctx.underline = $2.underline.bind(ctx), ctx.inverse = $2.inverse.bind(ctx), ctx.hidden = $2.hidden.bind(ctx), ctx.strikethrough = $2.strikethrough.bind(ctx), ctx.black = $2.black.bind(ctx), ctx.red = $2.red.bind(ctx), ctx.green = $2.green.bind(ctx), ctx.yellow = $2.yellow.bind(ctx), ctx.blue = $2.blue.bind(ctx), ctx.magenta = $2.magenta.bind(ctx), ctx.cyan = $2.cyan.bind(ctx), ctx.white = $2.white.bind(ctx), ctx.gray = $2.gray.bind(ctx), ctx.grey = $2.grey.bind(ctx), ctx.bgBlack = $2.bgBlack.bind(ctx), ctx.bgRed = $2.bgRed.bind(ctx), ctx.bgGreen = $2.bgGreen.bind(ctx), ctx.bgYellow = $2.bgYellow.bind(ctx), ctx.bgBlue = $2.bgBlue.bind(ctx), ctx.bgMagenta = $2.bgMagenta.bind(ctx), ctx.bgCyan = $2.bgCyan.bind(ctx), ctx.bgWhite = $2.bgWhite.bind(ctx), ctx;
4490
+ return ctx.reset = $3.reset.bind(ctx), ctx.bold = $3.bold.bind(ctx), ctx.dim = $3.dim.bind(ctx), ctx.italic = $3.italic.bind(ctx), ctx.underline = $3.underline.bind(ctx), ctx.inverse = $3.inverse.bind(ctx), ctx.hidden = $3.hidden.bind(ctx), ctx.strikethrough = $3.strikethrough.bind(ctx), ctx.black = $3.black.bind(ctx), ctx.red = $3.red.bind(ctx), ctx.green = $3.green.bind(ctx), ctx.yellow = $3.yellow.bind(ctx), ctx.blue = $3.blue.bind(ctx), ctx.magenta = $3.magenta.bind(ctx), ctx.cyan = $3.cyan.bind(ctx), ctx.white = $3.white.bind(ctx), ctx.gray = $3.gray.bind(ctx), ctx.grey = $3.grey.bind(ctx), ctx.bgBlack = $3.bgBlack.bind(ctx), ctx.bgRed = $3.bgRed.bind(ctx), ctx.bgGreen = $3.bgGreen.bind(ctx), ctx.bgYellow = $3.bgYellow.bind(ctx), ctx.bgBlue = $3.bgBlue.bind(ctx), ctx.bgMagenta = $3.bgMagenta.bind(ctx), ctx.bgCyan = $3.bgCyan.bind(ctx), ctx.bgWhite = $3.bgWhite.bind(ctx), ctx;
4491
4491
  }
4492
4492
  function init(open3, close) {
4493
4493
  let blk = {
@@ -4496,10 +4496,10 @@ var require_kleur = __commonJS({
4496
4496
  rgx: new RegExp(`\\x1b\\[${close}m`, "g")
4497
4497
  };
4498
4498
  return function(txt) {
4499
- return this !== void 0 && this.has !== void 0 ? (this.has.includes(open3) || (this.has.push(open3), this.keys.push(blk)), txt === void 0 ? this : $2.enabled ? run2(this.keys, txt + "") : txt + "") : txt === void 0 ? chain([open3], [blk]) : $2.enabled ? run2([blk], txt + "") : txt + "";
4499
+ return this !== void 0 && this.has !== void 0 ? (this.has.includes(open3) || (this.has.push(open3), this.keys.push(blk)), txt === void 0 ? this : $3.enabled ? run2(this.keys, txt + "") : txt + "") : txt === void 0 ? chain([open3], [blk]) : $3.enabled ? run2([blk], txt + "") : txt + "";
4500
4500
  };
4501
4501
  }
4502
- module2.exports = $2;
4502
+ module2.exports = $3;
4503
4503
  }
4504
4504
  });
4505
4505
 
@@ -4735,12 +4735,12 @@ var require_text = __commonJS({
4735
4735
  "use strict";
4736
4736
  function asyncGeneratorStep(gen, resolve7, reject, _next, _throw, key, arg) {
4737
4737
  try {
4738
- var info = gen[key](arg), value = info.value;
4738
+ var info2 = gen[key](arg), value = info2.value;
4739
4739
  } catch (error) {
4740
4740
  reject(error);
4741
4741
  return;
4742
4742
  }
4743
- info.done ? resolve7(value) : Promise.resolve(value).then(_next, _throw);
4743
+ info2.done ? resolve7(value) : Promise.resolve(value).then(_next, _throw);
4744
4744
  }
4745
4745
  function _asyncToGenerator(fn) {
4746
4746
  return function() {
@@ -5251,12 +5251,12 @@ var require_date = __commonJS({
5251
5251
  "use strict";
5252
5252
  function asyncGeneratorStep(gen, resolve7, reject, _next, _throw, key, arg) {
5253
5253
  try {
5254
- var info = gen[key](arg), value = info.value;
5254
+ var info2 = gen[key](arg), value = info2.value;
5255
5255
  } catch (error) {
5256
5256
  reject(error);
5257
5257
  return;
5258
5258
  }
5259
- info.done ? resolve7(value) : Promise.resolve(value).then(_next, _throw);
5259
+ info2.done ? resolve7(value) : Promise.resolve(value).then(_next, _throw);
5260
5260
  }
5261
5261
  function _asyncToGenerator(fn) {
5262
5262
  return function() {
@@ -5417,12 +5417,12 @@ var require_number = __commonJS({
5417
5417
  "use strict";
5418
5418
  function asyncGeneratorStep(gen, resolve7, reject, _next, _throw, key, arg) {
5419
5419
  try {
5420
- var info = gen[key](arg), value = info.value;
5420
+ var info2 = gen[key](arg), value = info2.value;
5421
5421
  } catch (error) {
5422
5422
  reject(error);
5423
5423
  return;
5424
5424
  }
5425
- info.done ? resolve7(value) : Promise.resolve(value).then(_next, _throw);
5425
+ info2.done ? resolve7(value) : Promise.resolve(value).then(_next, _throw);
5426
5426
  }
5427
5427
  function _asyncToGenerator(fn) {
5428
5428
  return function() {
@@ -5657,12 +5657,12 @@ var require_autocomplete = __commonJS({
5657
5657
  "use strict";
5658
5658
  function asyncGeneratorStep(gen, resolve7, reject, _next, _throw, key, arg) {
5659
5659
  try {
5660
- var info = gen[key](arg), value = info.value;
5660
+ var info2 = gen[key](arg), value = info2.value;
5661
5661
  } catch (error) {
5662
5662
  reject(error);
5663
5663
  return;
5664
5664
  }
5665
- info.done ? resolve7(value) : Promise.resolve(value).then(_next, _throw);
5665
+ info2.done ? resolve7(value) : Promise.resolve(value).then(_next, _throw);
5666
5666
  }
5667
5667
  function _asyncToGenerator(fn) {
5668
5668
  return function() {
@@ -5946,28 +5946,28 @@ var require_elements = __commonJS({
5946
5946
  var require_prompts = __commonJS({
5947
5947
  "../../node_modules/prompts/dist/prompts.js"(exports2) {
5948
5948
  "use strict";
5949
- var $2 = exports2, el = require_elements(), noop2 = (v) => v;
5949
+ var $3 = exports2, el = require_elements(), noop2 = (v) => v;
5950
5950
  function toPrompt(type, args, opts = {}) {
5951
5951
  return new Promise((res, rej) => {
5952
5952
  let p = new el[type](args), onAbort = opts.onAbort || noop2, onSubmit = opts.onSubmit || noop2;
5953
5953
  p.on("state", args.onState || noop2), p.on("submit", (x) => res(onSubmit(x))), p.on("abort", (x) => rej(onAbort(x)));
5954
5954
  });
5955
5955
  }
5956
- $2.text = (args) => toPrompt("TextPrompt", args);
5957
- $2.password = (args) => (args.style = "password", $2.text(args));
5958
- $2.invisible = (args) => (args.style = "invisible", $2.text(args));
5959
- $2.number = (args) => toPrompt("NumberPrompt", args);
5960
- $2.date = (args) => toPrompt("DatePrompt", args);
5961
- $2.confirm = (args) => toPrompt("ConfirmPrompt", args);
5962
- $2.list = (args) => {
5956
+ $3.text = (args) => toPrompt("TextPrompt", args);
5957
+ $3.password = (args) => (args.style = "password", $3.text(args));
5958
+ $3.invisible = (args) => (args.style = "invisible", $3.text(args));
5959
+ $3.number = (args) => toPrompt("NumberPrompt", args);
5960
+ $3.date = (args) => toPrompt("DatePrompt", args);
5961
+ $3.confirm = (args) => toPrompt("ConfirmPrompt", args);
5962
+ $3.list = (args) => {
5963
5963
  let sep2 = args.separator || ",";
5964
5964
  return toPrompt("TextPrompt", args, {
5965
5965
  onSubmit: (str) => str.split(sep2).map((s) => s.trim())
5966
5966
  });
5967
5967
  };
5968
- $2.toggle = (args) => toPrompt("TogglePrompt", args);
5969
- $2.select = (args) => toPrompt("SelectPrompt", args);
5970
- $2.multiselect = (args) => {
5968
+ $3.toggle = (args) => toPrompt("TogglePrompt", args);
5969
+ $3.select = (args) => toPrompt("SelectPrompt", args);
5970
+ $3.multiselect = (args) => {
5971
5971
  args.choices = [].concat(args.choices || []);
5972
5972
  let toSelected = (items) => items.filter((item) => item.selected).map((item) => item.value);
5973
5973
  return toPrompt("MultiselectPrompt", args, {
@@ -5975,7 +5975,7 @@ var require_prompts = __commonJS({
5975
5975
  onSubmit: toSelected
5976
5976
  });
5977
5977
  };
5978
- $2.autocompleteMultiselect = (args) => {
5978
+ $3.autocompleteMultiselect = (args) => {
5979
5979
  args.choices = [].concat(args.choices || []);
5980
5980
  let toSelected = (items) => items.filter((item) => item.selected).map((item) => item.value);
5981
5981
  return toPrompt("AutocompleteMultiselectPrompt", args, {
@@ -5984,7 +5984,7 @@ var require_prompts = __commonJS({
5984
5984
  });
5985
5985
  };
5986
5986
  var byTitle = (input, choices) => Promise.resolve(choices.filter((item) => item.title.slice(0, input.length).toLowerCase() === input.toLowerCase()));
5987
- $2.autocomplete = (args) => (args.suggest = args.suggest || byTitle, args.choices = [].concat(args.choices || []), toPrompt("AutocompletePrompt", args));
5987
+ $3.autocomplete = (args) => (args.suggest = args.suggest || byTitle, args.choices = [].concat(args.choices || []), toPrompt("AutocompletePrompt", args));
5988
5988
  }
5989
5989
  });
5990
5990
 
@@ -6008,12 +6008,12 @@ var require_dist = __commonJS({
6008
6008
  }
6009
6009
  function asyncGeneratorStep(gen, resolve7, reject, _next, _throw, key, arg) {
6010
6010
  try {
6011
- var info = gen[key](arg), value = info.value;
6011
+ var info2 = gen[key](arg), value = info2.value;
6012
6012
  } catch (error) {
6013
6013
  reject(error);
6014
6014
  return;
6015
6015
  }
6016
- info.done ? resolve7(value) : Promise.resolve(value).then(_next, _throw);
6016
+ info2.done ? resolve7(value) : Promise.resolve(value).then(_next, _throw);
6017
6017
  }
6018
6018
  function _asyncToGenerator(fn) {
6019
6019
  return function() {
@@ -6030,7 +6030,7 @@ var require_dist = __commonJS({
6030
6030
  });
6031
6031
  };
6032
6032
  }
6033
- var prompts6 = require_prompts(), passOn = ["suggest", "format", "onState", "validate", "onRender"], noop2 = () => {
6033
+ var prompts5 = require_prompts(), passOn = ["suggest", "format", "onState", "validate", "onRender"], noop2 = () => {
6034
6034
  };
6035
6035
  function prompt() {
6036
6036
  return _prompt.apply(this, arguments);
@@ -6067,14 +6067,14 @@ var require_dist = __commonJS({
6067
6067
  throw new Error("prompt message is required");
6068
6068
  var _question2 = question;
6069
6069
  if (name = _question2.name, type = _question2.type, !!type) {
6070
- if (prompts6[type] === void 0)
6070
+ if (prompts5[type] === void 0)
6071
6071
  throw new Error(`prompt type (${type}) is not defined`);
6072
6072
  if (override2[question.name] !== void 0 && (answer = yield getFormattedAnswer(question, override2[question.name]), answer !== void 0)) {
6073
6073
  answers[name] = answer;
6074
6074
  continue;
6075
6075
  }
6076
6076
  try {
6077
- answer = prompt._injected ? getInjectedAnswer(prompt._injected) : yield prompts6[type](question), answers[name] = answer = yield getFormattedAnswer(question, answer, !0), quit = yield onSubmit(question, answer, answers);
6077
+ answer = prompt._injected ? getInjectedAnswer(prompt._injected) : yield prompts5[type](question), answers[name] = answer = yield getFormattedAnswer(question, answer, !0), quit = yield onSubmit(question, answer, answers);
6078
6078
  } catch {
6079
6079
  quit = !(yield onCancel(question, answers));
6080
6080
  }
@@ -6109,7 +6109,7 @@ var require_dist = __commonJS({
6109
6109
  }
6110
6110
  module2.exports = Object.assign(prompt, {
6111
6111
  prompt,
6112
- prompts: prompts6,
6112
+ prompts: prompts5,
6113
6113
  inject,
6114
6114
  override
6115
6115
  });
@@ -7385,28 +7385,28 @@ var require_elements2 = __commonJS({
7385
7385
  var require_prompts2 = __commonJS({
7386
7386
  "../../node_modules/prompts/lib/prompts.js"(exports2) {
7387
7387
  "use strict";
7388
- var $2 = exports2, el = require_elements2(), noop2 = (v) => v;
7388
+ var $3 = exports2, el = require_elements2(), noop2 = (v) => v;
7389
7389
  function toPrompt(type, args, opts = {}) {
7390
7390
  return new Promise((res, rej) => {
7391
7391
  let p = new el[type](args), onAbort = opts.onAbort || noop2, onSubmit = opts.onSubmit || noop2;
7392
7392
  p.on("state", args.onState || noop2), p.on("submit", (x) => res(onSubmit(x))), p.on("abort", (x) => rej(onAbort(x)));
7393
7393
  });
7394
7394
  }
7395
- $2.text = (args) => toPrompt("TextPrompt", args);
7396
- $2.password = (args) => (args.style = "password", $2.text(args));
7397
- $2.invisible = (args) => (args.style = "invisible", $2.text(args));
7398
- $2.number = (args) => toPrompt("NumberPrompt", args);
7399
- $2.date = (args) => toPrompt("DatePrompt", args);
7400
- $2.confirm = (args) => toPrompt("ConfirmPrompt", args);
7401
- $2.list = (args) => {
7395
+ $3.text = (args) => toPrompt("TextPrompt", args);
7396
+ $3.password = (args) => (args.style = "password", $3.text(args));
7397
+ $3.invisible = (args) => (args.style = "invisible", $3.text(args));
7398
+ $3.number = (args) => toPrompt("NumberPrompt", args);
7399
+ $3.date = (args) => toPrompt("DatePrompt", args);
7400
+ $3.confirm = (args) => toPrompt("ConfirmPrompt", args);
7401
+ $3.list = (args) => {
7402
7402
  let sep2 = args.separator || ",";
7403
7403
  return toPrompt("TextPrompt", args, {
7404
7404
  onSubmit: (str) => str.split(sep2).map((s) => s.trim())
7405
7405
  });
7406
7406
  };
7407
- $2.toggle = (args) => toPrompt("TogglePrompt", args);
7408
- $2.select = (args) => toPrompt("SelectPrompt", args);
7409
- $2.multiselect = (args) => {
7407
+ $3.toggle = (args) => toPrompt("TogglePrompt", args);
7408
+ $3.select = (args) => toPrompt("SelectPrompt", args);
7409
+ $3.multiselect = (args) => {
7410
7410
  args.choices = [].concat(args.choices || []);
7411
7411
  let toSelected = (items) => items.filter((item) => item.selected).map((item) => item.value);
7412
7412
  return toPrompt("MultiselectPrompt", args, {
@@ -7414,7 +7414,7 @@ var require_prompts2 = __commonJS({
7414
7414
  onSubmit: toSelected
7415
7415
  });
7416
7416
  };
7417
- $2.autocompleteMultiselect = (args) => {
7417
+ $3.autocompleteMultiselect = (args) => {
7418
7418
  args.choices = [].concat(args.choices || []);
7419
7419
  let toSelected = (items) => items.filter((item) => item.selected).map((item) => item.value);
7420
7420
  return toPrompt("AutocompleteMultiselectPrompt", args, {
@@ -7425,7 +7425,7 @@ var require_prompts2 = __commonJS({
7425
7425
  var byTitle = (input, choices) => Promise.resolve(
7426
7426
  choices.filter((item) => item.title.slice(0, input.length).toLowerCase() === input.toLowerCase())
7427
7427
  );
7428
- $2.autocomplete = (args) => (args.suggest = args.suggest || byTitle, args.choices = [].concat(args.choices || []), toPrompt("AutocompletePrompt", args));
7428
+ $3.autocomplete = (args) => (args.suggest = args.suggest || byTitle, args.choices = [].concat(args.choices || []), toPrompt("AutocompletePrompt", args));
7429
7429
  }
7430
7430
  });
7431
7431
 
@@ -7433,7 +7433,7 @@ var require_prompts2 = __commonJS({
7433
7433
  var require_lib2 = __commonJS({
7434
7434
  "../../node_modules/prompts/lib/index.js"(exports2, module2) {
7435
7435
  "use strict";
7436
- var prompts6 = require_prompts2(), passOn = ["suggest", "format", "onState", "validate", "onRender"], noop2 = () => {
7436
+ var prompts5 = require_prompts2(), passOn = ["suggest", "format", "onState", "validate", "onRender"], noop2 = () => {
7437
7437
  };
7438
7438
  async function prompt(questions = [], { onSubmit = noop2, onCancel = noop2 } = {}) {
7439
7439
  let answers = {}, override2 = prompt._override || {};
@@ -7453,14 +7453,14 @@ var require_lib2 = __commonJS({
7453
7453
  if (typeof question.message != "string")
7454
7454
  throw new Error("prompt message is required");
7455
7455
  if ({ name, type } = question, !!type) {
7456
- if (prompts6[type] === void 0)
7456
+ if (prompts5[type] === void 0)
7457
7457
  throw new Error(`prompt type (${type}) is not defined`);
7458
7458
  if (override2[question.name] !== void 0 && (answer = await getFormattedAnswer(question, override2[question.name]), answer !== void 0)) {
7459
7459
  answers[name] = answer;
7460
7460
  continue;
7461
7461
  }
7462
7462
  try {
7463
- answer = prompt._injected ? getInjectedAnswer(prompt._injected) : await prompts6[type](question), answers[name] = answer = await getFormattedAnswer(question, answer, !0), quit = await onSubmit(question, answer, answers);
7463
+ answer = prompt._injected ? getInjectedAnswer(prompt._injected) : await prompts5[type](question), answers[name] = answer = await getFormattedAnswer(question, answer, !0), quit = await onSubmit(question, answer, answers);
7464
7464
  } catch {
7465
7465
  quit = !await onCancel(question, answers);
7466
7466
  }
@@ -7482,7 +7482,7 @@ var require_lib2 = __commonJS({
7482
7482
  function override(answers) {
7483
7483
  prompt._override = Object.assign({}, answers);
7484
7484
  }
7485
- module2.exports = Object.assign(prompt, { prompt, prompts: prompts6, inject, override });
7485
+ module2.exports = Object.assign(prompt, { prompt, prompts: prompts5, inject, override });
7486
7486
  }
7487
7487
  });
7488
7488
 
@@ -11265,7 +11265,7 @@ var require_partial = __commonJS({
11265
11265
  Object.defineProperty(exports2, "__esModule", { value: !0 });
11266
11266
  var matcher_1 = require_matcher(), PartialMatcher = class extends matcher_1.default {
11267
11267
  match(filepath) {
11268
- let parts = filepath.split("/"), levels = parts.length, patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels);
11268
+ let parts = filepath.split("/"), levels = parts.length, patterns = this._storage.filter((info2) => !info2.complete || info2.segments.length > levels);
11269
11269
  for (let pattern of patterns) {
11270
11270
  let section = pattern.sections[0];
11271
11271
  if (!pattern.complete && levels > section.length || parts.every((part, index) => {
@@ -22090,12 +22090,12 @@ var require_os_homedir = __commonJS({
22090
22090
  // ../../node_modules/osenv/osenv.js
22091
22091
  var require_osenv = __commonJS({
22092
22092
  "../../node_modules/osenv/osenv.js"(exports2) {
22093
- var isWindows = process.platform === "win32", path6 = require("path"), exec = require("child_process").exec, osTmpdir = require_os_tmpdir(), osHomedir = require_os_homedir();
22093
+ var isWindows = process.platform === "win32", path6 = require("path"), exec2 = require("child_process").exec, osTmpdir = require_os_tmpdir(), osHomedir = require_os_homedir();
22094
22094
  function memo(key, lookup, fallback) {
22095
22095
  var fell = !1, falling = !1;
22096
22096
  exports2[key] = function(cb) {
22097
22097
  var val = lookup();
22098
- return !val && !fell && !falling && fallback && (fell = !0, falling = !0, exec(fallback, function(er, output, stderr) {
22098
+ return !val && !fell && !falling && fallback && (fell = !0, falling = !0, exec2(fallback, function(er, output, stderr) {
22099
22099
  falling = !1, !er && (val = output.trim());
22100
22100
  })), exports2[key] = function(cb2) {
22101
22101
  return cb2 && process.nextTick(cb2.bind(null, null, val)), val;
@@ -25338,7 +25338,7 @@ var detect = async ({
25338
25338
  };
25339
25339
 
25340
25340
  // src/index.ts
25341
- var import_fs_extra2 = __toESM(require_lib()), import_opener = __toESM(require_opener()), import_prompts5 = __toESM(require_prompts3());
25341
+ var import_fs_extra2 = __toESM(require_lib()), import_opener = __toESM(require_opener()), import_prompts4 = __toESM(require_prompts3());
25342
25342
 
25343
25343
  // ../../node_modules/zx/build/core.js
25344
25344
  var import_node_assert = __toESM(require("node:assert"), 1), import_node_child_process = require("node:child_process"), import_node_async_hooks = require("node:async_hooks"), import_node_util2 = require("node:util");
@@ -25994,19 +25994,19 @@ var ProcessPromise = class _ProcessPromise extends Promise {
25994
25994
  }
25995
25995
  run() {
25996
25996
  var _a2, _b;
25997
- let $2 = this._snapshot;
25997
+ let $3 = this._snapshot;
25998
25998
  if (this.child)
25999
25999
  return this;
26000
- this._prerun(), $2.log({
26000
+ this._prerun(), $3.log({
26001
26001
  kind: "cmd",
26002
26002
  cmd: this._command,
26003
- verbose: $2.verbose && !this._quiet
26004
- }), this.child = $2.spawn($2.prefix + this._command, {
26005
- cwd: $2.cwd ?? $2[processCwd],
26006
- shell: typeof $2.shell == "string" ? $2.shell : !0,
26003
+ verbose: $3.verbose && !this._quiet
26004
+ }), this.child = $3.spawn($3.prefix + this._command, {
26005
+ cwd: $3.cwd ?? $3[processCwd],
26006
+ shell: typeof $3.shell == "string" ? $3.shell : !0,
26007
26007
  stdio: this._stdio,
26008
26008
  windowsHide: !0,
26009
- env: $2.env
26009
+ env: $3.env
26010
26010
  }), this.child.on("close", (code, signal) => {
26011
26011
  let message = `exit code: ${code}`;
26012
26012
  (code != 0 || signal != null) && (message = `${stderr || `
@@ -26023,9 +26023,9 @@ var ProcessPromise = class _ProcessPromise extends Promise {
26023
26023
  this._reject(new ProcessOutput(null, null, stdout, stderr, combined, message)), this._resolved = !0;
26024
26024
  });
26025
26025
  let stdout = "", stderr = "", combined = "", onStdout = (data) => {
26026
- $2.log({ kind: "stdout", data, verbose: $2.verbose && !this._quiet }), stdout += data, combined += data;
26026
+ $3.log({ kind: "stdout", data, verbose: $3.verbose && !this._quiet }), stdout += data, combined += data;
26027
26027
  }, onStderr = (data) => {
26028
- $2.log({ kind: "stderr", data, verbose: $2.verbose && !this._quiet }), stderr += data, combined += data;
26028
+ $3.log({ kind: "stderr", data, verbose: $3.verbose && !this._quiet }), stderr += data, combined += data;
26029
26029
  };
26030
26030
  if (this._piped || (_a2 = this.child.stdout) == null || _a2.on("data", onStdout), (_b = this.child.stderr) == null || _b.on("data", onStderr), this._postrun(), this._timeout && this._timeoutSignal) {
26031
26031
  let t = setTimeout(() => this.kill(this._timeoutSignal), this._timeout);
@@ -26372,7 +26372,7 @@ var globby2 = Object.assign(function(patterns, options) {
26372
26372
  // package.json
26373
26373
  var package_default = {
26374
26374
  name: "create-tamagui",
26375
- version: "1.86.1",
26375
+ version: "1.86.3",
26376
26376
  bin: "./run.js",
26377
26377
  main: "dist",
26378
26378
  files: [
@@ -26393,7 +26393,7 @@ var package_default = {
26393
26393
  devDependencies: {
26394
26394
  "@expo/package-manager": "^1.1.2",
26395
26395
  "@playwright/test": "^1.40.1",
26396
- "@tamagui/build": "1.86.1",
26396
+ "@tamagui/build": "1.86.3",
26397
26397
  "@types/async-retry": "1.4.2",
26398
26398
  "@types/cross-spawn": "^6.0.2",
26399
26399
  "@types/node": "^16.11.9",
@@ -26465,12 +26465,7 @@ ${char0_2}\u2003${char1_2}\u2003${char2_2}\u2003${char3_2}\u2003${char4_2}\u2003
26465
26465
  \u2588\u2588 \u2588\u2588
26466
26466
  \u2588\u2588 \u2588\u2588\u2588\u2588
26467
26467
  \u2588\u2588 \u2588\u2588
26468
- \u2588\u2588 \u2588\u2588
26469
- \u2588\u2588 \u2588\u2588
26470
- \u2588\u2588 \u2588\u2588
26471
- \u2588\u2588 \u2588\u2588
26472
- \u2588\u2588 \u2588\u2588\u2588\u2588 \u2588\u2588
26473
- \u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588 `;
26468
+ \u2588\u2588 \u2588\u2588 `;
26474
26469
 
26475
26470
  // src/helpers/cloneStarter.ts
26476
26471
  var import_child_process = require("child_process"), import_os2 = require("os"), import_path8 = require("path"), import_chalk7 = __toESM(require_source()), import_fs_extra = __toESM(require_lib());
@@ -31770,7 +31765,10 @@ var rimraf_ = wrap((path6, opt) => useNative(opt) ? rimrafNative(path6, opt) : r
31770
31765
  rimraf.rimraf = rimraf;
31771
31766
 
31772
31767
  // src/helpers/cloneStarter.ts
31773
- var open = require_opener(), home = (0, import_os2.homedir)(), tamaguiDir = (0, import_path8.join)(home, ".tamagui"), targetGitDir = "", cloneStarter = async (template, resolvedProjectPath, projectName) => {
31768
+ var open = require_opener(), exec = (cmd, options) => (0, import_child_process.execSync)(cmd, {
31769
+ stdio: process.env.DEBUG ? "inherit" : "ignore",
31770
+ ...options
31771
+ }), home = (0, import_os2.homedir)(), tamaguiDir = (0, import_path8.join)(home, ".tamagui"), targetGitDir = "", cloneStarter = async (template, resolvedProjectPath, projectName) => {
31774
31772
  targetGitDir = IS_TEST ? (0, import_path8.join)(tamaguiDir, "tamagui-test", template.repo.url.split("/").at(-1)) : (0, import_path8.join)(tamaguiDir, "tamagui", template.repo.url.split("/").at(-1)), console.info(), await setupTamaguiDotDir(template);
31775
31773
  let starterDir = (0, import_path8.join)(targetGitDir, ...template.repo.dir);
31776
31774
  console.info(), console.info(
@@ -31796,12 +31794,12 @@ async function setupTamaguiDotDir(template, isRetry = !1) {
31796
31794
  let sourceGitRepo = template.repo.url, sourceGitRepoSshFallback = template.repo.sshFallback, cmd = `git clone --branch ${branch} ${isInSubDir ? "--depth 1 --sparse --filter=blob:none " : ""}${sourceGitRepo} "${targetGitDir}"`;
31797
31795
  try {
31798
31796
  try {
31799
- console.info(`$ ${cmd}`), console.info(), (0, import_child_process.execSync)(cmd);
31797
+ console.info(`$ ${cmd}`), console.info(), exec(cmd);
31800
31798
  } catch (error) {
31801
31799
  if (cmd.includes("https://")) {
31802
31800
  console.info("https failed - trying with ssh now...");
31803
31801
  let sshCmd = cmd.replace(sourceGitRepo, sourceGitRepoSshFallback);
31804
- console.info(`$ ${sshCmd}`), console.info(), (0, import_child_process.execSync)(sshCmd);
31802
+ console.info(`$ ${sshCmd}`), console.info(), exec(sshCmd);
31805
31803
  } else
31806
31804
  throw error;
31807
31805
  }
@@ -31813,15 +31811,15 @@ async function setupTamaguiDotDir(template, isRetry = !1) {
31813
31811
  ), open("https://tamagui.dev/takeout"), process.exit(0)), error;
31814
31812
  }
31815
31813
  }
31816
- if (console.info(), console.info("Updating tamagui starters repo"), console.info(), isInSubDir) {
31814
+ if (isInSubDir) {
31817
31815
  let cmd = `git sparse-checkout set ${template.repo.dir[0] ?? "."}`;
31818
- (0, import_child_process.execSync)(cmd, { cwd: targetGitDir }), console.info(), console.info(`$ ${cmd}`);
31816
+ exec(cmd, { cwd: targetGitDir }), console.info();
31819
31817
  }
31820
31818
  try {
31821
31819
  let cmd2 = `git pull --rebase --allow-unrelated-histories --depth 1 origin ${branch}`;
31822
- (0, import_child_process.execSync)(cmd2, {
31820
+ exec(cmd2, {
31823
31821
  cwd: targetGitDir
31824
- }), console.info(), console.info(`$ ${cmd2}`);
31822
+ }), console.info();
31825
31823
  } catch (err) {
31826
31824
  console.info(
31827
31825
  `Error updating: ${err.message} ${isRetry ? `failing.
@@ -31860,20 +31858,13 @@ var getProjectName = async (projectPath2) => {
31860
31858
  });
31861
31859
  typeof res.path == "string" && (projectPath2 = res.path.trim());
31862
31860
  }
31863
- return projectPath2 || (console.log(), console.log("Please specify the project directory:"), console.log(` ${import_chalk8.default.cyan(package_default.name)} ${import_chalk8.default.green("<project-directory>")}`), console.log(), console.log("For example:"), console.log(` ${import_chalk8.default.cyan(package_default.name)} ${import_chalk8.default.green("my-tamagui-app")}`), console.log(), console.log(`Run ${import_chalk8.default.cyan(`${package_default.name} --help`)} to see all options.`), process.exit(1)), projectPath2;
31861
+ return projectPath2 || (console.info(), console.info("Please specify the project directory:"), console.info(
31862
+ ` ${import_chalk8.default.cyan(package_default.name)} ${import_chalk8.default.green("<project-directory>")}`
31863
+ ), console.info(), console.info("For example:"), console.info(` ${import_chalk8.default.cyan(package_default.name)} ${import_chalk8.default.green("my-tamagui-app")}`), console.info(), console.info(`Run ${import_chalk8.default.cyan(`${package_default.name} --help`)} to see all options.`), process.exit(1)), projectPath2;
31864
31864
  };
31865
31865
 
31866
- // src/helpers/getShouldUseGit.ts
31867
- var import_prompts2 = __toESM(require_prompts3());
31868
- var getShouldUseGit = async () => IS_TEST || !!(await (0, import_prompts2.default)({
31869
- type: "confirm",
31870
- name: "gitInit",
31871
- message: "Do you want to use git?",
31872
- initial: !0
31873
- })).gitInit;
31874
-
31875
31866
  // src/helpers/getTemplateInfo.ts
31876
- var import_prompts4 = __toESM(require_prompts3());
31867
+ var import_prompts3 = __toESM(require_prompts3());
31877
31868
 
31878
31869
  // src/templates.ts
31879
31870
  var import_fs14 = require("fs"), import_path11 = require("path"), import_chalk13 = __toESM(require_source());
@@ -31883,7 +31874,7 @@ var import_chalk9 = __toESM(require_source()), packageManager = "yarn", useYarn
31883
31874
  isFullClone && console.info(`
31884
31875
  ${import_chalk9.default.green.bold("Done!")} created a new project under ./${projectName}
31885
31876
 
31886
- cd into the project using:
31877
+ visit your project:
31887
31878
  ${import_chalk9.default.green("cd")} ${projectName}
31888
31879
  `), console.info(`
31889
31880
  To start the Next.js development server, run:
@@ -31897,7 +31888,7 @@ var main2 = async ({ isFullClone, projectName }) => {
31897
31888
  isFullClone && console.info(`
31898
31889
  ${import_chalk10.default.green.bold("Done!")} created a new project under ./${projectName}
31899
31890
 
31900
- cd into the project using:
31891
+ visit your project:
31901
31892
  ${import_chalk10.default.green("cd")} ${projectName}
31902
31893
  `);
31903
31894
  }, expo_router_default = main2;
@@ -31908,7 +31899,7 @@ var import_chalk11 = __toESM(require_source()), packageManager2 = "yarn", useYar
31908
31899
  "Done!"
31909
31900
  )} created a new project under ./${projectName}
31910
31901
 
31911
- cd into the project using:
31902
+ visit your project:
31912
31903
  ${import_chalk11.default.green("cd")} ${projectName}
31913
31904
  `), console.info(`
31914
31905
  To start the Next.js development server, run:
@@ -31930,7 +31921,7 @@ cd into the project using:
31930
31921
  }, starter_free_default = main3;
31931
31922
 
31932
31923
  // src/steps/takeout.ts
31933
- var import_child_process2 = require("child_process"), import_fs13 = require("fs"), import_promises2 = __toESM(require("fs/promises")), import_path10 = __toESM(require("path")), import_chalk12 = __toESM(require_source()), import_prompts3 = __toESM(require_prompts3());
31924
+ var import_child_process2 = require("child_process"), import_fs13 = require("fs"), import_promises2 = __toESM(require("fs/promises")), import_path10 = __toESM(require("path")), import_chalk12 = __toESM(require_source()), import_prompts2 = __toESM(require_prompts3());
31934
31925
  var packageManager3 = "yarn", useYarn3 = packageManager3 === "yarn", runCommand3 = (scriptName) => `${packageManager3} ${useYarn3 ? "" : "run "}${scriptName}`, main4 = async ({ isFullClone, projectName, projectPath: projectPath2 }) => {
31935
31926
  console.info(`
31936
31927
  ${tamaguiRainbowAsciiArt.split(`
@@ -31939,7 +31930,7 @@ ${tamaguiRainbowAsciiArt.split(`
31939
31930
  ${takeoutAsciiArt}
31940
31931
 
31941
31932
  `), console.info();
31942
- let { setupSupabase } = await (0, import_prompts3.default)({
31933
+ let { setupSupabase } = await (0, import_prompts2.default)({
31943
31934
  name: "setupSupabase",
31944
31935
  message: "Set up Supabase?",
31945
31936
  type: "confirm",
@@ -31947,7 +31938,7 @@ ${takeoutAsciiArt}
31947
31938
  });
31948
31939
  if (setupSupabase) {
31949
31940
  console.info();
31950
- let { startLocalSupabase } = await (0, import_prompts3.default)({
31941
+ let { startLocalSupabase } = await (0, import_prompts2.default)({
31951
31942
  name: "startLocalSupabase",
31952
31943
  type: "confirm",
31953
31944
  message: "Start local Supabase instance for you? (Requires Docker)",
@@ -31955,7 +31946,7 @@ ${takeoutAsciiArt}
31955
31946
  });
31956
31947
  if (startLocalSupabase && await runRetryableCommand("yarn supa start")) {
31957
31948
  console.info();
31958
- let { setUpSupabaseEnv } = await (0, import_prompts3.default)({
31949
+ let { setUpSupabaseEnv } = await (0, import_prompts2.default)({
31959
31950
  name: "setUpSupabaseEnv",
31960
31951
  type: "confirm",
31961
31952
  message: "Do you want us to add the local env variables for you? This will create a file called .env.local.",
@@ -31971,7 +31962,7 @@ ${takeoutAsciiArt}
31971
31962
  }
31972
31963
  }
31973
31964
  console.info();
31974
- let { setupRemoteSupabase } = await (0, import_prompts3.default)({
31965
+ let { setupRemoteSupabase } = await (0, import_prompts2.default)({
31975
31966
  name: "setupRemoteSupabase",
31976
31967
  type: "confirm",
31977
31968
  message: "Link remote Supabase instance for you? (Create a project on https://app.supabase.com/projects first)",
@@ -31982,13 +31973,13 @@ ${takeoutAsciiArt}
31982
31973
  isFullClone && console.info(`
31983
31974
  ${import_chalk12.default.green.bold("Done!")} created a new project under ./${projectName}
31984
31975
 
31985
- cd into the project using:
31976
+ visit your project:
31986
31977
  ${import_chalk12.default.green(" cd")} ${projectName}
31987
31978
  `), console.info(`
31988
31979
  To start the Next.js development server, run:
31989
31980
  ${import_chalk12.default.green(runCommand3("web"))}
31990
31981
 
31991
- To start developing with Expo Go, run:
31982
+ To start developing with Expo for native, run:
31992
31983
  ${import_chalk12.default.green(runCommand3("native"))}
31993
31984
 
31994
31985
  To start developing for Expo dev build, run:
@@ -32012,7 +32003,7 @@ async function runRetryableCommand(cmd, retriesCount = 0) {
32012
32003
  try {
32013
32004
  return (0, import_child_process2.execSync)(cmd, { stdio: "inherit" }), !0;
32014
32005
  } catch {
32015
- let { tryAgain } = await (0, import_prompts3.default)({
32006
+ let { tryAgain } = await (0, import_prompts2.default)({
32016
32007
  name: "tryAgain",
32017
32008
  message: "An error occurred. Do you want to try again?",
32018
32009
  type: "confirm",
@@ -32031,7 +32022,7 @@ async function runRetryableCommand(cmd, retriesCount = 0) {
32031
32022
  }
32032
32023
  }
32033
32024
  async function linkSupabase() {
32034
- let { supabaseRefId } = await (0, import_prompts3.default)({
32025
+ let { supabaseRefId } = await (0, import_prompts2.default)({
32035
32026
  name: "supabaseRefId",
32036
32027
  type: "text",
32037
32028
  message: "Enter your supabase project's ID (e.g. abcdefghijklmnopqrst)",
@@ -32042,7 +32033,7 @@ async function linkSupabase() {
32042
32033
  stdio: "inherit"
32043
32034
  }), !0;
32044
32035
  } catch {
32045
- let { tryAgain } = await (0, import_prompts3.default)({
32036
+ let { tryAgain } = await (0, import_prompts2.default)({
32046
32037
  name: "tryAgain",
32047
32038
  message: "An error occurred. Do you want to try again?",
32048
32039
  type: "confirm",
@@ -32133,12 +32124,15 @@ var repoRoot = (0, import_path11.join)(__dirname, "..", "..", ".."), starterFree
32133
32124
  ];
32134
32125
 
32135
32126
  // src/helpers/getTemplateInfo.ts
32136
- var getTemplateInfo = async (template) => (isTemplateValid(template) || (template = (await (0, import_prompts4.default)({
32137
- name: "template",
32138
- type: "select",
32139
- message: "Pick a template:",
32140
- choices: templates.filter((t) => !t.hidden)
32141
- })).template), typeof template != "string" || !isTemplateValid(template) ? (console.warn(`template ${template} is not valid.`), await getTemplateInfo(template)) : templates.find((t) => t.value === template)), isTemplateValid = (template) => typeof template == "string" && templates.some(({ value }) => value === template);
32127
+ var validTemplates = templates.map(({ value }) => value).join(", "), getTemplateInfo = async (template) => {
32128
+ let res = getValidTemplate(template);
32129
+ return template && !res && (console.warn(`template ${template} is not valid. valid options: ${validTemplates}`), process.exit(1)), res || (template = (await (0, import_prompts3.default)({
32130
+ name: "template",
32131
+ type: "select",
32132
+ message: "Pick a template:",
32133
+ choices: templates.filter((t) => !t.hidden)
32134
+ })).template), res = getValidTemplate(`${template}`), res || (console.warn(`template ${template} is not valid. valid options: ${validTemplates}`), process.exit(1)), res;
32135
+ }, getValidTemplate = (template) => typeof template == "string" && templates.find(({ value }) => value === template);
32142
32136
 
32143
32137
  // src/helpers/installDependencies.ts
32144
32138
  var PackageManager = __toESM(require_build());
@@ -32150,14 +32144,16 @@ async function installDependencies(projectRoot, packageManager4) {
32150
32144
  // src/index.ts
32151
32145
  var projectPath = "";
32152
32146
  IS_TEST && console.info("\u{1F9D0} Running create-tamagui in test mode \u{1F9D0}");
32147
+ function exit() {
32148
+ process.exit(0);
32149
+ }
32150
+ process.on("SIGTERM", exit);
32151
+ process.on("SIGINT", exit);
32153
32152
  var program = new import_commander.default.Command(package_default.name).version(package_default.version).arguments("<project-directory>").action((name) => {
32154
32153
  projectPath = name;
32155
- }).option(
32156
- "--skip-cloning",
32157
- "Skips the cloning and basic setup and goes directly to the setup specific to the starter. Use if you already have the starter wanna run the setup or see the instructions again."
32158
- ).option(
32154
+ }).option("--info", "Just shows the setup guide for the starter.").option(
32159
32155
  "--template <template>, -t <template>",
32160
- "Choose between starter-free, a more full featured template with Expo and Next.js, a simple client-only web starter that includes a nice simple example configuration to understand the basics more easily, or the premium Takeout \u{1F961} starter.",
32156
+ "Choose between four or more starter templates.",
32161
32157
  ""
32162
32158
  ).allowUnknownOption().usage(
32163
32159
  `${import_chalk14.default.green("<project-directory>")} [options]
@@ -32167,17 +32163,25 @@ Example usage:
32167
32163
  ${import_chalk14.default.blueBright(`npx ${package_default.name} next-expo`)}`
32168
32164
  ).parse(process.argv);
32169
32165
  process.argv.includes("--version") && (console.info(package_default.version), process.exit(0));
32170
- var skipCloning = !!program.skipCloning;
32166
+ var info = !!program.info;
32171
32167
  async function run() {
32172
- skipCloning || (console.info(), console.info(tamaguiRainbowAsciiArt), console.info(import_chalk14.default.bold("Creating tamagui app...")), parseFloat(
32168
+ if (info) {
32169
+ await (await getTemplateInfo(program.template)).extraSteps({
32170
+ isFullClone: !1,
32171
+ projectName: import_path12.default.basename((0, import_process.cwd)()),
32172
+ projectPath: (0, import_process.cwd)()
32173
+ });
32174
+ return;
32175
+ }
32176
+ console.info(), console.info(tamaguiRainbowAsciiArt), console.info(import_chalk14.default.bold("Creating tamagui app...")), parseFloat(
32173
32177
  (0, import_child_process3.execSync)("git --version").toString().replace("git version ", "").trim()
32174
32178
  ) < 2.27 && (console.error(`
32175
32179
 
32176
32180
  \u26A0\uFE0F Tamagui can't install: Git version must be >= 2.27
32177
32181
 
32178
- `), process.exit(1))), projectPath = skipCloning ? (0, import_process.cwd)() : await getProjectName(projectPath);
32182
+ `), process.exit(1)), projectPath ||= await getProjectName(projectPath);
32179
32183
  let template = await getTemplateInfo(program.template);
32180
- if (template.type === "premium" && ((await (0, import_prompts5.default)({
32184
+ template.type === "premium" && ((await (0, import_prompts4.default)({
32181
32185
  type: "confirm",
32182
32186
  name: "purchased",
32183
32187
  message: "Have you purchased Takeout on https://tamagui.dev/takeout"
@@ -32185,62 +32189,42 @@ async function run() {
32185
32189
  `
32186
32190
  Opening Takeout website - once you purchase you can restart the create process. Thank you!
32187
32191
  `
32188
- ), process.exit(0))), skipCloning)
32189
- await template.extraSteps({
32190
- isFullClone: !1,
32191
- projectName: import_path12.default.basename((0, import_process.cwd)()),
32192
- projectPath: (0, import_process.cwd)()
32193
- });
32194
- else {
32195
- console.info();
32196
- let resolvedProjectPath = import_path12.default.resolve(process.cwd(), projectPath), projectName = import_path12.default.basename(resolvedProjectPath), { valid, problems } = validateNpmName(projectName);
32197
- valid || (console.error(
32198
- `Could not create a project called ${import_chalk14.default.red(
32199
- `"${projectName}"`
32200
- )} because of npm naming restrictions:`
32201
- ), problems.forEach((p) => console.error(` ${import_chalk14.default.red.bold("*")} ${p}`)), process.exit(1)), import_fs15.default.existsSync(resolvedProjectPath) && (console.info(), console.info(
32202
- import_chalk14.default.red("\u{1F6A8} [tamagui] error"),
32203
- `You tried to make a project called ${import_chalk14.default.underline(
32204
- import_chalk14.default.blueBright(projectName)
32205
- )}, but a folder with that name already exists: ${import_chalk14.default.blueBright(
32206
- resolvedProjectPath
32207
- )}
32192
+ ), process.exit(0))), console.info();
32193
+ let resolvedProjectPath = import_path12.default.resolve(process.cwd(), projectPath), projectName = import_path12.default.basename(resolvedProjectPath), { valid, problems } = validateNpmName(projectName);
32194
+ valid || (console.error(
32195
+ `Could not create a project called ${import_chalk14.default.red(
32196
+ `"${projectName}"`
32197
+ )} because of npm naming restrictions:`
32198
+ ), problems.forEach((p) => console.error(` ${import_chalk14.default.red.bold("*")} ${p}`)), process.exit(1)), import_fs15.default.existsSync(resolvedProjectPath) && (console.info(), console.info(
32199
+ import_chalk14.default.red("\u{1F6A8} [tamagui] error"),
32200
+ `You tried to make a project called ${import_chalk14.default.underline(
32201
+ import_chalk14.default.blueBright(projectName)
32202
+ )}, but a folder with that name already exists: ${import_chalk14.default.blueBright(
32203
+ resolvedProjectPath
32204
+ )}
32208
32205
 
32209
32206
  ${import_chalk14.default.bold(import_chalk14.default.red("Please pick a different project name \u{1F978}"))}`
32210
- ), console.info(), console.info(), process.exit(1)), console.info(), console.info(`Creating a new tamagui app ${import_chalk14.default.blueBright(resolvedProjectPath)}...`), import_fs15.default.mkdirSync(resolvedProjectPath), console.info(import_chalk14.default.green(`${projectName} folder created.`));
32211
- let shouldGitInit = await getShouldUseGit();
32212
- try {
32213
- await cloneStarter(template, resolvedProjectPath, projectName), cd(resolvedProjectPath), console.info(), shouldGitInit && await $`git init`;
32214
- } catch (e) {
32215
- console.error(`[tamagui] Failed to copy example into ${resolvedProjectPath}
32207
+ ), console.info(), console.info(), process.exit(1)), console.info(), console.info(`Creating a new tamagui app ${import_chalk14.default.blueBright(resolvedProjectPath)}...`), import_fs15.default.mkdirSync(resolvedProjectPath), console.info(import_chalk14.default.green(`${projectName} folder created.`));
32208
+ try {
32209
+ await cloneStarter(template, resolvedProjectPath, projectName), cd(resolvedProjectPath), console.info();
32210
+ } catch (e) {
32211
+ console.error(`[tamagui] Failed to copy example into ${resolvedProjectPath}
32216
32212
 
32217
32213
  `, e), process.exit(1);
32218
- }
32219
- updatePackageJsonName(projectName, resolvedProjectPath), console.info("Installing packages. This might take a couple of minutes."), console.info();
32220
- let packageManager4 = ("packageManager" in template ? template.packageManager : void 0) || await detect();
32221
- try {
32222
- console.info("installing with " + packageManager4), await installDependencies(resolvedProjectPath, packageManager4);
32223
- } catch (e) {
32224
- console.error("[tamagui] error installing with " + packageManager4 + `
32214
+ }
32215
+ updatePackageJsonName(projectName, resolvedProjectPath), console.info("Installing packages. This might take a couple of minutes."), console.info();
32216
+ let packageManager4 = ("packageManager" in template ? template.packageManager : void 0) || await detect();
32217
+ try {
32218
+ console.info("installing with " + packageManager4), await installDependencies(resolvedProjectPath, packageManager4);
32219
+ } catch (e) {
32220
+ console.error("[tamagui] error installing with " + packageManager4 + `
32225
32221
  ${e}`), process.exit(1);
32226
- }
32227
- if (shouldGitInit)
32228
- try {
32229
- (0, import_child_process3.execSync)("git checkout -b main", { stdio: "ignore" }), (0, import_child_process3.execSync)("git add -A", { stdio: "ignore" }), (0, import_child_process3.execSync)('git commit -m "Initial commit from create-tamagui"', {
32230
- stdio: "ignore"
32231
- });
32232
- } catch (e) {
32233
- console.error(`[tamagui] Failed to create initial commit.
32234
-
32235
- `, e.message);
32236
- }
32237
- await template.extraSteps({
32238
- isFullClone: !0,
32239
- projectName,
32240
- projectPath: resolvedProjectPath
32241
- });
32242
32222
  }
32243
- console.info(), console.info(import_chalk14.default.gray(tamaguiDuckAsciiArt));
32223
+ await template.extraSteps({
32224
+ isFullClone: !0,
32225
+ projectName,
32226
+ projectPath: resolvedProjectPath
32227
+ }), console.info(), console.info(import_chalk14.default.gray(tamaguiDuckAsciiArt));
32244
32228
  }
32245
32229
  function updatePackageJsonName(projectName, dir) {
32246
32230
  let packageJsonPath = import_path12.default.join(dir, "package.json");