unipm 1.1.37 → 1.1.39
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/bin.mjs +1 -1
- package/lib/common/getPackageManager.d.ts +9 -0
- package/lib/common/getPackageManager.d.ts.map +1 -0
- package/lib/common/getPackageManager.js +106 -0
- package/lib/common/getPackageManager.js.map +1 -0
- package/lib/common/getPackageManagerByName.d.ts +5 -0
- package/lib/common/getPackageManagerByName.d.ts.map +1 -0
- package/lib/common/getPackageManagerByName.js +15 -0
- package/lib/common/getPackageManagerByName.js.map +1 -0
- package/lib/common/packageJson.d.ts +4 -0
- package/lib/common/packageJson.d.ts.map +1 -0
- package/lib/common/packageJson.js +261 -0
- package/lib/common/packageJson.js.map +1 -0
- package/lib/common/packageManager.d.ts +54 -0
- package/lib/common/packageManager.d.ts.map +1 -0
- package/lib/common/packageManager.js +114 -0
- package/lib/common/packageManager.js.map +1 -0
- package/lib/common/pacote.d.ts +2 -0
- package/lib/common/pacote.d.ts.map +1 -0
- package/lib/common/pacote.js +5 -0
- package/lib/common/pacote.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +69 -0
- package/lib/index.js.map +1 -0
- package/lib/local/formatPackageJson.d.ts +2 -0
- package/lib/local/formatPackageJson.d.ts.map +1 -0
- package/lib/local/formatPackageJson.js +26 -0
- package/lib/local/formatPackageJson.js.map +1 -0
- package/lib/package-managers/npm.d.ts +15 -0
- package/lib/package-managers/npm.d.ts.map +1 -0
- package/lib/package-managers/npm.js +17 -0
- package/lib/package-managers/npm.js.map +1 -0
- package/lib/package-managers/pnpm.d.ts +14 -0
- package/lib/package-managers/pnpm.d.ts.map +1 -0
- package/lib/package-managers/pnpm.js +16 -0
- package/lib/package-managers/pnpm.js.map +1 -0
- package/lib/package-managers/rush.d.ts +21 -0
- package/lib/package-managers/rush.d.ts.map +1 -0
- package/lib/package-managers/rush.js +103 -0
- package/lib/package-managers/rush.js.map +1 -0
- package/lib/package-managers/yarn.d.ts +15 -0
- package/lib/package-managers/yarn.d.ts.map +1 -0
- package/lib/package-managers/yarn.js +17 -0
- package/lib/package-managers/yarn.js.map +1 -0
- package/lib/tsbuildinfo.json +1 -0
- package/package.json +5 -12
- package/src/tsconfig.json +1 -2
package/bin.mjs
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PackageManager } from './packageManager.js';
|
|
2
|
+
export interface IGetPackageManagerOptions {
|
|
3
|
+
cwd: string;
|
|
4
|
+
packageJson?: string;
|
|
5
|
+
default: 'npm' | 'yarn' | 'rush' | 'cnpm' | 'auto';
|
|
6
|
+
ask: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function getPackageManager(_options?: Partial<IGetPackageManagerOptions>): Promise<PackageManager>;
|
|
9
|
+
//# sourceMappingURL=getPackageManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPackageManager.d.ts","sourceRoot":"","sources":["../../src/common/getPackageManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,yBAAyB;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACnD,GAAG,EAAE,OAAO,CAAC;CACb;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAuF9G"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { createInterface } from 'node:readline';
|
|
2
|
+
import { getPackageManagerByName, KNOWN_PACKAGE_MANAGER_NAMES, KNOWN_PACKAGE_MANAGERS } from './getPackageManagerByName.js';
|
|
3
|
+
export async function getPackageManager(_options) {
|
|
4
|
+
const options = Object.assign({}, {
|
|
5
|
+
cwd: process.cwd(),
|
|
6
|
+
default: 'auto',
|
|
7
|
+
ask: true,
|
|
8
|
+
}, _options || {});
|
|
9
|
+
if (options.packageJson) {
|
|
10
|
+
try {
|
|
11
|
+
const json = require(options.packageJson);
|
|
12
|
+
if (typeof json.packageManager === 'string') {
|
|
13
|
+
for (const name of KNOWN_PACKAGE_MANAGER_NAMES) {
|
|
14
|
+
if (json.packageManager.toLowerCase().startsWith(name)) {
|
|
15
|
+
const PM = getPackageManagerByName(name);
|
|
16
|
+
return new PM(options.cwd);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
catch { }
|
|
22
|
+
}
|
|
23
|
+
const packageManagers = KNOWN_PACKAGE_MANAGERS.map((Manager) => {
|
|
24
|
+
return new Manager(options.cwd);
|
|
25
|
+
});
|
|
26
|
+
const detected = await new Promise((resolve) => {
|
|
27
|
+
const ps = [];
|
|
28
|
+
for (const pm of packageManagers) {
|
|
29
|
+
const p = pm
|
|
30
|
+
.detect()
|
|
31
|
+
.catch()
|
|
32
|
+
.then((pm) => {
|
|
33
|
+
if (pm)
|
|
34
|
+
resolve(pm);
|
|
35
|
+
});
|
|
36
|
+
ps.push(p);
|
|
37
|
+
}
|
|
38
|
+
Promise.all(ps).finally(() => resolve(undefined));
|
|
39
|
+
});
|
|
40
|
+
if (detected) {
|
|
41
|
+
return detected;
|
|
42
|
+
}
|
|
43
|
+
const installed = (await Promise.all(packageManagers.map((pm) => {
|
|
44
|
+
return pm.exists().then((found) => {
|
|
45
|
+
return found ? pm : undefined;
|
|
46
|
+
});
|
|
47
|
+
}))).filter((e) => !!e);
|
|
48
|
+
if (process.env.PREFER_NODE_PM) {
|
|
49
|
+
const pmi = installed.findIndex((item) => item.friendlyName === process.env.PREFER_NODE_PM);
|
|
50
|
+
if (pmi !== 0) {
|
|
51
|
+
const [pm] = installed.splice(pmi, 1);
|
|
52
|
+
installed.unshift(pm);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (options.ask && process.stdin.isTTY) {
|
|
56
|
+
const selection = await askUserSelect(installed);
|
|
57
|
+
if (selection) {
|
|
58
|
+
return selection;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (options.default === 'auto') {
|
|
62
|
+
if (installed.length) {
|
|
63
|
+
return installed[0];
|
|
64
|
+
}
|
|
65
|
+
return packageManagers[0];
|
|
66
|
+
}
|
|
67
|
+
for (const item of installed) {
|
|
68
|
+
if (item.friendlyName === options.default) {
|
|
69
|
+
return item;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return packageManagers[0];
|
|
73
|
+
}
|
|
74
|
+
async function askUserSelect(installed) {
|
|
75
|
+
if (installed.length === 0) {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
console.error(`Can't detect package manager type, please select one from below:`);
|
|
79
|
+
for (const [index, item] of installed.entries()) {
|
|
80
|
+
console.error(' \x1B[38;5;14m[%s]\x1B[0m: %s', index, item.friendlyName);
|
|
81
|
+
}
|
|
82
|
+
console.error('> ');
|
|
83
|
+
const rl = createInterface({
|
|
84
|
+
input: process.stdin,
|
|
85
|
+
output: process.stdout,
|
|
86
|
+
terminal: true,
|
|
87
|
+
historySize: 0,
|
|
88
|
+
prompt: '> ',
|
|
89
|
+
});
|
|
90
|
+
let selection = -1;
|
|
91
|
+
await new Promise((resolve) => {
|
|
92
|
+
rl.on('line', (line) => {
|
|
93
|
+
selection = Number.parseInt(line);
|
|
94
|
+
if (installed[selection]) {
|
|
95
|
+
resolve(selection);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
console.error(`Unknown selection: "${line}"`);
|
|
99
|
+
console.error('> ');
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
rl.close();
|
|
104
|
+
return installed[selection];
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=getPackageManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPackageManager.js","sourceRoot":"","sources":["../../src/common/getPackageManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { PackageManagerConstructor } from './packageManager.js';
|
|
2
|
+
export declare const KNOWN_PACKAGE_MANAGERS: PackageManagerConstructor[];
|
|
3
|
+
export declare const KNOWN_PACKAGE_MANAGER_NAMES: string[];
|
|
4
|
+
export declare function getPackageManagerByName(name: string): PackageManagerConstructor | undefined;
|
|
5
|
+
//# sourceMappingURL=getPackageManagerByName.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPackageManagerByName.d.ts","sourceRoot":"","sources":["../../src/common/getPackageManagerByName.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAErE,eAAO,MAAM,sBAAsB,EAAE,yBAAyB,EAA4B,CAAC;AAC3F,eAAO,MAAM,2BAA2B,EAAE,MAAM,EAAoC,CAAC;AAErF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAO3F"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Npm } from '../package-managers/npm.js';
|
|
2
|
+
import { Pnpm } from '../package-managers/pnpm.js';
|
|
3
|
+
import { Rush } from '../package-managers/rush.js';
|
|
4
|
+
import { Yarn } from '../package-managers/yarn.js';
|
|
5
|
+
export const KNOWN_PACKAGE_MANAGERS = [Npm, Yarn, Pnpm, Rush];
|
|
6
|
+
export const KNOWN_PACKAGE_MANAGER_NAMES = ['npm', 'yarn', 'pnpm', 'rush'];
|
|
7
|
+
export function getPackageManagerByName(name) {
|
|
8
|
+
for (const ctr of KNOWN_PACKAGE_MANAGERS) {
|
|
9
|
+
if (name.toLowerCase() === ctr.name.toLowerCase()) {
|
|
10
|
+
return ctr;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=getPackageManagerByName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPackageManagerByName.js","sourceRoot":"","sources":["../../src/common/getPackageManagerByName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGnD,MAAM,CAAC,MAAM,sBAAsB,GAAgC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,2BAA2B,GAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErF,MAAM,UAAU,uBAAuB,CAAC,IAAY;IACnD,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnD,OAAO,GAAG,CAAC;QACZ,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function resortPackage(file: string): Promise<void>;
|
|
2
|
+
export declare function deletePackageDependency(file: string, ...deps: string[]): Promise<void>;
|
|
3
|
+
export declare function reformatPackageJson(packageJson: any): typeof packageJson;
|
|
4
|
+
//# sourceMappingURL=packageJson.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageJson.d.ts","sourceRoot":"","sources":["../../src/common/packageJson.ts"],"names":[],"mappings":"AA+KA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,iBAS/C;AAiDD,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,iBAmB5E;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,WAAW,CA4BxE"}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import { arrayDiff, sortByString } from '@idlebox/common';
|
|
2
|
+
import { loadJsonFile, writeJsonFileBack } from '@idlebox/json-edit';
|
|
3
|
+
const dependenciesFields = [
|
|
4
|
+
'dependencies',
|
|
5
|
+
'devDependencies',
|
|
6
|
+
'optionalDependencies',
|
|
7
|
+
'peerDependencies',
|
|
8
|
+
'peerDependenciesMeta',
|
|
9
|
+
'bundleDependencies',
|
|
10
|
+
'bundledDependencies',
|
|
11
|
+
'overrides', // npm
|
|
12
|
+
'resolutions', // yarn v1
|
|
13
|
+
];
|
|
14
|
+
const noDeepFields = ['licenses', 'funding', 'maintainers', 'contributors'];
|
|
15
|
+
const scriptFields = [
|
|
16
|
+
'prepare',
|
|
17
|
+
'pack',
|
|
18
|
+
'publish',
|
|
19
|
+
'publishOnly',
|
|
20
|
+
'version',
|
|
21
|
+
'install',
|
|
22
|
+
'uninstall',
|
|
23
|
+
'start',
|
|
24
|
+
'stop',
|
|
25
|
+
'restart',
|
|
26
|
+
// 'build',
|
|
27
|
+
// 'watch',
|
|
28
|
+
'test',
|
|
29
|
+
'serve',
|
|
30
|
+
'lint',
|
|
31
|
+
];
|
|
32
|
+
const packageJsonSort = [
|
|
33
|
+
// pnpm
|
|
34
|
+
'workspaces',
|
|
35
|
+
// basic
|
|
36
|
+
'name',
|
|
37
|
+
'type',
|
|
38
|
+
'version',
|
|
39
|
+
// npm registry info
|
|
40
|
+
'description',
|
|
41
|
+
'keywords',
|
|
42
|
+
'homepage',
|
|
43
|
+
'bugs',
|
|
44
|
+
'license',
|
|
45
|
+
'licenses',
|
|
46
|
+
'author',
|
|
47
|
+
'maintainers',
|
|
48
|
+
'contributors',
|
|
49
|
+
'funding',
|
|
50
|
+
// environment validation
|
|
51
|
+
'engines',
|
|
52
|
+
'engineStrict',
|
|
53
|
+
'os',
|
|
54
|
+
'cpu',
|
|
55
|
+
// entry points
|
|
56
|
+
'main',
|
|
57
|
+
'module',
|
|
58
|
+
'esnext',
|
|
59
|
+
'es2015',
|
|
60
|
+
'esm',
|
|
61
|
+
'browser',
|
|
62
|
+
'exports',
|
|
63
|
+
'bin',
|
|
64
|
+
'directories',
|
|
65
|
+
// third party tool
|
|
66
|
+
'umd:main',
|
|
67
|
+
'flow:main',
|
|
68
|
+
'jsnext:main',
|
|
69
|
+
'unpkg',
|
|
70
|
+
'bolt',
|
|
71
|
+
'module-browser',
|
|
72
|
+
'browserslist',
|
|
73
|
+
'react-native',
|
|
74
|
+
// entry:typescript
|
|
75
|
+
'typings',
|
|
76
|
+
'types',
|
|
77
|
+
'typesVersions',
|
|
78
|
+
// tree-shaking
|
|
79
|
+
'sideEffects',
|
|
80
|
+
// information
|
|
81
|
+
'man',
|
|
82
|
+
'source',
|
|
83
|
+
// development fields
|
|
84
|
+
'packageManager',
|
|
85
|
+
'scripts',
|
|
86
|
+
'config',
|
|
87
|
+
'publishConfig',
|
|
88
|
+
'private',
|
|
89
|
+
'files',
|
|
90
|
+
'repository',
|
|
91
|
+
'preferGlobal',
|
|
92
|
+
...dependenciesFields,
|
|
93
|
+
// miscs
|
|
94
|
+
'monorepo',
|
|
95
|
+
'flat',
|
|
96
|
+
'dist',
|
|
97
|
+
'readme',
|
|
98
|
+
// wellknown config fields
|
|
99
|
+
'jspm',
|
|
100
|
+
'eslintConfig',
|
|
101
|
+
'prettier',
|
|
102
|
+
'stylelint',
|
|
103
|
+
'ava',
|
|
104
|
+
'release',
|
|
105
|
+
'jscpd',
|
|
106
|
+
// pnpm overrides
|
|
107
|
+
'pnpm',
|
|
108
|
+
];
|
|
109
|
+
function sortSimpleDeep(obj) {
|
|
110
|
+
if (!obj || typeof obj !== 'object')
|
|
111
|
+
return obj;
|
|
112
|
+
if (Array.isArray(obj)) {
|
|
113
|
+
return obj
|
|
114
|
+
.slice()
|
|
115
|
+
.map(sortSimpleDeep)
|
|
116
|
+
.sort((a, b) => {
|
|
117
|
+
if (typeof a === 'object' || typeof b === 'object') {
|
|
118
|
+
return 0;
|
|
119
|
+
}
|
|
120
|
+
if (a === b)
|
|
121
|
+
return 0;
|
|
122
|
+
return a > b ? 1 : -1;
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
const ret = {};
|
|
126
|
+
const sortedKey = Object.keys(obj).sort(sortByString);
|
|
127
|
+
for (const k of sortedKey) {
|
|
128
|
+
ret[k] = typeof obj[k] === 'object' ? sortSimpleDeep(obj[k]) : obj[k];
|
|
129
|
+
}
|
|
130
|
+
return ret;
|
|
131
|
+
}
|
|
132
|
+
function sortNative(obj) {
|
|
133
|
+
if (typeof obj !== 'object')
|
|
134
|
+
return obj;
|
|
135
|
+
if (Array.isArray(obj))
|
|
136
|
+
return obj.sort();
|
|
137
|
+
const ret = {};
|
|
138
|
+
const sortedKey = Object.keys(obj).sort(sortByString);
|
|
139
|
+
for (const k of sortedKey) {
|
|
140
|
+
ret[k] = obj[k];
|
|
141
|
+
}
|
|
142
|
+
return ret;
|
|
143
|
+
}
|
|
144
|
+
function sortRegular(obj, knowns) {
|
|
145
|
+
const keys = new Set(Object.keys(obj));
|
|
146
|
+
const ret = {};
|
|
147
|
+
for (const key of knowns) {
|
|
148
|
+
if (key in obj) {
|
|
149
|
+
ret[key] = obj[key];
|
|
150
|
+
keys.delete(key);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
for (const key of keys.values()) {
|
|
154
|
+
ret[key] = obj[key];
|
|
155
|
+
}
|
|
156
|
+
return ret;
|
|
157
|
+
}
|
|
158
|
+
export async function resortPackage(file) {
|
|
159
|
+
const original = await loadJsonFile(file);
|
|
160
|
+
for (const k of dependenciesFields) {
|
|
161
|
+
if (original[k]) {
|
|
162
|
+
original[k] = sortSimpleDeep(original[k]);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
await writeJsonFileBack(original);
|
|
166
|
+
}
|
|
167
|
+
function sortScripts({ ...scripts }) {
|
|
168
|
+
const ret = {};
|
|
169
|
+
for (const action of scriptFields) {
|
|
170
|
+
for (const field of [`pre${action}`, action, `post${action}`]) {
|
|
171
|
+
if (scripts[field]) {
|
|
172
|
+
ret[field] = scripts[field];
|
|
173
|
+
delete scripts[field];
|
|
174
|
+
for (const k of Object.keys(scripts)) {
|
|
175
|
+
if (k.startsWith(`${field}:`)) {
|
|
176
|
+
ret[k] = scripts[k];
|
|
177
|
+
delete scripts[k];
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
for (const [k, v] of Object.entries(scripts)) {
|
|
184
|
+
ret[k] = v;
|
|
185
|
+
}
|
|
186
|
+
return ret;
|
|
187
|
+
}
|
|
188
|
+
function sortExports(exports) {
|
|
189
|
+
if (!exports || typeof exports !== 'object')
|
|
190
|
+
return exports;
|
|
191
|
+
const isPathMapping = Object.keys(exports)[0]?.startsWith('.');
|
|
192
|
+
if (isPathMapping) {
|
|
193
|
+
const ret = {};
|
|
194
|
+
const sortedKey = Object.keys(exports).sort(sortByString);
|
|
195
|
+
for (const k of sortedKey) {
|
|
196
|
+
ret[k] = sortExports(exports[k]);
|
|
197
|
+
}
|
|
198
|
+
return ret;
|
|
199
|
+
}
|
|
200
|
+
const { default: defaultVal, node, import: importVal, require, types, typings, typescript, ...other } = exports;
|
|
201
|
+
return {
|
|
202
|
+
typescript,
|
|
203
|
+
types,
|
|
204
|
+
typings,
|
|
205
|
+
...other,
|
|
206
|
+
node,
|
|
207
|
+
require,
|
|
208
|
+
import: importVal,
|
|
209
|
+
default: defaultVal,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
export async function deletePackageDependency(file, ...deps) {
|
|
213
|
+
const original = await loadJsonFile(file);
|
|
214
|
+
for (const k of ['devDependencies', 'dependencies']) {
|
|
215
|
+
if (!original[k]) {
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
let found = false;
|
|
219
|
+
for (const name of deps) {
|
|
220
|
+
if (original[k][name]) {
|
|
221
|
+
delete original[k][name];
|
|
222
|
+
found = true;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
if (found) {
|
|
226
|
+
original[k] = sortNative(original[k]);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
await writeJsonFileBack(original);
|
|
230
|
+
}
|
|
231
|
+
export function reformatPackageJson(packageJson) {
|
|
232
|
+
const output = {};
|
|
233
|
+
const existsKeys = Object.keys(packageJson);
|
|
234
|
+
const unknownKeys = arrayDiff(packageJsonSort, existsKeys).add;
|
|
235
|
+
if (process.stderr.isTTY)
|
|
236
|
+
console.error('Unknown keys in package.json: %s ...', unknownKeys.slice(0, 3).join(', '));
|
|
237
|
+
for (const key of packageJsonSort) {
|
|
238
|
+
if (!(key in packageJson))
|
|
239
|
+
continue;
|
|
240
|
+
let value = packageJson[key];
|
|
241
|
+
if (key === 'scripts') {
|
|
242
|
+
value = sortScripts(value);
|
|
243
|
+
}
|
|
244
|
+
else if (key === 'exports') {
|
|
245
|
+
value = sortExports(value);
|
|
246
|
+
}
|
|
247
|
+
else if (key === 'publishConfig') {
|
|
248
|
+
value = reformatPackageJson(value);
|
|
249
|
+
}
|
|
250
|
+
else if (noDeepFields.includes(value)) {
|
|
251
|
+
// no action
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
value = sortSimpleDeep(packageJson[key]);
|
|
255
|
+
}
|
|
256
|
+
output[key] = value;
|
|
257
|
+
}
|
|
258
|
+
packageJson = sortRegular(packageJson, packageJsonSort);
|
|
259
|
+
return packageJson;
|
|
260
|
+
}
|
|
261
|
+
//# sourceMappingURL=packageJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageJson.js","sourceRoot":"","sources":["../../src/common/packageJson.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type Options as ExecaOptions } from 'execa';
|
|
2
|
+
export interface PackageManagerConstructor {
|
|
3
|
+
new (cwd: string): PackageManager;
|
|
4
|
+
}
|
|
5
|
+
export declare enum PackageManagerType {
|
|
6
|
+
NPM = 0,
|
|
7
|
+
PNPM = 1,
|
|
8
|
+
RUSH = 2,
|
|
9
|
+
YARN = 3
|
|
10
|
+
}
|
|
11
|
+
export declare abstract class PackageManager {
|
|
12
|
+
protected readonly cwd: string;
|
|
13
|
+
abstract readonly friendlyName: string;
|
|
14
|
+
abstract readonly type: PackageManagerType;
|
|
15
|
+
protected abstract readonly cliName: string;
|
|
16
|
+
protected abstract readonly packageName: string;
|
|
17
|
+
protected abstract readonly installCommand: string;
|
|
18
|
+
protected abstract readonly installDevFlag: string;
|
|
19
|
+
protected abstract readonly uninstallCommand: string;
|
|
20
|
+
protected readonly runCommand: string;
|
|
21
|
+
protected readonly initCommand: string;
|
|
22
|
+
protected readonly showCommand: string;
|
|
23
|
+
protected abstract readonly syncCommand: string;
|
|
24
|
+
/** if set to true, debug info will print to stderr, default is process.stderr.isTTY */
|
|
25
|
+
displayBeforeCommandRun: boolean;
|
|
26
|
+
/** detect if this package manager is used by current project */
|
|
27
|
+
detect(): Promise<this | undefined>;
|
|
28
|
+
protected abstract _detect(): Promise<boolean>;
|
|
29
|
+
constructor(cwd: string);
|
|
30
|
+
protected _detectFile(file: string): Promise<boolean>;
|
|
31
|
+
/** spawn package manager binary, with inherit stdio */
|
|
32
|
+
invokeCli(cmd: string, ...args: string[]): Promise<void>;
|
|
33
|
+
/** spawn package manager binary, mute output */
|
|
34
|
+
protected _invokeErrorLater(cmd: string, args: string[], spawnOptions?: Omit<ExecaOptions, 'stdio' | 'encoding'>): Promise<void>;
|
|
35
|
+
protected _invoke(cmd: string, args: string[], spawnOptions?: ExecaOptions): Promise<void>;
|
|
36
|
+
private __invoke;
|
|
37
|
+
/** run scripts in package.json, by package manager */
|
|
38
|
+
run(script: string, ...args: string[]): Promise<void>;
|
|
39
|
+
/** install packages
|
|
40
|
+
* * add packages into package.json
|
|
41
|
+
* * if "-D" or "--dev" in `packages`, add them to devDependencies
|
|
42
|
+
**/
|
|
43
|
+
install(...packages: string[]): Promise<void>;
|
|
44
|
+
uninstall(...packages: string[]): Promise<void>;
|
|
45
|
+
/** run package init command, normally this will create a new package.json, and maybe ask some questions */
|
|
46
|
+
init(...args: string[]): Promise<void>;
|
|
47
|
+
/** detect this package manager callable (installed and in PATH) */
|
|
48
|
+
exists(): Promise<string | undefined>;
|
|
49
|
+
/** sync package.json to node_modules, eg: npm i */
|
|
50
|
+
sync(...args: string[]): Promise<void>;
|
|
51
|
+
/** show package info from NPM registry */
|
|
52
|
+
show(...args: string[]): Promise<void>;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=packageManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageManager.d.ts","sourceRoot":"","sources":["../../src/common/packageManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAC;AAG5D,MAAM,WAAW,yBAAyB;IACzC,KAAK,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;CAClC;AAED,oBAAY,kBAAkB;IAC7B,GAAG,IAAI;IACP,IAAI,IAAI;IACR,IAAI,IAAI;IACR,IAAI,IAAI;CACR;AAED,8BAAsB,cAAc;IA+BhB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM;IA9BjD,kBAAyB,YAAY,EAAE,MAAM,CAAC;IAC9C,kBAAyB,IAAI,EAAE,kBAAkB,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACrD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAS;IAC9C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAS;IAC/C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAU;IAChD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAEhD,uFAAuF;IAChF,uBAAuB,UAAwB;IAEtD,gEAAgE;IACzD,MAAM,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAY1C,SAAS,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;gBAER,GAAG,EAAE,MAAM;IAEjD,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;IAOlC,uDAAuD;IAChD,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D,gDAAgD;cAChC,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,GAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,UAAU,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAkB1H,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpG,OAAO,CAAC,QAAQ;IAUhB,sDAAsD;IAC/C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE;IAK5C;;;QAGI;IACG,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE;IAc7B,SAAS,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE;IAItC,2GAA2G;IACpG,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAI7B,mEAAmE;IAC5D,MAAM;IAIb,mDAAmD;IAC5C,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;IAI7B,0CAA0C;IACnC,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE;CAG7B"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { checkChildProcessResult, commandInPath } from '@idlebox/node';
|
|
2
|
+
import { execa } from 'execa';
|
|
3
|
+
import { stat } from 'node:fs';
|
|
4
|
+
export var PackageManagerType;
|
|
5
|
+
(function (PackageManagerType) {
|
|
6
|
+
PackageManagerType[PackageManagerType["NPM"] = 0] = "NPM";
|
|
7
|
+
PackageManagerType[PackageManagerType["PNPM"] = 1] = "PNPM";
|
|
8
|
+
PackageManagerType[PackageManagerType["RUSH"] = 2] = "RUSH";
|
|
9
|
+
PackageManagerType[PackageManagerType["YARN"] = 3] = "YARN";
|
|
10
|
+
})(PackageManagerType || (PackageManagerType = {}));
|
|
11
|
+
export class PackageManager {
|
|
12
|
+
cwd;
|
|
13
|
+
runCommand = 'run';
|
|
14
|
+
initCommand = 'run';
|
|
15
|
+
showCommand = 'show';
|
|
16
|
+
/** if set to true, debug info will print to stderr, default is process.stderr.isTTY */
|
|
17
|
+
displayBeforeCommandRun = process.stderr.isTTY;
|
|
18
|
+
/** detect if this package manager is used by current project */
|
|
19
|
+
detect() {
|
|
20
|
+
return this._detect().then((found) => {
|
|
21
|
+
return found ? this : undefined;
|
|
22
|
+
}, (e) => {
|
|
23
|
+
console.error('Exception of detect() package manager %s\n%s', this.friendlyName, e.stack);
|
|
24
|
+
return undefined;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
constructor(cwd) {
|
|
28
|
+
this.cwd = cwd;
|
|
29
|
+
}
|
|
30
|
+
_detectFile(file) {
|
|
31
|
+
return new Promise((resolve) => {
|
|
32
|
+
const wrappedCallback = (err, data) => (err ? resolve(false) : resolve(!!data));
|
|
33
|
+
stat(file, wrappedCallback);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/** spawn package manager binary, with inherit stdio */
|
|
37
|
+
invokeCli(cmd, ...args) {
|
|
38
|
+
const aa = [cmd, ...args].filter((v) => !!v);
|
|
39
|
+
return this._invoke(this.cliName, aa);
|
|
40
|
+
}
|
|
41
|
+
/** spawn package manager binary, mute output */
|
|
42
|
+
async _invokeErrorLater(cmd, args, spawnOptions = {}) {
|
|
43
|
+
const p = this.__invoke(cmd, args, {
|
|
44
|
+
...spawnOptions,
|
|
45
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
46
|
+
all: true,
|
|
47
|
+
encoding: 'utf8',
|
|
48
|
+
reject: false,
|
|
49
|
+
});
|
|
50
|
+
return p.then((ret) => {
|
|
51
|
+
try {
|
|
52
|
+
checkChildProcessResult(ret);
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
console.error(ret.all);
|
|
56
|
+
throw e;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
async _invoke(cmd, args, spawnOptions = {}) {
|
|
61
|
+
await this.__invoke(cmd, args, spawnOptions);
|
|
62
|
+
}
|
|
63
|
+
__invoke(cmd, args, spawnOptions) {
|
|
64
|
+
this.displayBeforeCommandRun && console.error('\x1B[38;5;14m%s %s\x1B[0m', cmd, args.join(' '));
|
|
65
|
+
return execa(cmd, args, {
|
|
66
|
+
stdio: 'inherit',
|
|
67
|
+
cwd: this.cwd,
|
|
68
|
+
reject: true,
|
|
69
|
+
...spawnOptions,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
/** run scripts in package.json, by package manager */
|
|
73
|
+
run(script, ...args) {
|
|
74
|
+
// TODO: run node_modules/.bin
|
|
75
|
+
return this.invokeCli(this.runCommand, script, ...args);
|
|
76
|
+
}
|
|
77
|
+
/** install packages
|
|
78
|
+
* * add packages into package.json
|
|
79
|
+
* * if "-D" or "--dev" in `packages`, add them to devDependencies
|
|
80
|
+
**/
|
|
81
|
+
install(...packages) {
|
|
82
|
+
const i1 = packages.indexOf('-D');
|
|
83
|
+
if (i1 !== -1) {
|
|
84
|
+
packages.splice(i1, 1);
|
|
85
|
+
packages.unshift(this.installDevFlag);
|
|
86
|
+
}
|
|
87
|
+
const i2 = packages.indexOf('--dev');
|
|
88
|
+
if (i2 !== -1) {
|
|
89
|
+
packages.splice(i2, 1);
|
|
90
|
+
packages.unshift(this.installDevFlag);
|
|
91
|
+
}
|
|
92
|
+
return this.invokeCli(this.installCommand, ...packages);
|
|
93
|
+
}
|
|
94
|
+
uninstall(...packages) {
|
|
95
|
+
return this.invokeCli(this.uninstallCommand, ...packages);
|
|
96
|
+
}
|
|
97
|
+
/** run package init command, normally this will create a new package.json, and maybe ask some questions */
|
|
98
|
+
init(...args) {
|
|
99
|
+
return this.invokeCli(this.initCommand, ...args);
|
|
100
|
+
}
|
|
101
|
+
/** detect this package manager callable (installed and in PATH) */
|
|
102
|
+
exists() {
|
|
103
|
+
return commandInPath(this.cliName);
|
|
104
|
+
}
|
|
105
|
+
/** sync package.json to node_modules, eg: npm i */
|
|
106
|
+
sync(...args) {
|
|
107
|
+
return this.invokeCli(this.syncCommand, ...args);
|
|
108
|
+
}
|
|
109
|
+
/** show package info from NPM registry */
|
|
110
|
+
show(...args) {
|
|
111
|
+
return this.invokeCli(this.showCommand, ...args);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=packageManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageManager.js","sourceRoot":"","sources":["../../src/common/packageManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,KAAK,EAAgC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAc,MAAM,SAAS,CAAC;AAM3C,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC7B,yDAAO,CAAA;IACP,2DAAQ,CAAA;IACR,2DAAQ,CAAA;IACR,2DAAQ,CAAA;AACT,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAED,MAAM,OAAgB,cAAc;IA+BG;IAvBnB,UAAU,GAAW,KAAK,CAAC;IAC3B,WAAW,GAAW,KAAK,CAAC;IAC5B,WAAW,GAAW,MAAM,CAAC;IAGhD,uFAAuF;IAChF,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAEtD,gEAAgE;IACzD,MAAM;QACZ,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CACzB,CAAC,KAAK,EAAE,EAAE;YACT,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACjC,CAAC,EACD,CAAC,CAAC,EAAE,EAAE;YACL,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1F,OAAO,SAAS,CAAC;QAClB,CAAC,CACD,CAAC;IACH,CAAC;IAID,YAAsC,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAE3C,WAAW,CAAC,IAAY;QACjC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACvC,MAAM,eAAe,GAAG,CAAC,GAAiB,EAAE,IAAW,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACrG,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,uDAAuD;IAChD,SAAS,CAAC,GAAW,EAAE,GAAG,IAAc;QAC9C,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,gDAAgD;IACtC,KAAK,CAAC,iBAAiB,CAAC,GAAW,EAAE,IAAc,EAAE,eAAyD,EAAE;QACzH,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE;YAClC,GAAG,YAAY;YACf,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,KAAK;SACb,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACrB,IAAI,CAAC;gBACJ,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,CAAC,CAAC;YACT,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,IAAc,EAAE,eAA6B,EAAE;QACnF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9C,CAAC;IAEO,QAAQ,CAAC,GAAW,EAAE,IAAc,EAAE,YAA0B;QACvE,IAAI,CAAC,uBAAuB,IAAI,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAChG,OAAO,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;YACvB,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI;YACZ,GAAG,YAAY;SACf,CAAC,CAAC;IACJ,CAAC;IAED,sDAAsD;IAC/C,GAAG,CAAC,MAAc,EAAE,GAAG,IAAc;QAC3C,8BAA8B;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;;QAGI;IACG,OAAO,CAAC,GAAG,QAAkB;QACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,QAAQ,CAAC,CAAC;IACzD,CAAC;IAEM,SAAS,CAAC,GAAG,QAAkB;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,2GAA2G;IACpG,IAAI,CAAC,GAAG,IAAc;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,mEAAmE;IAC5D,MAAM;QACZ,OAAO,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,mDAAmD;IAC5C,IAAI,CAAC,GAAG,IAAc;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,0CAA0C;IACnC,IAAI,CAAC,GAAG,IAAc;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pacote.d.ts","sourceRoot":"","sources":["../../src/common/pacote.ts"],"names":[],"mappings":"AAEA,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,mBAElE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pacote.js","sourceRoot":"","sources":["../../src/common/pacote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,WAAmB;IAClE,OAAO,IAAI,CAAC,MAAM,QAAQ,CAAC,GAAG,WAAW,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAChE,CAAC"}
|
package/lib/index.d.ts
ADDED