@take-out/cli 0.2.10 → 0.3.0

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 (114) hide show
  1. package/dist/cjs/cli.cjs +0 -0
  2. package/dist/esm/cli.mjs +0 -0
  3. package/dist/esm/index.js +1 -3
  4. package/dist/esm/index.js.map +1 -6
  5. package/package.json +7 -6
  6. package/src/commands/changed.ts +6 -6
  7. package/src/commands/onboard.ts +63 -63
  8. package/src/commands/run.ts +1 -1
  9. package/src/commands/script.ts +3 -3
  10. package/src/commands/skills.ts +6 -6
  11. package/src/commands/sync.ts +3 -3
  12. package/src/utils/env-setup.ts +8 -8
  13. package/src/utils/env.ts +3 -3
  14. package/src/utils/files.ts +6 -6
  15. package/src/utils/parallel-runner.ts +1 -1
  16. package/src/utils/prompts.ts +6 -6
  17. package/src/utils/script-listing.ts +5 -5
  18. package/src/utils/script-utils.ts +1 -1
  19. package/src/utils/sync.ts +1 -1
  20. package/src/withExpoModulesCoreSwift6Fix.cjs +58 -0
  21. package/dist/cjs/cli.js +0 -123
  22. package/dist/cjs/cli.js.map +0 -6
  23. package/dist/cjs/commands/changed.js +0 -214
  24. package/dist/cjs/commands/changed.js.map +0 -6
  25. package/dist/cjs/commands/docs.js +0 -174
  26. package/dist/cjs/commands/docs.js.map +0 -6
  27. package/dist/cjs/commands/env-setup.js +0 -78
  28. package/dist/cjs/commands/env-setup.js.map +0 -6
  29. package/dist/cjs/commands/onboard.js +0 -641
  30. package/dist/cjs/commands/onboard.js.map +0 -6
  31. package/dist/cjs/commands/run-all.js +0 -74
  32. package/dist/cjs/commands/run-all.js.map +0 -6
  33. package/dist/cjs/commands/run.js +0 -95
  34. package/dist/cjs/commands/run.js.map +0 -6
  35. package/dist/cjs/commands/script.js +0 -261
  36. package/dist/cjs/commands/script.js.map +0 -6
  37. package/dist/cjs/commands/skills.js +0 -168
  38. package/dist/cjs/commands/skills.js.map +0 -6
  39. package/dist/cjs/commands/sync.js +0 -187
  40. package/dist/cjs/commands/sync.js.map +0 -6
  41. package/dist/cjs/constants/ascii.js +0 -30
  42. package/dist/cjs/constants/ascii.js.map +0 -6
  43. package/dist/cjs/index.js +0 -21
  44. package/dist/cjs/index.js.map +0 -6
  45. package/dist/cjs/types.js +0 -14
  46. package/dist/cjs/types.js.map +0 -6
  47. package/dist/cjs/utils/env-categories.js +0 -296
  48. package/dist/cjs/utils/env-categories.js.map +0 -6
  49. package/dist/cjs/utils/env-setup.js +0 -190
  50. package/dist/cjs/utils/env-setup.js.map +0 -6
  51. package/dist/cjs/utils/env.js +0 -97
  52. package/dist/cjs/utils/env.js.map +0 -6
  53. package/dist/cjs/utils/files.js +0 -164
  54. package/dist/cjs/utils/files.js.map +0 -6
  55. package/dist/cjs/utils/parallel-runner.js +0 -113
  56. package/dist/cjs/utils/parallel-runner.js.map +0 -6
  57. package/dist/cjs/utils/ports.js +0 -81
  58. package/dist/cjs/utils/ports.js.map +0 -6
  59. package/dist/cjs/utils/prerequisites.js +0 -107
  60. package/dist/cjs/utils/prerequisites.js.map +0 -6
  61. package/dist/cjs/utils/prompts.js +0 -162
  62. package/dist/cjs/utils/prompts.js.map +0 -6
  63. package/dist/cjs/utils/script-listing.js +0 -97
  64. package/dist/cjs/utils/script-listing.js.map +0 -6
  65. package/dist/cjs/utils/script-utils.js +0 -82
  66. package/dist/cjs/utils/script-utils.js.map +0 -6
  67. package/dist/cjs/utils/sync.js +0 -70
  68. package/dist/cjs/utils/sync.js.map +0 -6
  69. package/dist/esm/cli.js +0 -106
  70. package/dist/esm/cli.js.map +0 -6
  71. package/dist/esm/commands/changed.js +0 -194
  72. package/dist/esm/commands/changed.js.map +0 -6
  73. package/dist/esm/commands/docs.js +0 -159
  74. package/dist/esm/commands/docs.js.map +0 -6
  75. package/dist/esm/commands/env-setup.js +0 -56
  76. package/dist/esm/commands/env-setup.js.map +0 -6
  77. package/dist/esm/commands/onboard.js +0 -655
  78. package/dist/esm/commands/onboard.js.map +0 -6
  79. package/dist/esm/commands/run-all.js +0 -53
  80. package/dist/esm/commands/run-all.js.map +0 -6
  81. package/dist/esm/commands/run.js +0 -74
  82. package/dist/esm/commands/run.js.map +0 -6
  83. package/dist/esm/commands/script.js +0 -255
  84. package/dist/esm/commands/script.js.map +0 -6
  85. package/dist/esm/commands/skills.js +0 -159
  86. package/dist/esm/commands/skills.js.map +0 -6
  87. package/dist/esm/commands/sync.js +0 -177
  88. package/dist/esm/commands/sync.js.map +0 -6
  89. package/dist/esm/constants/ascii.js +0 -14
  90. package/dist/esm/constants/ascii.js.map +0 -6
  91. package/dist/esm/types.js +0 -1
  92. package/dist/esm/types.js.map +0 -6
  93. package/dist/esm/utils/env-categories.js +0 -272
  94. package/dist/esm/utils/env-categories.js.map +0 -6
  95. package/dist/esm/utils/env-setup.js +0 -171
  96. package/dist/esm/utils/env-setup.js.map +0 -6
  97. package/dist/esm/utils/env.js +0 -83
  98. package/dist/esm/utils/env.js.map +0 -6
  99. package/dist/esm/utils/files.js +0 -150
  100. package/dist/esm/utils/files.js.map +0 -6
  101. package/dist/esm/utils/parallel-runner.js +0 -98
  102. package/dist/esm/utils/parallel-runner.js.map +0 -6
  103. package/dist/esm/utils/ports.js +0 -65
  104. package/dist/esm/utils/ports.js.map +0 -6
  105. package/dist/esm/utils/prerequisites.js +0 -91
  106. package/dist/esm/utils/prerequisites.js.map +0 -6
  107. package/dist/esm/utils/prompts.js +0 -139
  108. package/dist/esm/utils/prompts.js.map +0 -6
  109. package/dist/esm/utils/script-listing.js +0 -80
  110. package/dist/esm/utils/script-listing.js.map +0 -6
  111. package/dist/esm/utils/script-utils.js +0 -68
  112. package/dist/esm/utils/script-utils.js.map +0 -6
  113. package/dist/esm/utils/sync.js +0 -50
  114. package/dist/esm/utils/sync.js.map +0 -6
