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 +149 -165
- package/dist/index.js.map +3 -3
- package/dist/index.native.js +149 -165
- package/dist/index.native.js.map +3 -3
- package/package.json +2 -2
- package/run.js +7 -3
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, $
|
|
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 = $
|
|
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 : $
|
|
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 = $
|
|
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
|
|
4738
|
+
var info2 = gen[key](arg), value = info2.value;
|
|
4739
4739
|
} catch (error) {
|
|
4740
4740
|
reject(error);
|
|
4741
4741
|
return;
|
|
4742
4742
|
}
|
|
4743
|
-
|
|
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
|
|
5254
|
+
var info2 = gen[key](arg), value = info2.value;
|
|
5255
5255
|
} catch (error) {
|
|
5256
5256
|
reject(error);
|
|
5257
5257
|
return;
|
|
5258
5258
|
}
|
|
5259
|
-
|
|
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
|
|
5420
|
+
var info2 = gen[key](arg), value = info2.value;
|
|
5421
5421
|
} catch (error) {
|
|
5422
5422
|
reject(error);
|
|
5423
5423
|
return;
|
|
5424
5424
|
}
|
|
5425
|
-
|
|
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
|
|
5660
|
+
var info2 = gen[key](arg), value = info2.value;
|
|
5661
5661
|
} catch (error) {
|
|
5662
5662
|
reject(error);
|
|
5663
5663
|
return;
|
|
5664
5664
|
}
|
|
5665
|
-
|
|
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 $
|
|
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
|
-
$
|
|
5957
|
-
$
|
|
5958
|
-
$
|
|
5959
|
-
$
|
|
5960
|
-
$
|
|
5961
|
-
$
|
|
5962
|
-
$
|
|
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
|
-
$
|
|
5969
|
-
$
|
|
5970
|
-
$
|
|
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
|
-
$
|
|
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
|
-
$
|
|
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
|
|
6011
|
+
var info2 = gen[key](arg), value = info2.value;
|
|
6012
6012
|
} catch (error) {
|
|
6013
6013
|
reject(error);
|
|
6014
6014
|
return;
|
|
6015
6015
|
}
|
|
6016
|
-
|
|
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
|
|
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 (
|
|
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
|
|
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:
|
|
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 $
|
|
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
|
-
$
|
|
7396
|
-
$
|
|
7397
|
-
$
|
|
7398
|
-
$
|
|
7399
|
-
$
|
|
7400
|
-
$
|
|
7401
|
-
$
|
|
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
|
-
$
|
|
7408
|
-
$
|
|
7409
|
-
$
|
|
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
|
-
$
|
|
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
|
-
$
|
|
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
|
|
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 (
|
|
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
|
|
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:
|
|
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((
|
|
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"),
|
|
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,
|
|
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()),
|
|
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 $
|
|
25997
|
+
let $3 = this._snapshot;
|
|
25998
25998
|
if (this.child)
|
|
25999
25999
|
return this;
|
|
26000
|
-
this._prerun(), $
|
|
26000
|
+
this._prerun(), $3.log({
|
|
26001
26001
|
kind: "cmd",
|
|
26002
26002
|
cmd: this._command,
|
|
26003
|
-
verbose: $
|
|
26004
|
-
}), this.child = $
|
|
26005
|
-
cwd: $
|
|
26006
|
-
shell: typeof $
|
|
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: $
|
|
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
|
-
$
|
|
26026
|
+
$3.log({ kind: "stdout", data, verbose: $3.verbose && !this._quiet }), stdout += data, combined += data;
|
|
26027
26027
|
}, onStderr = (data) => {
|
|
26028
|
-
$
|
|
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.
|
|
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.
|
|
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(),
|
|
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(), (
|
|
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(), (
|
|
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 (
|
|
31814
|
+
if (isInSubDir) {
|
|
31817
31815
|
let cmd = `git sparse-checkout set ${template.repo.dir[0] ?? "."}`;
|
|
31818
|
-
(
|
|
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
|
-
(
|
|
31820
|
+
exec(cmd2, {
|
|
31823
31821
|
cwd: targetGitDir
|
|
31824
|
-
}), console.info()
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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()),
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
32137
|
-
|
|
32138
|
-
|
|
32139
|
-
|
|
32140
|
-
|
|
32141
|
-
|
|
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
|
|
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
|
|
32166
|
+
var info = !!program.info;
|
|
32171
32167
|
async function run() {
|
|
32172
|
-
|
|
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))
|
|
32182
|
+
`), process.exit(1)), projectPath ||= await getProjectName(projectPath);
|
|
32179
32183
|
let template = await getTemplateInfo(program.template);
|
|
32180
|
-
|
|
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))),
|
|
32189
|
-
|
|
32190
|
-
|
|
32191
|
-
|
|
32192
|
-
|
|
32193
|
-
}
|
|
32194
|
-
|
|
32195
|
-
|
|
32196
|
-
|
|
32197
|
-
|
|
32198
|
-
|
|
32199
|
-
|
|
32200
|
-
|
|
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
|
-
|
|
32211
|
-
|
|
32212
|
-
|
|
32213
|
-
|
|
32214
|
-
|
|
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
|
-
|
|
32220
|
-
|
|
32221
|
-
|
|
32222
|
-
|
|
32223
|
-
|
|
32224
|
-
|
|
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
|
-
|
|
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");
|