@take-out/cli 0.0.93 → 0.0.94

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 (180) hide show
  1. package/README.md +0 -32
  2. package/cli.mjs +2 -2
  3. package/dist/cjs/cli.cjs +33 -11
  4. package/dist/cjs/cli.js +32 -12
  5. package/dist/cjs/cli.js.map +1 -1
  6. package/dist/cjs/commands/run.cjs +6 -5
  7. package/dist/cjs/commands/run.js +6 -5
  8. package/dist/cjs/commands/run.js.map +1 -1
  9. package/dist/cjs/commands/script.cjs +2 -3
  10. package/dist/cjs/commands/script.js +2 -3
  11. package/dist/cjs/commands/script.js.map +1 -1
  12. package/dist/cjs/index.cjs +2 -40
  13. package/dist/cjs/index.js +2 -36
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/utils/env-setup.js.map +1 -1
  16. package/dist/cjs/utils/script-listing.cjs +22 -29
  17. package/dist/cjs/utils/script-listing.js +20 -39
  18. package/dist/cjs/utils/script-listing.js.map +1 -1
  19. package/dist/cjs/utils/script-utils.cjs +46 -47
  20. package/dist/cjs/utils/script-utils.js +41 -46
  21. package/dist/cjs/utils/script-utils.js.map +1 -1
  22. package/dist/esm/cli.js +32 -11
  23. package/dist/esm/cli.js.map +1 -1
  24. package/dist/esm/cli.mjs +32 -10
  25. package/dist/esm/cli.mjs.map +1 -1
  26. package/dist/esm/commands/run.js +6 -5
  27. package/dist/esm/commands/run.js.map +1 -1
  28. package/dist/esm/commands/run.mjs +6 -5
  29. package/dist/esm/commands/run.mjs.map +1 -1
  30. package/dist/esm/commands/script.js +3 -8
  31. package/dist/esm/commands/script.js.map +1 -1
  32. package/dist/esm/commands/script.mjs +4 -4
  33. package/dist/esm/commands/script.mjs.map +1 -1
  34. package/dist/esm/index.js +2 -80
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/index.mjs +2 -6
  37. package/dist/esm/index.mjs.map +1 -1
  38. package/dist/esm/utils/env-setup.js +2 -4
  39. package/dist/esm/utils/env-setup.js.map +1 -1
  40. package/dist/esm/utils/env-setup.mjs +1 -1
  41. package/dist/esm/utils/env-setup.mjs.map +1 -1
  42. package/dist/esm/utils/script-listing.js +25 -40
  43. package/dist/esm/utils/script-listing.js.map +1 -1
  44. package/dist/esm/utils/script-listing.mjs +24 -30
  45. package/dist/esm/utils/script-listing.mjs.map +1 -1
  46. package/dist/esm/utils/script-utils.js +42 -54
  47. package/dist/esm/utils/script-utils.js.map +1 -1
  48. package/dist/esm/utils/script-utils.mjs +45 -46
  49. package/dist/esm/utils/script-utils.mjs.map +1 -1
  50. package/package.json +6 -5
  51. package/src/cli.ts +42 -14
  52. package/src/commands/run.ts +10 -8
  53. package/src/commands/script.ts +4 -8
  54. package/src/index.ts +1 -63
  55. package/src/utils/env-setup.ts +3 -7
  56. package/src/utils/script-listing.ts +46 -70
  57. package/src/utils/script-utils.ts +51 -105
  58. package/types/cli.d.ts +1 -1
  59. package/types/commands/run.d.ts.map +1 -1
  60. package/types/commands/script.d.ts +1 -1
  61. package/types/commands/script.d.ts.map +1 -1
  62. package/types/index.d.ts +1 -11
  63. package/types/index.d.ts.map +1 -1
  64. package/types/utils/env-setup.d.ts.map +1 -1
  65. package/types/utils/script-listing.d.ts +2 -3
  66. package/types/utils/script-listing.d.ts.map +1 -1
  67. package/types/utils/script-utils.d.ts +3 -5
  68. package/types/utils/script-utils.d.ts.map +1 -1
  69. package/dist/cjs/cli.native.js +0 -72
  70. package/dist/cjs/cli.native.js.map +0 -1
  71. package/dist/cjs/commands/changed.native.js +0 -310
  72. package/dist/cjs/commands/changed.native.js.map +0 -1
  73. package/dist/cjs/commands/docs.native.js +0 -553
  74. package/dist/cjs/commands/docs.native.js.map +0 -1
  75. package/dist/cjs/commands/env-setup.native.js +0 -96
  76. package/dist/cjs/commands/env-setup.native.js.map +0 -1
  77. package/dist/cjs/commands/onboard.native.js +0 -628
  78. package/dist/cjs/commands/onboard.native.js.map +0 -1
  79. package/dist/cjs/commands/run.native.js +0 -169
  80. package/dist/cjs/commands/run.native.js.map +0 -1
  81. package/dist/cjs/commands/script.native.js +0 -491
  82. package/dist/cjs/commands/script.native.js.map +0 -1
  83. package/dist/cjs/commands/sync.native.js +0 -228
  84. package/dist/cjs/commands/sync.native.js.map +0 -1
  85. package/dist/cjs/commands/upgrade.cjs +0 -90
  86. package/dist/cjs/commands/upgrade.js +0 -78
  87. package/dist/cjs/commands/upgrade.js.map +0 -6
  88. package/dist/cjs/commands/upgrade.native.js +0 -95
  89. package/dist/cjs/commands/upgrade.native.js.map +0 -1
  90. package/dist/cjs/constants/ascii.native.js +0 -39
  91. package/dist/cjs/constants/ascii.native.js.map +0 -1
  92. package/dist/cjs/index.native.js +0 -67
  93. package/dist/cjs/index.native.js.map +0 -1
  94. package/dist/cjs/types.native.js +0 -19
  95. package/dist/cjs/types.native.js.map +0 -1
  96. package/dist/cjs/utils/env-categories.native.js +0 -288
  97. package/dist/cjs/utils/env-categories.native.js.map +0 -1
  98. package/dist/cjs/utils/env-setup.native.js +0 -281
  99. package/dist/cjs/utils/env-setup.native.js.map +0 -1
  100. package/dist/cjs/utils/env.native.js +0 -130
  101. package/dist/cjs/utils/env.native.js.map +0 -1
  102. package/dist/cjs/utils/files.native.js +0 -278
  103. package/dist/cjs/utils/files.native.js.map +0 -1
  104. package/dist/cjs/utils/parallel-runner.native.js +0 -144
  105. package/dist/cjs/utils/parallel-runner.native.js.map +0 -1
  106. package/dist/cjs/utils/ports.native.js +0 -123
  107. package/dist/cjs/utils/ports.native.js.map +0 -1
  108. package/dist/cjs/utils/prerequisites.native.js +0 -128
  109. package/dist/cjs/utils/prerequisites.native.js.map +0 -1
  110. package/dist/cjs/utils/prompts.native.js +0 -167
  111. package/dist/cjs/utils/prompts.native.js.map +0 -1
  112. package/dist/cjs/utils/script-listing.native.js +0 -191
  113. package/dist/cjs/utils/script-listing.native.js.map +0 -1
  114. package/dist/cjs/utils/script-utils.native.js +0 -126
  115. package/dist/cjs/utils/script-utils.native.js.map +0 -6
  116. package/dist/cjs/utils/sync.native.js +0 -93
  117. package/dist/cjs/utils/sync.native.js.map +0 -1
  118. package/dist/cjs/utils/welcome.cjs +0 -50
  119. package/dist/cjs/utils/welcome.js +0 -42
  120. package/dist/cjs/utils/welcome.js.map +0 -6
  121. package/dist/cjs/utils/welcome.native.js +0 -47
  122. package/dist/cjs/utils/welcome.native.js.map +0 -6
  123. package/dist/esm/cli.native.js +0 -69
  124. package/dist/esm/cli.native.js.map +0 -1
  125. package/dist/esm/commands/changed.native.js +0 -273
  126. package/dist/esm/commands/changed.native.js.map +0 -1
  127. package/dist/esm/commands/docs.native.js +0 -515
  128. package/dist/esm/commands/docs.native.js.map +0 -1
  129. package/dist/esm/commands/env-setup.native.js +0 -59
  130. package/dist/esm/commands/env-setup.native.js.map +0 -1
  131. package/dist/esm/commands/onboard.native.js +0 -591
  132. package/dist/esm/commands/onboard.native.js.map +0 -1
  133. package/dist/esm/commands/run.native.js +0 -132
  134. package/dist/esm/commands/run.native.js.map +0 -1
  135. package/dist/esm/commands/script.native.js +0 -445
  136. package/dist/esm/commands/script.native.js.map +0 -1
  137. package/dist/esm/commands/sync.native.js +0 -190
  138. package/dist/esm/commands/sync.native.js.map +0 -1
  139. package/dist/esm/commands/upgrade.js +0 -65
  140. package/dist/esm/commands/upgrade.js.map +0 -6
  141. package/dist/esm/commands/upgrade.mjs +0 -67
  142. package/dist/esm/commands/upgrade.mjs.map +0 -1
  143. package/dist/esm/commands/upgrade.native.js +0 -69
  144. package/dist/esm/commands/upgrade.native.js.map +0 -1
  145. package/dist/esm/constants/ascii.native.js +0 -12
  146. package/dist/esm/constants/ascii.native.js.map +0 -1
  147. package/dist/esm/index.native.js +0 -7
  148. package/dist/esm/index.native.js.map +0 -1
  149. package/dist/esm/types.native.js +0 -2
  150. package/dist/esm/types.native.js.map +0 -1
  151. package/dist/esm/utils/env-categories.native.js +0 -246
  152. package/dist/esm/utils/env-categories.native.js.map +0 -1
  153. package/dist/esm/utils/env-setup.native.js +0 -243
  154. package/dist/esm/utils/env-setup.native.js.map +0 -1
  155. package/dist/esm/utils/env.native.js +0 -99
  156. package/dist/esm/utils/env.native.js.map +0 -1
  157. package/dist/esm/utils/files.native.js +0 -247
  158. package/dist/esm/utils/files.native.js.map +0 -1
  159. package/dist/esm/utils/parallel-runner.native.js +0 -118
  160. package/dist/esm/utils/parallel-runner.native.js.map +0 -1
  161. package/dist/esm/utils/ports.native.js +0 -93
  162. package/dist/esm/utils/ports.native.js.map +0 -1
  163. package/dist/esm/utils/prerequisites.native.js +0 -97
  164. package/dist/esm/utils/prerequisites.native.js.map +0 -1
  165. package/dist/esm/utils/prompts.native.js +0 -115
  166. package/dist/esm/utils/prompts.native.js.map +0 -1
  167. package/dist/esm/utils/script-listing.native.js +0 -151
  168. package/dist/esm/utils/script-listing.native.js.map +0 -1
  169. package/dist/esm/utils/script-utils.native.js +0 -112
  170. package/dist/esm/utils/script-utils.native.js.map +0 -6
  171. package/dist/esm/utils/sync.native.js +0 -53
  172. package/dist/esm/utils/sync.native.js.map +0 -1
  173. package/dist/esm/utils/welcome.js +0 -21
  174. package/dist/esm/utils/welcome.js.map +0 -6
  175. package/dist/esm/utils/welcome.mjs +0 -15
  176. package/dist/esm/utils/welcome.mjs.map +0 -1
  177. package/dist/esm/utils/welcome.native.js +0 -18
  178. package/dist/esm/utils/welcome.native.js.map +0 -1
  179. package/types/utils/welcome.d.ts +0 -6
  180. package/types/utils/welcome.d.ts.map +0 -1
