@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.
Files changed (39) hide show
  1. package/bundler/package/rollup.js +69 -31
  2. package/bundler/runtime/rollup.js +2 -163
  3. package/bundler/shared.js +174 -0
  4. package/package.json +2 -1
  5. package/src/lib/commands/how-to/command.js +30 -0
  6. package/src/lib/commands/how-to/command.js.map +1 -1
  7. package/src/lib/commands/licenses/command.d.ts +2 -0
  8. package/src/lib/commands/licenses/command.js +274 -0
  9. package/src/lib/commands/licenses/command.js.map +1 -0
  10. package/src/lib/commands/package/build-command.js +31 -0
  11. package/src/lib/commands/package/build-command.js.map +1 -1
  12. package/src/lib/commands/package/licenses/command.d.ts +2 -0
  13. package/src/lib/commands/package/licenses/command.js +12 -0
  14. package/src/lib/commands/package/licenses/command.js.map +1 -0
  15. package/src/lib/commands/package/licenses/extract-command.d.ts +2 -0
  16. package/src/lib/commands/package/licenses/extract-command.js +140 -0
  17. package/src/lib/commands/package/licenses/extract-command.js.map +1 -0
  18. package/src/lib/commands/package/package-commands.js +2 -0
  19. package/src/lib/commands/package/package-commands.js.map +1 -1
  20. package/src/lib/commands/runtime/build-command.js +39 -0
  21. package/src/lib/commands/runtime/build-command.js.map +1 -1
  22. package/src/lib/commands/runtime/command.js +2 -0
  23. package/src/lib/commands/runtime/command.js.map +1 -1
  24. package/src/lib/commands/runtime/licenses/command.d.ts +2 -0
  25. package/src/lib/commands/runtime/licenses/command.js +12 -0
  26. package/src/lib/commands/runtime/licenses/command.js.map +1 -0
  27. package/src/lib/commands/runtime/licenses/extract-command.d.ts +2 -0
  28. package/src/lib/commands/runtime/licenses/extract-command.js +119 -0
  29. package/src/lib/commands/runtime/licenses/extract-command.js.map +1 -0
  30. package/src/lib/utils/unisphere/augment-workspace-config.js +13 -11
  31. package/src/lib/utils/unisphere/augment-workspace-config.js.map +1 -1
  32. package/src/lib/utils/unisphere/get-dependency-graph.d.ts +4 -2
  33. package/src/lib/utils/unisphere/get-dependency-graph.js +85 -69
  34. package/src/lib/utils/unisphere/get-dependency-graph.js.map +1 -1
  35. package/src/lib/utils/unisphere/get-installed-unisphere-packages.js +1 -0
  36. package/src/lib/utils/unisphere/get-installed-unisphere-packages.js.map +1 -1
  37. package/src/lib/utils/unisphere/get-licenses.d.ts +26 -0
  38. package/src/lib/utils/unisphere/get-licenses.js +128 -0
  39. 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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"}