@microwiseai/snapshot 0.3.27 → 0.3.29
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/commands/access.d.ts +17 -0
- package/dist/commands/access.d.ts.map +1 -0
- package/dist/commands/access.js +68 -0
- package/dist/commands/access.js.map +1 -0
- package/dist/commands/install.js +1 -1
- package/dist/commands/publish.d.ts +1 -0
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +16 -5
- package/dist/commands/publish.js.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/access-sync.d.ts +26 -0
- package/dist/lib/access-sync.d.ts.map +1 -0
- package/dist/lib/access-sync.js +250 -0
- package/dist/lib/access-sync.js.map +1 -0
- package/dist/lib/gitlab.d.ts.map +1 -1
- package/dist/lib/gitlab.js +16 -10
- package/dist/lib/gitlab.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Access command - Manage package access levels
|
|
3
|
+
*
|
|
4
|
+
* Commands:
|
|
5
|
+
* snapshot access sync [path] - Sync access with license-api
|
|
6
|
+
*/
|
|
7
|
+
interface AccessSyncOptions {
|
|
8
|
+
verbose?: boolean;
|
|
9
|
+
dryRun?: boolean;
|
|
10
|
+
skipTransitive?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Sync access levels for a snapshot
|
|
14
|
+
*/
|
|
15
|
+
export declare function accessSyncCommand(snapshotPath?: string, options?: AccessSyncOptions): Promise<void>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=access.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/commands/access.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AA0BD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAmCf"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Access command - Manage package access levels
|
|
3
|
+
*
|
|
4
|
+
* Commands:
|
|
5
|
+
* snapshot access sync [path] - Sync access with license-api
|
|
6
|
+
*/
|
|
7
|
+
import { readFile } from 'node:fs/promises';
|
|
8
|
+
import { join, resolve } from 'node:path';
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
import { syncPackageAccess } from '../lib/access-sync.js';
|
|
11
|
+
/**
|
|
12
|
+
* Read snapshot.json from given path or current directory
|
|
13
|
+
*/
|
|
14
|
+
async function readSnapshot(snapshotPath) {
|
|
15
|
+
const targetPath = snapshotPath
|
|
16
|
+
? resolve(snapshotPath)
|
|
17
|
+
: join(process.cwd(), 'snapshot.json');
|
|
18
|
+
// If path is a directory, append snapshot.json
|
|
19
|
+
const finalPath = targetPath.endsWith('.json')
|
|
20
|
+
? targetPath
|
|
21
|
+
: join(targetPath, 'snapshot.json');
|
|
22
|
+
try {
|
|
23
|
+
const content = await readFile(finalPath, 'utf-8');
|
|
24
|
+
return JSON.parse(content);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
if (error.code === 'ENOENT') {
|
|
28
|
+
throw new Error(`snapshot.json not found at: ${finalPath}`);
|
|
29
|
+
}
|
|
30
|
+
throw new Error(`Failed to read snapshot.json: ${error instanceof Error ? error.message : String(error)}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Sync access levels for a snapshot
|
|
35
|
+
*/
|
|
36
|
+
export async function accessSyncCommand(snapshotPath, options = {}) {
|
|
37
|
+
const { verbose = false, dryRun = false, skipTransitive = false } = options;
|
|
38
|
+
console.log();
|
|
39
|
+
console.log(chalk.cyan('Syncing package access...'));
|
|
40
|
+
try {
|
|
41
|
+
const snapshot = await readSnapshot(snapshotPath);
|
|
42
|
+
if (!snapshot.access) {
|
|
43
|
+
console.log(chalk.yellow('\n Warning: No "access" field in snapshot.json'));
|
|
44
|
+
console.log(chalk.dim(' Add "access": "public" or "access": { "type": "licensed", "productId": "..." }'));
|
|
45
|
+
console.log();
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
console.log(chalk.dim(` Snapshot: ${snapshot.name} v${snapshot.version}`));
|
|
49
|
+
const result = await syncPackageAccess(snapshot, {
|
|
50
|
+
verbose,
|
|
51
|
+
dryRun,
|
|
52
|
+
includeTransitive: !skipTransitive,
|
|
53
|
+
});
|
|
54
|
+
if (result.success) {
|
|
55
|
+
console.log(chalk.green('\n✓ Access sync completed!'));
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
console.log(chalk.yellow('\n⚠ Access sync completed with some failures'));
|
|
59
|
+
}
|
|
60
|
+
console.log();
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
console.error();
|
|
64
|
+
console.error(chalk.red('Error:'), error instanceof Error ? error.message : String(error));
|
|
65
|
+
process.exitCode = 1;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=access.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/commands/access.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/install.js
CHANGED
|
@@ -11,7 +11,7 @@ import { resolveDepsFromLicenseAPI } from '../lib/transitive-resolver.js';
|
|
|
11
11
|
import { installSkitPackage } from '../lib/skit-adapter.js';
|
|
12
12
|
import { createLicenseClient, markLicenseChecked } from '@microwiseai/license';
|
|
13
13
|
// CLI version (from package.json)
|
|
14
|
-
const CLI_VERSION = '0.3.
|
|
14
|
+
const CLI_VERSION = '0.3.29';
|
|
15
15
|
/**
|
|
16
16
|
* Send install telemetry to license-api (fire and forget)
|
|
17
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAOA,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAsED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D3E"}
|
package/dist/commands/publish.js
CHANGED
|
@@ -2,6 +2,7 @@ import { spawn } from 'node:child_process';
|
|
|
2
2
|
import { access, readFile } from 'node:fs/promises';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
|
+
import { syncPackageAccess } from '../lib/access-sync.js';
|
|
5
6
|
/**
|
|
6
7
|
* Read and parse snapshot.json from current directory
|
|
7
8
|
*/
|
|
@@ -66,7 +67,7 @@ async function executePublish(options) {
|
|
|
66
67
|
* Publish command handler
|
|
67
68
|
*/
|
|
68
69
|
export async function publishCommand(options) {
|
|
69
|
-
const { verbose = false, dryRun = false, bump } = options;
|
|
70
|
+
const { verbose = false, dryRun = false, bump, skipAccessSync = false } = options;
|
|
70
71
|
console.log();
|
|
71
72
|
console.log(chalk.cyan('Publishing snapshot package...'));
|
|
72
73
|
try {
|
|
@@ -74,11 +75,14 @@ export async function publishCommand(options) {
|
|
|
74
75
|
console.log(chalk.dim(' Checking for snapshot.json...'));
|
|
75
76
|
}
|
|
76
77
|
await checkSnapshotJson();
|
|
77
|
-
const
|
|
78
|
+
const snapshot = await readSnapshotJson();
|
|
78
79
|
if (verbose) {
|
|
79
80
|
console.log(chalk.green(' ✓ Found snapshot.json'));
|
|
80
|
-
console.log(chalk.dim(` Name: ${
|
|
81
|
-
console.log(chalk.dim(` Version: ${
|
|
81
|
+
console.log(chalk.dim(` Name: ${snapshot.name}`));
|
|
82
|
+
console.log(chalk.dim(` Version: ${snapshot.version}`));
|
|
83
|
+
if (snapshot.access) {
|
|
84
|
+
console.log(chalk.dim(` Access: ${typeof snapshot.access === 'string' ? snapshot.access : snapshot.access.type}`));
|
|
85
|
+
}
|
|
82
86
|
}
|
|
83
87
|
if (dryRun) {
|
|
84
88
|
console.log(chalk.yellow(' [dry-run] Would publish with options:'));
|
|
@@ -99,8 +103,15 @@ export async function publishCommand(options) {
|
|
|
99
103
|
await executePublish(options);
|
|
100
104
|
console.log();
|
|
101
105
|
console.log(chalk.green('✓ Snapshot published to GitLab!'));
|
|
102
|
-
console.log();
|
|
103
106
|
}
|
|
107
|
+
// Sync package access with license-api
|
|
108
|
+
if (!skipAccessSync && snapshot.access) {
|
|
109
|
+
await syncPackageAccess(snapshot, { verbose, dryRun });
|
|
110
|
+
}
|
|
111
|
+
else if (!snapshot.access && verbose) {
|
|
112
|
+
console.log(chalk.dim('\n Skipping access sync (no access field in snapshot.json)'));
|
|
113
|
+
}
|
|
114
|
+
console.log();
|
|
104
115
|
}
|
|
105
116
|
catch (error) {
|
|
106
117
|
console.error();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import { listCommand } from './commands/list.js';
|
|
|
7
7
|
import { currentCommand } from './commands/current.js';
|
|
8
8
|
import { publishCommand } from './commands/publish.js';
|
|
9
9
|
import { licenseActivateCommand, licenseStatusCommand, licenseDeactivateCommand, licenseRefreshCommand, } from './commands/license.js';
|
|
10
|
+
import { accessSyncCommand } from './commands/access.js';
|
|
10
11
|
import { reportImport } from '@microwiseai/import-telemetry';
|
|
11
12
|
import { VENDOR_NAME, PACKAGE_NAME } from './lib/config.js';
|
|
12
13
|
const require = createRequire(import.meta.url);
|
|
@@ -48,9 +49,23 @@ program
|
|
|
48
49
|
.option('-b, --bump <type>', 'Bump version (patch, minor, major)')
|
|
49
50
|
.option('-d, --dry-run', 'Show what would be published without publishing')
|
|
50
51
|
.option('-v, --verbose', 'Show detailed output')
|
|
52
|
+
.option('--skip-access-sync', 'Skip syncing access levels to license-api')
|
|
51
53
|
.action(async (options) => {
|
|
52
54
|
await publishCommand(options);
|
|
53
55
|
});
|
|
56
|
+
// Access management commands
|
|
57
|
+
const accessCmd = program
|
|
58
|
+
.command('access')
|
|
59
|
+
.description('Package access management');
|
|
60
|
+
accessCmd
|
|
61
|
+
.command('sync [path]')
|
|
62
|
+
.description('Sync package access levels with license-api')
|
|
63
|
+
.option('-d, --dry-run', 'Show what would be synced without syncing')
|
|
64
|
+
.option('-v, --verbose', 'Show detailed output')
|
|
65
|
+
.option('--skip-transitive', 'Skip transitive dependencies')
|
|
66
|
+
.action(async (path, options) => {
|
|
67
|
+
await accessSyncCommand(path, options);
|
|
68
|
+
});
|
|
54
69
|
// License management commands
|
|
55
70
|
const licenseCmd = program
|
|
56
71
|
.command('license')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Access Sync - Synchronize snapshot package access with license-api
|
|
3
|
+
*
|
|
4
|
+
* When a snapshot is published, this module registers all packages
|
|
5
|
+
* in the snapshot's install list with the appropriate access level.
|
|
6
|
+
*/
|
|
7
|
+
import type { Snapshot } from './types.js';
|
|
8
|
+
interface SyncResult {
|
|
9
|
+
success: boolean;
|
|
10
|
+
registered: string[];
|
|
11
|
+
failed: string[];
|
|
12
|
+
skipped: string[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Sync snapshot packages with license-api
|
|
16
|
+
*
|
|
17
|
+
* @param snapshot - Parsed snapshot.json
|
|
18
|
+
* @param options - Sync options
|
|
19
|
+
*/
|
|
20
|
+
export declare function syncPackageAccess(snapshot: Snapshot, options?: {
|
|
21
|
+
verbose?: boolean;
|
|
22
|
+
dryRun?: boolean;
|
|
23
|
+
includeTransitive?: boolean;
|
|
24
|
+
}): Promise<SyncResult>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=access-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-sync.d.ts","sourceRoot":"","sources":["../../src/lib/access-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAgB3D,UAAU,UAAU;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAkLD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACxB,GACL,OAAO,CAAC,UAAU,CAAC,CA8FrB"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Access Sync - Synchronize snapshot package access with license-api
|
|
3
|
+
*
|
|
4
|
+
* When a snapshot is published, this module registers all packages
|
|
5
|
+
* in the snapshot's install list with the appropriate access level.
|
|
6
|
+
*/
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
import { LICENSE_API_URL } from './config.js';
|
|
9
|
+
// Admin API key (should be configured via env)
|
|
10
|
+
const ADMIN_API_KEY = process.env.LICENSE_API_ADMIN_KEY || 'test-admin-key-12345';
|
|
11
|
+
/**
|
|
12
|
+
* Parse package name into scope and name
|
|
13
|
+
* @example "@ist/loggable-cli" -> { scope: "@ist", name: "loggable-cli" }
|
|
14
|
+
*/
|
|
15
|
+
function parsePackageName(fullName) {
|
|
16
|
+
const match = fullName.match(/^(@[^/]+)\/(.+)$/);
|
|
17
|
+
if (!match)
|
|
18
|
+
return null;
|
|
19
|
+
return { scope: match[1], name: match[2] };
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Convert SnapshotAccess to license-api access level
|
|
23
|
+
*/
|
|
24
|
+
function getAccessLevel(access) {
|
|
25
|
+
if (!access)
|
|
26
|
+
return 'licensed'; // Default to licensed
|
|
27
|
+
if (access === 'public')
|
|
28
|
+
return 'public';
|
|
29
|
+
if (typeof access === 'object' && access.type === 'licensed')
|
|
30
|
+
return 'licensed';
|
|
31
|
+
return 'licensed';
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get product ID from access config (for licensed packages)
|
|
35
|
+
*/
|
|
36
|
+
function getProductId(access) {
|
|
37
|
+
if (typeof access === 'object' && access.type === 'licensed') {
|
|
38
|
+
return access.productId;
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Find existing package access rule
|
|
44
|
+
*/
|
|
45
|
+
async function findExistingRule(scope, packageName) {
|
|
46
|
+
const url = `${LICENSE_API_URL}/admin/package-access?scope=${encodeURIComponent(scope)}`;
|
|
47
|
+
try {
|
|
48
|
+
const response = await fetch(url, {
|
|
49
|
+
headers: { 'X-Admin-Api-Key': ADMIN_API_KEY },
|
|
50
|
+
});
|
|
51
|
+
if (!response.ok)
|
|
52
|
+
return null;
|
|
53
|
+
const data = await response.json();
|
|
54
|
+
if (!data.success || !data.data?.items)
|
|
55
|
+
return null;
|
|
56
|
+
const existing = data.data.items.find(item => item.package_name === packageName);
|
|
57
|
+
return existing ? { id: existing.id } : null;
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Register or update a package with license-api (upsert)
|
|
65
|
+
*/
|
|
66
|
+
async function registerPackage(rule) {
|
|
67
|
+
try {
|
|
68
|
+
// Check if already exists
|
|
69
|
+
const existing = await findExistingRule(rule.scope, rule.packageName);
|
|
70
|
+
const body = {
|
|
71
|
+
scope: rule.scope,
|
|
72
|
+
packageName: rule.packageName,
|
|
73
|
+
accessLevel: rule.accessLevel,
|
|
74
|
+
priority: rule.priority ?? 100,
|
|
75
|
+
description: rule.description,
|
|
76
|
+
requiredProductIds: rule.requiredProductIds,
|
|
77
|
+
parentPackage: rule.parentPackage,
|
|
78
|
+
};
|
|
79
|
+
let url;
|
|
80
|
+
let method;
|
|
81
|
+
if (existing) {
|
|
82
|
+
// Update existing rule
|
|
83
|
+
url = `${LICENSE_API_URL}/admin/package-access/${existing.id}`;
|
|
84
|
+
method = 'PUT';
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
// Create new rule
|
|
88
|
+
url = `${LICENSE_API_URL}/admin/package-access`;
|
|
89
|
+
method = 'POST';
|
|
90
|
+
}
|
|
91
|
+
const response = await fetch(url, {
|
|
92
|
+
method,
|
|
93
|
+
headers: {
|
|
94
|
+
'Content-Type': 'application/json',
|
|
95
|
+
'X-Admin-Api-Key': ADMIN_API_KEY,
|
|
96
|
+
},
|
|
97
|
+
body: JSON.stringify(body),
|
|
98
|
+
});
|
|
99
|
+
if (response.ok) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
const error = await response.json().catch(() => ({}));
|
|
103
|
+
console.error(chalk.yellow(` Warning: Failed to ${existing ? 'update' : 'register'} ${rule.scope}/${rule.packageName}: ${JSON.stringify(error)}`));
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
console.error(chalk.yellow(` Warning: Error with ${rule.scope}/${rule.packageName}: ${error}`));
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Resolve npm dependencies for a package via registry-proxy
|
|
113
|
+
*/
|
|
114
|
+
async function resolveNpmDeps(packageName) {
|
|
115
|
+
const REGISTRY_PROXY_URL = process.env.REGISTRY_PROXY_URL || 'https://registry-proxy.sisung-kim1.workers.dev';
|
|
116
|
+
try {
|
|
117
|
+
const response = await fetch(`${REGISTRY_PROXY_URL}/resolve-deps`, {
|
|
118
|
+
method: 'POST',
|
|
119
|
+
headers: { 'Content-Type': 'application/json' },
|
|
120
|
+
body: JSON.stringify({
|
|
121
|
+
packages: [packageName],
|
|
122
|
+
groupId: '110834981',
|
|
123
|
+
scopes: ['@ist'],
|
|
124
|
+
includePeer: false,
|
|
125
|
+
}),
|
|
126
|
+
});
|
|
127
|
+
if (!response.ok) {
|
|
128
|
+
return [];
|
|
129
|
+
}
|
|
130
|
+
const data = await response.json();
|
|
131
|
+
if (data.success && data.dependencies) {
|
|
132
|
+
// Filter to only @ist scoped packages
|
|
133
|
+
return data.dependencies
|
|
134
|
+
.map(d => d.name)
|
|
135
|
+
.filter(name => name.startsWith('@ist/'));
|
|
136
|
+
}
|
|
137
|
+
return [];
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
return [];
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Extract all packages from snapshot install config
|
|
145
|
+
*/
|
|
146
|
+
function extractPackagesFromSnapshot(snapshot) {
|
|
147
|
+
const packages = [];
|
|
148
|
+
// New structure: install.<installer>.<package>
|
|
149
|
+
if (snapshot.install) {
|
|
150
|
+
for (const installerPackages of Object.values(snapshot.install)) {
|
|
151
|
+
packages.push(...Object.keys(installerPackages));
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
// Legacy structure: packages
|
|
155
|
+
if (snapshot.packages) {
|
|
156
|
+
packages.push(...Object.keys(snapshot.packages));
|
|
157
|
+
}
|
|
158
|
+
// Legacy structure: skits
|
|
159
|
+
if (snapshot.skits) {
|
|
160
|
+
packages.push(...Object.keys(snapshot.skits));
|
|
161
|
+
}
|
|
162
|
+
return [...new Set(packages)]; // Dedupe
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Sync snapshot packages with license-api
|
|
166
|
+
*
|
|
167
|
+
* @param snapshot - Parsed snapshot.json
|
|
168
|
+
* @param options - Sync options
|
|
169
|
+
*/
|
|
170
|
+
export async function syncPackageAccess(snapshot, options = {}) {
|
|
171
|
+
const { verbose = false, dryRun = false, includeTransitive = true } = options;
|
|
172
|
+
const result = {
|
|
173
|
+
success: true,
|
|
174
|
+
registered: [],
|
|
175
|
+
failed: [],
|
|
176
|
+
skipped: [],
|
|
177
|
+
};
|
|
178
|
+
const accessLevel = getAccessLevel(snapshot.access);
|
|
179
|
+
const productId = getProductId(snapshot.access);
|
|
180
|
+
console.log(chalk.cyan(`\nSyncing package access for ${snapshot.name}...`));
|
|
181
|
+
console.log(chalk.dim(` Access level: ${accessLevel}`));
|
|
182
|
+
// 1. Extract direct packages from snapshot
|
|
183
|
+
const directPackages = extractPackagesFromSnapshot(snapshot);
|
|
184
|
+
if (verbose) {
|
|
185
|
+
console.log(chalk.dim(` Direct packages: ${directPackages.length}`));
|
|
186
|
+
}
|
|
187
|
+
// 2. Resolve transitive dependencies if requested
|
|
188
|
+
let allPackages = [...directPackages];
|
|
189
|
+
if (includeTransitive) {
|
|
190
|
+
console.log(chalk.dim(' Resolving transitive dependencies...'));
|
|
191
|
+
for (const pkg of directPackages) {
|
|
192
|
+
const deps = await resolveNpmDeps(pkg);
|
|
193
|
+
allPackages.push(...deps);
|
|
194
|
+
}
|
|
195
|
+
allPackages = [...new Set(allPackages)]; // Dedupe
|
|
196
|
+
if (verbose) {
|
|
197
|
+
console.log(chalk.dim(` Total packages (with deps): ${allPackages.length}`));
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// 3. Register each package
|
|
201
|
+
console.log(chalk.dim(` Registering ${allPackages.length} packages...`));
|
|
202
|
+
for (const pkg of allPackages) {
|
|
203
|
+
const parsed = parsePackageName(pkg);
|
|
204
|
+
if (!parsed) {
|
|
205
|
+
result.skipped.push(pkg);
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
const rule = {
|
|
209
|
+
scope: parsed.scope,
|
|
210
|
+
packageName: parsed.name,
|
|
211
|
+
accessLevel,
|
|
212
|
+
priority: 100,
|
|
213
|
+
description: `Auto-synced from ${snapshot.name}`,
|
|
214
|
+
parentPackage: snapshot.name,
|
|
215
|
+
};
|
|
216
|
+
if (accessLevel === 'licensed' && productId) {
|
|
217
|
+
rule.requiredProductIds = productId;
|
|
218
|
+
}
|
|
219
|
+
if (dryRun) {
|
|
220
|
+
console.log(chalk.yellow(` [dry-run] Would register: ${pkg} (${accessLevel})`));
|
|
221
|
+
result.registered.push(pkg);
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
const success = await registerPackage(rule);
|
|
225
|
+
if (success) {
|
|
226
|
+
result.registered.push(pkg);
|
|
227
|
+
if (verbose) {
|
|
228
|
+
console.log(chalk.green(` ✓ ${pkg}`));
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
result.failed.push(pkg);
|
|
233
|
+
result.success = false;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
// 4. Summary
|
|
238
|
+
console.log();
|
|
239
|
+
if (result.registered.length > 0) {
|
|
240
|
+
console.log(chalk.green(` ✓ Registered: ${result.registered.length} packages`));
|
|
241
|
+
}
|
|
242
|
+
if (result.failed.length > 0) {
|
|
243
|
+
console.log(chalk.red(` ✗ Failed: ${result.failed.length} packages`));
|
|
244
|
+
}
|
|
245
|
+
if (result.skipped.length > 0) {
|
|
246
|
+
console.log(chalk.yellow(` ⊘ Skipped: ${result.skipped.length} packages (invalid format)`));
|
|
247
|
+
}
|
|
248
|
+
return result;
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=access-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-sync.js","sourceRoot":"","sources":["../../src/lib/access-sync.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/gitlab.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../src/lib/gitlab.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK3C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAWlF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAcjE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO/D;
|
|
1
|
+
{"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../src/lib/gitlab.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK3C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAWlF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAcjE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO/D;AA4GD;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAEnF;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CA4C9F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAMxF"}
|
package/dist/lib/gitlab.js
CHANGED
|
@@ -105,7 +105,8 @@ function extractSnapshotFromBuffer(buffer) {
|
|
|
105
105
|
/**
|
|
106
106
|
* Fetch snapshot via registry-proxy
|
|
107
107
|
*
|
|
108
|
-
* Uses session token for authentication.
|
|
108
|
+
* Uses session token for authentication if available.
|
|
109
|
+
* Public packages can be fetched without authentication.
|
|
109
110
|
* Supports "latest" version which proxy resolves to most recent.
|
|
110
111
|
*
|
|
111
112
|
* @param snapshotSpec - Snapshot spec (e.g., "@ist/minimal" or "@ist/minimal@0.2.1")
|
|
@@ -113,23 +114,28 @@ function extractSnapshotFromBuffer(buffer) {
|
|
|
113
114
|
*/
|
|
114
115
|
async function fetchSnapshotFromProxy(snapshotSpec) {
|
|
115
116
|
const sessionToken = getSessionToken();
|
|
116
|
-
if (!sessionToken) {
|
|
117
|
-
throw new Error('No session token available. Please activate your license first:\n' +
|
|
118
|
-
' snapshot license activate <KEY>');
|
|
119
|
-
}
|
|
120
117
|
const { name, version } = parseSnapshotSpec(snapshotSpec);
|
|
121
118
|
const packageName = snapshotNameToPackageName(name); // @ist/minimal → ist__minimal
|
|
122
119
|
// Use "latest" if no version specified - proxy will resolve to actual version
|
|
123
120
|
const targetVersion = version || 'latest';
|
|
124
121
|
const fileName = `${packageName}-${targetVersion}.tar.gz`;
|
|
125
122
|
const url = `${REGISTRY_PROXY_URL}/generic/${packageName}/${targetVersion}/${fileName}`;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
123
|
+
// Build headers - include auth only if token available
|
|
124
|
+
const headers = {};
|
|
125
|
+
if (sessionToken) {
|
|
126
|
+
headers['Authorization'] = `Bearer ${sessionToken}`;
|
|
127
|
+
}
|
|
128
|
+
const response = await fetch(url, { headers });
|
|
129
129
|
if (!response.ok) {
|
|
130
130
|
if (response.status === 401) {
|
|
131
|
-
|
|
132
|
-
'
|
|
131
|
+
if (sessionToken) {
|
|
132
|
+
throw new Error('Session token expired or invalid. Please refresh:\n' +
|
|
133
|
+
' snapshot license refresh');
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
throw new Error('This snapshot requires a license. Please activate:\n' +
|
|
137
|
+
' snapshot license activate <KEY>');
|
|
138
|
+
}
|
|
133
139
|
}
|
|
134
140
|
if (response.status === 403) {
|
|
135
141
|
throw new Error('Access denied. This snapshot may require a license.\n' +
|
package/dist/lib/gitlab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/lib/gitlab.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/lib/gitlab.ts"],"names":[],"mappings":"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"}
|