@take-out/cli 0.4.3 → 0.4.5
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/cli.cjs +53 -35
- package/dist/cjs/commands/changed.cjs +133 -95
- package/dist/cjs/commands/docs.cjs +276 -203
- package/dist/cjs/commands/env-setup.cjs +45 -33
- package/dist/cjs/commands/onboard.cjs +668 -224
- package/dist/cjs/commands/run-all.cjs +54 -45
- package/dist/cjs/commands/run.cjs +80 -65
- package/dist/cjs/commands/script.cjs +263 -187
- package/dist/cjs/commands/skills.cjs +174 -118
- package/dist/cjs/commands/sync.cjs +193 -93
- package/dist/cjs/constants/ascii.cjs +14 -12
- package/dist/cjs/index.cjs +12 -10
- package/dist/cjs/types.cjs +7 -5
- package/dist/cjs/utils/env-categories.cjs +53 -48
- package/dist/cjs/utils/env-setup.cjs +214 -106
- package/dist/cjs/utils/env.cjs +65 -44
- package/dist/cjs/utils/files.cjs +186 -113
- package/dist/cjs/utils/parallel-runner.cjs +125 -75
- package/dist/cjs/utils/ports.cjs +21 -21
- package/dist/cjs/utils/prerequisites.cjs +42 -34
- package/dist/cjs/utils/prompts.cjs +66 -41
- package/dist/cjs/utils/script-listing.cjs +130 -60
- package/dist/cjs/utils/script-utils.cjs +29 -19
- package/dist/cjs/utils/sync.cjs +67 -45
- package/dist/esm/cli.mjs +40 -24
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/commands/changed.mjs +104 -68
- package/dist/esm/commands/changed.mjs.map +1 -1
- package/dist/esm/commands/docs.mjs +245 -174
- package/dist/esm/commands/docs.mjs.map +1 -1
- package/dist/esm/commands/env-setup.mjs +18 -8
- package/dist/esm/commands/env-setup.mjs.map +1 -1
- package/dist/esm/commands/onboard.mjs +631 -189
- package/dist/esm/commands/onboard.mjs.map +1 -1
- package/dist/esm/commands/run-all.mjs +26 -19
- package/dist/esm/commands/run-all.mjs.map +1 -1
- package/dist/esm/commands/run.mjs +52 -39
- package/dist/esm/commands/run.mjs.map +1 -1
- package/dist/esm/commands/script.mjs +230 -156
- package/dist/esm/commands/script.mjs.map +1 -1
- package/dist/esm/commands/skills.mjs +143 -89
- package/dist/esm/commands/skills.mjs.map +1 -1
- package/dist/esm/commands/sync.mjs +160 -62
- package/dist/esm/commands/sync.mjs.map +1 -1
- package/dist/esm/constants/ascii.mjs +2 -2
- package/dist/esm/constants/ascii.mjs.map +1 -1
- package/dist/esm/utils/env-categories.mjs +29 -26
- package/dist/esm/utils/env-categories.mjs.map +1 -1
- package/dist/esm/utils/env-setup.mjs +184 -78
- package/dist/esm/utils/env-setup.mjs.map +1 -1
- package/dist/esm/utils/env.mjs +50 -31
- package/dist/esm/utils/env.mjs.map +1 -1
- package/dist/esm/utils/files.mjs +171 -100
- package/dist/esm/utils/files.mjs.map +1 -1
- package/dist/esm/utils/parallel-runner.mjs +111 -63
- package/dist/esm/utils/parallel-runner.mjs.map +1 -1
- package/dist/esm/utils/ports.mjs +9 -11
- package/dist/esm/utils/ports.mjs.map +1 -1
- package/dist/esm/utils/prerequisites.mjs +30 -24
- package/dist/esm/utils/prerequisites.mjs.map +1 -1
- package/dist/esm/utils/prompts.mjs +40 -17
- package/dist/esm/utils/prompts.mjs.map +1 -1
- package/dist/esm/utils/script-listing.mjs +101 -33
- package/dist/esm/utils/script-listing.mjs.map +1 -1
- package/dist/esm/utils/script-utils.mjs +14 -6
- package/dist/esm/utils/script-utils.mjs.map +1 -1
- package/dist/esm/utils/sync.mjs +38 -18
- package/dist/esm/utils/sync.mjs.map +1 -1
- package/package.json +5 -5
package/dist/esm/utils/sync.mjs
CHANGED
|
@@ -8,34 +8,54 @@ function getFileHash(filePath) {
|
|
|
8
8
|
return createHash("md5").update(content).digest("hex");
|
|
9
9
|
}
|
|
10
10
|
function compareFiles(sourcePath, targetPath) {
|
|
11
|
-
if (!existsSync(targetPath))
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
if (!existsSync(targetPath)) {
|
|
12
|
+
return "new";
|
|
13
|
+
}
|
|
14
|
+
const sourceHash = getFileHash(sourcePath);
|
|
15
|
+
const targetHash = getFileHash(targetPath);
|
|
14
16
|
return sourceHash === targetHash ? "identical" : "modified";
|
|
15
17
|
}
|
|
16
18
|
async function syncFileWithConfirmation(file) {
|
|
17
19
|
const relPath = relative(process.cwd(), file.targetPath);
|
|
18
|
-
if (file.status === "identical")
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
if (file.status === "identical") {
|
|
21
|
+
console.info(pc.dim(` \u2713 ${file.name} (already up to date)`));
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
const statusColor = file.status === "new" ? pc.green : pc.yellow;
|
|
25
|
+
const statusText = file.status === "new" ? "NEW" : "MODIFIED";
|
|
26
|
+
console.info();
|
|
27
|
+
console.info(statusColor(` ${statusText}: ${file.name}`));
|
|
28
|
+
if (file.status === "modified") {
|
|
29
|
+
const sourceSize = file.sourceSize || 0;
|
|
30
|
+
const targetSize = file.targetSize || 0;
|
|
31
|
+
const diff = sourceSize - targetSize;
|
|
32
|
+
console.info(pc.dim(` Source: ${sourceSize} bytes`));
|
|
33
|
+
console.info(pc.dim(` Target: ${targetSize} bytes`));
|
|
34
|
+
if (diff > 0) {
|
|
35
|
+
console.info(pc.cyan(` Source is ${diff} bytes larger`));
|
|
36
|
+
} else if (diff < 0) {
|
|
37
|
+
console.info(pc.magenta(` Target is ${Math.abs(diff)} bytes larger`));
|
|
38
|
+
}
|
|
26
39
|
}
|
|
27
40
|
console.info(pc.dim(` \u2192 ${relPath}`));
|
|
28
41
|
const shouldSync = await confirm({
|
|
29
|
-
message:
|
|
30
|
-
initialValue:
|
|
42
|
+
message: `Overwrite this file?`,
|
|
43
|
+
initialValue: true
|
|
31
44
|
});
|
|
32
|
-
if (shouldSync ===
|
|
45
|
+
if (shouldSync === false || typeof shouldSync === "symbol") {
|
|
46
|
+
console.info(pc.dim(` \u2298 Skipped`));
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
33
49
|
const targetDir = dirname(file.targetPath);
|
|
34
|
-
existsSync(targetDir)
|
|
35
|
-
|
|
36
|
-
|
|
50
|
+
if (!existsSync(targetDir)) {
|
|
51
|
+
mkdirSync(targetDir, {
|
|
52
|
+
recursive: true
|
|
53
|
+
});
|
|
54
|
+
}
|
|
37
55
|
const content = readFileSync(file.sourcePath);
|
|
38
|
-
|
|
56
|
+
writeFileSync(file.targetPath, content);
|
|
57
|
+
console.info(pc.green(` \u2713 Synced`));
|
|
58
|
+
return true;
|
|
39
59
|
}
|
|
40
60
|
function getFileSize(filePath) {
|
|
41
61
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createHash","existsSync","readFileSync","writeFileSync","mkdirSync","statSync","relative","dirname","confirm","pc","getFileHash","filePath","content","update","digest","compareFiles","sourcePath","targetPath","sourceHash","targetHash","syncFileWithConfirmation","file","relPath","process","cwd","status","console","info","dim","name","statusColor","green","yellow","statusText","sourceSize","targetSize","diff","cyan","magenta","Math","abs","shouldSync","message","initialValue","targetDir","recursive","getFileSize","size"],"sources":["../../../src/utils/sync.ts"],"sourcesContent":[null],"mappings":"AAIA,SAASA,UAAA,QAAkB;AAC3B,SAASC,UAAA,EAAYC,YAAA,EAAcC,aAAA,EAAeC,SAAA,EAAWC,QAAA,QAAgB;AAC7E,SAAeC,QAAA,EAAUC,OAAA,QAAe;AAExC,SAASC,OAAA,QAAe;AACxB,OAAOC,EAAA,MAAQ;AAWR,SAASC,YAAYC,QAAA,EAA0B;EACpD,MAAMC,OAAA,GAAUV,YAAA,CAAaS,QAAQ;EACrC,OAAOX,UAAA,CAAW,KAAK,EAAEa,MAAA,CAAOD,OAAO,EAAEE,MAAA,CAAO,KAAK;AACvD;AAEO,SAASC,aACdC,UAAA,EACAC,UAAA,EACkC;EAClC,IAAI,CAAChB,UAAA,CAAWgB,UAAU,
|
|
1
|
+
{"version":3,"names":["createHash","existsSync","readFileSync","writeFileSync","mkdirSync","statSync","relative","dirname","confirm","pc","getFileHash","filePath","content","update","digest","compareFiles","sourcePath","targetPath","sourceHash","targetHash","syncFileWithConfirmation","file","relPath","process","cwd","status","console","info","dim","name","statusColor","green","yellow","statusText","sourceSize","targetSize","diff","cyan","magenta","Math","abs","shouldSync","message","initialValue","targetDir","recursive","getFileSize","size"],"sources":["../../../src/utils/sync.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@take-out/cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "CLI tools for Takeout starter kit - interactive onboarding and project setup",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"@clack/prompts": "^0.8.2",
|
|
55
|
-
"@take-out/docs": "0.4.
|
|
56
|
-
"@take-out/run": "0.4.
|
|
57
|
-
"@take-out/scripts": "0.4.
|
|
55
|
+
"@take-out/docs": "0.4.5",
|
|
56
|
+
"@take-out/run": "0.4.5",
|
|
57
|
+
"@take-out/scripts": "0.4.5",
|
|
58
58
|
"citty": "^0.1.6",
|
|
59
59
|
"picocolors": "^1.1.1"
|
|
60
60
|
},
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
|
-
"@tamagui/build": "2.0.0-rc.
|
|
70
|
+
"@tamagui/build": "2.0.0-rc.41",
|
|
71
71
|
"@types/node": "24.0.3",
|
|
72
72
|
"bun-types": "latest",
|
|
73
73
|
"oxfmt": "^0.16.0",
|