@detergent-software/atk 3.0.0-dev.2 → 3.0.0-dev.21

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 (301) hide show
  1. package/README.md +361 -0
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +79 -37
  4. package/build/commands/audit.js.map +1 -1
  5. package/build/commands/browse.d.ts.map +1 -1
  6. package/build/commands/browse.js +119 -154
  7. package/build/commands/browse.js.map +1 -1
  8. package/build/commands/cache.d.ts.map +1 -1
  9. package/build/commands/cache.js +13 -15
  10. package/build/commands/cache.js.map +1 -1
  11. package/build/commands/config.d.ts +1 -1
  12. package/build/commands/config.d.ts.map +1 -1
  13. package/build/commands/config.js +7 -3
  14. package/build/commands/config.js.map +1 -1
  15. package/build/commands/diff.d.ts.map +1 -1
  16. package/build/commands/diff.js +4 -117
  17. package/build/commands/diff.js.map +1 -1
  18. package/build/commands/freeze.d.ts +1 -2
  19. package/build/commands/freeze.d.ts.map +1 -1
  20. package/build/commands/freeze.js +17 -37
  21. package/build/commands/freeze.js.map +1 -1
  22. package/build/commands/info.d.ts +1 -2
  23. package/build/commands/info.d.ts.map +1 -1
  24. package/build/commands/info.js +36 -35
  25. package/build/commands/info.js.map +1 -1
  26. package/build/commands/init.d.ts.map +1 -1
  27. package/build/commands/init.js +39 -405
  28. package/build/commands/init.js.map +1 -1
  29. package/build/commands/install.d.ts.map +1 -1
  30. package/build/commands/install.js +49 -34
  31. package/build/commands/install.js.map +1 -1
  32. package/build/commands/list.d.ts +2 -2
  33. package/build/commands/list.d.ts.map +1 -1
  34. package/build/commands/list.js +138 -27
  35. package/build/commands/list.js.map +1 -1
  36. package/build/commands/outdated.d.ts.map +1 -1
  37. package/build/commands/outdated.js +20 -10
  38. package/build/commands/outdated.js.map +1 -1
  39. package/build/commands/pin.d.ts +1 -2
  40. package/build/commands/pin.d.ts.map +1 -1
  41. package/build/commands/pin.js +44 -47
  42. package/build/commands/pin.js.map +1 -1
  43. package/build/commands/prune.d.ts.map +1 -1
  44. package/build/commands/prune.js +76 -151
  45. package/build/commands/prune.js.map +1 -1
  46. package/build/commands/publish.d.ts +3 -1
  47. package/build/commands/publish.d.ts.map +1 -1
  48. package/build/commands/publish.js +67 -390
  49. package/build/commands/publish.js.map +1 -1
  50. package/build/commands/search.d.ts.map +1 -1
  51. package/build/commands/search.js +14 -19
  52. package/build/commands/search.js.map +1 -1
  53. package/build/commands/setup.d.ts +1 -1
  54. package/build/commands/setup.d.ts.map +1 -1
  55. package/build/commands/setup.js +48 -253
  56. package/build/commands/setup.js.map +1 -1
  57. package/build/commands/sync.d.ts.map +1 -1
  58. package/build/commands/sync.js +43 -169
  59. package/build/commands/sync.js.map +1 -1
  60. package/build/commands/thaw.d.ts +1 -2
  61. package/build/commands/thaw.d.ts.map +1 -1
  62. package/build/commands/thaw.js +19 -37
  63. package/build/commands/thaw.js.map +1 -1
  64. package/build/commands/uninstall.d.ts.map +1 -1
  65. package/build/commands/uninstall.js +106 -221
  66. package/build/commands/uninstall.js.map +1 -1
  67. package/build/commands/unpin.d.ts +1 -2
  68. package/build/commands/unpin.d.ts.map +1 -1
  69. package/build/commands/unpin.js +23 -38
  70. package/build/commands/unpin.js.map +1 -1
  71. package/build/commands/update.d.ts.map +1 -1
  72. package/build/commands/update.js +37 -25
  73. package/build/commands/update.js.map +1 -1
  74. package/build/commands/why.d.ts +1 -1
  75. package/build/commands/why.d.ts.map +1 -1
  76. package/build/commands/why.js +14 -6
  77. package/build/commands/why.js.map +1 -1
  78. package/build/components/AssetDetail.d.ts +1 -3
  79. package/build/components/AssetDetail.d.ts.map +1 -1
  80. package/build/components/AssetDetail.js +24 -21
  81. package/build/components/AssetDetail.js.map +1 -1
  82. package/build/components/AssetTable.d.ts +5 -2
  83. package/build/components/AssetTable.d.ts.map +1 -1
  84. package/build/components/AssetTable.js +37 -40
  85. package/build/components/AssetTable.js.map +1 -1
  86. package/build/components/BrowseExpandedBundle.d.ts +7 -0
  87. package/build/components/BrowseExpandedBundle.d.ts.map +1 -1
  88. package/build/components/BrowseExpandedBundle.js +19 -0
  89. package/build/components/BrowseExpandedBundle.js.map +1 -1
  90. package/build/components/BrowseExpandedRow.d.ts +4 -1
  91. package/build/components/BrowseExpandedRow.d.ts.map +1 -1
  92. package/build/components/BrowseExpandedRow.js +24 -3
  93. package/build/components/BrowseExpandedRow.js.map +1 -1
  94. package/build/components/BrowseList.d.ts +3 -1
  95. package/build/components/BrowseList.d.ts.map +1 -1
  96. package/build/components/BrowseList.js +52 -42
  97. package/build/components/BrowseList.js.map +1 -1
  98. package/build/components/DiffView.d.ts +0 -2
  99. package/build/components/DiffView.d.ts.map +1 -1
  100. package/build/components/DiffView.js +11 -5
  101. package/build/components/DiffView.js.map +1 -1
  102. package/build/components/DryRunBanner.d.ts +3 -3
  103. package/build/components/DryRunBanner.d.ts.map +1 -1
  104. package/build/components/DryRunBanner.js +2 -2
  105. package/build/components/DryRunBanner.js.map +1 -1
  106. package/build/components/FilterBar.d.ts +10 -3
  107. package/build/components/FilterBar.d.ts.map +1 -1
  108. package/build/components/FilterBar.js +4 -4
  109. package/build/components/FilterBar.js.map +1 -1
  110. package/build/components/FrozenSkippedHint.d.ts +11 -0
  111. package/build/components/FrozenSkippedHint.d.ts.map +1 -0
  112. package/build/components/FrozenSkippedHint.js +12 -0
  113. package/build/components/FrozenSkippedHint.js.map +1 -0
  114. package/build/components/HelpBar.d.ts.map +1 -1
  115. package/build/components/HelpBar.js +3 -3
  116. package/build/components/HelpBar.js.map +1 -1
  117. package/build/components/InitSuccess.d.ts +5 -0
  118. package/build/components/InitSuccess.d.ts.map +1 -0
  119. package/build/components/InitSuccess.js +20 -0
  120. package/build/components/InitSuccess.js.map +1 -0
  121. package/build/components/InstallSummary.d.ts +3 -3
  122. package/build/components/InstallSummary.d.ts.map +1 -1
  123. package/build/components/InstallSummary.js +2 -2
  124. package/build/components/InstallSummary.js.map +1 -1
  125. package/build/components/Link.d.ts +7 -0
  126. package/build/components/Link.d.ts.map +1 -0
  127. package/build/components/Link.js +6 -0
  128. package/build/components/Link.js.map +1 -0
  129. package/build/components/ListActionBar.d.ts +11 -0
  130. package/build/components/ListActionBar.d.ts.map +1 -0
  131. package/build/components/ListActionBar.js +30 -0
  132. package/build/components/ListActionBar.js.map +1 -0
  133. package/build/components/ListBrowseList.d.ts +27 -0
  134. package/build/components/ListBrowseList.d.ts.map +1 -0
  135. package/build/components/ListBrowseList.js +57 -0
  136. package/build/components/ListBrowseList.js.map +1 -0
  137. package/build/components/ListExpandedRow.d.ts +38 -0
  138. package/build/components/ListExpandedRow.d.ts.map +1 -0
  139. package/build/components/ListExpandedRow.js +46 -0
  140. package/build/components/ListExpandedRow.js.map +1 -0
  141. package/build/components/ListHelpBar.d.ts +19 -0
  142. package/build/components/ListHelpBar.d.ts.map +1 -0
  143. package/build/components/ListHelpBar.js +11 -0
  144. package/build/components/ListHelpBar.js.map +1 -0
  145. package/build/components/OrphanListItem.d.ts +15 -0
  146. package/build/components/OrphanListItem.d.ts.map +1 -0
  147. package/build/components/OrphanListItem.js +6 -0
  148. package/build/components/OrphanListItem.js.map +1 -0
  149. package/build/components/PromptField.d.ts +19 -0
  150. package/build/components/PromptField.d.ts.map +1 -0
  151. package/build/components/PromptField.js +7 -0
  152. package/build/components/PromptField.js.map +1 -0
  153. package/build/components/StatusBadge.d.ts +1 -1
  154. package/build/components/StatusBadge.d.ts.map +1 -1
  155. package/build/components/StatusBadge.js +4 -0
  156. package/build/components/StatusBadge.js.map +1 -1
  157. package/build/components/SyncAllInSync.d.ts +14 -0
  158. package/build/components/SyncAllInSync.d.ts.map +1 -0
  159. package/build/components/SyncAllInSync.js +10 -0
  160. package/build/components/SyncAllInSync.js.map +1 -0
  161. package/build/components/SyncDriftedList.d.ts +24 -0
  162. package/build/components/SyncDriftedList.d.ts.map +1 -0
  163. package/build/components/SyncDriftedList.js +17 -0
  164. package/build/components/SyncDriftedList.js.map +1 -0
  165. package/build/components/SyncNoAssets.d.ts +12 -0
  166. package/build/components/SyncNoAssets.d.ts.map +1 -0
  167. package/build/components/SyncNoAssets.js +9 -0
  168. package/build/components/SyncNoAssets.js.map +1 -0
  169. package/build/components/index.d.ts +14 -2
  170. package/build/components/index.d.ts.map +1 -1
  171. package/build/components/index.js +14 -2
  172. package/build/components/index.js.map +1 -1
  173. package/build/hooks/useBrowseState.d.ts +41 -1
  174. package/build/hooks/useBrowseState.d.ts.map +1 -1
  175. package/build/hooks/useBrowseState.js +142 -12
  176. package/build/hooks/useBrowseState.js.map +1 -1
  177. package/build/hooks/useConfirmation.d.ts +18 -0
  178. package/build/hooks/useConfirmation.d.ts.map +1 -0
  179. package/build/hooks/useConfirmation.js +56 -0
  180. package/build/hooks/useConfirmation.js.map +1 -0
  181. package/build/hooks/useInitState.d.ts +72 -0
  182. package/build/hooks/useInitState.d.ts.map +1 -0
  183. package/build/hooks/useInitState.js +372 -0
  184. package/build/hooks/useInitState.js.map +1 -0
  185. package/build/hooks/useListActions.d.ts +15 -0
  186. package/build/hooks/useListActions.d.ts.map +1 -0
  187. package/build/hooks/useListActions.js +155 -0
  188. package/build/hooks/useListActions.js.map +1 -0
  189. package/build/hooks/useListState.d.ts +151 -0
  190. package/build/hooks/useListState.d.ts.map +1 -0
  191. package/build/hooks/useListState.js +448 -0
  192. package/build/hooks/useListState.js.map +1 -0
  193. package/build/hooks/usePruneState.d.ts +76 -0
  194. package/build/hooks/usePruneState.d.ts.map +1 -0
  195. package/build/hooks/usePruneState.js +246 -0
  196. package/build/hooks/usePruneState.js.map +1 -0
  197. package/build/hooks/usePublishState.d.ts +115 -0
  198. package/build/hooks/usePublishState.d.ts.map +1 -0
  199. package/build/hooks/usePublishState.js +673 -0
  200. package/build/hooks/usePublishState.js.map +1 -0
  201. package/build/hooks/useSetupState.d.ts +57 -0
  202. package/build/hooks/useSetupState.d.ts.map +1 -0
  203. package/build/hooks/useSetupState.js +236 -0
  204. package/build/hooks/useSetupState.js.map +1 -0
  205. package/build/hooks/useUninstallState.d.ts +102 -0
  206. package/build/hooks/useUninstallState.d.ts.map +1 -0
  207. package/build/hooks/useUninstallState.js +342 -0
  208. package/build/hooks/useUninstallState.js.map +1 -0
  209. package/build/lib/adapter.d.ts +21 -0
  210. package/build/lib/adapter.d.ts.map +1 -1
  211. package/build/lib/adapter.js +59 -1
  212. package/build/lib/adapter.js.map +1 -1
  213. package/build/lib/checksum.d.ts +39 -0
  214. package/build/lib/checksum.d.ts.map +1 -1
  215. package/build/lib/checksum.js +101 -13
  216. package/build/lib/checksum.js.map +1 -1
  217. package/build/lib/config.d.ts +38 -18
  218. package/build/lib/config.d.ts.map +1 -1
  219. package/build/lib/config.js +107 -55
  220. package/build/lib/config.js.map +1 -1
  221. package/build/lib/detector.d.ts +2 -11
  222. package/build/lib/detector.d.ts.map +1 -1
  223. package/build/lib/detector.js +2 -64
  224. package/build/lib/detector.js.map +1 -1
  225. package/build/lib/diagnostics.d.ts +7 -0
  226. package/build/lib/diagnostics.d.ts.map +1 -1
  227. package/build/lib/diagnostics.js +54 -34
  228. package/build/lib/diagnostics.js.map +1 -1
  229. package/build/lib/diff-command.d.ts +40 -0
  230. package/build/lib/diff-command.d.ts.map +1 -0
  231. package/build/lib/diff-command.js +145 -0
  232. package/build/lib/diff-command.js.map +1 -0
  233. package/build/lib/diff.d.ts +7 -0
  234. package/build/lib/diff.d.ts.map +1 -1
  235. package/build/lib/diff.js +15 -10
  236. package/build/lib/diff.js.map +1 -1
  237. package/build/lib/format.d.ts +6 -0
  238. package/build/lib/format.d.ts.map +1 -0
  239. package/build/lib/format.js +18 -0
  240. package/build/lib/format.js.map +1 -0
  241. package/build/lib/github.d.ts +8 -0
  242. package/build/lib/github.d.ts.map +1 -1
  243. package/build/lib/github.js +9 -0
  244. package/build/lib/github.js.map +1 -1
  245. package/build/lib/gitignore.d.ts +17 -0
  246. package/build/lib/gitignore.d.ts.map +1 -1
  247. package/build/lib/gitignore.js +17 -1
  248. package/build/lib/gitignore.js.map +1 -1
  249. package/build/lib/installer.d.ts +1 -0
  250. package/build/lib/installer.d.ts.map +1 -1
  251. package/build/lib/installer.js +7 -7
  252. package/build/lib/installer.js.map +1 -1
  253. package/build/lib/lockfile.d.ts +19 -17
  254. package/build/lib/lockfile.d.ts.map +1 -1
  255. package/build/lib/lockfile.js +43 -67
  256. package/build/lib/lockfile.js.map +1 -1
  257. package/build/lib/publisher.d.ts +35 -0
  258. package/build/lib/publisher.d.ts.map +1 -1
  259. package/build/lib/publisher.js +210 -16
  260. package/build/lib/publisher.js.map +1 -1
  261. package/build/lib/registry.d.ts +20 -5
  262. package/build/lib/registry.d.ts.map +1 -1
  263. package/build/lib/registry.js +41 -30
  264. package/build/lib/registry.js.map +1 -1
  265. package/build/lib/schemas/config.d.ts +31 -3
  266. package/build/lib/schemas/config.d.ts.map +1 -1
  267. package/build/lib/schemas/config.js +21 -2
  268. package/build/lib/schemas/config.js.map +1 -1
  269. package/build/lib/schemas/index.d.ts +1 -1
  270. package/build/lib/schemas/index.d.ts.map +1 -1
  271. package/build/lib/schemas/index.js +1 -1
  272. package/build/lib/schemas/index.js.map +1 -1
  273. package/build/lib/schemas/lockfile.d.ts +18 -2
  274. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  275. package/build/lib/schemas/lockfile.js +10 -1
  276. package/build/lib/schemas/lockfile.js.map +1 -1
  277. package/build/lib/search.d.ts +15 -1
  278. package/build/lib/search.d.ts.map +1 -1
  279. package/build/lib/search.js +65 -65
  280. package/build/lib/search.js.map +1 -1
  281. package/build/lib/setup.d.ts +28 -0
  282. package/build/lib/setup.d.ts.map +1 -0
  283. package/build/lib/setup.js +98 -0
  284. package/build/lib/setup.js.map +1 -0
  285. package/build/lib/sync.d.ts +109 -0
  286. package/build/lib/sync.d.ts.map +1 -0
  287. package/build/lib/sync.js +221 -0
  288. package/build/lib/sync.js.map +1 -0
  289. package/build/lib/tool-resolver.d.ts +29 -6
  290. package/build/lib/tool-resolver.d.ts.map +1 -1
  291. package/build/lib/tool-resolver.js +54 -15
  292. package/build/lib/tool-resolver.js.map +1 -1
  293. package/build/lib/updater.d.ts +7 -4
  294. package/build/lib/updater.d.ts.map +1 -1
  295. package/build/lib/updater.js +12 -7
  296. package/build/lib/updater.js.map +1 -1
  297. package/build/lib/version.js +1 -1
  298. package/build/lib/version.js.map +1 -1
  299. package/package.json +79 -65
  300. package/tool-adapters/claude-code.json +1 -1
  301. package/tool-adapters/copilot-cli.json +1 -1
