@detergent-software/atk 9.2.0-dev.6 → 9.2.0-dev.7

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.
@@ -65,6 +65,8 @@ export type BrowseAction = {
65
65
  type: 'EXIT_FILTER_MODE';
66
66
  } | {
67
67
  type: 'EXPAND_TOGGLE';
68
+ } | {
69
+ type: 'TOGGLE_MARK';
68
70
  } | {
69
71
  type: 'TOGGLE_ORG_FILTER';
70
72
  };
@@ -80,7 +82,7 @@ export type BrowseItem = {
80
82
  data: RegistryBundle;
81
83
  kind: 'bundle';
82
84
  };
83
- export type BrowseMode = BrowsingMode | ConfirmingInstallMode | InstallingMode | InstallResultMode;
85
+ export type BrowseMode = BrowsingMode | ConfirmingInstallMode | ConfirmingInstallSetMode | InstallingMode | InstallingSetMode | InstallResultMode | InstallSetResultMode;
84
86
  export type BrowseState = ErrorState | LoadingState | ReadyState;
85
87
  export type BrowsingMode = {
86
88
  inputMode: 'filter' | 'navigate';
@@ -96,6 +98,16 @@ export type ConfirmingInstallMode = {
96
98
  itemKind: 'asset' | 'bundle';
97
99
  kind: 'confirming-install';
98
100
  };
101
+ /** `i` with rows marked: one confirmation for the marked set. */
102
+ export type ConfirmingInstallSetMode = {
103
+ /** How many of `items` the lockfile already has (a bundle counts when every member is installed) */
104
+ alreadyInstalledCount: number;
105
+ /** How many of `items` the current filter, type tab or org toggle hides */
106
+ hiddenCount: number;
107
+ /** The marked rows, in the order the view lists them, hidden ones after */
108
+ items: BrowseItem[];
109
+ kind: 'confirming-install-set';
110
+ };
99
111
  export type ErrorState = {
100
112
  code?: string;
101
113
  command?: string;
@@ -113,6 +125,11 @@ export type InstallingMode = {
113
125
  kind: 'installing';
114
126
  message: string;
115
127
  };
128
+ export type InstallingSetMode = {
129
+ items: BrowseItem[];
130
+ kind: 'installing-set';
131
+ message: string;
132
+ };
116
133
  export type InstallResultMode = {
117
134
  assetName: string;
118
135
  assetOrg?: string;
@@ -127,6 +144,15 @@ export type InstallResultMode = {
127
144
  message: string;
128
145
  success: boolean;
129
146
  };
147
+ export type InstallSetResultMode = {
148
+ /** A failure's suggested command, shown under it */
149
+ command?: string;
150
+ /** A failure's next step, shown under it */
151
+ hint?: string;
152
+ kind: 'install-set-result';
153
+ message: string;
154
+ success: boolean;
155
+ };
130
156
  export type LoadingState = {
131
157
  message: string;
132
158
  status: 'loading';
@@ -140,6 +166,8 @@ export type ReadyState = {
140
166
  filteredItems: BrowseItem[];
141
167
  filterText: string;
142
168
  lockfile: Lockfile;
169
+ /** The marked rows by {@link browseItemKey}, kept through filter, sort, type and org changes */
170
+ marked: ReadonlySet<string>;
143
171
  mode: BrowseMode;
144
172
  org?: string;
145
173
  orgOnly: boolean;
@@ -168,6 +196,8 @@ type InkKey = {
168
196
  tab: boolean;
169
197
  upArrow: boolean;
170
198
  };
199
+ /** The key a mark holds a row by: its identity, so a mark outlives the row's position. */
200
+ export declare function browseItemKey(item: BrowseItem): string;
171
201
  export declare function browseReducer(state: BrowseState, action: BrowseAction): BrowseState;
172
202
  export declare function computeFilteredItems(allAssets: RegistryAsset[], allBundles: RegistryBundle[], typeFilter: AssetTypeFilter, filterText: string, orgOnly?: boolean, org?: string): BrowseItem[];
173
203
  export declare function computeSortedItems(items: BrowseItem[], sortField: BrowseSortField, sortDirection: BrowseSortDirection): BrowseItem[];
@@ -1 +1 @@
1
- {"version":3,"file":"useBrowseState.d.ts","sourceRoot":"","sources":["../../src/hooks/useBrowseState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBrowseState.d.ts","sourceRoot":"","sources":["../../src/hooks/useBrowseState.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { useInput } from 'ink';
2
2
  import { useCallback, useReducer } from 'react';
3
3
  import { compare as semverCompare } from 'semver';
4
- import { isInstalled } from '../lib/lockfile.js';
4
+ import { identityKey, isInstalled } from '../lib/lockfile.js';
5
5
  import { filterVisibleAssets, filterVisibleBundles } from '../lib/registry.js';
6
6
  import { matchItem, tokenize } from '../lib/search.js';
7
7
  export const TYPE_TABS = [
@@ -26,6 +26,11 @@ export const TYPE_TAB_LABELS = {
26
26
  };
27
27
  const BROWSE_SORT_FIELDS = ['name', 'type', 'version'];
28
28
  // --- Reducer ---
29
+ /** The key a mark holds a row by: its identity, so a mark outlives the row's position. */
30
+ export function browseItemKey(item) {
31
+ return item.kind === 'asset' ? identityKey(item.data) : identityKey({ ...item.data, type: 'bundle' });
32
+ }
33
+ // --- Helpers ---
29
34
  export function browseReducer(state, action) {
30
35
  switch (action.type) {
31
36
  case 'LOAD_ERROR':
@@ -43,7 +48,12 @@ export function browseReducer(state, action) {
43
48
  return state;
44
49
  return { ...state, message: action.message };
45
50
  case 'SET_VIEWPORT_HEIGHT':
46
- if (state.status === 'ready' || state.status === 'loading') {
51
+ if (state.status === 'ready') {
52
+ // A shorter list (the help bar wrapping to a second row, say) keeps the cursor in view.
53
+ const scrollOffset = clampScroll(state.cursorIndex, state.scrollOffset, action.height, state.filteredItems.length);
54
+ return { ...state, scrollOffset, viewportHeight: action.height };
55
+ }
56
+ if (state.status === 'loading') {
47
57
  return { ...state, viewportHeight: action.height };
48
58
  }
49
59
  return state;
@@ -64,6 +74,7 @@ export function browseReducer(state, action) {
64
74
  filteredItems: computeSortedItems(filtered, 'name', 'asc'),
65
75
  filterText,
66
76
  lockfile: action.lockfile,
77
+ marked: new Set(),
67
78
  mode: { inputMode: 'navigate', kind: 'browsing' },
68
79
  org: action.org,
69
80
  orgOnly: false,
@@ -95,6 +106,20 @@ export function browseReducer(state, action) {
95
106
  case 'BEGIN_INSTALL': {
96
107
  if (state.mode.kind !== 'browsing')
97
108
  return state;
109
+ if (state.marked.size > 0) {
110
+ const items = markedItems(state);
111
+ const shown = new Set(state.filteredItems.map(browseItemKey));
112
+ return {
113
+ ...state,
114
+ mode: {
115
+ alreadyInstalledCount: items.filter((item) => isItemInstalled(state.lockfile, item, { whole: true }))
116
+ .length,
117
+ hiddenCount: items.filter((item) => !shown.has(browseItemKey(item))).length,
118
+ items,
119
+ kind: 'confirming-install-set',
120
+ },
121
+ };
122
+ }
98
123
  if (state.filteredItems.length === 0)
99
124
  return state;
100
125
  const item = state.filteredItems[state.cursorIndex];
@@ -111,15 +136,10 @@ export function browseReducer(state, action) {
111
136
  },
112
137
  };
113
138
  }
114
- const bundleAssets = item.data.assets ?? [];
115
- // Resolve each ref's org the same way the installer does: an explicit
116
- // ref org wins, otherwise it falls back to the bundle's own org.
117
- const anyBundleAssetInstalled = bundleAssets.length > 0 &&
118
- bundleAssets.some((a) => isInstalled(state.lockfile, a.name, a.type, a.org ?? item.data.org));
119
139
  return {
120
140
  ...state,
121
141
  mode: {
122
- alreadyInstalled: anyBundleAssetInstalled,
142
+ alreadyInstalled: isItemInstalled(state.lockfile, item),
123
143
  assetName: item.data.name,
124
144
  // Thread the bundle's org so findBundle resolves the exact (name, org)
125
145
  // identity — without it, an org bundle silently matches a same-named
@@ -134,7 +154,7 @@ export function browseReducer(state, action) {
134
154
  };
135
155
  }
136
156
  case 'CANCEL_INSTALL': {
137
- if (state.mode.kind !== 'confirming-install')
157
+ if (state.mode.kind !== 'confirming-install' && state.mode.kind !== 'confirming-install-set')
138
158
  return state;
139
159
  return { ...state, mode: { inputMode: 'navigate', kind: 'browsing' } };
140
160
  }
@@ -144,6 +164,13 @@ export function browseReducer(state, action) {
144
164
  return { ...state, expandedIndex: null };
145
165
  }
146
166
  case 'CONFIRM_INSTALL': {
167
+ if (state.mode.kind === 'confirming-install-set') {
168
+ const { items } = state.mode;
169
+ return {
170
+ ...state,
171
+ mode: { items, kind: 'installing-set', message: `Installing ${items.length} marked...` },
172
+ };
173
+ }
147
174
  if (state.mode.kind !== 'confirming-install')
148
175
  return state;
149
176
  return {
@@ -239,7 +266,7 @@ export function browseReducer(state, action) {
239
266
  };
240
267
  }
241
268
  case 'DISMISS_RESULT': {
242
- if (state.mode.kind !== 'install-result')
269
+ if (state.mode.kind !== 'install-result' && state.mode.kind !== 'install-set-result')
243
270
  return state;
244
271
  return { ...state, mode: { inputMode: 'navigate', kind: 'browsing' } };
245
272
  }
@@ -260,6 +287,21 @@ export function browseReducer(state, action) {
260
287
  return { ...state, expandedIndex: newExpanded };
261
288
  }
262
289
  case 'INSTALL_COMPLETE': {
290
+ if (state.mode.kind === 'installing-set') {
291
+ // A set that installed is done with its marks; a failed one keeps them to try again.
292
+ return {
293
+ ...state,
294
+ lockfile: action.newLockfile ?? state.lockfile,
295
+ marked: action.success ? new Set() : state.marked,
296
+ mode: {
297
+ command: action.command,
298
+ hint: action.hint,
299
+ kind: 'install-set-result',
300
+ message: action.message,
301
+ success: action.success,
302
+ },
303
+ };
304
+ }
263
305
  if (state.mode.kind !== 'installing')
264
306
  return state;
265
307
  return {
@@ -280,13 +322,25 @@ export function browseReducer(state, action) {
280
322
  };
281
323
  }
282
324
  case 'INSTALL_PROGRESS': {
283
- if (state.mode.kind !== 'installing')
325
+ if (state.mode.kind !== 'installing' && state.mode.kind !== 'installing-set')
284
326
  return state;
285
327
  return {
286
328
  ...state,
287
329
  mode: { ...state.mode, message: action.message },
288
330
  };
289
331
  }
332
+ case 'TOGGLE_MARK': {
333
+ if (state.mode.kind !== 'browsing')
334
+ return state;
335
+ const item = state.filteredItems[state.cursorIndex];
336
+ if (!item)
337
+ return state;
338
+ const key = browseItemKey(item);
339
+ const marked = new Set(state.marked);
340
+ if (!marked.delete(key))
341
+ marked.add(key);
342
+ return { ...state, marked };
343
+ }
290
344
  case 'TOGGLE_ORG_FILTER': {
291
345
  if (!state.org)
292
346
  return state;
@@ -305,7 +359,6 @@ export function browseReducer(state, action) {
305
359
  return state;
306
360
  }
307
361
  }
308
- // --- Helpers ---
309
362
  export function computeFilteredItems(allAssets, allBundles, typeFilter, filterText, orgOnly = false, org) {
310
363
  const terms = tokenize(filterText);
311
364
  // The same matcher as `atk search`, so the same text finds the same items.
@@ -387,14 +440,14 @@ export function computeSortedItems(items, sortField, sortDirection) {
387
440
  export function mapBrowseInput(input, key, state) {
388
441
  const { mode } = state;
389
442
  // Install result: any key dismisses
390
- if (mode.kind === 'install-result') {
443
+ if (mode.kind === 'install-result' || mode.kind === 'install-set-result') {
391
444
  return { action: { type: 'DISMISS_RESULT' } };
392
445
  }
393
446
  // Installing: block all input
394
- if (mode.kind === 'installing')
447
+ if (mode.kind === 'installing' || mode.kind === 'installing-set')
395
448
  return null;
396
449
  // Confirming install
397
- if (mode.kind === 'confirming-install') {
450
+ if (mode.kind === 'confirming-install' || mode.kind === 'confirming-install-set') {
398
451
  if (input === 'y' || input === 'Y' || key.return) {
399
452
  return { action: { type: 'CONFIRM_INSTALL' } };
400
453
  }
@@ -430,6 +483,8 @@ export function mapBrowseInput(input, key, state) {
430
483
  return { action: { type: 'EXPAND_TOGGLE' } };
431
484
  if (key.escape)
432
485
  return { action: { type: 'COLLAPSE' } };
486
+ if (input === ' ')
487
+ return { action: { type: 'TOGGLE_MARK' } };
433
488
  if (input === 'i')
434
489
  return { action: { type: 'BEGIN_INSTALL' } };
435
490
  if (input === 's')
@@ -507,4 +562,33 @@ function getVisibleCount(scrollOffset, viewportHeight, itemsLength) {
507
562
  return remaining;
508
563
  return Math.max(0, baseCap - 1);
509
564
  }
565
+ /**
566
+ * Whether the lockfile has the row: the asset, or for a bundle any member (with `whole`, every
567
+ * member), each ref's org resolved the way the installer does (an explicit ref org wins, else the
568
+ * bundle's own).
569
+ */
570
+ function isItemInstalled(lockfile, item, { whole = false } = {}) {
571
+ if (item.kind === 'asset')
572
+ return isInstalled(lockfile, item.data.name, item.data.type, item.data.org);
573
+ const bundle = item.data;
574
+ const refs = bundle.assets ?? [];
575
+ const installed = (a) => isInstalled(lockfile, a.name, a.type, a.org ?? bundle.org);
576
+ return whole ? refs.length > 0 && refs.every(installed) : refs.some(installed);
577
+ }
578
+ /** The marked rows: those the view lists, in its order, then the ones it hides. */
579
+ function markedItems(state) {
580
+ const all = [
581
+ ...state.filteredItems,
582
+ ...state.allAssets.map((data) => ({ data, kind: 'asset' })),
583
+ ...state.allBundles.map((data) => ({ data, kind: 'bundle' })),
584
+ ];
585
+ const seen = new Set();
586
+ return all.filter((item) => {
587
+ const key = browseItemKey(item);
588
+ if (!state.marked.has(key) || seen.has(key))
589
+ return false;
590
+ seen.add(key);
591
+ return true;
592
+ });
593
+ }
510
594
  //# sourceMappingURL=useBrowseState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBrowseState.js","sourceRoot":"","sources":["../../src/hooks/useBrowseState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBrowseState.js","sourceRoot":"","sources":["../../src/hooks/useBrowseState.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,9 @@
3
3
  * Returns the original string if parsing fails.
4
4
  */
5
5
  export declare function formatDate(isoString: string): string;
6
+ /**
7
+ * How many rows past its first a one-line `text` wraps to inside a bordered box `width` columns
8
+ * wide, for views that size a list around the box. Ink wraps at words, so it can take one more.
9
+ */
10
+ export declare function wrappedExtraRows(text: string, width: number): number;
6
11
  //# sourceMappingURL=format.d.ts.map
@@ -1 +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"}
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;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE"}
@@ -15,4 +15,11 @@ export function formatDate(isoString) {
15
15
  return isoString;
16
16
  }
17
17
  }
18
+ /**
19
+ * How many rows past its first a one-line `text` wraps to inside a bordered box `width` columns
20
+ * wide, for views that size a list around the box. Ink wraps at words, so it can take one more.
21
+ */
22
+ export function wrappedExtraRows(text, width) {
23
+ return Math.max(0, Math.ceil(text.length / Math.max(1, width - 2)) - 1);
24
+ }
18
25
  //# sourceMappingURL=format.js.map
@@ -1 +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"}
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;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAa;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,90 @@
1
+ import type { ToolInstallResult } from './multi-tool-install.js';
2
+ import type { InstallPlan } from './resolver.js';
3
+ import type { Adapter, AssetType, InstalledAsset, Registry, RegistryBundle } from './schemas/index.js';
4
+ import type { Lockfile } from './schemas/lockfile.js';
5
+ import { executeInstallPlanForTools } from './multi-tool-install.js';
6
+ /** An asset a run of several targets asks for: one named, or one of a named `@org`'s assets (`fromOrg`). */
7
+ export interface AssetTarget {
8
+ fromOrg?: boolean;
9
+ kind: 'asset';
10
+ name: string;
11
+ org?: string;
12
+ type?: AssetType;
13
+ version?: string;
14
+ }
15
+ export interface BundleMember {
16
+ name: string;
17
+ org?: string;
18
+ type: AssetType;
19
+ }
20
+ /** A bundle a run of several targets asks for, at the version `version` resolved to. */
21
+ export interface BundleTarget {
22
+ bundle: RegistryBundle;
23
+ kind: 'bundle';
24
+ version?: string;
25
+ }
26
+ /** What a run of several targets did with a named asset: the installed ones in plan order, then the rest. */
27
+ export interface NamedAsset {
28
+ name: string;
29
+ org?: string;
30
+ outcome: 'already-installed' | 'installed' | 'upgraded-to-direct';
31
+ type: AssetType;
32
+ version: string;
33
+ }
34
+ /** A run of several targets, split into what is in place and the plan for the rest. */
35
+ export interface PlannedTargets {
36
+ /** The named assets the plan installs, in plan order, then the ones already in place. */
37
+ assets: NamedAsset[];
38
+ /** The bundles every targeted tool has whole, in the order named. */
39
+ bundlesInPlace: BundleTarget[];
40
+ plan: InstallPlan;
41
+ /** The targets the plan installs, in the order named. */
42
+ toInstall: Array<AssetTarget | BundleTarget>;
43
+ /** The assets in place only as dependencies, which become direct once the install succeeds. */
44
+ upgrades: InstalledAsset[];
45
+ }
46
+ /**
47
+ * The members of the bundle that one of `tools` places, as the registry has them. A member none of
48
+ * them places is left out, since this run can't adopt it, and so is a ref the registry can't find,
49
+ * which the install reports.
50
+ */
51
+ export declare function bundleMembers(registry: Registry, bundle: RegistryBundle, tools: Array<{
52
+ adapter: Adapter;
53
+ }>): BundleMember[];
54
+ /**
55
+ * Install what {@link planTargetsInstall} planned: one install across tools when the plan has
56
+ * entries, with its rollback, then the upgrades to direct. They come after the install, so a failed
57
+ * one leaves even the install reasons as they were.
58
+ */
59
+ export declare function installPlannedTargets({ plan, upgrades }: Pick<PlannedTargets, 'plan' | 'upgrades'>, tools: Array<{
60
+ adapter: Adapter;
61
+ tool: string;
62
+ }>, options: Parameters<typeof executeInstallPlanForTools>[2]): Promise<ToolInstallResult[]>;
63
+ /**
64
+ * Whether every member of the bundle is in place for every tool that takes it (with
65
+ * `requiredBundleVersion`, recorded as this bundle at that version). False when no tool takes any
66
+ * member, so the installer says why.
67
+ */
68
+ export declare function isBundleInPlace(registry: Registry, bundle: RegistryBundle, lockfile: Lockfile, { members, projectDir, requiredBundleVersion, tools, }: {
69
+ members: BundleMember[];
70
+ projectDir: string;
71
+ requiredBundleVersion?: string;
72
+ tools: Array<{
73
+ adapter: Adapter;
74
+ }>;
75
+ }): boolean;
76
+ /**
77
+ * The targets resolved together (shared dependencies once, one version per asset) into one plan,
78
+ * as `atk install a b my-bundle` and `atk browse`'s marked rows install them. A target every
79
+ * targeted tool already has in place is left out of the plan, as it is for one name: an asset (at
80
+ * the requested version, when one is), or a bundle checked whole. An asset in place only as a
81
+ * dependency comes back in `upgrades`. Bundle members get the bundle's origin unless they are
82
+ * named themselves ({@link resolveTargetsInstallPlan}).
83
+ */
84
+ export declare function planTargetsInstall(registry: Registry, targets: Array<AssetTarget | BundleTarget>, lockfile: Lockfile, tools: Array<{
85
+ adapter: Adapter;
86
+ }>, { force, projectDir }: {
87
+ force: boolean;
88
+ projectDir: string;
89
+ }): PlannedTargets;
90
+ //# sourceMappingURL=install-targets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-targets.d.ts","sourceRoot":"","sources":["../../src/lib/install-targets.ts"],"names":[],"mappings":"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"}