@take-out/cli 0.0.93 → 0.0.95

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 +23 -34
  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 +28 -35
  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 +43 -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 +44 -60
  57. package/src/utils/script-utils.ts +59 -103
  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,50 @@ 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
- }
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 {
38
+ continue
55
39
  }
56
40
 
57
- // add file modification time
58
- const stat = statSync(filePath)
59
- metadata.mtime = stat.mtimeMs
60
-
61
- return metadata
62
- } catch (err) {
63
- return {}
41
+ currentName = name
42
+ try {
43
+ await import(path)
44
+ } catch {}
64
45
  }
65
- }
66
46
 
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 })
47
+ const results = new Map<string, ScriptMetadata>()
48
+ for (const [name, info] of collected) {
49
+ const metadata: ScriptMetadata = { description: info.description }
50
+ if (info.args) {
51
+ const flags = [...info.args.matchAll(/--?([a-z-]+)/gi)]
52
+ if (flags.length > 0) {
53
+ metadata.args = flags.map((m) => `--${m[1]}`)
54
+ }
84
55
  }
85
- writeFileSync(CACHE_FILE, JSON.stringify(cache, null, 2))
86
- } catch (err) {
87
- // ignore cache write errors
88
- }
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
-
96
- // check if cache is valid
97
- if (cache[filePath] && cache[filePath].mtime === stat.mtimeMs) {
98
- return cache[filePath]
56
+ results.set(name, metadata)
99
57
  }
100
58
 
101
- // extract fresh metadata
102
- const metadata = extractMetadata(filePath)
103
-
104
- // update cache
105
- cache[filePath] = metadata
106
- saveCache(cache)
107
-
108
- return metadata
59
+ return results
109
60
  }
110
61
 
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> {
62
+ // discover scripts in a directory (no grandchildren)
63
+ export function discoverScripts(dir: string, baseDir: string = dir): Map<string, string> {
118
64
  const scripts = new Map<string, string>()
119
65
 
120
66
  if (!existsSync(dir)) {
@@ -128,24 +74,34 @@ export function discoverScripts(
128
74
  const fullPath = join(dir, entry)
129
75
  const stat = statSync(fullPath)
130
76
 
77
+ // skip non-script module files
78
+ const skipFiles = ['cmd.ts', 'run.ts']
79
+
131
80
  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)
81
+ if (entry === 'helpers' || entry === 'internal') continue
82
+ // one level deep only
83
+ const subEntries = readdirSync(fullPath)
84
+ for (const subEntry of subEntries) {
85
+ const subPath = join(fullPath, subEntry)
86
+ if (
87
+ statSync(subPath).isFile() &&
88
+ (subEntry.endsWith('.ts') || subEntry.endsWith('.js'))
89
+ ) {
90
+ const relativePath = relative(baseDir, subPath).split('\\').join('/')
91
+ const scriptName = relativePath.replace(/\.(ts|js)$/, '')
92
+ scripts.set(scriptName, subPath)
93
+ }
140
94
  }
141
- } else if (entry.endsWith('.ts') || entry.endsWith('.js')) {
142
- // create script name relative to base, normalize to forward slashes
95
+ } else if (
96
+ (entry.endsWith('.ts') || entry.endsWith('.js')) &&
97
+ !skipFiles.includes(entry)
98
+ ) {
143
99
  const relativePath = relative(baseDir, fullPath).split('\\').join('/')
144
100
  const scriptName = relativePath.replace(/\.(ts|js)$/, '')
145
101
  scripts.set(scriptName, fullPath)
146
102
  }
147
103
  }
148
- } catch (err) {
104
+ } catch {
149
105
  // ignore directory read errors
150
106
  }
151
107
 
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,iBA0D1D;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,CAqCtC;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA8CvF"}
@@ -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":[]}