@@ -1,44 +1,52 @@
1
1
  import { getGitHubToken, isGhCliAvailable, validateToken } from './auth.js';
2
2
  import { loadConfig, loadProjectConfig } from './config.js';
3
3
  import { detectTools, getAdapterDiagnostics } from './detector.js';
4
- import { readLockfile } from './lockfile.js';
4
+ import { lockfileExists, readLockfile } from './lockfile.js';
5
5
  import { findProjectRoot } from './paths.js';
6
6
  import { fetchRegistry } from './registry.js';
7
7
  /**
8
- * Run all environment diagnostic checks and return the results.
9
- * Extracted from the `doctor` command so it can be tested independently.
8
+ * Check whether the given Node.js version string meets the project requirements.
10
9
  *
11
- * @param progress - callback to report progress messages
12
- * @param projectRootOverride - optional explicit project root; when omitted, discovered via `findProjectRoot()`
10
+ * @param version - a Node.js-style version string such as `process.version` (e.g. "v24.5.0")
11
+ * @returns a `DiagnosticCheck` with status pass / warn / fail
13
12
  */
14
- export async function runDiagnostics(progress, projectRootOverride) {
15
- const projectDir = findProjectRoot(projectRootOverride);
16
- const checks = [];
17
- // Check Node.js version
18
- progress('Checking Node.js...');
19
- const nodeVersion = process.version;
20
- const nodeMajor = parseInt(nodeVersion.slice(1), 10);
13
+ export function checkNodeVersion(version) {
14
+ const nodeMajor = parseInt(version.slice(1), 10);
21
15
  if (nodeMajor >= 24) {
22
- checks.push({
23
- message: `${nodeVersion} (recommended)`,
16
+ return {
17
+ message: `${version} (recommended)`,
24
18
  name: 'Node.js',
25
19
  status: 'pass',
26
- });
20
+ };
27
21
  }
28
22
  else if (nodeMajor >= 20) {
29
- checks.push({
30
- message: `${nodeVersion} (Node 24+ recommended)`,
23
+ return {
24
+ message: `${version} (Node 24+ recommended)`,
31
25
  name: 'Node.js',
32
26
  status: 'warn',
33
- });
27
+ };
34
28
  }
35
29
  else {
36
- checks.push({
37
- message: `${nodeVersion} (Node 20+ required, 24+ recommended)`,
30
+ return {
31
+ message: `${version} (Node 20+ required, 24+ recommended)`,
38
32
  name: 'Node.js',
39
33
  status: 'fail',
40
- });
34
+ };
41
35
  }
36
+ }
37
+ /**
38
+ * Run all environment diagnostic checks and return the results.
39
+ * Extracted from the `doctor` command so it can be tested independently.
40
+ *
41
+ * @param progress - callback to report progress messages
42
+ * @param projectRootOverride - optional explicit project root; when omitted, discovered via `findProjectRoot()`
43
+ */
44
+ export async function runDiagnostics(progress, projectRootOverride) {
45
+ const projectDir = findProjectRoot(projectRootOverride);
46
+ const checks = [];
47
+ // Check Node.js version
48
+ progress('Checking Node.js...');
49
+ checks.push(checkNodeVersion(process.version));
42
50
  // Check gh CLI
43
51
  progress('Checking GitHub CLI...');
44
52
  const ghAvailable = await isGhCliAvailable();
@@ -170,7 +178,9 @@ export async function runDiagnostics(progress, projectRootOverride) {
170
178
  const projectConfig = await loadProjectConfig(projectDir);
171
179
  if (projectConfig) {
172
180
  checks.push({
173
- message: `Loaded (tool: ${projectConfig.tool})`,
181
+ message: projectConfig.tools.length === 0
182
+ ? 'Loaded (no tools configured)'
183
+ : `Loaded (tools: ${projectConfig.tools.join(', ')})`,
174
184
  name: 'Project config',
175
185
  status: 'pass',
176
186
  });
@@ -194,23 +204,33 @@ export async function runDiagnostics(progress, projectRootOverride) {
194
204
  }
195
205
  // Check lockfile
196
206
  progress('Checking lockfile...');
197
- try {
198
- const lockfile = await readLockfile(projectDir);
199
- const assetCount = (lockfile.assets ?? []).length;
200
- checks.push({
201
- message: `Found .atk-lock.json (${assetCount} asset${assetCount === 1 ? '' : 's'})`,
202
- name: 'Lockfile',
203
- status: 'pass',
204
- });
205
- }
206
- catch {
207
+ if (!lockfileExists(projectDir)) {
207
208
  checks.push({
208
- detail: 'Run `atk setup` to initialize the project.',
209
- message: 'No lockfile found or unreadable',
209
+ detail: 'Run `atk setup` to initialize',
210
+ message: 'No lockfile found',
210
211
  name: 'Lockfile',
211
212
  status: 'warn',
212
213
  });
213
214
  }
215
+ else {
216
+ try {
217
+ const lockfile = await readLockfile(projectDir);
218
+ const assetCount = (lockfile.assets ?? []).length;
219
+ checks.push({
220
+ message: `Found .atk-lock.json (${assetCount} asset${assetCount === 1 ? '' : 's'})`,
221
+ name: 'Lockfile',
222
+ status: 'pass',
223
+ });
224
+ }
225
+ catch (err) {
226
+ checks.push({
227
+ detail: 'Run `atk setup` to re-initialize',
228
+ message: err instanceof Error ? err.message : 'Failed to read lockfile',
229
+ name: 'Lockfile',
230
+ status: 'warn',
231
+ });
232
+ }
233
+ }
214
234
  return checks;
215
235
  }
216
236
  //# sourceMappingURL=diagnostics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAmC,EACnC,mBAA4B;IAE5B,MAAM,UAAU,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACxD,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,wBAAwB;IACxB,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,GAAG,WAAW,gBAAgB;YACvC,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,GAAG,WAAW,yBAAyB;YAChD,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,GAAG,WAAW,uCAAuC;YAC9D,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,eAAe;IACf,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC7C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,yBAAyB;YAClC,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,MAAM,EAAE,mEAAmE;YAC3E,OAAO,EAAE,kCAAkC;YAC3C,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,QAAQ,CAAC,mCAAmC,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,oBAAoB,UAAU,CAAC,QAAQ,IAAI,SAAS,EAAE;gBAC/D,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,MAAM,EAAE,sDAAsD;gBAC9D,OAAO,EAAE,6BAA6B;gBACtC,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB;YACnE,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB;YACrE,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;IACxB,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,eAAe,QAAQ,CAAC,MAAM,CAAC,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,WAAW;YACpG,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B;YACxE,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC/B,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5F,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,MAAM,EAAE,8DAA8D;YACtE,OAAO,EAAE,+CAA+C;YACxD,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;IACxB,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,MAAM,qBAAqB,EAAE,CAAC;IAClD,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,oCAAoC,WAAW,CAAC,WAAW,EAAE;YACtE,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7F,MAAM,CAAC,IAAI,CAAC;YACV,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,4BAA4B;YACnE,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,GAAG,WAAW,CAAC,cAAc,oBAAoB;YAC1D,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,iBAAiB,aAAa,CAAC,IAAI,GAAG;gBAC/C,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,MAAM,EAAE,+CAA+C;gBACvD,OAAO,EAAE,yBAAyB;gBAClC,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC;YACV,MAAM,EAAE,+CAA+C;YACvD,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;YAC7E,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;IACjB,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,yBAAyB,UAAU,SAAS,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;YACnF,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC;YACV,MAAM,EAAE,4CAA4C;YACpD,OAAO,EAAE,iCAAiC;YAC1C,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { FileDiffEntry } from '../components/index.js';
2
+ import type { InstalledAsset, InstalledFile } from './schemas/lockfile.js';
3
+ import type { RegistryAsset } from './schemas/registry.js';
4
+ export type DiffOutcome = {
5
+ diffs: FileDiffEntry[];
6
+ installed: InstalledAsset;
7
+ latestVersion: string;
8
+ name: string;
9
+ outcome: 'results';
10
+ registryAsset: RegistryAsset;
11
+ sameVersion: boolean;
12
+ } | {
13
+ name: string;
14
+ outcome: 'not-in-registry';
15
+ } | {
16
+ name: string;
17
+ outcome: 'not-installed';
18
+ };
19
+ /** Describes a file to fetch for diff comparison, with its installed and remote paths. */
20
+ export interface FileFetchEntry {
21
+ file: InstalledFile;
22
+ installedPath: string;
23
+ remotePath: string;
24
+ }
25
+ /**
26
+ * Core logic for the `atk diff` command. Computes the diff between a locally
27
+ * installed asset and the latest version in the registry.
28
+ *
29
+ * @param name - Asset name (without org prefix)
30
+ * @param org - Org from the --org CLI flag or inline @org/name syntax (already merged)
31
+ * @param tool - Tool override from --tool CLI flag
32
+ * @param context - Number of context lines for unified diff output
33
+ * @param refresh - Whether to bypass the registry cache
34
+ * @param projectRoot - Optional project root override
35
+ * @param cliOrg - Org from the --org CLI flag
36
+ * @param inlineOrg - Org parsed from @org/name syntax
37
+ * @param progress - Callback to report progress messages to the UI
38
+ */
39
+ export declare function computeDiffOutcome(name: string, org: string | undefined, tool: string | undefined, context: number, refresh: boolean, projectRoot: string | undefined, cliOrg: string | undefined, inlineOrg: string | undefined, progress: (message: string) => void): Promise<DiffOutcome>;
40
+ //# sourceMappingURL=diff-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-command.d.ts","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAa3D,MAAM,MAAM,WAAW,GACnB;IACE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAE/C,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,WAAW,CAAC,CAqJtB"}
@@ -0,0 +1,145 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { readFile } from 'node:fs/promises';
3
+ import { join } from 'node:path';
4
+ import { resolveInstalledPaths } from './adapter.js';
5
+ import { getGitHubToken } from './auth.js';
6
+ import { loadConfig } from './config.js';
7
+ import { computeAddedFileDiff, computeRemovedFileDiff, computeUnifiedDiff } from './diff.js';
8
+ import { fetchFileContent, getEffectiveBranch, listAssetDirectoryFiles } from './github.js';
9
+ import { findInstalledAsset, readLockfile } from './lockfile.js';
10
+ import { resolveActiveOrg } from './org.js';
11
+ import { findProjectRoot } from './paths.js';
12
+ import { fetchRegistry, findAsset } from './registry.js';
13
+ import { resolveTool } from './tool-resolver.js';
14
+ /**
15
+ * Core logic for the `atk diff` command. Computes the diff between a locally
16
+ * installed asset and the latest version in the registry.
17
+ *
18
+ * @param name - Asset name (without org prefix)
19
+ * @param org - Org from the --org CLI flag or inline @org/name syntax (already merged)
20
+ * @param tool - Tool override from --tool CLI flag
21
+ * @param context - Number of context lines for unified diff output
22
+ * @param refresh - Whether to bypass the registry cache
23
+ * @param projectRoot - Optional project root override
24
+ * @param cliOrg - Org from the --org CLI flag
25
+ * @param inlineOrg - Org parsed from @org/name syntax
26
+ * @param progress - Callback to report progress messages to the UI
27
+ */
28
+ export async function computeDiffOutcome(name, org, tool, context, refresh, projectRoot, cliOrg, inlineOrg, progress) {
29
+ const projectDir = findProjectRoot(projectRoot);
30
+ progress('Loading configuration...');
31
+ const config = await loadConfig();
32
+ const { adapter } = await resolveTool(tool);
33
+ progress('Reading lockfile...');
34
+ const lockfile = await readLockfile(projectDir);
35
+ const resolvedOrg = resolveActiveOrg(inlineOrg ?? cliOrg, lockfile.org, config.org);
36
+ const installed = findInstalledAsset(lockfile, name, undefined, resolvedOrg);
37
+ if (!installed) {
38
+ return { name, outcome: 'not-installed' };
39
+ }
40
+ progress('Fetching registry...');
41
+ const registry = await fetchRegistry({ force: refresh });
42
+ const foundAsset = findAsset(registry, name, installed.type, undefined, resolvedOrg);
43
+ if (!foundAsset) {
44
+ return { name, outcome: 'not-in-registry' };
45
+ }
46
+ const { asset: registryAsset, version: latestVersion } = foundAsset;
47
+ progress('Fetching latest version...');
48
+ const token = await getGitHubToken();
49
+ const effectiveBranch = getEffectiveBranch(config.registryBranch);
50
+ let remoteFilesList;
51
+ try {
52
+ remoteFilesList = await listAssetDirectoryFiles(token, registryAsset, latestVersion, effectiveBranch);
53
+ }
54
+ catch (error) {
55
+ throw new Error(`Failed to list asset directory files for "${name}". ` +
56
+ `Ensure your GitHub authentication is valid (run \`gh auth login\`). ` +
57
+ `Original error: ${error instanceof Error ? error.message : String(error)}`);
58
+ }
59
+ // Convert remote files array to a Map for O(1) lookups by name
60
+ const remoteFiles = new Map(remoteFilesList.map((f) => [f.name, f]));
61
+ // Resolve installed paths via the adapter
62
+ const resolved = resolveInstalledPaths(installed, adapter, projectDir);
63
+ const installedPathMap = new Map(resolved.files.map((f) => [f.sourcePath, f.installedPath]));
64
+ // Identify which installed files have a remote counterpart and exist locally
65
+ const filesToFetch = [];
66
+ const diffs = [];
67
+ for (const file of installed.files) {
68
+ const installedPath = installedPathMap.get(file.sourcePath);
69
+ const remoteFile = remoteFiles.get(file.sourcePath);
70
+ if (!remoteFile) {
71
+ const absoluteInstalledPath = installedPath ? join(projectDir, installedPath) : undefined;
72
+ if (absoluteInstalledPath && existsSync(absoluteInstalledPath)) {
73
+ const localContent = await readFile(absoluteInstalledPath, 'utf-8');
74
+ diffs.push({
75
+ diffLines: computeRemovedFileDiff(localContent),
76
+ fileName: file.sourcePath,
77
+ status: 'removed',
78
+ });
79
+ }
80
+ else {
81
+ diffs.push({ fileName: file.sourcePath, status: 'removed' });
82
+ }
83
+ continue;
84
+ }
85
+ if (!installedPath) {
86
+ diffs.push({ fileName: file.sourcePath, status: 'missing-local' });
87
+ continue;
88
+ }
89
+ const absoluteInstalledPath = join(projectDir, installedPath);
90
+ if (!existsSync(absoluteInstalledPath)) {
91
+ diffs.push({ fileName: file.sourcePath, status: 'missing-local' });
92
+ continue;
93
+ }
94
+ filesToFetch.push({ file, installedPath, remotePath: remoteFile.path });
95
+ }
96
+ // Fetch all remote file contents in parallel
97
+ const remoteContents = await Promise.all(filesToFetch.map(async ({ remotePath }) => fetchFileContent(token, remotePath, effectiveBranch)));
98
+ // Read all local file contents in parallel
99
+ const localContents = await Promise.all(filesToFetch.map(async ({ installedPath }) => readFile(join(projectDir, installedPath), 'utf-8')));
100
+ // Build diffs from fetched content
101
+ for (let i = 0; i < filesToFetch.length; i++) {
102
+ const { file } = filesToFetch[i];
103
+ const remoteContent = remoteContents[i];
104
+ const localContent = localContents[i];
105
+ if (localContent === remoteContent) {
106
+ diffs.push({
107
+ fileName: file.sourcePath,
108
+ localLines: localContent.split('\n').length,
109
+ remoteLines: remoteContent.split('\n').length,
110
+ status: 'unchanged',
111
+ });
112
+ }
113
+ else {
114
+ // Diff argument order: remote (old) → local (new).
115
+ // This means '+' lines represent local content and '-' lines represent registry content.
116
+ diffs.push({
117
+ diffLines: computeUnifiedDiff(remoteContent, localContent, context),
118
+ fileName: file.sourcePath,
119
+ localLines: localContent.split('\n').length,
120
+ remoteLines: remoteContent.split('\n').length,
121
+ status: 'modified',
122
+ });
123
+ }
124
+ }
125
+ // Collect added files (present in registry but not in installed files), then batch-fetch in parallel
126
+ const installedSourcePaths = new Set(installed.files.map((f) => f.sourcePath));
127
+ const addedRemoteFiles = [...remoteFiles.values()].filter((rf) => !installedSourcePaths.has(rf.name));
128
+ const addedContents = await Promise.all(addedRemoteFiles.map(async (rf) => fetchFileContent(token, rf.path, effectiveBranch)));
129
+ for (let i = 0; i < addedRemoteFiles.length; i++) {
130
+ const remoteFile = addedRemoteFiles[i];
131
+ const remoteContent = addedContents[i];
132
+ diffs.push({ diffLines: computeAddedFileDiff(remoteContent), fileName: remoteFile.name, status: 'added' });
133
+ }
134
+ const sameVersion = installed.version === latestVersion;
135
+ return {
136
+ diffs,
137
+ installed,
138
+ latestVersion,
139
+ name,
140
+ outcome: 'results',
141
+ registryAsset,
142
+ sameVersion,
143
+ };
144
+ }
145
+ //# sourceMappingURL=diff-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-command.js","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"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"}
@@ -31,4 +31,11 @@ export declare function computeRemovedFileDiff(content: string): DiffLine[];
31
31
  * @param contextLines - Number of context lines surrounding each change (default: 3).
32
32
  */
33
33
  export declare function computeUnifiedDiff(oldContent: string, newContent: string, contextLines?: number): DiffLine[];
34
+ /**
35
+ * Split content into lines and strip the trailing empty string
36
+ * that results from a final newline character.
37
+ *
38
+ * @param content - The raw string content to split.
39
+ */
40
+ export declare function splitContentLines(content: string): string[];
34
41
  //# sourceMappingURL=diff.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/lib/diff.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAmBhE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAmBlE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,GAAG,QAAQ,EAAE,CA4B/G"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/lib/diff.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAehE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAelE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,GAAG,QAAQ,EAAE,CA4B/G;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAM3D"}
package/build/lib/diff.js CHANGED
@@ -5,11 +5,7 @@ import { structuredPatch } from 'diff';
5
5
  * @param content - The full content of the added file.
6
6
  */
7
7
  export function computeAddedFileDiff(content) {
8
- const contentLines = content.split('\n');
9
- // Remove trailing empty string from a final newline
10
- if (contentLines.length > 0 && contentLines[contentLines.length - 1] === '') {
11
- contentLines.pop();
12
- }
8
+ const contentLines = splitContentLines(content);
13
9
  const lines = [];
14
10
  lines.push({
15
11
  content: `@@ -0,0 +1,${contentLines.length} @@`,
@@ -26,11 +22,7 @@ export function computeAddedFileDiff(content) {
26
22
  * @param content - The full content of the removed file.
27
23
  */
28
24
  export function computeRemovedFileDiff(content) {
29
- const contentLines = content.split('\n');
30
- // Remove trailing empty string from a final newline
31
- if (contentLines.length > 0 && contentLines[contentLines.length - 1] === '') {
32
- contentLines.pop();
33
- }
25
+ const contentLines = splitContentLines(content);
34
26
  const lines = [];
35
27
  lines.push({
36
28
  content: `@@ -1,${contentLines.length} +0,0 @@`,
@@ -75,4 +67,17 @@ export function computeUnifiedDiff(oldContent, newContent, contextLines = 3) {
75
67
  }
76
68
  return lines;
77
69
  }
70
+ /**
71
+ * Split content into lines and strip the trailing empty string
72
+ * that results from a final newline character.
73
+ *
74
+ * @param content - The raw string content to split.
75
+ */
76
+ export function splitContentLines(content) {
77
+ const lines = content.split('\n');
78
+ if (lines.length > 0 && lines[lines.length - 1] === '') {
79
+ lines.pop();
80
+ }
81
+ return lines;
82
+ }
78
83
  //# sourceMappingURL=diff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/lib/diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAgBvC;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,oDAAoD;IACpD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5E,YAAY,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,KAAK,CAAC,IAAI,CAAC;QACT,OAAO,EAAE,cAAc,YAAY,CAAC,MAAM,KAAK;QAC/C,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,oDAAoD;IACpD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5E,YAAY,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,KAAK,CAAC,IAAI,CAAC;QACT,OAAO,EAAE,SAAS,YAAY,CAAC,MAAM,UAAU;QAC/C,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,UAAkB,EAAE,eAAuB,CAAC;IACjG,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE;QACpF,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC;YACT,OAAO,EAAE,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK;YACtF,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;QAEH,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE3B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/lib/diff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Format an ISO date string into a human-readable short date (e.g. "Jan 5, 2025").
3
+ * Returns the original string if parsing fails.
4
+ */
5
+ export declare function formatDate(isoString: string): string;
6
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWpD"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Format an ISO date string into a human-readable short date (e.g. "Jan 5, 2025").
3
+ * Returns the original string if parsing fails.
4
+ */
5
+ export function formatDate(isoString) {
6
+ try {
7
+ const date = new Date(isoString);
8
+ return date.toLocaleDateString('en-US', {
9
+ day: 'numeric',
10
+ month: 'short',
11
+ year: 'numeric',
12
+ });
13
+ }
14
+ catch {
15
+ return isoString;
16
+ }
17
+ }
18
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;YACtC,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -28,6 +28,14 @@ export declare function buildGitHubContentsUrl(path: string, branch?: string): s
28
28
  * @returns HeadersInit with Accept, Authorization, and X-GitHub-Api-Version
29
29
  */
30
30
  export declare function buildGitHubHeaders(token: string, accept?: string): HeadersInit;
31
+ /**
32
+ * Build a browsable GitHub URL pointing to an asset's README.md in the registry repo.
33
+ */
34
+ export declare function buildReadmeUrl(asset: {
35
+ name: string;
36
+ org?: string;
37
+ type: string;
38
+ }, version: string): string;
31
39
  /**
32
40
  * Fetch raw file content from the GitHub Contents API.
33
41
  *
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,8CAA8C,CAAC;AACjF,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAE/C,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,oCAAoC,CAAC;AAEnE,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAM9E;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWpG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYzE;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACnD,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,EAAE,CAAC,CAuB5B"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,8CAA8C,CAAC;AACjF,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAE/C,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,oCAAoC,CAAC;AAEnE,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAM9E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK3G;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWpG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYzE;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACnD,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,EAAE,CAAC,CAuB5B"}
@@ -35,6 +35,15 @@ export function buildGitHubHeaders(token, accept) {
35
35
  'X-GitHub-Api-Version': GITHUB_API_VERSION,
36
36
  };
37
37
  }
38
+ /**
39
+ * Build a browsable GitHub URL pointing to an asset's README.md in the registry repo.
40
+ */
41
+ export function buildReadmeUrl(asset, version) {
42
+ const assetDir = asset.org
43
+ ? `assets/${asset.type}s/@${asset.org}/${asset.name}/${version}`
44
+ : `assets/${asset.type}s/${asset.name}/${version}`;
45
+ return `https://github.com/${DEFAULT_REGISTRY_REPO}/blob/${DEFAULT_REGISTRY_BRANCH}/${assetDir}/README.md`;
46
+ }
38
47
  /**
39
48
  * Fetch raw file content from the GitHub Contents API.
40
49
  *
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,23 @@ export declare function ensureGitignoreEntries(projectDir: string, adapter: Adap
14
14
  added: string[];
15
15
  alreadyPresent: string[];
16
16
  }>;
17
+ /**
18
+ * Ensure that the given gitignore patterns are present in the project's
19
+ * `.gitignore` file.
20
+ *
21
+ * - Reads `.gitignore` from `projectDir` (creates it if missing)
22
+ * - Checks which patterns are already present
23
+ * - Appends missing entries under a `# ATK managed assets` comment header
24
+ *
25
+ * This is the low-level API that accepts raw string patterns, making it
26
+ * usable without an adapter (e.g., from the setup fallback path).
27
+ *
28
+ * Returns which entries were added vs already present.
29
+ */
30
+ export declare function ensureGitignorePatterns(projectDir: string, patterns: string[]): Promise<{
31
+ added: string[];
32
+ alreadyPresent: string[];
33
+ }>;
17
34
  /**
18
35
  * Extract gitignore patterns from an adapter's placements.
19
36
  *
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuExD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CA+B/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAYjF"}
1
+ {"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAcxD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA4DxD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CA+B/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAYjF"}
@@ -14,7 +14,6 @@ const ATK_HEADER = '# ATK managed assets';
14
14
  * Returns which entries were added vs already present.
15
15
  */
16
16
  export async function ensureGitignoreEntries(projectDir, adapter) {
17
- const gitignorePath = join(projectDir, '.gitignore');
18
17
  const patterns = getGitignorePatterns(adapter);
19
18
  // Always include lockfile sentinel pattern to prevent committing lock files
20
19
  if (!patterns.includes('.atk-lock.json.lock')) {
@@ -24,9 +23,26 @@ export async function ensureGitignoreEntries(projectDir, adapter) {
24
23
  if (!patterns.includes('.atkrc.json')) {
25
24
  patterns.push('.atkrc.json');
26
25
  }
26
+ return ensureGitignorePatterns(projectDir, patterns);
27
+ }
28
+ /**
29
+ * Ensure that the given gitignore patterns are present in the project's
30
+ * `.gitignore` file.
31
+ *
32
+ * - Reads `.gitignore` from `projectDir` (creates it if missing)
33
+ * - Checks which patterns are already present
34
+ * - Appends missing entries under a `# ATK managed assets` comment header
35
+ *
36
+ * This is the low-level API that accepts raw string patterns, making it
37
+ * usable without an adapter (e.g., from the setup fallback path).
38
+ *
39
+ * Returns which entries were added vs already present.
40
+ */
41
+ export async function ensureGitignorePatterns(projectDir, patterns) {
27
42
  if (patterns.length === 0) {
28
43
  return { added: [], alreadyPresent: [] };
29
44
  }
45
+ const gitignorePath = join(projectDir, '.gitignore');
30
46
  // Read existing content or start with empty string
31
47
  let content = '';
32
48
  if (existsSync(gitignorePath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/lib/gitignore.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export interface InstallResult {
25
25
  version: string;
26
26
  };
27
27
  configEntriesCreated: Array<{
28
+ checksum: string;
28
29
  file: string;
29
30
  key: string;
30
31
  }>;