@@ -1,91 +0,0 @@
1
- import { execSync } from "node:child_process";
2
- function execCommand(command) {
3
- try {
4
- return execSync(command, {
5
- encoding: "utf-8",
6
- stdio: ["pipe", "pipe", "ignore"]
7
- }).trim();
8
- } catch {
9
- return null;
10
- }
11
- }
12
- function getVersion(command) {
13
- const output = execCommand(command);
14
- if (!output) return null;
15
- const match = output.match(/\d+\.\d+\.\d+/);
16
- return match ? match[0] : output;
17
- }
18
- function compareVersions(current, required) {
19
- const parseCurrent = current.replace(/^v/, "").split(".").map(Number), parseRequired = required.replace(/^v/, "").split(".").map(Number);
20
- for (let i = 0; i < 3; i++) {
21
- const curr = parseCurrent[i] || 0, req = parseRequired[i] || 0;
22
- if (curr > req) return !0;
23
- if (curr < req) return !1;
24
- }
25
- return !0;
26
- }
27
- function checkBun() {
28
- const version = getVersion("bun --version") ?? void 0, requiredVersion = "1.0.0", hasBunv = !!execCommand("bunv --version");
29
- let message = version ? compareVersions(version, requiredVersion) ? `Bun ${version} installed` : `Bun ${version} installed (${requiredVersion}+ recommended)` : "Bun not found";
30
- return version && !hasBunv && (message += " (consider installing bunv for auto version switching)"), {
31
- name: "Bun",
32
- required: !0,
33
- installed: !!version,
34
- version,
35
- requiredVersion,
36
- message,
37
- installUrl: "https://bun.sh",
38
- recommendation: hasBunv ? void 0 : "Install bunv to automatically switch bun versions: https://github.com/aklinker1/bunv"
39
- };
40
- }
41
- function checkNode() {
42
- const version = getVersion("node --version") ?? void 0, requiredVersion = "20.0.0", hasFnm = !!execCommand("fnm --version");
43
- let message = version ? compareVersions(version, requiredVersion) ? `Node.js ${version} installed` : `Node.js ${version} installed (${requiredVersion}+ recommended)` : "Node.js not found (optional)";
44
- return version && !hasFnm && (message += " (consider installing fnm for auto version switching)"), {
45
- name: "Node.js",
46
- required: !1,
47
- installed: !!version,
48
- version,
49
- requiredVersion,
50
- message,
51
- installUrl: "https://nodejs.org",
52
- recommendation: hasFnm ? void 0 : "Install fnm to automatically switch node versions: https://github.com/Schniz/fnm"
53
- };
54
- }
55
- function checkDocker() {
56
- const version = getVersion("docker --version") ?? void 0, isRunning = !!execCommand("docker ps");
57
- return {
58
- name: "Docker",
59
- required: !0,
60
- installed: !!version,
61
- version,
62
- message: version ? isRunning ? `Docker ${version} running` : "Docker installed but not running" : "Docker not found",
63
- installUrl: "https://docs.docker.com/get-docker/"
64
- };
65
- }
66
- function checkGit() {
67
- const version = getVersion("git --version") ?? void 0;
68
- return {
69
- name: "Git",
70
- required: !0,
71
- installed: !!version,
72
- version,
73
- message: version ? `Git ${version} installed` : "Git not found",
74
- installUrl: "https://git-scm.com"
75
- };
76
- }
77
- function checkAllPrerequisites() {
78
- return [checkBun(), checkNode(), checkDocker(), checkGit()];
79
- }
80
- function hasRequiredPrerequisites(checks) {
81
- return checks.filter((c) => c.required).every((c) => c.installed);
82
- }
83
- export {
84
- checkAllPrerequisites,
85
- checkBun,
86
- checkDocker,
87
- checkGit,
88
- checkNode,
89
- hasRequiredPrerequisites
90
- };
91
- //# sourceMappingURL=prerequisites.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utils/prerequisites.ts"],
4
- "mappings": "AAIA,SAAS,gBAAgB;AAIzB,SAAS,YAAY,SAAgC;AACnD,MAAI;AACF,WAAO,SAAS,SAAS;AAAA,MACvB,UAAU;AAAA,MACV,OAAO,CAAC,QAAQ,QAAQ,QAAQ;AAAA,IAClC,CAAC,EAAE,KAAK;AAAA,EACV,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,SAAS,WAAW,SAAgC;AAClD,QAAM,SAAS,YAAY,OAAO;AAClC,MAAI,CAAC,OAAQ,QAAO;AAGpB,QAAM,QAAQ,OAAO,MAAM,eAAe;AAC1C,SAAO,QAAQ,MAAM,CAAC,IAAI;AAC5B;AAEA,SAAS,gBAAgB,SAAiB,UAA2B;AACnE,QAAM,eAAe,QAAQ,QAAQ,MAAM,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,MAAM,GAC9D,gBAAgB,SAAS,QAAQ,MAAM,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,MAAM;AAEtE,WAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,UAAM,OAAO,aAAa,CAAC,KAAK,GAC1B,MAAM,cAAc,CAAC,KAAK;AAChC,QAAI,OAAO,IAAK,QAAO;AACvB,QAAI,OAAO,IAAK,QAAO;AAAA,EACzB;AACA,SAAO;AACT;AAEO,SAAS,WAA8B;AAC5C,QAAM,UAAU,WAAW,eAAe,KAAK,QACzC,kBAAkB,SAClB,UAAU,CAAC,CAAC,YAAY,gBAAgB;AAE9C,MAAI,UAAU,UACV,gBAAgB,SAAS,eAAe,IACtC,OAAO,OAAO,eACd,OAAO,OAAO,eAAe,eAAe,mBAC9C;AAEJ,SAAI,WAAW,CAAC,YACd,WAAW,2DAGN;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,WAAW,CAAC,CAAC;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,gBAAiB,UAEb,SADA;AAAA,EAEN;AACF;AAEO,SAAS,YAA+B;AAC7C,QAAM,UAAU,WAAW,gBAAgB,KAAK,QAC1C,kBAAkB,UAClB,SAAS,CAAC,CAAC,YAAY,eAAe;AAE5C,MAAI,UAAU,UACV,gBAAgB,SAAS,eAAe,IACtC,WAAW,OAAO,eAClB,WAAW,OAAO,eAAe,eAAe,mBAClD;AAEJ,SAAI,WAAW,CAAC,WACd,WAAW,0DAGN;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,WAAW,CAAC,CAAC;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,gBAAiB,SAEb,SADA;AAAA,EAEN;AACF;AAEO,SAAS,cAAiC;AAC/C,QAAM,UAAU,WAAW,kBAAkB,KAAK,QAC5C,YAAY,CAAC,CAAC,YAAY,WAAW;AAE3C,SAAO;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,WAAW,CAAC,CAAC;AAAA,IACb;AAAA,IACA,SAAU,UAEL,YAEC,UAAU,OAAO,aADjB,qCAFF;AAAA,IAIJ,YAAY;AAAA,EACd;AACF;AAEO,SAAS,WAA8B;AAC5C,QAAM,UAAU,WAAW,eAAe,KAAK;AAE/C,SAAO;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,WAAW,CAAC,CAAC;AAAA,IACb;AAAA,IACA,SAAS,UAAU,OAAO,OAAO,eAAe;AAAA,IAChD,YAAY;AAAA,EACd;AACF;AAEO,SAAS,wBAA6C;AAC3D,SAAO,CAAC,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;AAC5D;AAEO,SAAS,yBAAyB,QAAsC;AAC7E,SAAO,OAAO,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS;AAClE;",
5
- "names": []
6
- }
@@ -1,139 +0,0 @@
1
- import * as p from "@clack/prompts";
2
- import pc from "picocolors";
3
- function displayWelcome(projectName = "Takeout") {
4
- console.info(), p.intro(pc.bgCyan(pc.black(` ${projectName} Starter Kit `))), console.info(), p.note(
5
- pc.dim(
6
- `You can re-run 'bun onboard' anytime to reconfigure or skip to specific steps.
7
- No need to decide everything upfront!`
8
- ),
9
- pc.cyan("Tip")
10
- );
11
- }
12
- function displayOutro(message) {
13
- p.outro(pc.green(message));
14
- }
15
- function displayPrerequisites(checks) {
16
- const items = checks.map((check) => {
17
- const icon = check.installed ? pc.green("\u2713") : pc.red("\u2717"), message = check.message || "", recommendation = check.recommendation ? `
18
- ${pc.dim(check.recommendation)}` : "";
19
- return `${icon} ${pc.bold(check.name)}: ${message}${recommendation}`;
20
- });
21
- p.note(items.join(`
22
- `), "Prerequisites");
23
- }
24
- function displayPortConflicts(conflicts) {
25
- if (conflicts.length === 0) return;
26
- const items = conflicts.map((conflict) => {
27
- const pid = conflict.pid ? ` (PID: ${conflict.pid})` : "";
28
- return `${pc.yellow("\u26A0")} Port ${conflict.port} (${conflict.name})${pid}`;
29
- });
30
- p.note(items.join(`
31
- `), pc.yellow("Port Conflicts Detected"));
32
- }
33
- async function confirmContinue(message, defaultValue = !0) {
34
- const result = await p.confirm({
35
- message,
36
- initialValue: defaultValue
37
- });
38
- return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
39
- }
40
- async function promptText(message, defaultValue, placeholder) {
41
- const result = await p.text({
42
- message,
43
- defaultValue,
44
- placeholder
45
- });
46
- return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
47
- }
48
- async function promptPassword(message) {
49
- const result = await p.password({
50
- message
51
- });
52
- return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
53
- }
54
- async function promptSelect(message, options) {
55
- const result = await p.select({
56
- message,
57
- options
58
- });
59
- return p.isCancel(result) ? "cancel" : result;
60
- }
61
- async function promptStartStep() {
62
- return console.info(), console.info(pc.gray("What would you like to do?")), console.info(), promptSelect("Select starting point:", [
63
- {
64
- value: "full",
65
- label: "Complete setup",
66
- hint: "Run through all setup steps"
67
- },
68
- {
69
- value: "prerequisites",
70
- label: "Check prerequisites",
71
- hint: "Verify bun, docker, git, etc."
72
- },
73
- {
74
- value: "identity",
75
- label: "Project identity",
76
- hint: "Customize app name and bundle ID"
77
- },
78
- {
79
- value: "ports",
80
- label: "Check ports",
81
- hint: "Verify required ports are available"
82
- },
83
- {
84
- value: "eject",
85
- label: "Eject from monorepo",
86
- hint: "Remove ./packages, use published versions"
87
- },
88
- {
89
- value: "production",
90
- label: "Production deployment",
91
- hint: "Configure production environment and deployment"
92
- }
93
- ]);
94
- }
95
- async function promptOldSelect(message, options) {
96
- const result = await p.select({
97
- message,
98
- options
99
- });
100
- return p.isCancel(result) && (p.cancel("Operation cancelled."), process.exit(0)), result;
101
- }
102
- function showSpinner(message) {
103
- const s = p.spinner();
104
- return s.start(message), s;
105
- }
106
- function showError(message) {
107
- p.log.error(pc.red(message));
108
- }
109
- function showWarning(message) {
110
- p.log.warning(pc.yellow(message));
111
- }
112
- function showSuccess(message) {
113
- p.log.success(pc.green(message));
114
- }
115
- function showInfo(message) {
116
- p.log.info(pc.blue(message));
117
- }
118
- function showStep(message) {
119
- p.log.step(message);
120
- }
121
- export {
122
- confirmContinue,
123
- displayOutro,
124
- displayPortConflicts,
125
- displayPrerequisites,
126
- displayWelcome,
127
- promptOldSelect,
128
- promptPassword,
129
- promptSelect,
130
- promptStartStep,
131
- promptText,
132
- showError,
133
- showInfo,
134
- showSpinner,
135
- showStep,
136
- showSuccess,
137
- showWarning
138
- };
139
- //# sourceMappingURL=prompts.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utils/prompts.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,80 +0,0 @@
1
- import { existsSync, statSync } from "node:fs";
2
- import { join, relative } from "node:path";
3
- import { fileURLToPath } from "node:url";
4
- import pc from "picocolors";
5
- import {
6
- discoverScripts,
7
- getAllScriptMetadata,
8
- getLocalScriptsDir
9
- } from "./script-utils";
10
- function findScriptsPackageRoot() {
11
- try {
12
- const resolved = import.meta.resolve("@take-out/scripts/package.json"), packageJsonPath = fileURLToPath(new URL(resolved)), packageRoot = join(packageJsonPath, ".."), srcPath = join(packageRoot, "src");
13
- if (existsSync(srcPath))
14
- return srcPath;
15
- } catch {
16
- }
17
- return null;
18
- }
19
- function formatScriptList(title, scripts, metadata) {
20
- if (scripts.size === 0) return;
21
- console.info(), console.info(pc.bold(pc.cyan(title))), console.info();
22
- const categories = /* @__PURE__ */ new Map(), rootScripts = [];
23
- for (const [name, path] of scripts)
24
- if (name.includes("/")) {
25
- const category = name.split("/")[0];
26
- categories.has(category) || categories.set(category, []), categories.get(category).push([name, path]);
27
- } else
28
- rootScripts.push([name, path]);
29
- for (const [name] of rootScripts) {
30
- let line = ` ${pc.green(name)}`;
31
- const meta = metadata.get(name);
32
- meta?.description && (line += pc.dim(` - ${meta.description}`)), console.info(line);
33
- }
34
- for (const [category, categoryScripts] of categories) {
35
- console.info(), console.info(` ${pc.yellow(category)}/`);
36
- for (const [name] of categoryScripts) {
37
- const shortName = name.substring(category.length + 1);
38
- let line = ` ${pc.green(shortName)}`;
39
- const meta = metadata.get(name);
40
- meta?.description && (line += pc.dim(` - ${meta.description}`)), console.info(line);
41
- }
42
- }
43
- }
44
- async function listAllScripts(includeCommands = !0) {
45
- console.info(), console.info(pc.bold(pc.cyan("Takeout CLI - Project Scripts & Commands"))), console.info(), console.info(pc.dim(" Manage scripts, run tasks, and configure your project")), console.info(), includeCommands && (console.info(pc.bold(pc.cyan("Built-in Commands"))), console.info(), console.info(` ${pc.green("onboard")} - Setup wizard for new projects`), console.info(` ${pc.green("docs")} - View documentation`), console.info(` ${pc.green("env:setup")} - Setup environment variables`), console.info(` ${pc.green("run")} - Run scripts in parallel`), console.info(` ${pc.green("script")} - Manage and run scripts`), console.info(` ${pc.green("skills")} - Manage Claude Code skills`), console.info(` ${pc.green("sync")} - Sync fork with upstream Takeout`), console.info(` ${pc.green("changed")} - Show changes since last sync`), console.info(` ${pc.green("completion")} - Shell completion setup`));
46
- const localScripts = discoverScripts(getLocalScriptsDir()), builtInDir = findScriptsPackageRoot(), builtInScripts = builtInDir ? discoverScripts(builtInDir) : /* @__PURE__ */ new Map(), allScripts = new Map([...localScripts, ...builtInScripts]), metadata = await getAllScriptMetadata(allScripts);
47
- localScripts.size > 0 && formatScriptList("Local Scripts", localScripts, metadata), builtInScripts.size > 0 && formatScriptList("Built-in Scripts", builtInScripts, metadata), localScripts.size === 0 && builtInScripts.size === 0 && (console.info(), console.info(pc.yellow("No scripts found")), console.info(), console.info(
48
- pc.dim(`Create scripts in ${relative(process.cwd(), getLocalScriptsDir())}/`)
49
- ), console.info(pc.dim("Or install @take-out/scripts package for built-in scripts"))), console.info(), console.info(pc.bold("Usage:")), console.info(
50
- ` ${pc.cyan("tko <command>")} ${pc.dim("Run a built-in command")}`
51
- ), console.info(
52
- ` ${pc.cyan("tko <script-name>")} ${pc.dim("Execute direct script")}`
53
- ), console.info(
54
- ` ${pc.cyan("tko <group> <script>")} ${pc.dim("Execute nested script")}`
55
- ), console.info(` ${pc.cyan("tko script new <path>")} ${pc.dim("Create a new script")}`), console.info();
56
- }
57
- async function listCategoryScripts(categoryName) {
58
- const localDir = getLocalScriptsDir(), categoryPath = join(localDir, categoryName);
59
- if (existsSync(categoryPath) && statSync(categoryPath).isDirectory()) {
60
- const categoryScripts = discoverScripts(categoryPath);
61
- if (categoryScripts.size > 0) {
62
- const metadata = await getAllScriptMetadata(categoryScripts);
63
- console.info(), console.info(pc.bold(pc.cyan(`${categoryName} Scripts`))), console.info();
64
- for (const [name] of categoryScripts) {
65
- const shortName = name.replace(`${categoryName}/`, ""), meta = metadata.get(name);
66
- let line = ` ${pc.green(shortName)}`;
67
- meta?.description && (line += pc.dim(` - ${meta.description}`)), meta?.args && meta.args.length > 0 && (line += pc.dim(` [${meta.args.join(", ")}]`)), console.info(line);
68
- }
69
- console.info(), console.info(pc.dim(`Run: tko ${categoryName}/<name> [args...] to execute`)), console.info();
70
- } else
71
- console.info(), console.info(pc.yellow(`No scripts found in ${categoryName}/`)), console.info();
72
- return !0;
73
- }
74
- return !1;
75
- }
76
- export {
77
- listAllScripts,
78
- listCategoryScripts
79
- };
80
- //# sourceMappingURL=script-listing.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utils/script-listing.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,68 +0,0 @@
1
- import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
2
- import { join, relative } from "node:path";
3
- import { setInterceptCmd } from "@take-out/scripts/cmd";
4
- function getLocalScriptsDir() {
5
- return join(process.cwd(), "scripts");
6
- }
7
- async function getAllScriptMetadata(scripts) {
8
- const collected = /* @__PURE__ */ new Map();
9
- let currentName = "";
10
- setInterceptCmd((info) => {
11
- collected.set(currentName, info);
12
- });
13
- for (const [name, path] of scripts) {
14
- try {
15
- if (!readFileSync(path, "utf-8").slice(0, 200).includes("cmd")) continue;
16
- } catch {
17
- continue;
18
- }
19
- currentName = name;
20
- try {
21
- await import(path);
22
- } catch {
23
- }
24
- }
25
- const results = /* @__PURE__ */ new Map();
26
- for (const [name, info] of collected) {
27
- const metadata = { description: info.description };
28
- if (info.args) {
29
- const flags = [...info.args.matchAll(/--?([a-z-]+)/gi)];
30
- flags.length > 0 && (metadata.args = flags.map((m) => `--${m[1]}`));
31
- }
32
- results.set(name, metadata);
33
- }
34
- return results;
35
- }
36
- function discoverScripts(dir, baseDir = dir) {
37
- const scripts = /* @__PURE__ */ new Map();
38
- if (!existsSync(dir))
39
- return scripts;
40
- try {
41
- const entries = readdirSync(dir);
42
- for (const entry of entries) {
43
- const fullPath = join(dir, entry);
44
- if (statSync(fullPath).isDirectory()) {
45
- if (entry === "helpers" || entry === "internal") continue;
46
- const subEntries = readdirSync(fullPath);
47
- for (const subEntry of subEntries) {
48
- const subPath = join(fullPath, subEntry);
49
- if (statSync(subPath).isFile() && (subEntry.endsWith(".ts") || subEntry.endsWith(".js"))) {
50
- const scriptName = relative(baseDir, subPath).split("\\").join("/").replace(/\.(ts|js)$/, "");
51
- scripts.set(scriptName, subPath);
52
- }
53
- }
54
- } else if (entry.endsWith(".ts") || entry.endsWith(".js")) {
55
- const scriptName = relative(baseDir, fullPath).split("\\").join("/").replace(/\.(ts|js)$/, "");
56
- scripts.set(scriptName, fullPath);
57
- }
58
- }
59
- } catch {
60
- }
61
- return scripts;
62
- }
63
- export {
64
- discoverScripts,
65
- getAllScriptMetadata,
66
- getLocalScriptsDir
67
- };
68
- //# sourceMappingURL=script-utils.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utils/script-utils.ts"],
4
- "mappings": "AAIA,SAAS,YAAY,cAAc,aAAa,gBAAgB;AAChE,SAAS,MAAM,gBAAgB;AAE/B,SAAS,uBAAuB;AAQzB,SAAS,qBAA6B;AAC3C,SAAO,KAAK,QAAQ,IAAI,GAAG,SAAS;AACtC;AAGA,eAAsB,qBACpB,SACsC;AACtC,QAAM,YAAY,oBAAI,IAAoD;AAC1E,MAAI,cAAc;AAGlB,kBAAgB,CAAC,SAAS;AACxB,cAAU,IAAI,aAAa,IAAI;AAAA,EACjC,CAAC;AAED,aAAW,CAAC,MAAM,IAAI,KAAK,SAAS;AAElC,QAAI;AAEF,UAAI,CADS,aAAa,MAAM,OAAO,EAAE,MAAM,GAAG,GAAG,EAC3C,SAAS,KAAK,EAAG;AAAA,IAC7B,QAAQ;AACN;AAAA,IACF;AAEA,kBAAc;AACd,QAAI;AACF,YAAM,OAAO;AAAA,IACf,QAAQ;AAAA,IAAC;AAAA,EACX;AAEA,QAAM,UAAU,oBAAI,IAA4B;AAChD,aAAW,CAAC,MAAM,IAAI,KAAK,WAAW;AACpC,UAAM,WAA2B,EAAE,aAAa,KAAK,YAAY;AACjE,QAAI,KAAK,MAAM;AACb,YAAM,QAAQ,CAAC,GAAG,KAAK,KAAK,SAAS,gBAAgB,CAAC;AACtD,MAAI,MAAM,SAAS,MACjB,SAAS,OAAO,MAAM,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,EAAE;AAAA,IAEhD;AACA,YAAQ,IAAI,MAAM,QAAQ;AAAA,EAC5B;AAEA,SAAO;AACT;AAGO,SAAS,gBAAgB,KAAa,UAAkB,KAA0B;AACvF,QAAM,UAAU,oBAAI,IAAoB;AAExC,MAAI,CAAC,WAAW,GAAG;AACjB,WAAO;AAGT,MAAI;AACF,UAAM,UAAU,YAAY,GAAG;AAE/B,eAAW,SAAS,SAAS;AAC3B,YAAM,WAAW,KAAK,KAAK,KAAK;AAGhC,UAFa,SAAS,QAAQ,EAErB,YAAY,GAAG;AACtB,YAAI,UAAU,aAAa,UAAU,WAAY;AAEjD,cAAM,aAAa,YAAY,QAAQ;AACvC,mBAAW,YAAY,YAAY;AACjC,gBAAM,UAAU,KAAK,UAAU,QAAQ;AACvC,cACE,SAAS,OAAO,EAAE,OAAO,MACxB,SAAS,SAAS,KAAK,KAAK,SAAS,SAAS,KAAK,IACpD;AAEA,kBAAM,aADe,SAAS,SAAS,OAAO,EAAE,MAAM,IAAI,EAAE,KAAK,GAAG,EACpC,QAAQ,cAAc,EAAE;AACxD,oBAAQ,IAAI,YAAY,OAAO;AAAA,UACjC;AAAA,QACF;AAAA,MACF,WAAW,MAAM,SAAS,KAAK,KAAK,MAAM,SAAS,KAAK,GAAG;AAEzD,cAAM,aADe,SAAS,SAAS,QAAQ,EAAE,MAAM,IAAI,EAAE,KAAK,GAAG,EACrC,QAAQ,cAAc,EAAE;AACxD,gBAAQ,IAAI,YAAY,QAAQ;AAAA,MAClC;AAAA,IACF;AAAA,EACF,QAAQ;AAAA,EAER;AAEA,SAAO;AACT;",
5
- "names": []
6
- }
@@ -1,50 +0,0 @@
1
- import { createHash } from "node:crypto";
2
- import { existsSync, readFileSync, writeFileSync, mkdirSync, statSync } from "node:fs";
3
- import { relative, dirname } from "node:path";
4
- import { confirm } from "@clack/prompts";
5
- import pc from "picocolors";
6
- function getFileHash(filePath) {
7
- const content = readFileSync(filePath);
8
- return createHash("md5").update(content).digest("hex");
9
- }
10
- function compareFiles(sourcePath, targetPath) {
11
- if (!existsSync(targetPath))
12
- return "new";
13
- const sourceHash = getFileHash(sourcePath), targetHash = getFileHash(targetPath);
14
- return sourceHash === targetHash ? "identical" : "modified";
15
- }
16
- async function syncFileWithConfirmation(file) {
17
- const relPath = relative(process.cwd(), file.targetPath);
18
- if (file.status === "identical")
19
- return console.info(pc.dim(` \u2713 ${file.name} (already up to date)`)), !1;
20
- const statusColor = file.status === "new" ? pc.green : pc.yellow, 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, targetSize = file.targetSize || 0, diff = sourceSize - targetSize;
23
- 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`));
24
- }
25
- console.info(pc.dim(` \u2192 ${relPath}`));
26
- const shouldSync = await confirm({
27
- message: "Overwrite this file?",
28
- initialValue: !0
29
- });
30
- if (shouldSync === !1 || typeof shouldSync == "symbol")
31
- return console.info(pc.dim(" \u2298 Skipped")), !1;
32
- const targetDir = dirname(file.targetPath);
33
- existsSync(targetDir) || mkdirSync(targetDir, { recursive: !0 });
34
- const content = readFileSync(file.sourcePath);
35
- return writeFileSync(file.targetPath, content), console.info(pc.green(" \u2713 Synced")), !0;
36
- }
37
- function getFileSize(filePath) {
38
- try {
39
- return statSync(filePath).size;
40
- } catch {
41
- return 0;
42
- }
43
- }
44
- export {
45
- compareFiles,
46
- getFileHash,
47
- getFileSize,
48
- syncFileWithConfirmation
49
- };
50
- //# sourceMappingURL=sync.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utils/sync.ts"],
4
- "mappings": "AAIA,SAAS,kBAAkB;AAC3B,SAAS,YAAY,cAAc,eAAe,WAAW,gBAAgB;AAC7E,SAAe,UAAU,eAAe;AAExC,SAAS,eAAe;AACxB,OAAO,QAAQ;AAWR,SAAS,YAAY,UAA0B;AACpD,QAAM,UAAU,aAAa,QAAQ;AACrC,SAAO,WAAW,KAAK,EAAE,OAAO,OAAO,EAAE,OAAO,KAAK;AACvD;AAEO,SAAS,aACd,YACA,YACkC;AAClC,MAAI,CAAC,WAAW,UAAU;AACxB,WAAO;AAGT,QAAM,aAAa,YAAY,UAAU,GACnC,aAAa,YAAY,UAAU;AAEzC,SAAO,eAAe,aAAa,cAAc;AACnD;AAEA,eAAsB,yBAAyB,MAAoC;AACjF,QAAM,UAAU,SAAS,QAAQ,IAAI,GAAG,KAAK,UAAU;AAEvD,MAAI,KAAK,WAAW;AAClB,mBAAQ,KAAK,GAAG,IAAI,YAAO,KAAK,IAAI,uBAAuB,CAAC,GACrD;AAGT,QAAM,cAAc,KAAK,WAAW,QAAQ,GAAG,QAAQ,GAAG,QACpD,aAAa,KAAK,WAAW,QAAQ,QAAQ;AAKnD,MAHA,QAAQ,KAAK,GACb,QAAQ,KAAK,YAAY,KAAK,UAAU,KAAK,KAAK,IAAI,EAAE,CAAC,GAErD,KAAK,WAAW,YAAY;AAC9B,UAAM,aAAa,KAAK,cAAc,GAChC,aAAa,KAAK,cAAc,GAChC,OAAO,aAAa;AAE1B,YAAQ,KAAK,GAAG,IAAI,eAAe,UAAU,QAAQ,CAAC,GACtD,QAAQ,KAAK,GAAG,IAAI,eAAe,UAAU,QAAQ,CAAC,GAElD,OAAO,IACT,QAAQ,KAAK,GAAG,KAAK,iBAAiB,IAAI,eAAe,CAAC,IACjD,OAAO,KAChB,QAAQ,KAAK,GAAG,QAAQ,iBAAiB,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC;AAAA,EAE3E;AAEA,UAAQ,KAAK,GAAG,IAAI,cAAS,OAAO,EAAE,CAAC;AAEvC,QAAM,aAAa,MAAM,QAAQ;AAAA,IAC/B,SAAS;AAAA,IACT,cAAc;AAAA,EAChB,CAAC;AAED,MAAI,eAAe,MAAS,OAAO,cAAe;AAChD,mBAAQ,KAAK,GAAG,IAAI,kBAAa,CAAC,GAC3B;AAIT,QAAM,YAAY,QAAQ,KAAK,UAAU;AACzC,EAAK,WAAW,SAAS,KACvB,UAAU,WAAW,EAAE,WAAW,GAAK,CAAC;AAI1C,QAAM,UAAU,aAAa,KAAK,UAAU;AAC5C,uBAAc,KAAK,YAAY,OAAO,GAEtC,QAAQ,KAAK,GAAG,MAAM,iBAAY,CAAC,GAC5B;AACT;AAEO,SAAS,YAAY,UAA0B;AACpD,MAAI;AACF,WAAO,SAAS,QAAQ,EAAE;AAAA,EAC5B,QAAQ;AACN,WAAO;AAAA,EACT;AACF;",
5
- "names": []
6
- }