@glpkg/cli 0.2.0

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.
@@ -0,0 +1,378 @@
1
+ "use strict";
2
+ /**
3
+ * Install Command - Install packages from GitLab
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.installCommand = void 0;
10
+ const commander_1 = require("commander");
11
+ const chalk_1 = __importDefault(require("chalk"));
12
+ const ora_1 = __importDefault(require("ora"));
13
+ const core_1 = require("@glpkg/core");
14
+ const adapters_npm_1 = require("@glpkg/adapters.npm");
15
+ const adapters_generic_1 = require("@glpkg/adapters.generic");
16
+ const adapters_pypi_1 = require("@glpkg/adapters.pypi");
17
+ const adapters_go_1 = require("@glpkg/adapters.go");
18
+ const adapters_nuget_1 = require("@glpkg/adapters.nuget");
19
+ exports.installCommand = new commander_1.Command('install')
20
+ .alias('add')
21
+ .alias('i')
22
+ .argument('<packages...>', 'Packages to install')
23
+ .description('Install packages from GitLab registry')
24
+ .option('-D, --save-dev', 'Install as devDependencies')
25
+ .option('-g, --global', 'Install globally (npm) or --user (pypi)')
26
+ .option('--group <name>', 'GitLab group name')
27
+ .option('--generic', 'Install as generic package')
28
+ .option('--pypi', 'Install as PyPI package')
29
+ .option('--go', 'Install as Go module')
30
+ .option('--nuget', 'Install as NuGet package')
31
+ .option('-o, --output <dir>', 'Output directory (generic only)')
32
+ .action(async (packages, options) => {
33
+ try {
34
+ if (options.generic) {
35
+ await installGeneric(packages, options);
36
+ }
37
+ else if (options.pypi) {
38
+ await installPyPI(packages, options);
39
+ }
40
+ else if (options.go) {
41
+ await installGo(packages, options);
42
+ }
43
+ else if (options.nuget) {
44
+ await installNuGet(packages, options);
45
+ }
46
+ else {
47
+ await installNpm(packages, options);
48
+ }
49
+ }
50
+ catch (error) {
51
+ console.error(chalk_1.default.red('✗'), 'Install failed:', error.message);
52
+ process.exit(1);
53
+ }
54
+ });
55
+ /**
56
+ * Install npm packages
57
+ */
58
+ async function installNpm(packages, options) {
59
+ const tokenManager = (0, core_1.createTokenManager)();
60
+ const configManager = (0, core_1.createConfigManager)();
61
+ const token = tokenManager.resolveTokenOrNull();
62
+ const npmAdapter = (0, adapters_npm_1.createNpmAdapter)({ token: token || undefined });
63
+ const npmrcManager = (0, adapters_npm_1.createNpmrcManager)();
64
+ const executor = (0, adapters_npm_1.createCommandExecutor)(process.cwd(), tokenManager.getEnvWithToken());
65
+ // Check proxy configuration
66
+ const proxyConfig = configManager.getProxyConfig();
67
+ const useProxy = proxyConfig.enabled && !!proxyConfig.url;
68
+ if (useProxy) {
69
+ console.log(chalk_1.default.blue('○'), `Using proxy: ${proxyConfig.url}`);
70
+ }
71
+ const scopedPackages = [];
72
+ const unscopedPackages = [];
73
+ for (const pkg of packages) {
74
+ const baseName = (0, adapters_npm_1.getPackageBaseName)(pkg);
75
+ const parsed = (0, adapters_npm_1.parsePackageName)(baseName);
76
+ const scope = parsed.scope;
77
+ // Get registry info
78
+ let registryUrl = null;
79
+ // If proxy is enabled, use proxy URL for scoped packages
80
+ if (useProxy && scope) {
81
+ registryUrl = proxyConfig.url;
82
+ }
83
+ const packageInfo = configManager.getPackageInfo(baseName);
84
+ // Use proxy URL if enabled and not already set
85
+ if (!registryUrl && packageInfo) {
86
+ registryUrl = useProxy ? proxyConfig.url : packageInfo.registryUrl;
87
+ }
88
+ else if (!registryUrl && options.group) {
89
+ // Register with group
90
+ const spinner = (0, ora_1.default)(`Looking up group: ${options.group}`).start();
91
+ try {
92
+ const client = (0, core_1.createClient)({ token: token || undefined });
93
+ const groupInfo = await client.getGroup(options.group);
94
+ const gitlabRegistryUrl = client.buildGroupRegistryUrl(groupInfo.id, 'npm');
95
+ // Use proxy URL if enabled, otherwise use GitLab registry directly
96
+ registryUrl = useProxy ? proxyConfig.url : gitlabRegistryUrl;
97
+ configManager.savePackageInfo({
98
+ packageName: baseName,
99
+ group: options.group,
100
+ groupId: groupInfo.id,
101
+ registryType: 'group',
102
+ registryUrl: gitlabRegistryUrl, // Always save actual GitLab URL
103
+ gitlabHost: 'gitlab.com',
104
+ lastUpdated: new Date().toISOString(),
105
+ source: 'manual',
106
+ });
107
+ spinner.succeed(`Registered ${baseName} with group ${options.group}`);
108
+ }
109
+ catch (error) {
110
+ spinner.fail(`Failed to lookup group: ${error.message}`);
111
+ continue;
112
+ }
113
+ }
114
+ if (!registryUrl) {
115
+ console.log(chalk_1.default.yellow('⚠'), `No registry info for ${baseName}`);
116
+ console.log(chalk_1.default.gray(' →'), 'Use --group <name> to register');
117
+ continue;
118
+ }
119
+ if (scope) {
120
+ // Add scope to .npmrc
121
+ npmrcManager.addScopeRegistry(scope, registryUrl);
122
+ npmrcManager.addAuthToken(registryUrl);
123
+ console.log(chalk_1.default.green('✓'), `Added ${scope} to .npmrc`);
124
+ scopedPackages.push(pkg);
125
+ }
126
+ else {
127
+ npmrcManager.addAuthToken(registryUrl);
128
+ unscopedPackages.push({ pkg, registryUrl });
129
+ }
130
+ }
131
+ // Install scoped packages (batch)
132
+ if (scopedPackages.length > 0) {
133
+ console.log(chalk_1.default.blue('→'), `Installing: ${scopedPackages.join(', ')}`);
134
+ executor.install(scopedPackages, undefined, {
135
+ global: options.global,
136
+ dev: options.saveDev,
137
+ });
138
+ }
139
+ // Install unscoped packages (with registry flag)
140
+ for (const { pkg, registryUrl } of unscopedPackages) {
141
+ console.log(chalk_1.default.blue('→'), `Installing: ${pkg}`);
142
+ executor.install([pkg], registryUrl, {
143
+ global: options.global,
144
+ dev: options.saveDev,
145
+ });
146
+ }
147
+ if (scopedPackages.length > 0 || unscopedPackages.length > 0) {
148
+ console.log(chalk_1.default.green('✓'), 'Installation complete');
149
+ }
150
+ }
151
+ /**
152
+ * Install generic packages
153
+ */
154
+ async function installGeneric(packages, options) {
155
+ if (!options.output) {
156
+ console.error(chalk_1.default.red('✗'), 'Output directory required: -o, --output <dir>');
157
+ process.exit(1);
158
+ }
159
+ const downloader = (0, adapters_generic_1.createDownloader)();
160
+ const extractor = (0, adapters_generic_1.createTarballExtractor)();
161
+ for (const pkg of packages) {
162
+ const packageInfo = (0, adapters_generic_1.parsePackageString)(pkg);
163
+ if (!packageInfo) {
164
+ console.log(chalk_1.default.yellow('⚠'), `Invalid package name: ${pkg}`);
165
+ continue;
166
+ }
167
+ const spinner = (0, ora_1.default)(`Installing ${pkg}`).start();
168
+ try {
169
+ const result = await downloader.downloadPackage(packageInfo);
170
+ if (!result.success) {
171
+ spinner.fail(result.error || 'Download failed');
172
+ continue;
173
+ }
174
+ // Extract to output directory
175
+ extractor.extract(result.filePath, { outputDir: options.output });
176
+ spinner.succeed(`Installed ${pkg} to ${options.output}`);
177
+ }
178
+ catch (error) {
179
+ spinner.fail(error.message);
180
+ }
181
+ }
182
+ }
183
+ /**
184
+ * Install PyPI packages from GitLab
185
+ */
186
+ async function installPyPI(packages, options) {
187
+ console.log(chalk_1.default.blue.bold('glpkg install'), chalk_1.default.gray('(pypi)'));
188
+ console.log();
189
+ const tokenManager = (0, core_1.createTokenManager)();
190
+ const configManager = (0, core_1.createConfigManager)();
191
+ const token = tokenManager.resolveTokenOrNull();
192
+ const pypiAdapter = (0, adapters_pypi_1.createPyPIAdapter)({ token: token || undefined });
193
+ const executor = (0, adapters_pypi_1.createCommandExecutor)();
194
+ const registryBuilder = (0, adapters_pypi_1.createRegistryBuilder)();
195
+ // Check pip availability
196
+ if (!executor.hasPip()) {
197
+ console.error(chalk_1.default.red('✗'), 'pip not found. Please install Python and pip.');
198
+ process.exit(1);
199
+ }
200
+ for (const pkg of packages) {
201
+ // Get group info for index URL
202
+ let indexUrl = null;
203
+ if (options.group) {
204
+ const spinner = (0, ora_1.default)(`Looking up group: ${options.group}`).start();
205
+ try {
206
+ const client = (0, core_1.createClient)({ token: token || undefined });
207
+ const groupInfo = await client.getGroup(options.group);
208
+ indexUrl = registryBuilder.buildGroupIndexUrl(groupInfo.id);
209
+ // Build authenticated URL if token available
210
+ if (token) {
211
+ indexUrl = registryBuilder.buildAuthenticatedUrl(indexUrl, token);
212
+ }
213
+ spinner.succeed(`Using group: ${options.group}`);
214
+ }
215
+ catch (error) {
216
+ spinner.fail(`Failed to lookup group: ${error.message}`);
217
+ continue;
218
+ }
219
+ }
220
+ if (!indexUrl) {
221
+ console.log(chalk_1.default.yellow('⚠'), 'No index URL. Use --group <name> to specify GitLab group');
222
+ console.log(chalk_1.default.gray(' →'), 'Or configure scope mapping first');
223
+ continue;
224
+ }
225
+ console.log(chalk_1.default.blue('→'), `Installing: ${pkg}`);
226
+ try {
227
+ executor.install([pkg], indexUrl, {
228
+ user: options.global, // -g maps to --user for pip
229
+ extraIndexUrl: 'https://pypi.org/simple', // Fallback to public PyPI
230
+ });
231
+ console.log(chalk_1.default.green('✓'), `Installed ${pkg}`);
232
+ }
233
+ catch (error) {
234
+ console.error(chalk_1.default.red('✗'), `Failed to install ${pkg}:`, error.message);
235
+ }
236
+ }
237
+ console.log(chalk_1.default.green('✓'), 'Installation complete');
238
+ }
239
+ /**
240
+ * Install Go modules from GitLab
241
+ */
242
+ async function installGo(packages, options) {
243
+ console.log(chalk_1.default.blue.bold('glpkg install'), chalk_1.default.gray('(go)'));
244
+ console.log();
245
+ const tokenManager = (0, core_1.createTokenManager)();
246
+ const token = tokenManager.resolveTokenOrNull();
247
+ const executor = (0, adapters_go_1.createCommandExecutor)();
248
+ const registryBuilder = (0, adapters_go_1.createRegistryBuilder)();
249
+ // Check Go availability
250
+ if (!executor.hasGo()) {
251
+ console.error(chalk_1.default.red('✗'), 'Go not found. Please install Go.');
252
+ process.exit(1);
253
+ }
254
+ // Get group info for GOPROXY
255
+ let proxyUrl = null;
256
+ let goprivate = null;
257
+ if (options.group) {
258
+ const spinner = (0, ora_1.default)(`Looking up group: ${options.group}`).start();
259
+ try {
260
+ const client = (0, core_1.createClient)({ token: token || undefined });
261
+ const groupInfo = await client.getGroup(options.group);
262
+ proxyUrl = registryBuilder.buildGroupProxyUrl(groupInfo.id);
263
+ goprivate = 'gitlab.com/*';
264
+ spinner.succeed(`Using group: ${options.group}`);
265
+ }
266
+ catch (error) {
267
+ spinner.fail(`Failed to lookup group: ${error.message}`);
268
+ process.exit(1);
269
+ }
270
+ }
271
+ if (!proxyUrl) {
272
+ console.log(chalk_1.default.yellow('⚠'), 'No proxy URL. Use --group <name> to specify GitLab group');
273
+ process.exit(1);
274
+ }
275
+ // Build GOPROXY value with authentication
276
+ const goproxyValue = token
277
+ ? registryBuilder.buildGoproxyValue(proxyUrl, token)
278
+ : `${proxyUrl},https://proxy.golang.org,direct`;
279
+ console.log(chalk_1.default.gray('○'), `GOPROXY: ${proxyUrl.replace(/\/\/.*@/, '//__token__@')}`);
280
+ console.log();
281
+ for (const pkg of packages) {
282
+ console.log(chalk_1.default.blue('→'), `Installing: ${pkg}`);
283
+ try {
284
+ const result = executor.get([pkg], {
285
+ goproxy: goproxyValue,
286
+ goprivate: goprivate || undefined,
287
+ gonosumdb: goprivate || undefined,
288
+ });
289
+ if (result.success) {
290
+ console.log(chalk_1.default.green('✓'), `Installed ${pkg}`);
291
+ }
292
+ else {
293
+ console.error(chalk_1.default.red('✗'), `Failed to install ${pkg}`);
294
+ if (result.stderr) {
295
+ console.error(chalk_1.default.gray(' '), result.stderr.trim());
296
+ }
297
+ }
298
+ }
299
+ catch (error) {
300
+ console.error(chalk_1.default.red('✗'), `Failed to install ${pkg}:`, error.message);
301
+ }
302
+ }
303
+ console.log();
304
+ console.log(chalk_1.default.green('✓'), 'Installation complete');
305
+ }
306
+ /**
307
+ * Install NuGet packages from GitLab
308
+ */
309
+ async function installNuGet(packages, options) {
310
+ console.log(chalk_1.default.blue.bold('glpkg install'), chalk_1.default.gray('(nuget)'));
311
+ console.log();
312
+ const tokenManager = (0, core_1.createTokenManager)();
313
+ const token = tokenManager.resolveTokenOrNull();
314
+ const executor = (0, adapters_nuget_1.createCommandExecutor)();
315
+ const registryBuilder = (0, adapters_nuget_1.createRegistryBuilder)();
316
+ // Check dotnet CLI availability
317
+ if (!executor.hasDotNet()) {
318
+ console.error(chalk_1.default.red('✗'), 'dotnet CLI not found. Please install .NET SDK.');
319
+ process.exit(1);
320
+ }
321
+ // Get group info for NuGet source
322
+ let sourceUrl = null;
323
+ const sourceName = 'gitlab';
324
+ if (options.group) {
325
+ const spinner = (0, ora_1.default)(`Looking up group: ${options.group}`).start();
326
+ try {
327
+ const client = (0, core_1.createClient)({ token: token || undefined });
328
+ const groupInfo = await client.getGroup(options.group);
329
+ sourceUrl = registryBuilder.buildGroupIndexUrl(groupInfo.id);
330
+ spinner.succeed(`Using group: ${options.group}`);
331
+ }
332
+ catch (error) {
333
+ spinner.fail(`Failed to lookup group: ${error.message}`);
334
+ process.exit(1);
335
+ }
336
+ }
337
+ if (!sourceUrl) {
338
+ console.log(chalk_1.default.yellow('⚠'), 'No source URL. Use --group <name> to specify GitLab group');
339
+ process.exit(1);
340
+ }
341
+ console.log(chalk_1.default.gray('○'), `Source: ${sourceUrl}`);
342
+ // Setup nuget.config if token available
343
+ if (token) {
344
+ const configManager = (0, adapters_nuget_1.createNuGetConfigManager)();
345
+ configManager.addSource({
346
+ name: sourceName,
347
+ url: sourceUrl,
348
+ username: 'gitlab-ci-token',
349
+ password: token,
350
+ protocolVersion: '3',
351
+ });
352
+ console.log(chalk_1.default.gray('○'), 'Updated nuget.config with credentials');
353
+ }
354
+ console.log();
355
+ for (const pkg of packages) {
356
+ console.log(chalk_1.default.blue('→'), `Installing: ${pkg}`);
357
+ try {
358
+ // Parse package@version format
359
+ const [packageName, version] = pkg.split('@');
360
+ const result = executor.addPackage(packageName, version);
361
+ if (result.success) {
362
+ console.log(chalk_1.default.green('✓'), `Installed ${pkg}`);
363
+ }
364
+ else {
365
+ console.error(chalk_1.default.red('✗'), `Failed to install ${pkg}`);
366
+ if (result.stderr) {
367
+ console.error(chalk_1.default.gray(' '), result.stderr.trim());
368
+ }
369
+ }
370
+ }
371
+ catch (error) {
372
+ console.error(chalk_1.default.red('✗'), `Failed to install ${pkg}:`, error.message);
373
+ }
374
+ }
375
+ console.log();
376
+ console.log(chalk_1.default.green('✓'), 'Installation complete');
377
+ }
378
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * License Command - Stub (Coming Soon)
3
+ *
4
+ * License functionality will be integrated with @microwiseai/license-api
5
+ */
6
+ import { Command } from 'commander';
7
+ export declare const licenseCommand: Command;
8
+ //# sourceMappingURL=license.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../src/commands/license.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,cAAc,SAC4B,CAAC"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ /**
3
+ * License Command - Stub (Coming Soon)
4
+ *
5
+ * License functionality will be integrated with @microwiseai/license-api
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.licenseCommand = void 0;
12
+ const commander_1 = require("commander");
13
+ const chalk_1 = __importDefault(require("chalk"));
14
+ exports.licenseCommand = new commander_1.Command('license')
15
+ .description('Manage software license (Coming Soon)');
16
+ // glpkg license activate <key>
17
+ exports.licenseCommand
18
+ .command('activate <key>')
19
+ .description('Activate a license key')
20
+ .action(async (_key) => {
21
+ console.log(chalk_1.default.yellow('⚠'), 'License feature coming soon');
22
+ console.log(chalk_1.default.gray(' This feature is being integrated with the new license system.'));
23
+ });
24
+ // glpkg license status
25
+ exports.licenseCommand
26
+ .command('status')
27
+ .description('Check license status')
28
+ .action(async () => {
29
+ console.log(chalk_1.default.yellow('⚠'), 'License feature coming soon');
30
+ console.log(chalk_1.default.gray(' This feature is being integrated with the new license system.'));
31
+ });
32
+ // glpkg license deactivate
33
+ exports.licenseCommand
34
+ .command('deactivate')
35
+ .description('Deactivate current license')
36
+ .action(async () => {
37
+ console.log(chalk_1.default.yellow('⚠'), 'License feature coming soon');
38
+ console.log(chalk_1.default.gray(' This feature is being integrated with the new license system.'));
39
+ });
40
+ //# sourceMappingURL=license.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license.js","sourceRoot":"","sources":["../../src/commands/license.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,yCAAoC;AACpC,kDAA0B;AAEb,QAAA,cAAc,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,uCAAuC,CAAC,CAAC;AAExD,+BAA+B;AAC/B,sBAAc;KACX,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC;AAEL,uBAAuB;AACvB,sBAAc;KACX,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC;AAEL,2BAA2B;AAC3B,sBAAc;KACX,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Publish Command - Publish packages to GitLab
3
+ */
4
+ import { Command } from 'commander';
5
+ export declare const publishCommand: Command;
6
+ //# sourceMappingURL=publish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4DpC,eAAO,MAAM,cAAc,SAiCvB,CAAC"}