@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.
Files changed (69) hide show
  1. package/dist/cjs/cli.cjs +53 -35
  2. package/dist/cjs/commands/changed.cjs +133 -95
  3. package/dist/cjs/commands/docs.cjs +276 -203
  4. package/dist/cjs/commands/env-setup.cjs +45 -33
  5. package/dist/cjs/commands/onboard.cjs +668 -224
  6. package/dist/cjs/commands/run-all.cjs +54 -45
  7. package/dist/cjs/commands/run.cjs +80 -65
  8. package/dist/cjs/commands/script.cjs +263 -187
  9. package/dist/cjs/commands/skills.cjs +174 -118
  10. package/dist/cjs/commands/sync.cjs +193 -93
  11. package/dist/cjs/constants/ascii.cjs +14 -12
  12. package/dist/cjs/index.cjs +12 -10
  13. package/dist/cjs/types.cjs +7 -5
  14. package/dist/cjs/utils/env-categories.cjs +53 -48
  15. package/dist/cjs/utils/env-setup.cjs +214 -106
  16. package/dist/cjs/utils/env.cjs +65 -44
  17. package/dist/cjs/utils/files.cjs +186 -113
  18. package/dist/cjs/utils/parallel-runner.cjs +125 -75
  19. package/dist/cjs/utils/ports.cjs +21 -21
  20. package/dist/cjs/utils/prerequisites.cjs +42 -34
  21. package/dist/cjs/utils/prompts.cjs +66 -41
  22. package/dist/cjs/utils/script-listing.cjs +130 -60
  23. package/dist/cjs/utils/script-utils.cjs +29 -19
  24. package/dist/cjs/utils/sync.cjs +67 -45
  25. package/dist/esm/cli.mjs +40 -24
  26. package/dist/esm/cli.mjs.map +1 -1
  27. package/dist/esm/commands/changed.mjs +104 -68
  28. package/dist/esm/commands/changed.mjs.map +1 -1
  29. package/dist/esm/commands/docs.mjs +245 -174
  30. package/dist/esm/commands/docs.mjs.map +1 -1
  31. package/dist/esm/commands/env-setup.mjs +18 -8
  32. package/dist/esm/commands/env-setup.mjs.map +1 -1
  33. package/dist/esm/commands/onboard.mjs +631 -189
  34. package/dist/esm/commands/onboard.mjs.map +1 -1
  35. package/dist/esm/commands/run-all.mjs +26 -19
  36. package/dist/esm/commands/run-all.mjs.map +1 -1
  37. package/dist/esm/commands/run.mjs +52 -39
  38. package/dist/esm/commands/run.mjs.map +1 -1
  39. package/dist/esm/commands/script.mjs +230 -156
  40. package/dist/esm/commands/script.mjs.map +1 -1
  41. package/dist/esm/commands/skills.mjs +143 -89
  42. package/dist/esm/commands/skills.mjs.map +1 -1
  43. package/dist/esm/commands/sync.mjs +160 -62
  44. package/dist/esm/commands/sync.mjs.map +1 -1
  45. package/dist/esm/constants/ascii.mjs +2 -2
  46. package/dist/esm/constants/ascii.mjs.map +1 -1
  47. package/dist/esm/utils/env-categories.mjs +29 -26
  48. package/dist/esm/utils/env-categories.mjs.map +1 -1
  49. package/dist/esm/utils/env-setup.mjs +184 -78
  50. package/dist/esm/utils/env-setup.mjs.map +1 -1
  51. package/dist/esm/utils/env.mjs +50 -31
  52. package/dist/esm/utils/env.mjs.map +1 -1
  53. package/dist/esm/utils/files.mjs +171 -100
  54. package/dist/esm/utils/files.mjs.map +1 -1
  55. package/dist/esm/utils/parallel-runner.mjs +111 -63
  56. package/dist/esm/utils/parallel-runner.mjs.map +1 -1
  57. package/dist/esm/utils/ports.mjs +9 -11
  58. package/dist/esm/utils/ports.mjs.map +1 -1
  59. package/dist/esm/utils/prerequisites.mjs +30 -24
  60. package/dist/esm/utils/prerequisites.mjs.map +1 -1
  61. package/dist/esm/utils/prompts.mjs +40 -17
  62. package/dist/esm/utils/prompts.mjs.map +1 -1
  63. package/dist/esm/utils/script-listing.mjs +101 -33
  64. package/dist/esm/utils/script-listing.mjs.map +1 -1
  65. package/dist/esm/utils/script-utils.mjs +14 -6
  66. package/dist/esm/utils/script-utils.mjs.map +1 -1
  67. package/dist/esm/utils/sync.mjs +38 -18
  68. package/dist/esm/utils/sync.mjs.map +1 -1
  69. package/package.json +5 -5
@@ -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)) return "new";
12
- const sourceHash = getFileHash(sourcePath),
13
- targetHash = getFileHash(targetPath);
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") return console.info(pc.dim(` \u2713 ${file.name} (already up to date)`)), !1;
19
- const statusColor = file.status === "new" ? pc.green : pc.yellow,
20
- statusText = file.status === "new" ? "NEW" : "MODIFIED";
21
- if (console.info(), console.info(statusColor(` ${statusText}: ${file.name}`)), file.status === "modified") {
22
- const sourceSize = file.sourceSize || 0,
23
- targetSize = file.targetSize || 0,
24
- diff = sourceSize - targetSize;
25
- console.info(pc.dim(` Source: ${sourceSize} bytes`)), console.info(pc.dim(` Target: ${targetSize} bytes`)), diff > 0 ? console.info(pc.cyan(` Source is ${diff} bytes larger`)) : diff < 0 && console.info(pc.magenta(` Target is ${Math.abs(diff)} bytes larger`));
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: "Overwrite this file?",
30
- initialValue: !0
42
+ message: `Overwrite this file?`,
43
+ initialValue: true
31
44
  });
32
- if (shouldSync === !1 || typeof shouldSync == "symbol") return console.info(pc.dim(" \u2298 Skipped")), !1;
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) || mkdirSync(targetDir, {
35
- recursive: !0
36
- });
50
+ if (!existsSync(targetDir)) {
51
+ mkdirSync(targetDir, {
52
+ recursive: true
53
+ });
54
+ }
37
55
  const content = readFileSync(file.sourcePath);
38
- return writeFileSync(file.targetPath, content), console.info(pc.green(" \u2713 Synced")), !0;
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":"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","ignoreList":[]}
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",
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.3",
56
- "@take-out/run": "0.4.3",
57
- "@take-out/scripts": "0.4.3",
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.36",
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",