@take-out/cli 0.0.41 → 0.0.43
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/cjs/commands/changed.cjs +1 -1
- package/dist/cjs/commands/changed.js +1 -1
- package/dist/cjs/commands/changed.native.js +1 -1
- package/dist/cjs/commands/docs.cjs +5 -13
- package/dist/cjs/commands/docs.js +3 -13
- package/dist/cjs/commands/docs.js.map +2 -2
- package/dist/cjs/commands/docs.native.js +3 -14
- package/dist/cjs/commands/docs.native.js.map +2 -2
- package/dist/cjs/commands/run.cjs +18 -17
- package/dist/cjs/commands/run.js +8 -11
- package/dist/cjs/commands/run.js.map +2 -2
- package/dist/cjs/commands/run.native.js +10 -9
- package/dist/cjs/commands/run.native.js.map +2 -2
- package/dist/cjs/commands/sync.cjs +1 -1
- package/dist/cjs/commands/sync.js +1 -1
- package/dist/cjs/commands/sync.native.js +1 -1
- package/dist/cjs/utils/parallel-runner.cjs +9 -3
- package/dist/cjs/utils/parallel-runner.js +8 -3
- package/dist/cjs/utils/parallel-runner.js.map +1 -1
- package/dist/cjs/utils/parallel-runner.native.js +12 -3
- package/dist/cjs/utils/parallel-runner.native.js.map +1 -1
- package/dist/esm/commands/changed.js +1 -1
- package/dist/esm/commands/changed.mjs +1 -1
- package/dist/esm/commands/changed.native.js +1 -1
- package/dist/esm/commands/docs.js +4 -12
- package/dist/esm/commands/docs.js.map +2 -2
- package/dist/esm/commands/docs.mjs +5 -13
- package/dist/esm/commands/docs.mjs.map +1 -1
- package/dist/esm/commands/docs.native.js +5 -15
- package/dist/esm/commands/docs.native.js.map +1 -1
- package/dist/esm/commands/run.js +8 -11
- package/dist/esm/commands/run.js.map +2 -2
- package/dist/esm/commands/run.mjs +18 -17
- package/dist/esm/commands/run.mjs.map +1 -1
- package/dist/esm/commands/run.native.js +12 -9
- package/dist/esm/commands/run.native.js.map +1 -1
- package/dist/esm/commands/sync.js +1 -1
- package/dist/esm/commands/sync.mjs +1 -1
- package/dist/esm/commands/sync.native.js +1 -1
- package/dist/esm/utils/parallel-runner.js +8 -3
- package/dist/esm/utils/parallel-runner.js.map +1 -1
- package/dist/esm/utils/parallel-runner.mjs +9 -3
- package/dist/esm/utils/parallel-runner.mjs.map +1 -1
- package/dist/esm/utils/parallel-runner.native.js +12 -3
- package/dist/esm/utils/parallel-runner.native.js.map +1 -1
- package/package.json +4 -4
- package/src/commands/changed.ts +1 -1
- package/src/commands/docs.ts +6 -19
- package/src/commands/run.ts +6 -10
- package/src/commands/sync.ts +1 -1
- package/src/utils/parallel-runner.ts +34 -9
- package/types/commands/docs.d.ts.map +1 -1
- package/types/commands/run.d.ts.map +1 -1
- package/types/utils/parallel-runner.d.ts.map +1 -1
- package/docs/aggregates.md +0 -579
- package/docs/cloudflare-dev-tunnel.md +0 -41
- package/docs/database.md +0 -203
- package/docs/docs.md +0 -8
- package/docs/emitters.md +0 -562
- package/docs/hot-updater.md +0 -223
- package/docs/native-hot-update.md +0 -252
- package/docs/one-components.md +0 -234
- package/docs/one-hooks.md +0 -570
- package/docs/one-routes.md +0 -660
- package/docs/package-json.md +0 -115
- package/docs/react-native-navigation-flow.md +0 -184
- package/docs/scripts.md +0 -147
- package/docs/sync-prompt.md +0 -208
- package/docs/tamagui.md +0 -478
- package/docs/testing-integration.md +0 -564
- package/docs/triggers.md +0 -450
- package/docs/zero.md +0 -719
|
@@ -16,6 +16,11 @@ const colors = [
|
|
|
16
16
|
"\x1B[90m"
|
|
17
17
|
// Gray
|
|
18
18
|
], reset = "\x1B[0m";
|
|
19
|
+
function isBunShellNoise(line) {
|
|
20
|
+
const stripped = line.replace(/\x1b\[[0-9;]*m/g, "").trim();
|
|
21
|
+
return stripped.startsWith("ShellError:") || stripped.startsWith("exitCode:") || stripped.startsWith("stdout:") || stripped.startsWith("stderr:") || stripped.startsWith("at ShellPromise") || stripped.startsWith("at BunShell") || stripped.startsWith("Bun v") || /^\d+\s*\|/.test(stripped) || // source code lines like "24 | await $`..."
|
|
22
|
+
/^\s*\^$/.test(stripped);
|
|
23
|
+
}
|
|
19
24
|
async function runScriptsInParallel(scripts, options = {}) {
|
|
20
25
|
const { title, onError = "exit", maxParallelism = cpus().length } = options;
|
|
21
26
|
title && (console.info(), console.info(title), console.info());
|
|
@@ -53,13 +58,13 @@ function runSingleScript(script, colorIndex) {
|
|
|
53
58
|
const lines = dataStr.split(`
|
|
54
59
|
`);
|
|
55
60
|
for (const line of lines)
|
|
56
|
-
line && console.error(`${color}${prefixLabel}${reset} ${line}`);
|
|
61
|
+
line && !isBunShellNoise(line) && console.error(`${color}${prefixLabel}${reset} ${line}`);
|
|
57
62
|
}), proc.on("error", (error) => {
|
|
58
63
|
console.error(`${color}${prefixLabel}${reset} Failed to start: ${error.message}`), reject(error);
|
|
59
64
|
}), proc.on("close", (code) => {
|
|
60
|
-
code && code !== 0 ? (console.error(`${color}${prefixLabel}${reset} Process exited with code ${code}`), stderrBuffer.trim() && (console.error(`
|
|
65
|
+
code && code !== 0 ? (stderrBuffer.includes("ShellError") || stderrBuffer.includes("at BunShell") || (console.error(`${color}${prefixLabel}${reset} Process exited with code ${code}`), stderrBuffer.trim() && (console.error(`
|
|
61
66
|
${color}${prefixLabel}${reset} Error output:`), console.error("\x1B[90m" + "\u2500".repeat(80) + "\x1B[0m"), console.error(stderrBuffer), console.error("\x1B[90m" + "\u2500".repeat(80) + `\x1B[0m
|
|
62
|
-
`)), reject(new Error(`Script ${prefixLabel} failed with code ${code}`))) : (console.info(`${color}${prefixLabel}${reset} \x1B[32m\u2713 completed${reset}`), resolve());
|
|
67
|
+
`))), reject(new Error(`Script ${prefixLabel} failed with code ${code}`))) : (console.info(`${color}${prefixLabel}${reset} \x1B[32m\u2713 completed${reset}`), resolve());
|
|
63
68
|
});
|
|
64
69
|
});
|
|
65
70
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/parallel-runner.ts"],
|
|
4
|
-
"mappings": "AAIA,SAAS,aAAa;AACtB,SAAS,YAAY;AAErB,MAAM,SAAS;AAAA,EACb;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AACF,GAEM,QAAQ;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -16,6 +16,12 @@ const colors = ["\x1B[36m",
|
|
|
16
16
|
// Gray
|
|
17
17
|
],
|
|
18
18
|
reset = "\x1B[0m";
|
|
19
|
+
function isBunShellNoise(line) {
|
|
20
|
+
const stripped = line.replace(/\x1b\[[0-9;]*m/g, "").trim();
|
|
21
|
+
return stripped.startsWith("ShellError:") || stripped.startsWith("exitCode:") || stripped.startsWith("stdout:") || stripped.startsWith("stderr:") || stripped.startsWith("at ShellPromise") || stripped.startsWith("at BunShell") || stripped.startsWith("Bun v") || /^\d+\s*\|/.test(stripped) ||
|
|
22
|
+
// source code lines like "24 | await $`..."
|
|
23
|
+
/^\s*\^$/.test(stripped);
|
|
24
|
+
}
|
|
19
25
|
async function runScriptsInParallel(scripts, options = {}) {
|
|
20
26
|
const {
|
|
21
27
|
title,
|
|
@@ -62,13 +68,13 @@ function runSingleScript(script, colorIndex) {
|
|
|
62
68
|
stderrBuffer += dataStr;
|
|
63
69
|
const lines = dataStr.split(`
|
|
64
70
|
`);
|
|
65
|
-
for (const line of lines) line && console.error(`${color}${prefixLabel}${reset} ${line}`);
|
|
71
|
+
for (const line of lines) line && !isBunShellNoise(line) && console.error(`${color}${prefixLabel}${reset} ${line}`);
|
|
66
72
|
}), proc.on("error", error => {
|
|
67
73
|
console.error(`${color}${prefixLabel}${reset} Failed to start: ${error.message}`), reject(error);
|
|
68
74
|
}), proc.on("close", code => {
|
|
69
|
-
code && code !== 0 ? (console.error(`${color}${prefixLabel}${reset} Process exited with code ${code}`), stderrBuffer.trim() && (console.error(`
|
|
75
|
+
code && code !== 0 ? (stderrBuffer.includes("ShellError") || stderrBuffer.includes("at BunShell") || (console.error(`${color}${prefixLabel}${reset} Process exited with code ${code}`), stderrBuffer.trim() && (console.error(`
|
|
70
76
|
${color}${prefixLabel}${reset} Error output:`), console.error("\x1B[90m" + "\u2500".repeat(80) + "\x1B[0m"), console.error(stderrBuffer), console.error("\x1B[90m" + "\u2500".repeat(80) + `\x1B[0m
|
|
71
|
-
`)), reject(new Error(`Script ${prefixLabel} failed with code ${code}`))) : (console.info(`${color}${prefixLabel}${reset} \x1B[32m\u2713 completed${reset}`), resolve());
|
|
77
|
+
`))), reject(new Error(`Script ${prefixLabel} failed with code ${code}`))) : (console.info(`${color}${prefixLabel}${reset} \x1B[32m\u2713 completed${reset}`), resolve());
|
|
72
78
|
});
|
|
73
79
|
});
|
|
74
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["spawn","cpus","colors","reset","runScriptsInParallel","scripts","options","title","onError","maxParallelism","length","console","info","allPromises","executing","Set","i","script","scriptPromise","runSingleScript","finally","delete","push","add","size","Promise","race","failures","allSettled","filter","r","status","error","process","exit","colorIndex","resolve","reject","color","prefixLabel","name","proc","path","args","stdio","shell","env","FORCE_COLOR","detached","stderrBuffer","stdout","on","data","lines","toString","split","
|
|
1
|
+
{"version":3,"names":["spawn","cpus","colors","reset","isBunShellNoise","line","stripped","replace","trim","startsWith","test","runScriptsInParallel","scripts","options","title","onError","maxParallelism","length","console","info","allPromises","executing","Set","i","script","scriptPromise","runSingleScript","finally","delete","push","add","size","Promise","race","failures","allSettled","filter","r","status","error","process","exit","colorIndex","resolve","reject","color","prefixLabel","name","proc","path","args","stdio","shell","env","FORCE_COLOR","detached","stderrBuffer","stdout","on","data","lines","toString","split","stderr","dataStr","message","code","includes","repeat","Error"],"sources":["../../../src/utils/parallel-runner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,12 @@ var colors = ["\x1B[36m",
|
|
|
14
14
|
// Red
|
|
15
15
|
"\x1B[90m"],
|
|
16
16
|
reset = "\x1B[0m";
|
|
17
|
+
function isBunShellNoise(line) {
|
|
18
|
+
var stripped = line.replace(/\x1b\[[0-9;]*m/g, "").trim();
|
|
19
|
+
return stripped.startsWith("ShellError:") || stripped.startsWith("exitCode:") || stripped.startsWith("stdout:") || stripped.startsWith("stderr:") || stripped.startsWith("at ShellPromise") || stripped.startsWith("at BunShell") || stripped.startsWith("Bun v") || /^\d+\s*\|/.test(stripped) ||
|
|
20
|
+
// source code lines like "24 | await $`..."
|
|
21
|
+
/^\s*\^$/.test(stripped);
|
|
22
|
+
}
|
|
17
23
|
async function runScriptsInParallel(scripts) {
|
|
18
24
|
var _loop = async function (i2) {
|
|
19
25
|
var script = scripts[i2],
|
|
@@ -85,7 +91,7 @@ function runSingleScript(script, colorIndex) {
|
|
|
85
91
|
try {
|
|
86
92
|
for (var _iterator = lines[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
87
93
|
var line = _step.value;
|
|
88
|
-
line && console.error(`${color}${prefixLabel}${reset} ${line}`);
|
|
94
|
+
line && !isBunShellNoise(line) && console.error(`${color}${prefixLabel}${reset} ${line}`);
|
|
89
95
|
}
|
|
90
96
|
} catch (err) {
|
|
91
97
|
_didIteratorError = !0, _iteratorError = err;
|
|
@@ -99,9 +105,12 @@ function runSingleScript(script, colorIndex) {
|
|
|
99
105
|
}), proc.on("error", function (error) {
|
|
100
106
|
console.error(`${color}${prefixLabel}${reset} Failed to start: ${error.message}`), reject(error);
|
|
101
107
|
}), proc.on("close", function (code) {
|
|
102
|
-
code && code !== 0
|
|
108
|
+
if (code && code !== 0) {
|
|
109
|
+
var isBunShellError = stderrBuffer.includes("ShellError") || stderrBuffer.includes("at BunShell");
|
|
110
|
+
isBunShellError || (console.error(`${color}${prefixLabel}${reset} Process exited with code ${code}`), stderrBuffer.trim() && (console.error(`
|
|
103
111
|
${color}${prefixLabel}${reset} Error output:`), console.error("\x1B[90m" + "\u2500".repeat(80) + "\x1B[0m"), console.error(stderrBuffer), console.error("\x1B[90m" + "\u2500".repeat(80) + `\x1B[0m
|
|
104
|
-
`)), reject(new Error(`Script ${prefixLabel} failed with code ${code}`))
|
|
112
|
+
`))), reject(new Error(`Script ${prefixLabel} failed with code ${code}`));
|
|
113
|
+
} else console.info(`${color}${prefixLabel}${reset} \x1B[32m\u2713 completed${reset}`), resolve();
|
|
105
114
|
});
|
|
106
115
|
});
|
|
107
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["spawn","cpus","colors","reset","runScriptsInParallel","scripts","_loop","i2","script","scriptPromise","runSingleScript","finally","executing","delete","allPromises","push","add","size","maxParallelism","Promise","race","options","arguments","length","title","onError","console","info","Set","i","settledResults","allSettled","failures","filter","r","status","error","process","exit","colorIndex","resolve","reject","color","prefixLabel","name","proc","path","args","stdio","shell","env","FORCE_COLOR","detached","stderrBuffer","stdout","on","data","lines","toString","split","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","
|
|
1
|
+
{"version":3,"names":["spawn","cpus","colors","reset","isBunShellNoise","line","stripped","replace","trim","startsWith","test","runScriptsInParallel","scripts","_loop","i2","script","scriptPromise","runSingleScript","finally","executing","delete","allPromises","push","add","size","maxParallelism","Promise","race","options","arguments","length","title","onError","console","info","Set","i","settledResults","allSettled","failures","filter","r","status","error","process","exit","colorIndex","resolve","reject","color","prefixLabel","name","proc","path","args","stdio","shell","env","FORCE_COLOR","detached","stderrBuffer","stdout","on","data","lines","toString","split","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","value","err"],"sources":["../../../src/utils/parallel-runner.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,KAAA,QAAa;AACtB,SAASC,IAAA,QAAY;AAErB,IAAAC,MAAM,IACJ;EAAA;EACA;EAAA;EACA;EAAA;EACA;EAAA;EACA;EAAA;EACA;EAAA;EACA;EAAAC,KAAA;AACF,SAEMC,eAAQA,CAAAC,IAAA;EAGd,IAAAC,QAAS,GAAAD,IAAA,CAAAE,OAAgB,kBAAuB,MAAAC,IAAA;EAE9C,OAAMF,QAAA,CAAAG,UAAgB,cAAQ,KAAAH,QAAuB,CAAAG,UAAK,iBAAAH,QAAA,CAAAG,UAAA,eAAAH,QAAA,CAAAG,UAAA,eAAAH,QAAA,CAAAG,UAAA,uBAAAH,QAAA,CAAAG,UAAA,mBAAAH,QAAA,CAAAG,UAAA,yBAAAC,IAAA,CAAAJ,QAAA;EAAA;EAC1D,SACE,CAAAI,IAAA,CAAAJ,QAAS;AAOgB;AAG7B,eAAAK,qBAAAC,OAAA;EAQA,IAAAC,KAAA,kBAAAA,CAAsBC,EAAA;MAQpB,IAAMC,MAAE,GAAOH,OAAA,CAAAE,EAAU;QAAAE,aAAQ,GAAAC,eAAwB,CAAAF,MAAO,EAAID,EAAA,EAAAI,OAAA;UAEhEC,SACF,CAAAC,MAAQ,CAAAJ,aACA;QAIV;MAGAK,WAAa,CAAAC,IAAG,CAAAN,aAAY,GAAAG,SAAa,CAAAI,GAAA,CAAAP,aAAA,GAAAG,SAAA,CAAAK,IAAA,IAAAC,cAAA,WAAAC,OAAA,CAAAC,IAAA,CAAAR,SAAA;IACvC;IAAAS,OAAM,GAAAC,SAAS,CAAAC,MACT,QAAAD,SAAgB,iBAAgBA,SAAW,QAAQ;IAAA;MAAAE,KAAM;MAAAC,OAAA;MAAAP,cAAA,GAAAxB,IAAA,GAAA6B;IAAA,IAAAF,OAAA;EAC7DG,KAAA,KAAAE,OAAU,CAAAC,IAAO,IAAAD,OAAA,CAAaC,IAAA,CAAAH,KAAA,GAAAE,OAAA,CAAAC,IAAA;EAAA,KAC/B,IAAAb,WAAA,OAAAF,SAAA,sBAAAgB,GAAA,IAAAC,CAAA,MAAAA,CAAA,GAAAxB,OAAA,CAAAkB,MAAA,EAAAM,CAAA,UAAAvB,KAAA,CAAAuB,CAAA;EAED,IAAAC,cAAY,GAAK,MAAAX,OAAa,CAC9BY,UAAU,CAAAjB,WAAI;IAAAkB,QAEV,GAAAF,cAAkB,CAAAG,MAAA,WACpBC,CAAA;MAEJ,OAAAA,CAAA,CAAAC,MAAA;IAKA;EAEIH,QAAA,CAAST,MAAA,GAAS,KACpBG,OAAA,CAAQU,KAAA,CAAM;AAAA,EAAKxC,KAAK,kBAAaoC,QAAA,CAAST,MAAM,oBAAoB3B,KAAK;AAAA,CAAI,GAC7E6B,OAAA,KAAY,UACdY,OAAA,CAAQC,IAAA,CAAK,CAAC,KAGhBZ,OAAA,CAAQC,IAAA,CAAK;AAAA,EAAK/B,KAAK,oDAA+CA,KAAK;AAAA,CAAI;AAEnF;AAEA,SAASc,gBAAgBF,MAAA,EAAqB+B,UAAA,EAAmC;EAC/E,OAAO,IAAIpB,OAAA,CAAQ,UAACqB,OAAS,EAAAC,MAAW;IACtC,IAAAC,KAAM,GAAA/C,MAAQ,CAAA4C,UAAO,GAAA5C,MAAa,CAAA4B,MAAO;MAAMoB,WACzC,GAAAnC,MAAc,CAAAoC,IAAO;MAAAC,IAErB,GAAApD,KAAO,MAAM,GACjBe,MAAA,CAAOsC,IAAC,EACR,IAAAtC,MAAO,CAAAuC,IAAA,UACP;QACAC,KAAA,GACD,QAEG,QAEJ,MAAK,CACH;QAAwCC,KAAA;QACxCC,GAAA;UACM,GAAAb,OAAM,CAAAa,GAAA;UAIdC,WAAK,EAAO;QACV;QACAC,QAAA;MAEA;MAAAC,YAAc;IAAkBR,IAAA,CAAAS,MAAA,CAAAC,EAAA,mBAAAC,IAAA;MAChC,IAAAC,KAAA,GAAWD,IAAA,CAAAE,QAAQ,GAAAC,KAAA;AACjB;QAAAC,yBAAa,IAAgB;QAAAC,iBACnB,GAAM;QAAGC,cAAQ,QAAc;MAG5C,IAED;QACE,SAAQC,SAAS,GAAKN,KAAG,CAAAO,MAAA,CAAWC,QAAQ,KAAAC,KAAA,IAAAN,yBAC5C,IAAAM,KAAO,GAAKH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;UAGd,IAAK9D,IAAG,GAAAoE,KAAU,CAAAG,KAAA;UACZvE,IAAQ,IAAA4B,OAAS,CAAAC,IAIjB,IAAAe,KAAA,GAAaC,WAAS,GAAA/C,KAAA,IAAYE,IAAK;QAMb;MAO5B,SAAOwE,GAAI;QAKdT,iBAAA,OAAAC,cAAA,GAAAQ,GAAA;MACF;QACH","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@take-out/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.43",
|
|
4
4
|
"description": "CLI tools for Takeout starter kit - interactive onboarding and project setup",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
"src",
|
|
17
17
|
"types",
|
|
18
18
|
"dist",
|
|
19
|
-
"docs",
|
|
20
19
|
"scripts",
|
|
21
20
|
"cli.mjs"
|
|
22
21
|
],
|
|
@@ -51,7 +50,8 @@
|
|
|
51
50
|
},
|
|
52
51
|
"dependencies": {
|
|
53
52
|
"@clack/prompts": "^0.8.2",
|
|
54
|
-
"@take-out/
|
|
53
|
+
"@take-out/docs": "0.0.43",
|
|
54
|
+
"@take-out/scripts": "0.0.43",
|
|
55
55
|
"citty": "^0.1.6",
|
|
56
56
|
"picocolors": "^1.1.1"
|
|
57
57
|
},
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@tamagui/build": "
|
|
67
|
+
"@tamagui/build": "^2.0.0-1768869088163",
|
|
68
68
|
"@types/node": "24.0.3",
|
|
69
69
|
"bun-types": "latest",
|
|
70
70
|
"oxfmt": "^0.16.0",
|
package/src/commands/changed.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { join } from 'node:path'
|
|
|
9
9
|
import { defineCommand } from 'citty'
|
|
10
10
|
import pc from 'picocolors'
|
|
11
11
|
|
|
12
|
-
const UPSTREAM_REPO = 'tamagui/
|
|
12
|
+
const UPSTREAM_REPO = 'tamagui/takeout2'
|
|
13
13
|
const UPSTREAM_REMOTE = 'takeout-upstream'
|
|
14
14
|
const TAKEOUT_FILE = '.takeout'
|
|
15
15
|
|
package/src/commands/docs.ts
CHANGED
|
@@ -13,7 +13,8 @@ import {
|
|
|
13
13
|
unlinkSync,
|
|
14
14
|
writeFileSync,
|
|
15
15
|
} from 'node:fs'
|
|
16
|
-
import {
|
|
16
|
+
import { createRequire } from 'node:module'
|
|
17
|
+
import { dirname, join, relative } from 'node:path'
|
|
17
18
|
|
|
18
19
|
import { defineCommand } from 'citty'
|
|
19
20
|
import pc from 'picocolors'
|
|
@@ -25,23 +26,9 @@ import {
|
|
|
25
26
|
syncFileWithConfirmation,
|
|
26
27
|
} from '../utils/sync'
|
|
27
28
|
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
while (dir !== parse(dir).root) {
|
|
32
|
-
if (existsSync(join(dir, 'package.json'))) {
|
|
33
|
-
const pkg = JSON.parse(readFileSync(join(dir, 'package.json'), 'utf-8'))
|
|
34
|
-
if (pkg.name === '@take-out/cli') {
|
|
35
|
-
return dir
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
dir = join(dir, '..')
|
|
39
|
-
}
|
|
40
|
-
throw new Error('Could not find @take-out/cli package root')
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const PACKAGE_ROOT = findPackageRoot(import.meta.dirname)
|
|
44
|
-
const DOCS_DIR = join(PACKAGE_ROOT, 'docs')
|
|
29
|
+
// resolve docs directory from @take-out/docs package
|
|
30
|
+
const require = createRequire(import.meta.url)
|
|
31
|
+
const DOCS_DIR = dirname(require.resolve('@take-out/docs/package.json'))
|
|
45
32
|
|
|
46
33
|
const listCommand = defineCommand({
|
|
47
34
|
meta: {
|
|
@@ -149,7 +136,7 @@ const getCommand = defineCommand({
|
|
|
149
136
|
|
|
150
137
|
// print errors if any
|
|
151
138
|
if (errors.length > 0) {
|
|
152
|
-
for (const { name
|
|
139
|
+
for (const { name } of errors) {
|
|
153
140
|
console.error(pc.red(`✗ Doc file not found: ${name}`))
|
|
154
141
|
}
|
|
155
142
|
console.info()
|
package/src/commands/run.ts
CHANGED
|
@@ -106,11 +106,6 @@ export const runCommand = defineCommand({
|
|
|
106
106
|
const scriptPath = findScript(normalizedName)
|
|
107
107
|
|
|
108
108
|
if (scriptPath) {
|
|
109
|
-
// Run the filesystem script
|
|
110
|
-
const pc = (await import('picocolors')).default
|
|
111
|
-
console.info(pc.dim(`Running: ${normalizedName}`))
|
|
112
|
-
console.info()
|
|
113
|
-
|
|
114
109
|
// Use spawn instead of Bun's $ helper since we're in a compiled context
|
|
115
110
|
const scriptArgsToPass = scriptArgs.slice(1)
|
|
116
111
|
const child = spawn('bun', [scriptPath, ...scriptArgsToPass], {
|
|
@@ -118,10 +113,10 @@ export const runCommand = defineCommand({
|
|
|
118
113
|
shell: false,
|
|
119
114
|
})
|
|
120
115
|
|
|
121
|
-
|
|
122
|
-
|
|
116
|
+
const code = await new Promise<number>((resolve) => {
|
|
117
|
+
child.on('exit', (code) => resolve(code || 0))
|
|
123
118
|
})
|
|
124
|
-
|
|
119
|
+
process.exit(code)
|
|
125
120
|
}
|
|
126
121
|
}
|
|
127
122
|
|
|
@@ -160,8 +155,9 @@ export const runCommand = defineCommand({
|
|
|
160
155
|
shell: false,
|
|
161
156
|
})
|
|
162
157
|
|
|
163
|
-
|
|
164
|
-
|
|
158
|
+
const code = await new Promise<number>((resolve) => {
|
|
159
|
+
child.on('exit', (code) => resolve(code || 0))
|
|
165
160
|
})
|
|
161
|
+
process.exit(code)
|
|
166
162
|
},
|
|
167
163
|
})
|
package/src/commands/sync.ts
CHANGED
|
@@ -17,6 +17,23 @@ const colors = [
|
|
|
17
17
|
|
|
18
18
|
const reset = '\x1b[0m'
|
|
19
19
|
|
|
20
|
+
// filter out bun shell's verbose error output
|
|
21
|
+
function isBunShellNoise(line: string): boolean {
|
|
22
|
+
// eslint-disable-next-line no-control-regex
|
|
23
|
+
const stripped = line.replace(/\x1b\[[0-9;]*m/g, '').trim()
|
|
24
|
+
return (
|
|
25
|
+
stripped.startsWith('ShellError:') ||
|
|
26
|
+
stripped.startsWith('exitCode:') ||
|
|
27
|
+
stripped.startsWith('stdout:') ||
|
|
28
|
+
stripped.startsWith('stderr:') ||
|
|
29
|
+
stripped.startsWith('at ShellPromise') ||
|
|
30
|
+
stripped.startsWith('at BunShell') ||
|
|
31
|
+
stripped.startsWith('Bun v') ||
|
|
32
|
+
/^\d+\s*\|/.test(stripped) || // source code lines like "24 | await $`..."
|
|
33
|
+
/^\s*\^$/.test(stripped) // caret pointer line
|
|
34
|
+
)
|
|
35
|
+
}
|
|
36
|
+
|
|
20
37
|
interface ScriptToRun {
|
|
21
38
|
name: string
|
|
22
39
|
path: string
|
|
@@ -98,7 +115,9 @@ function runSingleScript(script: ScriptToRun, colorIndex: number): Promise<void>
|
|
|
98
115
|
|
|
99
116
|
const lines = dataStr.split('\n')
|
|
100
117
|
for (const line of lines) {
|
|
101
|
-
if (line
|
|
118
|
+
if (line && !isBunShellNoise(line)) {
|
|
119
|
+
console.error(`${color}${prefixLabel}${reset} ${line}`)
|
|
120
|
+
}
|
|
102
121
|
}
|
|
103
122
|
})
|
|
104
123
|
|
|
@@ -109,14 +128,20 @@ function runSingleScript(script: ScriptToRun, colorIndex: number): Promise<void>
|
|
|
109
128
|
|
|
110
129
|
proc.on('close', (code) => {
|
|
111
130
|
if (code && code !== 0) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
console.error(
|
|
119
|
-
|
|
131
|
+
// detect if this was a bun shell error (already printed inline)
|
|
132
|
+
// check for ShellError or the bun shell stack trace pattern
|
|
133
|
+
const isBunShellError =
|
|
134
|
+
stderrBuffer.includes('ShellError') || stderrBuffer.includes('at BunShell')
|
|
135
|
+
|
|
136
|
+
if (!isBunShellError) {
|
|
137
|
+
console.error(`${color}${prefixLabel}${reset} Process exited with code ${code}`)
|
|
138
|
+
|
|
139
|
+
if (stderrBuffer.trim()) {
|
|
140
|
+
console.error(`\n${color}${prefixLabel}${reset} Error output:`)
|
|
141
|
+
console.error('\x1b[90m' + '─'.repeat(80) + '\x1b[0m')
|
|
142
|
+
console.error(stderrBuffer)
|
|
143
|
+
console.error('\x1b[90m' + '─'.repeat(80) + '\x1b[0m\n')
|
|
144
|
+
}
|
|
120
145
|
}
|
|
121
146
|
|
|
122
147
|
reject(new Error(`Script ${prefixLabel} failed with code ${code}`))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0iBH,eAAO,MAAM,WAAW,qDAYtB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;;;;;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;;;;;EA4JrB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-runner.d.ts","sourceRoot":"","sources":["../../src/utils/parallel-runner.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"parallel-runner.d.ts","sourceRoot":"","sources":["../../src/utils/parallel-runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkCH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,WAAW,EAAE,EACtB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;CACnB,GACL,OAAO,CAAC,IAAI,CAAC,CAuCf"}
|