@@ -2,29 +2,14 @@
2
2
  * Core utility functions for script discovery and metadata
3
3
  */
4
4
 
5
- import {
6
- existsSync,
7
- readdirSync,
8
- statSync,
9
- readFileSync,
10
- writeFileSync,
11
- mkdirSync,
12
- } from 'node:fs'
13
- import { homedir } from 'node:os'
5
+ import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs'
14
6
  import { join, relative } from 'node:path'
15
7
 
16
- // cache configuration
17
- const CACHE_DIR = join(homedir(), '.takeout')
18
- const CACHE_FILE = join(CACHE_DIR, 'script-cache.json')
8
+ import { setInterceptCmd } from '@take-out/scripts/cmd'
19
9
 
20
- interface ScriptMetadata {
10
+ export interface ScriptMetadata {
21
11
  description?: string
22
12
  args?: string[]
23
- mtime?: number
24
- }
25
-
26
- interface ScriptCache {
27
- [path: string]: ScriptMetadata
28
13
  }
29
14
 
30
15
  // get local scripts directory
@@ -32,89 +17,46 @@ export function getLocalScriptsDir(): string {
32
17
  return join(process.cwd(), 'scripts')
33
18
  }
34
19
 
35
- // extract metadata from script file
36
- function extractMetadata(filePath: string): ScriptMetadata {
37
- try {
38
- const content = readFileSync(filePath, 'utf-8')
39
- const lines = content.split('\n').slice(0, 20) // check first 20 lines
40
-
41
- const metadata: ScriptMetadata = {}
42
-
43
- for (const line of lines) {
44
- // look for @description comment
45
- const descMatch = line.match(/@description\s+(.+)/)
46
- if (descMatch && descMatch[1]) {
47
- metadata.description = descMatch[1].trim()
48
- }
49
-
50
- // look for @args comment
51
- const argsMatch = line.match(/@args\s+(.+)/)
52
- if (argsMatch && argsMatch[1]) {
53
- metadata.args = argsMatch[1].split(',').map((a) => a.trim())
54
- }
55
- }
56
-
57
- // add file modification time
58
- const stat = statSync(filePath)
59
- metadata.mtime = stat.mtimeMs
60
-
61
- return metadata
62
- } catch (err) {
63
- return {}
20
+ // batch extract metadata for all scripts via import interception
21
+ export async function getAllScriptMetadata(
22
+ scripts: Map<string, string>
23
+ ): Promise<Map<string, ScriptMetadata>> {
24
+ const collected = new Map<string, { description: string; args?: string }>()
25
+ let currentName = ''
26
+
27
+ // interceptor stays set — never cleared so floating .run() promises always bail
28
+ setInterceptCmd((info) => {
29
+ collected.set(currentName, info)
30
+ })
31
+
32
+ for (const [name, path] of scripts) {
33
+ // only import scripts that use cmd (safe to import)
34
+ try {
35
+ const head = readFileSync(path, 'utf-8').slice(0, 200)
36
+ if (!head.includes('cmd')) continue
37
+ } catch { continue }
38
+
39
+ currentName = name
40
+ try { await import(path) } catch {}
64
41
  }
65
- }
66
42
 
67
- // load or create cache
68
- function loadCache(): ScriptCache {
69
- try {
70
- if (existsSync(CACHE_FILE)) {
71
- return JSON.parse(readFileSync(CACHE_FILE, 'utf-8'))
72
- }
73
- } catch (err) {
74
- // ignore cache errors
75
- }
76
- return {}
77
- }
78
-
79
- // save cache
80
- function saveCache(cache: ScriptCache) {
81
- try {
82
- if (!existsSync(CACHE_DIR)) {
83
- mkdirSync(CACHE_DIR, { recursive: true })
43
+ const results = new Map<string, ScriptMetadata>()
44
+ for (const [name, info] of collected) {
45
+ const metadata: ScriptMetadata = { description: info.description }
46
+ if (info.args) {
47
+ const flags = [...info.args.matchAll(/--?([a-z-]+)/gi)]
48
+ if (flags.length > 0) {
49
+ metadata.args = flags.map((m) => `--${m[1]}`)
50
+ }
84
51
  }
85
- writeFileSync(CACHE_FILE, JSON.stringify(cache, null, 2))
86
- } catch (err) {
87
- // ignore cache write errors
52
+ results.set(name, metadata)
88
53
  }
89
- }
90
-
91
- // get metadata for a script (with caching)
92
- export function getScriptMetadata(filePath: string): ScriptMetadata {
93
- const cache = loadCache()
94
- const stat = statSync(filePath)
95
54
 
96
- // check if cache is valid
97
- if (cache[filePath] && cache[filePath].mtime === stat.mtimeMs) {
98
- return cache[filePath]
99
- }
100
-
101
- // extract fresh metadata
102
- const metadata = extractMetadata(filePath)
103
-
104
- // update cache
105
- cache[filePath] = metadata
106
- saveCache(cache)
107
-
108
- return metadata
55
+ return results
109
56
  }
110
57
 
111
- // discover scripts in a directory
112
- export function discoverScripts(
113
- dir: string,
114
- baseDir: string = dir,
115
- depth: number = 0,
116
- maxDepth: number = 1
117
- ): Map<string, string> {
58
+ // discover scripts in a directory (no grandchildren)
59
+ export function discoverScripts(dir: string, baseDir: string = dir): Map<string, string> {
118
60
  const scripts = new Map<string, string>()
119
61
 
120
62
  if (!existsSync(dir)) {
@@ -128,24 +70,28 @@ export function discoverScripts(
128
70
  const fullPath = join(dir, entry)
129
71
  const stat = statSync(fullPath)
130
72
 
73
+ // skip non-script module files
74
+ const skipFiles = ['cmd.ts', 'run.ts']
75
+
131
76
  if (stat.isDirectory()) {
132
- // skip helpers/internal directories and limit depth to maxDepth
133
- if (entry === 'helpers' || entry === 'internal' || depth >= maxDepth) {
134
- continue
135
- }
136
- // recursively discover in subdirectories
137
- const subScripts = discoverScripts(fullPath, baseDir, depth + 1, maxDepth)
138
- for (const [name, path] of subScripts) {
139
- scripts.set(name, path)
77
+ if (entry === 'helpers' || entry === 'internal') continue
78
+ // one level deep only
79
+ const subEntries = readdirSync(fullPath)
80
+ for (const subEntry of subEntries) {
81
+ const subPath = join(fullPath, subEntry)
82
+ if (statSync(subPath).isFile() && (subEntry.endsWith('.ts') || subEntry.endsWith('.js'))) {
83
+ const relativePath = relative(baseDir, subPath).split('\\').join('/')
84
+ const scriptName = relativePath.replace(/\.(ts|js)$/, '')
85
+ scripts.set(scriptName, subPath)
86
+ }
140
87
  }
141
- } else if (entry.endsWith('.ts') || entry.endsWith('.js')) {
142
- // create script name relative to base, normalize to forward slashes
88
+ } else if ((entry.endsWith('.ts') || entry.endsWith('.js')) && !skipFiles.includes(entry)) {
143
89
  const relativePath = relative(baseDir, fullPath).split('\\').join('/')
144
90
  const scriptName = relativePath.replace(/\.(ts|js)$/, '')
145
91
  scripts.set(scriptName, fullPath)
146
92
  }
147
93
  }
148
- } catch (err) {
94
+ } catch {
149
95
  // ignore directory read errors
150
96
  }
151
97
 
package/types/cli.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
  /**
3
3
  * Takeout CLI
4
4
  * Interactive tools for Takeout starter kit setup and management
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;;;;;EA6JrB,CAAA"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;;;;;EA+JrB,CAAA"}
@@ -2,7 +2,7 @@
2
2
  * Enhanced Script command - hybrid script runner with filesystem discovery
3
3
  */
4
4
  export declare function findScript(name: string): string | null;
5
- export { formatScriptList, listAllScripts, listCategoryScripts, } from '../utils/script-listing';
5
+ export { listAllScripts, listCategoryScripts } from '../utils/script-listing';
6
6
  export declare const scriptCommand: import("citty").CommandDef<{
7
7
  name: {
8
8
  type: "positional";
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/commands/script.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6CH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BtD;AAED,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,GACpB,MAAM,yBAAyB,CAAA;AA8QhC,eAAO,MAAM,aAAa;;;;;;EAgDxB,CAAA;AAGF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM;;;;;;GAmClD"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/commands/script.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6CH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BtD;AAED,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AA8Q7E,eAAO,MAAM,aAAa;;;;;;EAgDxB,CAAA;AAGF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM;;;;;;GAmClD"}
package/types/index.d.ts CHANGED
@@ -1,12 +1,2 @@
1
- /**
2
- * Takeout CLI - Library exports
3
- *
4
- * Use these utilities programmatically in your own scripts
5
- */
6
- export type * from './types';
7
- export { checkAllPrerequisites, checkBun, checkDocker, checkGit, checkNode, hasRequiredPrerequisites, } from './utils/prerequisites';
8
- export { checkAllPorts, checkPort, getConflictingPorts, hasPortConflicts, TAKEOUT_PORTS, } from './utils/ports';
9
- export { copyEnvFile, createEnvLocal, envFileExists, generateSecret, readEnvVariable, updateEnvVariable, } from './utils/env';
10
- export { checkOnboarded, markOnboarded, updateAppConfig, updatePackageJson, } from './utils/files';
11
- export { confirmContinue, displayOutro, displayPortConflicts, displayPrerequisites, displayWelcome, promptPassword, promptSelect, promptText, showError, showInfo, showSpinner, showStep, showSuccess, showWarning, } from './utils/prompts';
1
+ export { cmd } from '@take-out/scripts/cmd';
12
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,mBAAmB,SAAS,CAAA;AAG5B,OAAO,EACL,qBAAqB,EACrB,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,SAAS,EACT,wBAAwB,GACzB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EACL,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,GAClB,MAAM,eAAe,CAAA;AAGtB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"env-setup.d.ts","sourceRoot":"","sources":["../../src/utils/env-setup.ts"],"names":[],"mappings":"AAeA,UAAU,YAAY;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,OAAO,CAAC,CA0IlB;AAgKD,wBAAgB,cAAc,IAAI,IAAI,CAerC"}
1
+ {"version":3,"file":"env-setup.d.ts","sourceRoot":"","sources":["../../src/utils/env-setup.ts"],"names":[],"mappings":"AAWA,UAAU,YAAY;IACpB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,OAAO,CAAC,CA0IlB;AAgKD,wBAAgB,cAAc,IAAI,IAAI,CAerC"}
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Utility functions for listing and discovering scripts
3
3
  */
4
- export declare function formatScriptList(title: string, scripts: Map<string, string>, showDescriptions?: boolean): void;
5
- export declare function listAllScripts(includeCommands?: boolean): void;
6
- export declare function listCategoryScripts(categoryName: string): boolean;
4
+ export declare function listAllScripts(includeCommands?: boolean): Promise<void>;
5
+ export declare function listCategoryScripts(categoryName: string): Promise<boolean>;
7
6
  //# sourceMappingURL=script-listing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"script-listing.d.ts","sourceRoot":"","sources":["../../src/utils/script-listing.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8BH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,gBAAgB,GAAE,OAAe,GAChC,IAAI,CA6DN;AAGD,wBAAgB,cAAc,CAAC,eAAe,UAAO,GAAG,IAAI,CA+D3D;AAGD,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CA0CjE"}
1
+ {"version":3,"file":"script-listing.d.ts","sourceRoot":"","sources":["../../src/utils/script-listing.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsFH,wBAAsB,cAAc,CAAC,eAAe,UAAO,iBAkD1D;AAGD,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA2ChF"}
@@ -1,13 +1,11 @@
1
1
  /**
2
2
  * Core utility functions for script discovery and metadata
3
3
  */
4
- interface ScriptMetadata {
4
+ export interface ScriptMetadata {
5
5
  description?: string;
6
6
  args?: string[];
7
- mtime?: number;
8
7
  }
9
8
  export declare function getLocalScriptsDir(): string;
10
- export declare function getScriptMetadata(filePath: string): ScriptMetadata;
11
- export declare function discoverScripts(dir: string, baseDir?: string, depth?: number, maxDepth?: number): Map<string, string>;
12
- export {};
9
+ export declare function getAllScriptMetadata(scripts: Map<string, string>): Promise<Map<string, ScriptMetadata>>;
10
+ export declare function discoverScripts(dir: string, baseDir?: string): Map<string, string>;
13
11
  //# sourceMappingURL=script-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"script-utils.d.ts","sourceRoot":"","sources":["../../src/utils/script-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,UAAU,cAAc;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAOD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AA2DD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAiBlE;AAGD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,MAAY,EACrB,KAAK,GAAE,MAAU,EACjB,QAAQ,GAAE,MAAU,GACnB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAoCrB"}
1
+ {"version":3,"file":"script-utils.d.ts","sourceRoot":"","sources":["../../src/utils/script-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAGD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAGD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAiCtC;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAwCvF"}
@@ -1,72 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
-
4
- var import_fs = require("fs"),
5
- import_path = require("path"),
6
- import_citty = require("citty"),
7
- import_changed = require("./commands/changed.native.js"),
8
- import_docs = require("./commands/docs.native.js"),
9
- import_env_setup = require("./commands/env-setup.native.js"),
10
- import_onboard = require("./commands/onboard.native.js"),
11
- import_run = require("./commands/run.native.js"),
12
- import_script = require("./commands/script.native.js"),
13
- import_sync = require("./commands/sync.native.js"),
14
- import_script_listing = require("./utils/script-listing.native.js");
15
- const import_meta = {};
16
- var _process_argv_, _process_argv_1;
17
- function isScriptCategory(name) {
18
- var scriptsDir = (0, import_path.join)(process.cwd(), "scripts"),
19
- categoryPath = (0, import_path.join)(scriptsDir, name);
20
- try {
21
- return (0, import_fs.existsSync)(categoryPath) && (0, import_fs.statSync)(categoryPath).isDirectory();
22
- } catch {
23
- return !1;
24
- }
25
- }
26
- function isLocalScript(name) {
27
- for (var scriptsDir = (0, import_path.join)(process.cwd(), "scripts"), normalizedName = name.replace(/:/g, "/"), _i = 0, _iter = [".ts", ".js", ""]; _i < _iter.length; _i++) {
28
- var ext = _iter[_i],
29
- scriptPath = (0, import_path.join)(scriptsDir, `${normalizedName}${ext}`);
30
- if ((0, import_fs.existsSync)(scriptPath)) return !0;
31
- }
32
- return !1;
33
- }
34
- function isBuiltInScript(name) {
35
- try {
36
- for (var resolved = import_meta.resolve("@take-out/scripts/package.json"), packageJsonPath = new URL(resolved).pathname, packageRoot = (0, import_path.join)(packageJsonPath, ".."), srcPath = (0, import_path.join)(packageRoot, "src"), normalizedName = name.replace(/:/g, "/"), _i = 0, _iter = [".ts", ".js", ""]; _i < _iter.length; _i++) {
37
- var ext = _iter[_i],
38
- scriptPath = (0, import_path.join)(srcPath, `${normalizedName}${ext}`);
39
- if ((0, import_fs.existsSync)(scriptPath)) return !0;
40
- }
41
- } catch {}
42
- return !1;
43
- }
44
- var isShorthand = ((_process_argv_ = process.argv[1]) === null || _process_argv_ === void 0 ? void 0 : _process_argv_.endsWith("tko")) || ((_process_argv_1 = process.argv[1]) === null || _process_argv_1 === void 0 ? void 0 : _process_argv_1.includes("/.bin/tko"));
45
- if (isShorthand) {
46
- var firstArg = process.argv[2],
47
- secondArg = process.argv[3],
48
- builtInCommands = ["docs", "onboard", "run", "script", "env:setup", "sync", "changed", "--help", "-h", "--version", "-v"];
49
- firstArg && !builtInCommands.includes(firstArg) && (isScriptCategory(firstArg) ? (secondArg && !secondArg.startsWith("-") && process.argv.splice(2, 2, `${firstArg}/${secondArg}`), process.argv.splice(2, 0, "run")) : firstArg?.includes("/") || isLocalScript(firstArg) || isBuiltInScript(firstArg) ? process.argv.splice(2, 0, "run") : process.argv.splice(2, 0, "script"));
50
- }
51
- var main = (0, import_citty.defineCommand)({
52
- meta: {
53
- name: isShorthand ? "tko" : "takeout",
54
- version: "0.0.2",
55
- description: "CLI tools for Takeout starter kit"
56
- },
57
- subCommands: {
58
- onboard: import_onboard.onboardCommand,
59
- docs: import_docs.docsCommand,
60
- "env:setup": import_env_setup.envSetupCommand,
61
- run: import_run.runCommand,
62
- script: import_script.scriptCommand,
63
- sync: import_sync.syncCommand,
64
- changed: import_changed.changedCommand
65
- },
66
- run() {
67
- var hasArgs = process.argv.length > 2;
68
- hasArgs || (0, import_script_listing.listAllScripts)();
69
- }
70
- });
71
- (0, import_citty.runMain)(main);
72
- //# sourceMappingURL=cli.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["import_fs","require","import_path","import_citty","import_changed","import_docs","import_env_setup","import_onboard","import_run","import_script","import_sync","import_script_listing","import_meta","_process_argv_","_process_argv_1","isScriptCategory","name","scriptsDir","join","process","cwd","categoryPath","existsSync","statSync","isDirectory","isLocalScript","normalizedName","replace","_i","_iter","length","ext","scriptPath","isBuiltInScript","resolved","resolve","packageJsonPath","URL","pathname","packageRoot","srcPath","isShorthand","argv","endsWith","includes","firstArg","secondArg","builtInCommands","startsWith","splice","main","defineCommand","meta","version","description","subCommands","onboard","onboardCommand","docs","docsCommand","envSetupCommand","run","runCommand","script","scriptCommand"],"sources":["../../src/cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}