@nemo-cli/shared 0.1.4 → 0.1.5
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.
- package/dist/adapters-C49sidhk.js +246 -0
- package/dist/adapters-C49sidhk.js.map +1 -0
- package/dist/adapters-CRVRGWT9.js +246 -0
- package/dist/adapters-CRVRGWT9.js.map +1 -0
- package/dist/adapters-VexOYXht.js +234 -0
- package/dist/adapters-VexOYXht.js.map +1 -0
- package/dist/index.d.ts +322 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1327 -268
- package/dist/index.js.map +1 -1
- package/dist/prompts-BpcevOrt.js +380 -0
- package/dist/prompts-BpcevOrt.js.map +1 -0
- package/package.json +5 -6
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { t as __exportAll } from "./index.js";
|
|
2
|
+
|
|
3
|
+
//#region src/package-manager/adapters/bun.ts
|
|
4
|
+
/**
|
|
5
|
+
* Bun adapter - translates operations to bun-specific commands
|
|
6
|
+
*/
|
|
7
|
+
var BunAdapter = class {
|
|
8
|
+
name = "bun";
|
|
9
|
+
supportsWorkspaces = true;
|
|
10
|
+
command = "bun";
|
|
11
|
+
buildAddCommand(packages, options) {
|
|
12
|
+
const args = ["add"];
|
|
13
|
+
args.push(...packages);
|
|
14
|
+
if (options.saveDev) args.push("--development");
|
|
15
|
+
if (options.exact) args.push("--exact");
|
|
16
|
+
if (options.root) args.push("--workspace");
|
|
17
|
+
else if (options.workspaces && options.workspaces.length > 0) options.workspaces.forEach((ws) => {
|
|
18
|
+
args.push("--workspace", ws);
|
|
19
|
+
});
|
|
20
|
+
return args;
|
|
21
|
+
}
|
|
22
|
+
buildRemoveCommand(packages, options) {
|
|
23
|
+
const args = ["remove", ...packages];
|
|
24
|
+
if (options.root) args.push("--workspace");
|
|
25
|
+
else if (options.workspaces && options.workspaces.length > 0) options.workspaces.forEach((ws) => {
|
|
26
|
+
args.push("--workspace", ws);
|
|
27
|
+
});
|
|
28
|
+
return args;
|
|
29
|
+
}
|
|
30
|
+
buildUpgradeCommand(packages, options) {
|
|
31
|
+
const target = options.target || "latest";
|
|
32
|
+
const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`);
|
|
33
|
+
return this.buildAddCommand(packagesWithTarget, {});
|
|
34
|
+
}
|
|
35
|
+
parsePackageSpec(packageSpec) {
|
|
36
|
+
const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/);
|
|
37
|
+
if (!match) return { name: packageSpec };
|
|
38
|
+
return {
|
|
39
|
+
name: match[1],
|
|
40
|
+
version: match[2]
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/package-manager/adapters/deno.ts
|
|
47
|
+
/**
|
|
48
|
+
* Deno adapter - translates operations to deno-specific commands
|
|
49
|
+
*
|
|
50
|
+
* Note: Deno has a different model (URL-based imports) so some operations
|
|
51
|
+
* are limited or not applicable.
|
|
52
|
+
*/
|
|
53
|
+
var DenoAdapter = class {
|
|
54
|
+
name = "deno";
|
|
55
|
+
supportsWorkspaces = false;
|
|
56
|
+
command = "deno";
|
|
57
|
+
buildAddCommand(packages, options) {
|
|
58
|
+
const args = ["add", ...packages];
|
|
59
|
+
if (options.saveDev) args.push("--dev");
|
|
60
|
+
return args;
|
|
61
|
+
}
|
|
62
|
+
buildRemoveCommand(packages, options) {
|
|
63
|
+
return ["remove", ...packages];
|
|
64
|
+
}
|
|
65
|
+
buildUpgradeCommand(packages, options) {
|
|
66
|
+
return this.buildAddCommand(packages, {});
|
|
67
|
+
}
|
|
68
|
+
parsePackageSpec(packageSpec) {
|
|
69
|
+
const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/);
|
|
70
|
+
if (!match) return { name: packageSpec };
|
|
71
|
+
return {
|
|
72
|
+
name: match[1],
|
|
73
|
+
version: match[2]
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
//#region src/package-manager/adapters/npm.ts
|
|
80
|
+
/**
|
|
81
|
+
* NPM adapter - translates operations to npm-specific commands
|
|
82
|
+
*/
|
|
83
|
+
var NpmAdapter = class {
|
|
84
|
+
name = "npm";
|
|
85
|
+
supportsWorkspaces = true;
|
|
86
|
+
command = "npm";
|
|
87
|
+
buildAddCommand(packages, options) {
|
|
88
|
+
const args = ["install"];
|
|
89
|
+
args.push(...packages);
|
|
90
|
+
if (options.saveDev) args.push("--save-dev");
|
|
91
|
+
if (options.exact) args.push("--save-exact");
|
|
92
|
+
if (options.savePeer) args.push("--save-peer");
|
|
93
|
+
if (options.saveOptional) args.push("--save-optional");
|
|
94
|
+
if (options.root) args.push("-w");
|
|
95
|
+
else if (options.workspaces && options.workspaces.length > 0) if (options.workspaces.length === 1) args.push("--workspace", options.workspaces[0]);
|
|
96
|
+
else options.workspaces.forEach((ws) => {
|
|
97
|
+
args.push("--workspace", ws);
|
|
98
|
+
});
|
|
99
|
+
return args;
|
|
100
|
+
}
|
|
101
|
+
buildRemoveCommand(packages, options) {
|
|
102
|
+
const args = ["uninstall", ...packages];
|
|
103
|
+
if (options.root) args.push("-w");
|
|
104
|
+
else if (options.workspaces && options.workspaces.length > 0) if (options.workspaces.length === 1) args.push("--workspace", options.workspaces[0]);
|
|
105
|
+
else options.workspaces.forEach((ws) => {
|
|
106
|
+
args.push("--workspace", ws);
|
|
107
|
+
});
|
|
108
|
+
return args;
|
|
109
|
+
}
|
|
110
|
+
buildUpgradeCommand(packages, options) {
|
|
111
|
+
const target = options.target || "latest";
|
|
112
|
+
const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`);
|
|
113
|
+
return this.buildAddCommand(packagesWithTarget, {});
|
|
114
|
+
}
|
|
115
|
+
parsePackageSpec(packageSpec) {
|
|
116
|
+
const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/);
|
|
117
|
+
if (!match) return { name: packageSpec };
|
|
118
|
+
return {
|
|
119
|
+
name: match[1],
|
|
120
|
+
version: match[2]
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
//#endregion
|
|
126
|
+
//#region src/package-manager/adapters/pnpm.ts
|
|
127
|
+
/**
|
|
128
|
+
* pnpm adapter - translates operations to pnpm-specific commands
|
|
129
|
+
*/
|
|
130
|
+
var PnpmAdapter = class {
|
|
131
|
+
name = "pnpm";
|
|
132
|
+
supportsWorkspaces = true;
|
|
133
|
+
command = "pnpm";
|
|
134
|
+
buildAddCommand(packages, options) {
|
|
135
|
+
const args = ["add"];
|
|
136
|
+
args.push(...packages);
|
|
137
|
+
if (options.saveDev) args.push("--save-dev");
|
|
138
|
+
if (options.exact) args.push("--save-exact");
|
|
139
|
+
if (options.savePeer) args.push("--save-peer");
|
|
140
|
+
if (options.saveOptional) args.push("--save-optional");
|
|
141
|
+
if (options.root) args.push("-w");
|
|
142
|
+
else if (options.workspaces && options.workspaces.length > 0) options.workspaces.forEach((ws) => {
|
|
143
|
+
args.push("--filter", ws);
|
|
144
|
+
});
|
|
145
|
+
return args;
|
|
146
|
+
}
|
|
147
|
+
buildRemoveCommand(packages, options) {
|
|
148
|
+
const args = ["remove", ...packages];
|
|
149
|
+
if (options.root) args.push("-w");
|
|
150
|
+
else if (options.workspaces && options.workspaces.length > 0) options.workspaces.forEach((ws) => {
|
|
151
|
+
args.push("--filter", ws);
|
|
152
|
+
});
|
|
153
|
+
return args;
|
|
154
|
+
}
|
|
155
|
+
buildUpgradeCommand(packages, options) {
|
|
156
|
+
const target = options.target || "latest";
|
|
157
|
+
const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`);
|
|
158
|
+
return this.buildAddCommand(packagesWithTarget, {});
|
|
159
|
+
}
|
|
160
|
+
parsePackageSpec(packageSpec) {
|
|
161
|
+
const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/);
|
|
162
|
+
if (!match) return { name: packageSpec };
|
|
163
|
+
return {
|
|
164
|
+
name: match[1] ?? packageSpec,
|
|
165
|
+
version: match[2]
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
//#endregion
|
|
171
|
+
//#region src/package-manager/adapters/yarn.ts
|
|
172
|
+
/**
|
|
173
|
+
* Yarn adapter - translates operations to yarn-specific commands
|
|
174
|
+
*/
|
|
175
|
+
var YarnAdapter = class {
|
|
176
|
+
name = "yarn";
|
|
177
|
+
supportsWorkspaces = true;
|
|
178
|
+
command = "yarn";
|
|
179
|
+
buildAddCommand(packages, options) {
|
|
180
|
+
const args = ["add"];
|
|
181
|
+
args.push(...packages);
|
|
182
|
+
if (options.saveDev) args.push("--dev");
|
|
183
|
+
if (options.exact) args.push("--exact");
|
|
184
|
+
if (options.savePeer) args.push("--peer");
|
|
185
|
+
if (options.saveOptional) args.push("--optional");
|
|
186
|
+
if (options.root) args.push("-W");
|
|
187
|
+
else if (options.workspaces && options.workspaces.length > 0) {
|
|
188
|
+
if (options.workspaces.length === 1) args.unshift("-c", "--", `workspace:${options.workspaces[0]}`);
|
|
189
|
+
}
|
|
190
|
+
return args;
|
|
191
|
+
}
|
|
192
|
+
buildRemoveCommand(packages, options) {
|
|
193
|
+
const args = ["remove", ...packages];
|
|
194
|
+
if (options.root) args.push("-W");
|
|
195
|
+
else if (options.workspaces && options.workspaces.length > 0) {
|
|
196
|
+
if (options.workspaces.length === 1) args.unshift("-c", "--", `workspace:${options.workspaces[0]}`);
|
|
197
|
+
}
|
|
198
|
+
return args;
|
|
199
|
+
}
|
|
200
|
+
buildUpgradeCommand(packages, options) {
|
|
201
|
+
const target = options.target || "latest";
|
|
202
|
+
const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`);
|
|
203
|
+
return this.buildAddCommand(packagesWithTarget, {});
|
|
204
|
+
}
|
|
205
|
+
parsePackageSpec(packageSpec) {
|
|
206
|
+
const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/);
|
|
207
|
+
if (!match) return { name: packageSpec };
|
|
208
|
+
return {
|
|
209
|
+
name: match[1],
|
|
210
|
+
version: match[2]
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
//#endregion
|
|
216
|
+
//#region src/package-manager/adapters/index.ts
|
|
217
|
+
var adapters_exports = /* @__PURE__ */ __exportAll({
|
|
218
|
+
getAdapter: () => getAdapter,
|
|
219
|
+
getAllAdapters: () => getAllAdapters
|
|
220
|
+
});
|
|
221
|
+
/**
|
|
222
|
+
* Adapter registry
|
|
223
|
+
*/
|
|
224
|
+
const adapters = {
|
|
225
|
+
npm: new NpmAdapter(),
|
|
226
|
+
pnpm: new PnpmAdapter(),
|
|
227
|
+
yarn: new YarnAdapter(),
|
|
228
|
+
bun: new BunAdapter(),
|
|
229
|
+
deno: new DenoAdapter()
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* Get adapter for a specific package manager
|
|
233
|
+
*/
|
|
234
|
+
function getAdapter(packageManager) {
|
|
235
|
+
return adapters[packageManager];
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get all available adapters
|
|
239
|
+
*/
|
|
240
|
+
function getAllAdapters() {
|
|
241
|
+
return { ...adapters };
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
//#endregion
|
|
245
|
+
export { getAdapter as n, getAllAdapters as r, adapters_exports as t };
|
|
246
|
+
//# sourceMappingURL=adapters-C49sidhk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters-C49sidhk.js","names":[],"sources":["../src/package-manager/adapters/bun.ts","../src/package-manager/adapters/deno.ts","../src/package-manager/adapters/npm.ts","../src/package-manager/adapters/pnpm.ts","../src/package-manager/adapters/yarn.ts","../src/package-manager/adapters/index.ts"],"sourcesContent":["import type { PackageManagerAdapter } from '../adapter.js'\nimport type { AddOptions, PackageManager, RemoveOptions, UpgradeOptions } from '../types.js'\n\n/**\n * Bun adapter - translates operations to bun-specific commands\n */\nexport class BunAdapter implements PackageManagerAdapter {\n readonly name: PackageManager = 'bun'\n readonly supportsWorkspaces = true\n readonly command = 'bun'\n\n buildAddCommand(packages: string[], options: AddOptions): string[] {\n const args: string[] = ['add']\n\n // Add packages\n args.push(...packages)\n\n // Add flags\n if (options.saveDev) {\n args.push('--development')\n }\n\n if (options.exact) {\n args.push('--exact')\n }\n\n // Workspace support\n if (options.root) {\n args.push('--workspace')\n } else if (options.workspaces && options.workspaces.length > 0) {\n options.workspaces.forEach((ws) => {\n args.push('--workspace', ws)\n })\n }\n\n return args\n }\n\n buildRemoveCommand(packages: string[], options: RemoveOptions): string[] {\n const args: string[] = ['remove', ...packages]\n\n // Workspace support\n if (options.root) {\n args.push('--workspace')\n } else if (options.workspaces && options.workspaces.length > 0) {\n options.workspaces.forEach((ws) => {\n args.push('--workspace', ws)\n })\n }\n\n return args\n }\n\n buildUpgradeCommand(packages: string[], options: UpgradeOptions): string[] {\n // Bun uses add with @latest for upgrades\n const target = options.target || 'latest'\n const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`)\n return this.buildAddCommand(packagesWithTarget, {})\n }\n\n parsePackageSpec(packageSpec: string): { name: string; version?: string } {\n const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/)\n if (!match) {\n return { name: packageSpec }\n }\n return {\n name: match[1],\n version: match[2],\n }\n }\n}\n","import type { PackageManagerAdapter } from '../adapter.js'\nimport type { AddOptions, PackageManager, RemoveOptions, UpgradeOptions } from '../types.js'\n\n/**\n * Deno adapter - translates operations to deno-specific commands\n *\n * Note: Deno has a different model (URL-based imports) so some operations\n * are limited or not applicable.\n */\nexport class DenoAdapter implements PackageManagerAdapter {\n readonly name: PackageManager = 'deno'\n readonly supportsWorkspaces = false\n readonly command = 'deno'\n\n buildAddCommand(packages: string[], options: AddOptions): string[] {\n // Deno doesn't have a traditional package.json dependency system\n // Using deno add (new in Deno 2) for npm packages\n const args: string[] = ['add', ...packages]\n\n if (options.saveDev) {\n args.push('--dev')\n }\n\n // Deno doesn't support workspaces in the same way\n return args\n }\n\n buildRemoveCommand(packages: string[], options: RemoveOptions): string[] {\n // Deno 2 has remove command\n return ['remove', ...packages]\n }\n\n buildUpgradeCommand(packages: string[], options: UpgradeOptions): string[] {\n // Deno doesn't have built-in upgrade, use add with latest\n return this.buildAddCommand(packages, {})\n }\n\n parsePackageSpec(packageSpec: string): { name: string; version?: string } {\n const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/)\n if (!match) {\n return { name: packageSpec }\n }\n return {\n name: match[1],\n version: match[2],\n }\n }\n}\n","import type { PackageManagerAdapter } from '../adapter.js'\nimport type { AddOptions, PackageManager, RemoveOptions, UpgradeOptions } from '../types.js'\n\n/**\n * NPM adapter - translates operations to npm-specific commands\n */\nexport class NpmAdapter implements PackageManagerAdapter {\n readonly name: PackageManager = 'npm'\n readonly supportsWorkspaces = true\n readonly command = 'npm'\n\n buildAddCommand(packages: string[], options: AddOptions): string[] {\n const args: string[] = ['install']\n\n // Add packages\n args.push(...packages)\n\n // Add flags\n if (options.saveDev) {\n args.push('--save-dev')\n }\n\n if (options.exact) {\n args.push('--save-exact')\n }\n\n if (options.savePeer) {\n args.push('--save-peer')\n }\n\n if (options.saveOptional) {\n args.push('--save-optional')\n }\n\n // Workspace support\n if (options.root) {\n args.push('-w')\n } else if (options.workspaces && options.workspaces.length > 0) {\n if (options.workspaces.length === 1) {\n args.push('--workspace', options.workspaces[0])\n } else {\n options.workspaces.forEach((ws) => {\n args.push('--workspace', ws)\n })\n }\n }\n\n return args\n }\n\n buildRemoveCommand(packages: string[], options: RemoveOptions): string[] {\n const args: string[] = ['uninstall', ...packages]\n\n // Workspace support\n if (options.root) {\n args.push('-w')\n } else if (options.workspaces && options.workspaces.length > 0) {\n if (options.workspaces.length === 1) {\n args.push('--workspace', options.workspaces[0])\n } else {\n options.workspaces.forEach((ws) => {\n args.push('--workspace', ws)\n })\n }\n }\n\n return args\n }\n\n buildUpgradeCommand(packages: string[], options: UpgradeOptions): string[] {\n // npm doesn't have a built-in upgrade command, use install with @latest\n const target = options.target || 'latest'\n const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`)\n return this.buildAddCommand(packagesWithTarget, {})\n }\n\n parsePackageSpec(packageSpec: string): { name: string; version?: string } {\n const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/)\n if (!match) {\n return { name: packageSpec }\n }\n return {\n name: match[1],\n version: match[2],\n }\n }\n}\n","import type { PackageManagerAdapter } from '../adapter'\nimport type { AddOptions, PackageManager, RemoveOptions, UpgradeOptions } from '../types'\n\n/**\n * pnpm adapter - translates operations to pnpm-specific commands\n */\nexport class PnpmAdapter implements PackageManagerAdapter {\n readonly name: PackageManager = 'pnpm'\n readonly supportsWorkspaces = true\n readonly command = 'pnpm'\n\n buildAddCommand(packages: string[], options: AddOptions): string[] {\n const args: string[] = ['add']\n\n // Add packages\n args.push(...packages)\n\n // Add flags\n if (options.saveDev) {\n args.push('--save-dev')\n }\n\n if (options.exact) {\n args.push('--save-exact')\n }\n\n if (options.savePeer) {\n args.push('--save-peer')\n }\n\n if (options.saveOptional) {\n args.push('--save-optional')\n }\n\n // Workspace support\n if (options.root) {\n args.push('-w')\n } else if (options.workspaces && options.workspaces.length > 0) {\n options.workspaces.forEach((ws) => {\n args.push('--filter', ws)\n })\n }\n\n return args\n }\n\n buildRemoveCommand(packages: string[], options: RemoveOptions): string[] {\n const args: string[] = ['remove', ...packages]\n\n // Workspace support\n if (options.root) {\n args.push('-w')\n } else if (options.workspaces && options.workspaces.length > 0) {\n options.workspaces.forEach((ws) => {\n args.push('--filter', ws)\n })\n }\n\n return args\n }\n\n buildUpgradeCommand(packages: string[], options: UpgradeOptions): string[] {\n const target = options.target || 'latest'\n const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`)\n return this.buildAddCommand(packagesWithTarget, {})\n }\n\n parsePackageSpec(packageSpec: string): { name: string; version?: string } {\n const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/)\n if (!match) {\n return { name: packageSpec }\n }\n return {\n name: match[1] ?? packageSpec,\n version: match[2],\n }\n }\n}\n","import type { PackageManagerAdapter } from '../adapter.js'\nimport type { AddOptions, PackageManager, RemoveOptions, UpgradeOptions } from '../types.js'\n\n/**\n * Yarn adapter - translates operations to yarn-specific commands\n */\nexport class YarnAdapter implements PackageManagerAdapter {\n readonly name: PackageManager = 'yarn'\n readonly supportsWorkspaces = true\n readonly command = 'yarn'\n\n buildAddCommand(packages: string[], options: AddOptions): string[] {\n const args: string[] = ['add']\n\n // Add packages\n args.push(...packages)\n\n // Add flags\n if (options.saveDev) {\n args.push('--dev')\n }\n\n if (options.exact) {\n args.push('--exact')\n }\n\n if (options.savePeer) {\n args.push('--peer')\n }\n\n if (options.saveOptional) {\n args.push('--optional')\n }\n\n // Workspace support\n if (options.root) {\n args.push('-W')\n } else if (options.workspaces && options.workspaces.length > 0) {\n // For Yarn, we need to use workspace focus\n if (options.workspaces.length === 1) {\n args.unshift('-c', '--', `workspace:${options.workspaces[0]}`)\n }\n }\n\n return args\n }\n\n buildRemoveCommand(packages: string[], options: RemoveOptions): string[] {\n const args: string[] = ['remove', ...packages]\n\n // Workspace support\n if (options.root) {\n args.push('-W')\n } else if (options.workspaces && options.workspaces.length > 0) {\n if (options.workspaces.length === 1) {\n args.unshift('-c', '--', `workspace:${options.workspaces[0]}`)\n }\n }\n\n return args\n }\n\n buildUpgradeCommand(packages: string[], options: UpgradeOptions): string[] {\n // Yarn doesn't have a built-in upgrade command in v1\n // Use add with @latest for simplicity\n const target = options.target || 'latest'\n const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`)\n return this.buildAddCommand(packagesWithTarget, {})\n }\n\n parsePackageSpec(packageSpec: string): { name: string; version?: string } {\n const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/)\n if (!match) {\n return { name: packageSpec }\n }\n return {\n name: match[1],\n version: match[2],\n }\n }\n}\n","import type { PackageManagerAdapter } from '../adapter'\nimport type { PackageManager } from '../types'\nimport { BunAdapter } from './bun'\nimport { DenoAdapter } from './deno'\nimport { NpmAdapter } from './npm'\nimport { PnpmAdapter } from './pnpm'\nimport { YarnAdapter } from './yarn'\n\n/**\n * Adapter registry\n */\nconst adapters: Record<PackageManager, PackageManagerAdapter> = {\n npm: new NpmAdapter(),\n pnpm: new PnpmAdapter(),\n yarn: new YarnAdapter(),\n bun: new BunAdapter(),\n deno: new DenoAdapter(),\n}\n\n/**\n * Get adapter for a specific package manager\n */\nexport function getAdapter(packageManager: PackageManager): PackageManagerAdapter {\n return adapters[packageManager]\n}\n\n/**\n * Get all available adapters\n */\nexport function getAllAdapters(): Record<PackageManager, PackageManagerAdapter> {\n return { ...adapters }\n}\n\n// Note: Adapter classes are exported in the main index.ts to avoid rolldown __exportAll issues\n"],"mappings":"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"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { t as __exportAll } from "./index.js";
|
|
2
|
+
|
|
3
|
+
//#region src/package-manager/adapters/bun.ts
|
|
4
|
+
/**
|
|
5
|
+
* Bun adapter - translates operations to bun-specific commands
|
|
6
|
+
*/
|
|
7
|
+
var BunAdapter = class {
|
|
8
|
+
name = "bun";
|
|
9
|
+
supportsWorkspaces = true;
|
|
10
|
+
command = "bun";
|
|
11
|
+
buildAddCommand(packages, options) {
|
|
12
|
+
const args = ["add"];
|
|
13
|
+
args.push(...packages);
|
|
14
|
+
if (options.saveDev) args.push("--development");
|
|
15
|
+
if (options.exact) args.push("--exact");
|
|
16
|
+
if (options.root) args.push("--workspace");
|
|
17
|
+
else if (options.workspaces && options.workspaces.length > 0) options.workspaces.forEach((ws) => {
|
|
18
|
+
args.push("--workspace", ws);
|
|
19
|
+
});
|
|
20
|
+
return args;
|
|
21
|
+
}
|
|
22
|
+
buildRemoveCommand(packages, options) {
|
|
23
|
+
const args = ["remove", ...packages];
|
|
24
|
+
if (options.root) args.push("--workspace");
|
|
25
|
+
else if (options.workspaces && options.workspaces.length > 0) options.workspaces.forEach((ws) => {
|
|
26
|
+
args.push("--workspace", ws);
|
|
27
|
+
});
|
|
28
|
+
return args;
|
|
29
|
+
}
|
|
30
|
+
buildUpgradeCommand(packages, options) {
|
|
31
|
+
const target = options.target || "latest";
|
|
32
|
+
const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`);
|
|
33
|
+
return this.buildAddCommand(packagesWithTarget, {});
|
|
34
|
+
}
|
|
35
|
+
parsePackageSpec(packageSpec) {
|
|
36
|
+
const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/);
|
|
37
|
+
if (!match) return { name: packageSpec };
|
|
38
|
+
return {
|
|
39
|
+
name: match[1] ?? packageSpec,
|
|
40
|
+
version: match[2]
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/package-manager/adapters/deno.ts
|
|
47
|
+
/**
|
|
48
|
+
* Deno adapter - translates operations to deno-specific commands
|
|
49
|
+
*
|
|
50
|
+
* Note: Deno has a different model (URL-based imports) so some operations
|
|
51
|
+
* are limited or not applicable.
|
|
52
|
+
*/
|
|
53
|
+
var DenoAdapter = class {
|
|
54
|
+
name = "deno";
|
|
55
|
+
supportsWorkspaces = false;
|
|
56
|
+
command = "deno";
|
|
57
|
+
buildAddCommand(packages, options) {
|
|
58
|
+
const args = ["add", ...packages];
|
|
59
|
+
if (options.saveDev) args.push("--dev");
|
|
60
|
+
return args;
|
|
61
|
+
}
|
|
62
|
+
buildRemoveCommand(packages, options) {
|
|
63
|
+
return ["remove", ...packages];
|
|
64
|
+
}
|
|
65
|
+
buildUpgradeCommand(packages, options) {
|
|
66
|
+
return this.buildAddCommand(packages, {});
|
|
67
|
+
}
|
|
68
|
+
parsePackageSpec(packageSpec) {
|
|
69
|
+
const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/);
|
|
70
|
+
if (!match) return { name: packageSpec };
|
|
71
|
+
return {
|
|
72
|
+
name: match[1] ?? packageSpec,
|
|
73
|
+
version: match[2]
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
//#region src/package-manager/adapters/npm.ts
|
|
80
|
+
/**
|
|
81
|
+
* NPM adapter - translates operations to npm-specific commands
|
|
82
|
+
*/
|
|
83
|
+
var NpmAdapter = class {
|
|
84
|
+
name = "npm";
|
|
85
|
+
supportsWorkspaces = true;
|
|
86
|
+
command = "npm";
|
|
87
|
+
buildAddCommand(packages, options) {
|
|
88
|
+
const args = ["install"];
|
|
89
|
+
args.push(...packages);
|
|
90
|
+
if (options.saveDev) args.push("--save-dev");
|
|
91
|
+
if (options.exact) args.push("--save-exact");
|
|
92
|
+
if (options.savePeer) args.push("--save-peer");
|
|
93
|
+
if (options.saveOptional) args.push("--save-optional");
|
|
94
|
+
if (options.root) args.push("-w");
|
|
95
|
+
else if (options.workspaces && options.workspaces.length > 0) if (options.workspaces.length === 1) args.push("--workspace", options.workspaces[0] ?? "");
|
|
96
|
+
else options.workspaces.forEach((ws) => {
|
|
97
|
+
args.push("--workspace", ws);
|
|
98
|
+
});
|
|
99
|
+
return args;
|
|
100
|
+
}
|
|
101
|
+
buildRemoveCommand(packages, options) {
|
|
102
|
+
const args = ["uninstall", ...packages];
|
|
103
|
+
if (options.root) args.push("-w");
|
|
104
|
+
else if (options.workspaces && options.workspaces.length > 0) if (options.workspaces.length === 1) args.push("--workspace", options.workspaces[0] ?? "");
|
|
105
|
+
else options.workspaces.forEach((ws) => {
|
|
106
|
+
args.push("--workspace", ws);
|
|
107
|
+
});
|
|
108
|
+
return args;
|
|
109
|
+
}
|
|
110
|
+
buildUpgradeCommand(packages, options) {
|
|
111
|
+
const target = options.target || "latest";
|
|
112
|
+
const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`);
|
|
113
|
+
return this.buildAddCommand(packagesWithTarget, {});
|
|
114
|
+
}
|
|
115
|
+
parsePackageSpec(packageSpec) {
|
|
116
|
+
const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/);
|
|
117
|
+
if (!match) return { name: packageSpec };
|
|
118
|
+
return {
|
|
119
|
+
name: match[1] ?? packageSpec,
|
|
120
|
+
version: match[2]
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
//#endregion
|
|
126
|
+
//#region src/package-manager/adapters/pnpm.ts
|
|
127
|
+
/**
|
|
128
|
+
* pnpm adapter - translates operations to pnpm-specific commands
|
|
129
|
+
*/
|
|
130
|
+
var PnpmAdapter = class {
|
|
131
|
+
name = "pnpm";
|
|
132
|
+
supportsWorkspaces = true;
|
|
133
|
+
command = "pnpm";
|
|
134
|
+
buildAddCommand(packages, options) {
|
|
135
|
+
const args = ["add"];
|
|
136
|
+
args.push(...packages);
|
|
137
|
+
if (options.saveDev) args.push("--save-dev");
|
|
138
|
+
if (options.exact) args.push("--save-exact");
|
|
139
|
+
if (options.savePeer) args.push("--save-peer");
|
|
140
|
+
if (options.saveOptional) args.push("--save-optional");
|
|
141
|
+
if (options.root) args.push("-w");
|
|
142
|
+
else if (options.workspaces && options.workspaces.length > 0) options.workspaces.forEach((ws) => {
|
|
143
|
+
args.push("--filter", ws);
|
|
144
|
+
});
|
|
145
|
+
return args;
|
|
146
|
+
}
|
|
147
|
+
buildRemoveCommand(packages, options) {
|
|
148
|
+
const args = ["remove", ...packages];
|
|
149
|
+
if (options.root) args.push("-w");
|
|
150
|
+
else if (options.workspaces && options.workspaces.length > 0) options.workspaces.forEach((ws) => {
|
|
151
|
+
args.push("--filter", ws);
|
|
152
|
+
});
|
|
153
|
+
return args;
|
|
154
|
+
}
|
|
155
|
+
buildUpgradeCommand(packages, options) {
|
|
156
|
+
const target = options.target || "latest";
|
|
157
|
+
const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`);
|
|
158
|
+
return this.buildAddCommand(packagesWithTarget, {});
|
|
159
|
+
}
|
|
160
|
+
parsePackageSpec(packageSpec) {
|
|
161
|
+
const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/);
|
|
162
|
+
if (!match) return { name: packageSpec };
|
|
163
|
+
return {
|
|
164
|
+
name: match[1] ?? packageSpec,
|
|
165
|
+
version: match[2]
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
//#endregion
|
|
171
|
+
//#region src/package-manager/adapters/yarn.ts
|
|
172
|
+
/**
|
|
173
|
+
* Yarn adapter - translates operations to yarn-specific commands
|
|
174
|
+
*/
|
|
175
|
+
var YarnAdapter = class {
|
|
176
|
+
name = "yarn";
|
|
177
|
+
supportsWorkspaces = true;
|
|
178
|
+
command = "yarn";
|
|
179
|
+
buildAddCommand(packages, options) {
|
|
180
|
+
const args = ["add"];
|
|
181
|
+
args.push(...packages);
|
|
182
|
+
if (options.saveDev) args.push("--dev");
|
|
183
|
+
if (options.exact) args.push("--exact");
|
|
184
|
+
if (options.savePeer) args.push("--peer");
|
|
185
|
+
if (options.saveOptional) args.push("--optional");
|
|
186
|
+
if (options.root) args.push("-W");
|
|
187
|
+
else if (options.workspaces && options.workspaces.length > 0) {
|
|
188
|
+
if (options.workspaces.length === 1) args.unshift("-c", "--", `workspace:${options.workspaces[0]}`);
|
|
189
|
+
}
|
|
190
|
+
return args;
|
|
191
|
+
}
|
|
192
|
+
buildRemoveCommand(packages, options) {
|
|
193
|
+
const args = ["remove", ...packages];
|
|
194
|
+
if (options.root) args.push("-W");
|
|
195
|
+
else if (options.workspaces && options.workspaces.length > 0) {
|
|
196
|
+
if (options.workspaces.length === 1) args.unshift("-c", "--", `workspace:${options.workspaces[0]}`);
|
|
197
|
+
}
|
|
198
|
+
return args;
|
|
199
|
+
}
|
|
200
|
+
buildUpgradeCommand(packages, options) {
|
|
201
|
+
const target = options.target || "latest";
|
|
202
|
+
const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`);
|
|
203
|
+
return this.buildAddCommand(packagesWithTarget, {});
|
|
204
|
+
}
|
|
205
|
+
parsePackageSpec(packageSpec) {
|
|
206
|
+
const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/);
|
|
207
|
+
if (!match) return { name: packageSpec };
|
|
208
|
+
return {
|
|
209
|
+
name: match[1] ?? packageSpec,
|
|
210
|
+
version: match[2]
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
//#endregion
|
|
216
|
+
//#region src/package-manager/adapters/index.ts
|
|
217
|
+
var adapters_exports = /* @__PURE__ */ __exportAll({
|
|
218
|
+
getAdapter: () => getAdapter,
|
|
219
|
+
getAllAdapters: () => getAllAdapters
|
|
220
|
+
});
|
|
221
|
+
/**
|
|
222
|
+
* Adapter registry
|
|
223
|
+
*/
|
|
224
|
+
const adapters = {
|
|
225
|
+
npm: new NpmAdapter(),
|
|
226
|
+
pnpm: new PnpmAdapter(),
|
|
227
|
+
yarn: new YarnAdapter(),
|
|
228
|
+
bun: new BunAdapter(),
|
|
229
|
+
deno: new DenoAdapter()
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* Get adapter for a specific package manager
|
|
233
|
+
*/
|
|
234
|
+
function getAdapter(packageManager) {
|
|
235
|
+
return adapters[packageManager];
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get all available adapters
|
|
239
|
+
*/
|
|
240
|
+
function getAllAdapters() {
|
|
241
|
+
return { ...adapters };
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
//#endregion
|
|
245
|
+
export { getAdapter as n, getAllAdapters as r, adapters_exports as t };
|
|
246
|
+
//# sourceMappingURL=adapters-CRVRGWT9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters-CRVRGWT9.js","names":[],"sources":["../src/package-manager/adapters/bun.ts","../src/package-manager/adapters/deno.ts","../src/package-manager/adapters/npm.ts","../src/package-manager/adapters/pnpm.ts","../src/package-manager/adapters/yarn.ts","../src/package-manager/adapters/index.ts"],"sourcesContent":["import type { PackageManagerAdapter } from '../adapter'\nimport type { AddOptions, PackageManager, RemoveOptions, UpgradeOptions } from '../types'\n\n/**\n * Bun adapter - translates operations to bun-specific commands\n */\nexport class BunAdapter implements PackageManagerAdapter {\n readonly name: PackageManager = 'bun'\n readonly supportsWorkspaces = true\n readonly command = 'bun'\n\n buildAddCommand(packages: string[], options: AddOptions): string[] {\n const args: string[] = ['add']\n\n // Add packages\n args.push(...packages)\n\n // Add flags\n if (options.saveDev) {\n args.push('--development')\n }\n\n if (options.exact) {\n args.push('--exact')\n }\n\n // Workspace support\n if (options.root) {\n args.push('--workspace')\n } else if (options.workspaces && options.workspaces.length > 0) {\n options.workspaces.forEach((ws) => {\n args.push('--workspace', ws)\n })\n }\n\n return args\n }\n\n buildRemoveCommand(packages: string[], options: RemoveOptions): string[] {\n const args: string[] = ['remove', ...packages]\n\n // Workspace support\n if (options.root) {\n args.push('--workspace')\n } else if (options.workspaces && options.workspaces.length > 0) {\n options.workspaces.forEach((ws) => {\n args.push('--workspace', ws)\n })\n }\n\n return args\n }\n\n buildUpgradeCommand(packages: string[], options: UpgradeOptions): string[] {\n // Bun uses add with @latest for upgrades\n const target = options.target || 'latest'\n const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`)\n return this.buildAddCommand(packagesWithTarget, {})\n }\n\n parsePackageSpec(packageSpec: string): { name: string; version?: string } {\n const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/)\n if (!match) {\n return { name: packageSpec }\n }\n return {\n name: match[1] ?? packageSpec,\n version: match[2],\n }\n }\n}\n","import type { PackageManagerAdapter } from '../adapter'\nimport type { AddOptions, PackageManager, RemoveOptions, UpgradeOptions } from '../types'\n\n/**\n * Deno adapter - translates operations to deno-specific commands\n *\n * Note: Deno has a different model (URL-based imports) so some operations\n * are limited or not applicable.\n */\nexport class DenoAdapter implements PackageManagerAdapter {\n readonly name: PackageManager = 'deno'\n readonly supportsWorkspaces = false\n readonly command = 'deno'\n\n buildAddCommand(packages: string[], options: AddOptions): string[] {\n // Deno doesn't have a traditional package.json dependency system\n // Using deno add (new in Deno 2) for npm packages\n const args: string[] = ['add', ...packages]\n\n if (options.saveDev) {\n args.push('--dev')\n }\n\n // Deno doesn't support workspaces in the same way\n return args\n }\n\n buildRemoveCommand(packages: string[], options: RemoveOptions): string[] {\n // Deno 2 has remove command\n return ['remove', ...packages]\n }\n\n buildUpgradeCommand(packages: string[], options: UpgradeOptions): string[] {\n // Deno doesn't have built-in upgrade, use add with latest\n return this.buildAddCommand(packages, {})\n }\n\n parsePackageSpec(packageSpec: string): { name: string; version?: string } {\n const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/)\n if (!match) {\n return { name: packageSpec }\n }\n return {\n name: match[1] ?? packageSpec,\n version: match[2],\n }\n }\n}\n","import type { PackageManagerAdapter } from '../adapter'\nimport type { AddOptions, PackageManager, RemoveOptions, UpgradeOptions } from '../types'\n\n/**\n * NPM adapter - translates operations to npm-specific commands\n */\nexport class NpmAdapter implements PackageManagerAdapter {\n readonly name: PackageManager = 'npm'\n readonly supportsWorkspaces = true\n readonly command = 'npm'\n\n buildAddCommand(packages: string[], options: AddOptions): string[] {\n const args: string[] = ['install']\n\n // Add packages\n args.push(...packages)\n\n // Add flags\n if (options.saveDev) {\n args.push('--save-dev')\n }\n\n if (options.exact) {\n args.push('--save-exact')\n }\n\n if (options.savePeer) {\n args.push('--save-peer')\n }\n\n if (options.saveOptional) {\n args.push('--save-optional')\n }\n\n // Workspace support\n if (options.root) {\n args.push('-w')\n } else if (options.workspaces && options.workspaces.length > 0) {\n if (options.workspaces.length === 1) {\n args.push('--workspace', options.workspaces[0] ?? '')\n } else {\n options.workspaces.forEach((ws) => {\n args.push('--workspace', ws)\n })\n }\n }\n\n return args\n }\n\n buildRemoveCommand(packages: string[], options: RemoveOptions): string[] {\n const args: string[] = ['uninstall', ...packages]\n\n // Workspace support\n if (options.root) {\n args.push('-w')\n } else if (options.workspaces && options.workspaces.length > 0) {\n if (options.workspaces.length === 1) {\n args.push('--workspace', options.workspaces[0] ?? '')\n } else {\n options.workspaces.forEach((ws) => {\n args.push('--workspace', ws)\n })\n }\n }\n\n return args\n }\n\n buildUpgradeCommand(packages: string[], options: UpgradeOptions): string[] {\n // npm doesn't have a built-in upgrade command, use install with @latest\n const target = options.target || 'latest'\n const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`)\n return this.buildAddCommand(packagesWithTarget, {})\n }\n\n parsePackageSpec(packageSpec: string): { name: string; version?: string } {\n const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/)\n if (!match) {\n return { name: packageSpec }\n }\n return {\n name: match[1] ?? packageSpec,\n version: match[2],\n }\n }\n}\n","import type { PackageManagerAdapter } from '../adapter'\nimport type { AddOptions, PackageManager, RemoveOptions, UpgradeOptions } from '../types'\n\n/**\n * pnpm adapter - translates operations to pnpm-specific commands\n */\nexport class PnpmAdapter implements PackageManagerAdapter {\n readonly name: PackageManager = 'pnpm'\n readonly supportsWorkspaces = true\n readonly command = 'pnpm'\n\n buildAddCommand(packages: string[], options: AddOptions): string[] {\n const args: string[] = ['add']\n\n // Add packages\n args.push(...packages)\n\n // Add flags\n if (options.saveDev) {\n args.push('--save-dev')\n }\n\n if (options.exact) {\n args.push('--save-exact')\n }\n\n if (options.savePeer) {\n args.push('--save-peer')\n }\n\n if (options.saveOptional) {\n args.push('--save-optional')\n }\n\n // Workspace support\n if (options.root) {\n args.push('-w')\n } else if (options.workspaces && options.workspaces.length > 0) {\n options.workspaces.forEach((ws) => {\n args.push('--filter', ws)\n })\n }\n\n return args\n }\n\n buildRemoveCommand(packages: string[], options: RemoveOptions): string[] {\n const args: string[] = ['remove', ...packages]\n\n // Workspace support\n if (options.root) {\n args.push('-w')\n } else if (options.workspaces && options.workspaces.length > 0) {\n options.workspaces.forEach((ws) => {\n args.push('--filter', ws)\n })\n }\n\n return args\n }\n\n buildUpgradeCommand(packages: string[], options: UpgradeOptions): string[] {\n const target = options.target || 'latest'\n const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`)\n return this.buildAddCommand(packagesWithTarget, {})\n }\n\n parsePackageSpec(packageSpec: string): { name: string; version?: string } {\n const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/)\n if (!match) {\n return { name: packageSpec }\n }\n return {\n name: match[1] ?? packageSpec,\n version: match[2],\n }\n }\n}\n","import type { PackageManagerAdapter } from '../adapter'\nimport type { AddOptions, PackageManager, RemoveOptions, UpgradeOptions } from '../types'\n\n/**\n * Yarn adapter - translates operations to yarn-specific commands\n */\nexport class YarnAdapter implements PackageManagerAdapter {\n readonly name: PackageManager = 'yarn'\n readonly supportsWorkspaces = true\n readonly command = 'yarn'\n\n buildAddCommand(packages: string[], options: AddOptions): string[] {\n const args: string[] = ['add']\n\n // Add packages\n args.push(...packages)\n\n // Add flags\n if (options.saveDev) {\n args.push('--dev')\n }\n\n if (options.exact) {\n args.push('--exact')\n }\n\n if (options.savePeer) {\n args.push('--peer')\n }\n\n if (options.saveOptional) {\n args.push('--optional')\n }\n\n // Workspace support\n if (options.root) {\n args.push('-W')\n } else if (options.workspaces && options.workspaces.length > 0) {\n // For Yarn, we need to use workspace focus\n if (options.workspaces.length === 1) {\n args.unshift('-c', '--', `workspace:${options.workspaces[0]}`)\n }\n }\n\n return args\n }\n\n buildRemoveCommand(packages: string[], options: RemoveOptions): string[] {\n const args: string[] = ['remove', ...packages]\n\n // Workspace support\n if (options.root) {\n args.push('-W')\n } else if (options.workspaces && options.workspaces.length > 0) {\n if (options.workspaces.length === 1) {\n args.unshift('-c', '--', `workspace:${options.workspaces[0]}`)\n }\n }\n\n return args\n }\n\n buildUpgradeCommand(packages: string[], options: UpgradeOptions): string[] {\n // Yarn doesn't have a built-in upgrade command in v1\n // Use add with @latest for simplicity\n const target = options.target || 'latest'\n const packagesWithTarget = packages.map((pkg) => `${pkg}@${target}`)\n return this.buildAddCommand(packagesWithTarget, {})\n }\n\n parsePackageSpec(packageSpec: string): { name: string; version?: string } {\n const match = packageSpec.match(/^(@?[^@]+)(?:@(.+))?$/)\n if (!match) {\n return { name: packageSpec }\n }\n return {\n name: match[1] ?? packageSpec,\n version: match[2],\n }\n }\n}\n","import type { PackageManagerAdapter } from '../adapter'\nimport type { PackageManager } from '../types'\nimport { BunAdapter } from './bun'\nimport { DenoAdapter } from './deno'\nimport { NpmAdapter } from './npm'\nimport { PnpmAdapter } from './pnpm'\nimport { YarnAdapter } from './yarn'\n\n/**\n * Adapter registry\n */\nconst adapters: Record<PackageManager, PackageManagerAdapter> = {\n npm: new NpmAdapter(),\n pnpm: new PnpmAdapter(),\n yarn: new YarnAdapter(),\n bun: new BunAdapter(),\n deno: new DenoAdapter(),\n}\n\n/**\n * Get adapter for a specific package manager\n */\nexport function getAdapter(packageManager: PackageManager): PackageManagerAdapter {\n return adapters[packageManager]\n}\n\n/**\n * Get all available adapters\n */\nexport function getAllAdapters(): Record<PackageManager, PackageManagerAdapter> {\n return { ...adapters }\n}\n\n// Note: Adapter classes are exported in the main index.ts to avoid rolldown __exportAll issues\n"],"mappings":"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"}
|