@unisphere/cli 1.58.11 → 2.0.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.
- package/bundler/package/rollup.js +69 -31
- package/bundler/runtime/rollup.js +2 -163
- package/bundler/shared.js +174 -0
- package/package.json +2 -1
- package/src/lib/commands/how-to/command.js +30 -0
- package/src/lib/commands/how-to/command.js.map +1 -1
- package/src/lib/commands/licenses/command.d.ts +2 -0
- package/src/lib/commands/licenses/command.js +274 -0
- package/src/lib/commands/licenses/command.js.map +1 -0
- package/src/lib/commands/package/build-command.js +31 -0
- package/src/lib/commands/package/build-command.js.map +1 -1
- package/src/lib/commands/package/licenses/command.d.ts +2 -0
- package/src/lib/commands/package/licenses/command.js +12 -0
- package/src/lib/commands/package/licenses/command.js.map +1 -0
- package/src/lib/commands/package/licenses/extract-command.d.ts +2 -0
- package/src/lib/commands/package/licenses/extract-command.js +140 -0
- package/src/lib/commands/package/licenses/extract-command.js.map +1 -0
- package/src/lib/commands/package/package-commands.js +2 -0
- package/src/lib/commands/package/package-commands.js.map +1 -1
- package/src/lib/commands/runtime/build-command.js +39 -0
- package/src/lib/commands/runtime/build-command.js.map +1 -1
- package/src/lib/commands/runtime/command.js +2 -0
- package/src/lib/commands/runtime/command.js.map +1 -1
- package/src/lib/commands/runtime/licenses/command.d.ts +2 -0
- package/src/lib/commands/runtime/licenses/command.js +12 -0
- package/src/lib/commands/runtime/licenses/command.js.map +1 -0
- package/src/lib/commands/runtime/licenses/extract-command.d.ts +2 -0
- package/src/lib/commands/runtime/licenses/extract-command.js +119 -0
- package/src/lib/commands/runtime/licenses/extract-command.js.map +1 -0
- package/src/lib/utils/unisphere/augment-workspace-config.js +13 -11
- package/src/lib/utils/unisphere/augment-workspace-config.js.map +1 -1
- package/src/lib/utils/unisphere/get-dependency-graph.d.ts +4 -2
- package/src/lib/utils/unisphere/get-dependency-graph.js +85 -69
- package/src/lib/utils/unisphere/get-dependency-graph.js.map +1 -1
- package/src/lib/utils/unisphere/get-installed-unisphere-packages.js +1 -0
- package/src/lib/utils/unisphere/get-installed-unisphere-packages.js.map +1 -1
- package/src/lib/utils/unisphere/get-licenses.d.ts +26 -0
- package/src/lib/utils/unisphere/get-licenses.js +128 -0
- package/src/lib/utils/unisphere/get-licenses.js.map +1 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getLicenses = getLicenses;
|
|
4
|
+
exports.formatLicensesAsJson = formatLicensesAsJson;
|
|
5
|
+
exports.formatLicensesAsSummary = formatLicensesAsSummary;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
7
|
+
const fs = require("fs");
|
|
8
|
+
const path = require("path");
|
|
9
|
+
const debug_1 = require("debug");
|
|
10
|
+
const get_dependency_graph_1 = require("./get-dependency-graph");
|
|
11
|
+
const debug = (0, debug_1.default)('unisphere:utils:get-licenses');
|
|
12
|
+
/**
|
|
13
|
+
* Extract license information from a package.json file
|
|
14
|
+
*/
|
|
15
|
+
function extractLicenseFromPackageJson(packageJsonPath) {
|
|
16
|
+
try {
|
|
17
|
+
if (!fs.existsSync(packageJsonPath)) {
|
|
18
|
+
return { license: '' };
|
|
19
|
+
}
|
|
20
|
+
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
21
|
+
let license = '';
|
|
22
|
+
if (pkg.license) {
|
|
23
|
+
if (typeof pkg.license === 'string') {
|
|
24
|
+
license = pkg.license;
|
|
25
|
+
}
|
|
26
|
+
else if (typeof pkg.license === 'object' && pkg.license.type) {
|
|
27
|
+
license = pkg.license.type;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else if (pkg.licenses && Array.isArray(pkg.licenses) && pkg.licenses.length > 0) {
|
|
31
|
+
// Handle legacy licenses field (deprecated but still in use)
|
|
32
|
+
license = pkg.licenses.map((l) => typeof l === 'string' ? l : l.type).join(', ');
|
|
33
|
+
}
|
|
34
|
+
let repository;
|
|
35
|
+
if (pkg.repository) {
|
|
36
|
+
if (typeof pkg.repository === 'string') {
|
|
37
|
+
repository = pkg.repository;
|
|
38
|
+
}
|
|
39
|
+
else if (typeof pkg.repository === 'object' && pkg.repository.url) {
|
|
40
|
+
repository = pkg.repository.url;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return { license, repository };
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
debug('error extracting license from %s: %s', packageJsonPath, error.message);
|
|
47
|
+
return { license: '' };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get licenses for all dependencies of a package
|
|
52
|
+
* Reuses the existing dependency graph extraction logic
|
|
53
|
+
*/
|
|
54
|
+
function getLicenses(rootDir_1, packageDir_1) {
|
|
55
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* (rootDir, packageDir, options = {}) {
|
|
56
|
+
const { includeTransitive = false } = options;
|
|
57
|
+
debug('get licenses for %s', packageDir);
|
|
58
|
+
// Reuse existing dependency graph extraction with the includeTransitive flag
|
|
59
|
+
const { graph } = yield (0, get_dependency_graph_1.getDependencyGraphAndFilteredDeps)(rootDir, packageDir, [], { includeTransitive });
|
|
60
|
+
const licenses = [];
|
|
61
|
+
const missingLicenses = [];
|
|
62
|
+
// Extract license info from the graph
|
|
63
|
+
for (const [key, node] of Object.entries(graph)) {
|
|
64
|
+
const { name, version } = node;
|
|
65
|
+
debug('extracting license for %s', key);
|
|
66
|
+
// Resolve package.json path
|
|
67
|
+
const packageJsonPath = path.resolve(rootDir, 'node_modules', name, 'package.json');
|
|
68
|
+
const { license, repository } = extractLicenseFromPackageJson(packageJsonPath);
|
|
69
|
+
const licenseInfo = {
|
|
70
|
+
packageName: name,
|
|
71
|
+
version,
|
|
72
|
+
license,
|
|
73
|
+
repository,
|
|
74
|
+
};
|
|
75
|
+
licenses.push(licenseInfo);
|
|
76
|
+
// Track packages with missing licenses
|
|
77
|
+
if (!license || license.trim() === '') {
|
|
78
|
+
missingLicenses.push(licenseInfo);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// Sort by package name for consistent output
|
|
82
|
+
licenses.sort((a, b) => a.packageName.localeCompare(b.packageName));
|
|
83
|
+
missingLicenses.sort((a, b) => a.packageName.localeCompare(b.packageName));
|
|
84
|
+
debug('extracted %d licenses (%d missing)', licenses.length, missingLicenses.length);
|
|
85
|
+
return { licenses, missingLicenses };
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Format licenses as JSON
|
|
90
|
+
*/
|
|
91
|
+
function formatLicensesAsJson(licenses) {
|
|
92
|
+
return JSON.stringify(licenses, null, 2);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Format licenses as summary text
|
|
96
|
+
*/
|
|
97
|
+
function formatLicensesAsSummary(licenses) {
|
|
98
|
+
const lines = [];
|
|
99
|
+
lines.push('License Summary');
|
|
100
|
+
lines.push('===============\n');
|
|
101
|
+
// Group by license type
|
|
102
|
+
const byLicense = new Map();
|
|
103
|
+
for (const info of licenses) {
|
|
104
|
+
const licenseKey = info.license || 'Unknown';
|
|
105
|
+
if (!byLicense.has(licenseKey)) {
|
|
106
|
+
byLicense.set(licenseKey, []);
|
|
107
|
+
}
|
|
108
|
+
byLicense.get(licenseKey).push(info);
|
|
109
|
+
}
|
|
110
|
+
// Sort license types
|
|
111
|
+
const sortedLicenses = Array.from(byLicense.keys()).sort();
|
|
112
|
+
for (const license of sortedLicenses) {
|
|
113
|
+
const packages = byLicense.get(license);
|
|
114
|
+
lines.push(`${license} (${packages.length} packages)`);
|
|
115
|
+
lines.push('-'.repeat(50));
|
|
116
|
+
for (const pkg of packages) {
|
|
117
|
+
let line = ` ${pkg.packageName}@${pkg.version}`;
|
|
118
|
+
if (pkg.repository) {
|
|
119
|
+
line += ` - ${pkg.repository}`;
|
|
120
|
+
}
|
|
121
|
+
lines.push(line);
|
|
122
|
+
}
|
|
123
|
+
lines.push('');
|
|
124
|
+
}
|
|
125
|
+
lines.push(`\nTotal packages: ${licenses.length}`);
|
|
126
|
+
return lines.join('\n');
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=get-licenses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-licenses.js","sourceRoot":"","sources":["../../../../../../../packages/unisphere-cli/src/lib/utils/unisphere/get-licenses.ts"],"names":[],"mappings":"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"}
|