@pnpm/worker 1000.6.6 → 1100.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/lib/equalOrSemverEqual.d.ts +1 -0
- package/lib/equalOrSemverEqual.js +12 -0
- package/lib/index.d.ts +27 -11
- package/lib/index.js +56 -55
- package/lib/start.js +195 -167
- package/lib/types.d.ts +6 -2
- package/lib/types.js +1 -2
- package/lib/worker.js +2 -4
- package/package.json +25 -22
- package/lib/index.js.map +0 -1
- package/lib/start.js.map +0 -1
- package/lib/types.js.map +0 -1
- package/lib/worker.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function equalOrSemverEqual(version1: string, version2: string): boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import semver from 'semver';
|
|
2
|
+
export function equalOrSemverEqual(version1, version2) {
|
|
3
|
+
if (version1 === version2)
|
|
4
|
+
return true;
|
|
5
|
+
try {
|
|
6
|
+
return semver.eq(version1, version2, { loose: true });
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=equalOrSemverEqual.js.map
|
package/lib/index.d.ts
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { PnpmError } from '@pnpm/error';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
2
|
+
import type { FilesMap, PackageFilesResponse } from '@pnpm/store.cafs-types';
|
|
3
|
+
import type { StoreIndex } from '@pnpm/store.index';
|
|
4
|
+
import type { BundledManifest } from '@pnpm/types';
|
|
5
|
+
import type { AddDirToStoreMessage, LinkPkgMessage, SymlinkAllModulesMessage, TarballExtractMessage } from './types.js';
|
|
5
6
|
export declare function restartWorkerPool(): Promise<void>;
|
|
6
7
|
export declare function finishWorkers(): Promise<void>;
|
|
7
8
|
export declare function calcMaxWorkers(): number;
|
|
8
9
|
interface AddFilesResult {
|
|
9
|
-
|
|
10
|
-
manifest
|
|
10
|
+
filesMap: FilesMap;
|
|
11
|
+
manifest?: BundledManifest;
|
|
11
12
|
requiresBuild: boolean;
|
|
12
13
|
integrity?: string;
|
|
13
14
|
}
|
|
14
|
-
type AddFilesFromDirOptions = Pick<AddDirToStoreMessage, 'storeDir' | 'dir' | 'filesIndexFile' | 'sideEffectsCacheKey' | 'readManifest' | 'pkg' | 'files' | 'appendManifest'
|
|
15
|
+
type AddFilesFromDirOptions = Pick<AddDirToStoreMessage, 'storeDir' | 'dir' | 'filesIndexFile' | 'sideEffectsCacheKey' | 'readManifest' | 'pkg' | 'files' | 'appendManifest' | 'includeNodeModules'> & {
|
|
16
|
+
storeIndex: StoreIndex;
|
|
17
|
+
};
|
|
15
18
|
export declare function addFilesFromDir(opts: AddFilesFromDirOptions): Promise<AddFilesResult>;
|
|
16
19
|
export declare class TarballIntegrityError extends PnpmError {
|
|
17
20
|
readonly found: string;
|
|
@@ -29,15 +32,28 @@ export declare class TarballIntegrityError extends PnpmError {
|
|
|
29
32
|
});
|
|
30
33
|
}
|
|
31
34
|
type AddFilesFromTarballOptions = Pick<TarballExtractMessage, 'buffer' | 'storeDir' | 'filesIndexFile' | 'integrity' | 'readManifest' | 'pkg' | 'appendManifest'> & {
|
|
35
|
+
storeIndex: StoreIndex;
|
|
32
36
|
url: string;
|
|
33
37
|
};
|
|
34
38
|
export declare function addFilesFromTarball(opts: AddFilesFromTarballOptions): Promise<AddFilesResult>;
|
|
35
|
-
export
|
|
39
|
+
export interface ReadPkgFromCafsContext {
|
|
40
|
+
storeDir: string;
|
|
41
|
+
verifyStoreIntegrity: boolean;
|
|
42
|
+
strictStorePkgContentCheck?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface ReadPkgFromCafsOptions {
|
|
45
|
+
readManifest?: boolean;
|
|
46
|
+
expectedPkg?: {
|
|
47
|
+
name?: string;
|
|
48
|
+
version?: string;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export interface ReadPkgFromCafsResult {
|
|
36
52
|
verified: boolean;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
53
|
+
files: PackageFilesResponse;
|
|
54
|
+
bundledManifest?: BundledManifest;
|
|
55
|
+
}
|
|
56
|
+
export declare function readPkgFromCafs(ctx: ReadPkgFromCafsContext, filesIndexFile: string, opts?: ReadPkgFromCafsOptions): Promise<ReadPkgFromCafsResult>;
|
|
41
57
|
export declare function importPackage(opts: Omit<LinkPkgMessage, 'type'>): Promise<{
|
|
42
58
|
isBuilt: boolean;
|
|
43
59
|
importMethod: string | undefined;
|
package/lib/index.js
CHANGED
|
@@ -1,42 +1,31 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TarballIntegrityError = void 0;
|
|
7
|
-
exports.restartWorkerPool = restartWorkerPool;
|
|
8
|
-
exports.finishWorkers = finishWorkers;
|
|
9
|
-
exports.calcMaxWorkers = calcMaxWorkers;
|
|
10
|
-
exports.addFilesFromDir = addFilesFromDir;
|
|
11
|
-
exports.addFilesFromTarball = addFilesFromTarball;
|
|
12
|
-
exports.readPkgFromCafs = readPkgFromCafs;
|
|
13
|
-
exports.importPackage = importPackage;
|
|
14
|
-
exports.symlinkAllModules = symlinkAllModules;
|
|
15
|
-
exports.hardLinkDir = hardLinkDir;
|
|
16
|
-
exports.initStoreDir = initStoreDir;
|
|
17
1
|
// cspell:ignore checkin
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
2
|
+
import { execSync } from 'node:child_process';
|
|
3
|
+
import os from 'node:os';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { PnpmError } from '@pnpm/error';
|
|
6
|
+
import { globalWarn } from '@pnpm/logger';
|
|
7
|
+
import { WorkerPool } from '@rushstack/worker-pool';
|
|
8
|
+
import isWindows from 'is-windows';
|
|
9
|
+
import pLimit from 'p-limit';
|
|
25
10
|
let workerPool;
|
|
26
|
-
async function restartWorkerPool() {
|
|
11
|
+
export async function restartWorkerPool() {
|
|
27
12
|
await finishWorkers();
|
|
28
13
|
workerPool = createTarballWorkerPool();
|
|
29
14
|
}
|
|
30
|
-
async function finishWorkers() {
|
|
15
|
+
export async function finishWorkers() {
|
|
31
16
|
// @ts-expect-error
|
|
32
|
-
|
|
17
|
+
const finish = global.finishWorkers;
|
|
18
|
+
// @ts-expect-error
|
|
19
|
+
global.finishWorkers = undefined;
|
|
20
|
+
await finish?.();
|
|
21
|
+
workerPool = undefined;
|
|
33
22
|
}
|
|
34
23
|
function createTarballWorkerPool() {
|
|
35
24
|
const maxWorkers = calcMaxWorkers();
|
|
36
|
-
const workerPool = new
|
|
25
|
+
const workerPool = new WorkerPool({
|
|
37
26
|
id: 'pnpm',
|
|
38
27
|
maxWorkers,
|
|
39
|
-
workerScriptPath:
|
|
28
|
+
workerScriptPath: path.join(import.meta.dirname, 'worker.js'),
|
|
40
29
|
});
|
|
41
30
|
// @ts-expect-error
|
|
42
31
|
if (global.finishWorkers) {
|
|
@@ -54,7 +43,7 @@ function createTarballWorkerPool() {
|
|
|
54
43
|
}
|
|
55
44
|
return workerPool;
|
|
56
45
|
}
|
|
57
|
-
function calcMaxWorkers() {
|
|
46
|
+
export function calcMaxWorkers() {
|
|
58
47
|
if (process.env.PNPM_MAX_WORKERS) {
|
|
59
48
|
return parseInt(process.env.PNPM_MAX_WORKERS);
|
|
60
49
|
}
|
|
@@ -65,20 +54,25 @@ function calcMaxWorkers() {
|
|
|
65
54
|
return Math.max(1, availableParallelism() - 1);
|
|
66
55
|
}
|
|
67
56
|
function availableParallelism() {
|
|
68
|
-
return
|
|
57
|
+
return os.availableParallelism?.() ?? os.cpus().length;
|
|
69
58
|
}
|
|
70
|
-
async function addFilesFromDir(opts) {
|
|
59
|
+
export async function addFilesFromDir(opts) {
|
|
71
60
|
if (!workerPool) {
|
|
72
61
|
workerPool = createTarballWorkerPool();
|
|
73
62
|
}
|
|
74
63
|
const localWorker = await workerPool.checkoutWorkerAsync(true);
|
|
75
64
|
return new Promise((resolve, reject) => {
|
|
76
|
-
localWorker.once('message', ({ status, error, value }) => {
|
|
65
|
+
localWorker.once('message', ({ status, error, value, indexWrites }) => {
|
|
77
66
|
workerPool.checkinWorker(localWorker);
|
|
78
67
|
if (status === 'error') {
|
|
79
|
-
reject(new
|
|
68
|
+
reject(new PnpmError(error.code ?? 'GIT_FETCH_FAILED', error.message));
|
|
80
69
|
return;
|
|
81
70
|
}
|
|
71
|
+
if (indexWrites) {
|
|
72
|
+
// Write immediately so that subsequent worker reads (e.g. side effects)
|
|
73
|
+
// see the committed data without waiting for nextTick.
|
|
74
|
+
opts.storeIndex.setRawMany(indexWrites);
|
|
75
|
+
}
|
|
82
76
|
resolve(value);
|
|
83
77
|
});
|
|
84
78
|
localWorker.postMessage({
|
|
@@ -91,10 +85,11 @@ async function addFilesFromDir(opts) {
|
|
|
91
85
|
pkg: opts.pkg,
|
|
92
86
|
appendManifest: opts.appendManifest,
|
|
93
87
|
files: opts.files,
|
|
88
|
+
includeNodeModules: opts.includeNodeModules,
|
|
94
89
|
});
|
|
95
90
|
});
|
|
96
91
|
}
|
|
97
|
-
class TarballIntegrityError extends
|
|
92
|
+
export class TarballIntegrityError extends PnpmError {
|
|
98
93
|
found;
|
|
99
94
|
expected;
|
|
100
95
|
algorithm;
|
|
@@ -116,14 +111,13 @@ If you think that this is the case, then run "pnpm store prune" and rerun the co
|
|
|
116
111
|
this.url = opts.url;
|
|
117
112
|
}
|
|
118
113
|
}
|
|
119
|
-
|
|
120
|
-
async function addFilesFromTarball(opts) {
|
|
114
|
+
export async function addFilesFromTarball(opts) {
|
|
121
115
|
if (!workerPool) {
|
|
122
116
|
workerPool = createTarballWorkerPool();
|
|
123
117
|
}
|
|
124
118
|
const localWorker = await workerPool.checkoutWorkerAsync(true);
|
|
125
119
|
return new Promise((resolve, reject) => {
|
|
126
|
-
localWorker.once('message', ({ status, error, value }) => {
|
|
120
|
+
localWorker.once('message', ({ status, error, value, indexWrites }) => {
|
|
127
121
|
workerPool.checkinWorker(localWorker);
|
|
128
122
|
if (status === 'error') {
|
|
129
123
|
if (error.type === 'integrity_validation_failed') {
|
|
@@ -133,9 +127,12 @@ async function addFilesFromTarball(opts) {
|
|
|
133
127
|
}));
|
|
134
128
|
return;
|
|
135
129
|
}
|
|
136
|
-
reject(new
|
|
130
|
+
reject(new PnpmError(error.code ?? 'TARBALL_EXTRACT', `Failed to add tarball from "${opts.url}" to store: ${error.message}`));
|
|
137
131
|
return;
|
|
138
132
|
}
|
|
133
|
+
if (indexWrites) {
|
|
134
|
+
opts.storeIndex.queueWrites(indexWrites);
|
|
135
|
+
}
|
|
139
136
|
resolve(value);
|
|
140
137
|
});
|
|
141
138
|
localWorker.postMessage({
|
|
@@ -150,26 +147,30 @@ async function addFilesFromTarball(opts) {
|
|
|
150
147
|
});
|
|
151
148
|
});
|
|
152
149
|
}
|
|
153
|
-
async function readPkgFromCafs(
|
|
150
|
+
export async function readPkgFromCafs(ctx, filesIndexFile, opts) {
|
|
154
151
|
if (!workerPool) {
|
|
155
152
|
workerPool = createTarballWorkerPool();
|
|
156
153
|
}
|
|
157
154
|
const localWorker = await workerPool.checkoutWorkerAsync(true);
|
|
158
155
|
return new Promise((resolve, reject) => {
|
|
159
|
-
localWorker.once('message', ({ status, error, value }) => {
|
|
156
|
+
localWorker.once('message', ({ status, error, value, warnings }) => {
|
|
160
157
|
workerPool.checkinWorker(localWorker);
|
|
161
158
|
if (status === 'error') {
|
|
162
|
-
reject(new
|
|
159
|
+
reject(new PnpmError(error.code ?? 'READ_FROM_STORE', error.message, { hint: error.hint }));
|
|
163
160
|
return;
|
|
164
161
|
}
|
|
162
|
+
if (warnings) {
|
|
163
|
+
for (const warning of warnings) {
|
|
164
|
+
globalWarn(warning);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
165
167
|
resolve(value);
|
|
166
168
|
});
|
|
167
169
|
localWorker.postMessage({
|
|
168
170
|
type: 'readPkgFromCafs',
|
|
169
|
-
storeDir,
|
|
170
171
|
filesIndexFile,
|
|
171
|
-
|
|
172
|
-
|
|
172
|
+
...ctx,
|
|
173
|
+
...opts,
|
|
173
174
|
});
|
|
174
175
|
});
|
|
175
176
|
}
|
|
@@ -177,8 +178,8 @@ async function readPkgFromCafs(storeDir, verifyStoreIntegrity, filesIndexFile, r
|
|
|
177
178
|
// so, running them in parallel helps only to a point.
|
|
178
179
|
// With local experimenting it was discovered that running 4 workers gives the best results.
|
|
179
180
|
// Adding more workers actually makes installation slower.
|
|
180
|
-
const limitImportingPackage = (
|
|
181
|
-
async function importPackage(opts) {
|
|
181
|
+
const limitImportingPackage = pLimit(4);
|
|
182
|
+
export async function importPackage(opts) {
|
|
182
183
|
return limitImportingPackage(async () => {
|
|
183
184
|
if (!workerPool) {
|
|
184
185
|
workerPool = createTarballWorkerPool();
|
|
@@ -188,7 +189,7 @@ async function importPackage(opts) {
|
|
|
188
189
|
localWorker.once('message', ({ status, error, value }) => {
|
|
189
190
|
workerPool.checkinWorker(localWorker);
|
|
190
191
|
if (status === 'error') {
|
|
191
|
-
reject(new
|
|
192
|
+
reject(new PnpmError(error.code ?? 'LINKING_FAILED', `[importPackage ${opts.targetDir}] ${error.message}`));
|
|
192
193
|
return;
|
|
193
194
|
}
|
|
194
195
|
resolve(value);
|
|
@@ -200,7 +201,7 @@ async function importPackage(opts) {
|
|
|
200
201
|
});
|
|
201
202
|
});
|
|
202
203
|
}
|
|
203
|
-
async function symlinkAllModules(opts) {
|
|
204
|
+
export async function symlinkAllModules(opts) {
|
|
204
205
|
if (!workerPool) {
|
|
205
206
|
workerPool = createTarballWorkerPool();
|
|
206
207
|
}
|
|
@@ -210,7 +211,7 @@ async function symlinkAllModules(opts) {
|
|
|
210
211
|
workerPool.checkinWorker(localWorker);
|
|
211
212
|
if (status === 'error') {
|
|
212
213
|
const hint = opts.deps?.[0]?.modules != null ? createErrorHint(error, opts.deps[0].modules) : undefined;
|
|
213
|
-
reject(new
|
|
214
|
+
reject(new PnpmError(error.code ?? 'SYMLINK_FAILED', `[symlinkAllModules] ${error.message}`, { hint }));
|
|
214
215
|
return;
|
|
215
216
|
}
|
|
216
217
|
resolve(value);
|
|
@@ -222,7 +223,7 @@ async function symlinkAllModules(opts) {
|
|
|
222
223
|
});
|
|
223
224
|
}
|
|
224
225
|
function createErrorHint(err, checkedDir) {
|
|
225
|
-
if ('code' in err && err.code === 'EISDIR' && (
|
|
226
|
+
if ('code' in err && err.code === 'EISDIR' && isWindows()) {
|
|
226
227
|
const checkedDrive = `${checkedDir.split(':')[0]}:`;
|
|
227
228
|
if (isDriveExFat(checkedDrive)) {
|
|
228
229
|
return `The "${checkedDrive}" drive is exFAT, which does not support symlinks. This will cause installation to fail. You can set the node-linker to "hoisted" to avoid this issue.`;
|
|
@@ -237,7 +238,7 @@ function isDriveExFat(drive) {
|
|
|
237
238
|
}
|
|
238
239
|
try {
|
|
239
240
|
// cspell:disable-next-line
|
|
240
|
-
const output =
|
|
241
|
+
const output = execSync(`powershell -Command "Get-Volume -DriveLetter ${drive.replace(':', '')} | Select-Object -ExpandProperty FileSystem"`).toString();
|
|
241
242
|
const lines = output.trim().split('\n');
|
|
242
243
|
const name = lines[0].trim();
|
|
243
244
|
return name === 'exFAT';
|
|
@@ -246,7 +247,7 @@ function isDriveExFat(drive) {
|
|
|
246
247
|
return false;
|
|
247
248
|
}
|
|
248
249
|
}
|
|
249
|
-
async function hardLinkDir(src, destDirs) {
|
|
250
|
+
export async function hardLinkDir(src, destDirs) {
|
|
250
251
|
if (!workerPool) {
|
|
251
252
|
workerPool = createTarballWorkerPool();
|
|
252
253
|
}
|
|
@@ -255,7 +256,7 @@ async function hardLinkDir(src, destDirs) {
|
|
|
255
256
|
localWorker.once('message', ({ status, error }) => {
|
|
256
257
|
workerPool.checkinWorker(localWorker);
|
|
257
258
|
if (status === 'error') {
|
|
258
|
-
reject(new
|
|
259
|
+
reject(new PnpmError(error.code ?? 'HARDLINK_FAILED', error.message));
|
|
259
260
|
return;
|
|
260
261
|
}
|
|
261
262
|
resolve();
|
|
@@ -267,7 +268,7 @@ async function hardLinkDir(src, destDirs) {
|
|
|
267
268
|
});
|
|
268
269
|
});
|
|
269
270
|
}
|
|
270
|
-
async function initStoreDir(storeDir) {
|
|
271
|
+
export async function initStoreDir(storeDir) {
|
|
271
272
|
if (!workerPool) {
|
|
272
273
|
workerPool = createTarballWorkerPool();
|
|
273
274
|
}
|
|
@@ -276,7 +277,7 @@ async function initStoreDir(storeDir) {
|
|
|
276
277
|
localWorker.once('message', ({ status, error }) => {
|
|
277
278
|
workerPool.checkinWorker(localWorker);
|
|
278
279
|
if (status === 'error') {
|
|
279
|
-
reject(new
|
|
280
|
+
reject(new PnpmError(error.code ?? 'INIT_CAFS_FAILED', error.message));
|
|
280
281
|
return;
|
|
281
282
|
}
|
|
282
283
|
resolve();
|
package/lib/start.js
CHANGED
|
@@ -1,87 +1,67 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.startWorker = startWorker;
|
|
30
|
-
const path_1 = __importDefault(require("path"));
|
|
31
|
-
const fs_1 = __importDefault(require("fs"));
|
|
32
|
-
const graceful_fs_1 = __importDefault(require("@pnpm/graceful-fs"));
|
|
33
|
-
const create_cafs_store_1 = require("@pnpm/create-cafs-store");
|
|
34
|
-
const crypto = __importStar(require("@pnpm/crypto.polyfill"));
|
|
35
|
-
const exec_pkg_requires_build_1 = require("@pnpm/exec.pkg-requires-build");
|
|
36
|
-
const fs_hard_link_dir_1 = require("@pnpm/fs.hard-link-dir");
|
|
37
|
-
const store_cafs_1 = require("@pnpm/store.cafs");
|
|
38
|
-
const symlink_dependency_1 = require("@pnpm/symlink-dependency");
|
|
39
|
-
const load_json_file_1 = require("load-json-file");
|
|
40
|
-
const worker_threads_1 = require("worker_threads");
|
|
41
|
-
const INTEGRITY_REGEX = /^([^-]+)-([a-z0-9+/=]+)$/i;
|
|
42
|
-
function startWorker() {
|
|
1
|
+
import crypto from 'node:crypto';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { parentPort } from 'node:worker_threads';
|
|
5
|
+
import { pkgRequiresBuild } from '@pnpm/building.pkg-requires-build';
|
|
6
|
+
import { formatIntegrity, parseIntegrity } from '@pnpm/crypto.integrity';
|
|
7
|
+
import { PnpmError } from '@pnpm/error';
|
|
8
|
+
import { hardLinkDir } from '@pnpm/fs.hard-link-dir';
|
|
9
|
+
import { symlinkDependencySync } from '@pnpm/fs.symlink-dependency';
|
|
10
|
+
import { buildFileMapsFromIndex, checkPkgFilesIntegrity, createCafs, HASH_ALGORITHM, normalizeBundledManifest, } from '@pnpm/store.cafs';
|
|
11
|
+
import { createCafsStore } from '@pnpm/store.create-cafs-store';
|
|
12
|
+
import { packForStorage, StoreIndex } from '@pnpm/store.index';
|
|
13
|
+
import { equalOrSemverEqual } from './equalOrSemverEqual.js';
|
|
14
|
+
export function startWorker() {
|
|
43
15
|
process.on('uncaughtException', (err) => {
|
|
44
16
|
console.error(err);
|
|
45
17
|
});
|
|
46
|
-
|
|
18
|
+
parentPort.on('message', handleMessage);
|
|
47
19
|
}
|
|
48
20
|
const cafsCache = new Map();
|
|
49
21
|
const cafsStoreCache = new Map();
|
|
50
22
|
const cafsLocker = new Map();
|
|
23
|
+
const storeIndexCache = new Map();
|
|
24
|
+
function getStoreIndex(storeDir) {
|
|
25
|
+
if (!storeIndexCache.has(storeDir)) {
|
|
26
|
+
storeIndexCache.set(storeDir, new StoreIndex(storeDir));
|
|
27
|
+
}
|
|
28
|
+
return storeIndexCache.get(storeDir);
|
|
29
|
+
}
|
|
51
30
|
async function handleMessage(message) {
|
|
52
31
|
if (message === false) {
|
|
53
|
-
|
|
32
|
+
parentPort.off('message', handleMessage);
|
|
33
|
+
// Explicitly close cached SQLite connections before exiting.
|
|
34
|
+
// process.exit() in a worker thread may not run C++ destructors,
|
|
35
|
+
// which would leave file descriptors and mmap regions open.
|
|
36
|
+
for (const idx of storeIndexCache.values()) {
|
|
37
|
+
idx.close();
|
|
38
|
+
}
|
|
39
|
+
storeIndexCache.clear();
|
|
54
40
|
process.exit(0);
|
|
55
41
|
}
|
|
56
42
|
try {
|
|
57
43
|
switch (message.type) {
|
|
58
44
|
case 'extract': {
|
|
59
|
-
|
|
45
|
+
parentPort.postMessage(addTarballToStore(message));
|
|
60
46
|
break;
|
|
61
47
|
}
|
|
62
48
|
case 'link': {
|
|
63
|
-
|
|
49
|
+
parentPort.postMessage(importPackage(message));
|
|
64
50
|
break;
|
|
65
51
|
}
|
|
66
52
|
case 'add-dir': {
|
|
67
|
-
|
|
53
|
+
parentPort.postMessage(addFilesFromDir(message));
|
|
68
54
|
break;
|
|
69
55
|
}
|
|
70
56
|
case 'init-store': {
|
|
71
|
-
|
|
57
|
+
parentPort.postMessage(initStore(message));
|
|
72
58
|
break;
|
|
73
59
|
}
|
|
74
60
|
case 'readPkgFromCafs': {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
try {
|
|
78
|
-
pkgFilesIndex = (0, load_json_file_1.sync)(filesIndexFile);
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
// ignoring. It is fine if the integrity file is not present. Just refetch the package
|
|
82
|
-
}
|
|
61
|
+
const { storeDir, filesIndexFile, verifyStoreIntegrity, expectedPkg, strictStorePkgContentCheck } = message;
|
|
62
|
+
const pkgFilesIndex = getStoreIndex(storeDir).get(filesIndexFile);
|
|
83
63
|
if (!pkgFilesIndex) {
|
|
84
|
-
|
|
64
|
+
parentPort.postMessage({
|
|
85
65
|
status: 'success',
|
|
86
66
|
value: {
|
|
87
67
|
verified: false,
|
|
@@ -90,72 +70,91 @@ async function handleMessage(message) {
|
|
|
90
70
|
});
|
|
91
71
|
return;
|
|
92
72
|
}
|
|
93
|
-
|
|
94
|
-
if (
|
|
95
|
-
|
|
73
|
+
const warnings = [];
|
|
74
|
+
if (expectedPkg) {
|
|
75
|
+
if ((pkgFilesIndex.manifest?.name != null &&
|
|
76
|
+
expectedPkg.name != null &&
|
|
77
|
+
pkgFilesIndex.manifest.name.toLowerCase() !== expectedPkg.name.toLowerCase()) ||
|
|
78
|
+
(pkgFilesIndex.manifest?.version != null &&
|
|
79
|
+
expectedPkg.version != null &&
|
|
80
|
+
!equalOrSemverEqual(pkgFilesIndex.manifest.version, expectedPkg.version))) {
|
|
81
|
+
const msg = 'Package name or version mismatch found while reading from the store.';
|
|
82
|
+
const hint = `This means that either the lockfile is broken or the package metadata (name and version) inside the package's package.json file doesn't match the metadata in the registry. Expected package: ${expectedPkg.name}@${expectedPkg.version}. Actual package in the store: ${pkgFilesIndex.manifest?.name}@${pkgFilesIndex.manifest?.version}.`;
|
|
83
|
+
if (strictStorePkgContentCheck ?? true) {
|
|
84
|
+
throw new PnpmError('UNEXPECTED_PKG_CONTENT_IN_STORE', msg, {
|
|
85
|
+
hint: `${hint}\n\nIf you want to ignore this issue, set strictStorePkgContentCheck to false in your configuration`,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
warnings.push(`${msg} ${hint}`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
96
92
|
}
|
|
93
|
+
let verifyResult;
|
|
97
94
|
if (verifyStoreIntegrity) {
|
|
98
|
-
verifyResult =
|
|
95
|
+
verifyResult = checkPkgFilesIntegrity(storeDir, pkgFilesIndex);
|
|
99
96
|
}
|
|
100
97
|
else {
|
|
101
|
-
verifyResult =
|
|
102
|
-
passed: true,
|
|
103
|
-
manifest: readManifest ? (0, store_cafs_1.readManifestFromStore)(storeDir, pkgFilesIndex) : undefined,
|
|
104
|
-
};
|
|
98
|
+
verifyResult = buildFileMapsFromIndex(storeDir, pkgFilesIndex);
|
|
105
99
|
}
|
|
106
|
-
const
|
|
107
|
-
|
|
100
|
+
const bundledManifest = pkgFilesIndex.manifest;
|
|
101
|
+
const requiresBuild = pkgFilesIndex.requiresBuild ?? pkgRequiresBuild(bundledManifest, verifyResult.filesMap);
|
|
102
|
+
parentPort.postMessage({
|
|
108
103
|
status: 'success',
|
|
104
|
+
warnings,
|
|
109
105
|
value: {
|
|
110
106
|
verified: verifyResult.passed,
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
107
|
+
bundledManifest,
|
|
108
|
+
files: {
|
|
109
|
+
filesMap: verifyResult.filesMap,
|
|
110
|
+
sideEffectsMaps: verifyResult.sideEffectsMaps,
|
|
111
|
+
resolvedFrom: 'store',
|
|
112
|
+
requiresBuild,
|
|
113
|
+
},
|
|
114
114
|
},
|
|
115
115
|
});
|
|
116
116
|
break;
|
|
117
117
|
}
|
|
118
118
|
case 'symlinkAllModules': {
|
|
119
|
-
|
|
119
|
+
parentPort.postMessage(symlinkAllModules(message));
|
|
120
120
|
break;
|
|
121
121
|
}
|
|
122
122
|
case 'hardLinkDir': {
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
hardLinkDir(message.src, message.destDirs);
|
|
124
|
+
parentPort.postMessage({ status: 'success' });
|
|
125
125
|
break;
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
catch (e) { // eslint-disable-line
|
|
130
|
-
|
|
130
|
+
parentPort.postMessage({
|
|
131
131
|
status: 'error',
|
|
132
132
|
error: {
|
|
133
133
|
code: e.code,
|
|
134
134
|
message: e.message ?? e.toString(),
|
|
135
|
+
hint: e.hint,
|
|
135
136
|
},
|
|
136
137
|
});
|
|
137
138
|
}
|
|
138
139
|
}
|
|
139
140
|
function addTarballToStore({ buffer, storeDir, integrity, filesIndexFile, appendManifest }) {
|
|
140
141
|
if (integrity) {
|
|
141
|
-
const
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
const calculatedHash = crypto.hash(algo, buffer, 'hex');
|
|
145
|
-
if (calculatedHash !== normalizedRemoteHash) {
|
|
142
|
+
const { algorithm, hexDigest } = parseIntegrity(integrity);
|
|
143
|
+
const calculatedHash = crypto.hash(algorithm, buffer, 'hex');
|
|
144
|
+
if (calculatedHash !== hexDigest) {
|
|
146
145
|
return {
|
|
147
146
|
status: 'error',
|
|
148
147
|
error: {
|
|
149
148
|
type: 'integrity_validation_failed',
|
|
150
|
-
algorithm
|
|
149
|
+
algorithm,
|
|
151
150
|
expected: integrity,
|
|
152
|
-
found:
|
|
151
|
+
found: formatIntegrity(algorithm, calculatedHash),
|
|
153
152
|
},
|
|
154
153
|
};
|
|
155
154
|
}
|
|
156
155
|
}
|
|
157
156
|
if (!cafsCache.has(storeDir)) {
|
|
158
|
-
cafsCache.set(storeDir,
|
|
157
|
+
cafsCache.set(storeDir, createCafs(storeDir));
|
|
159
158
|
}
|
|
160
159
|
const cafs = cafsCache.get(storeDir);
|
|
161
160
|
let { filesIndex, manifest } = cafs.addFilesFromTarball(buffer, true);
|
|
@@ -163,143 +162,195 @@ function addTarballToStore({ buffer, storeDir, integrity, filesIndexFile, append
|
|
|
163
162
|
manifest = appendManifest;
|
|
164
163
|
addManifestToCafs(cafs, filesIndex, appendManifest);
|
|
165
164
|
}
|
|
165
|
+
else if (!filesIndex.has('package.json')) {
|
|
166
|
+
addPlaceholderPackageJsonToCafs(cafs, filesIndex);
|
|
167
|
+
}
|
|
166
168
|
const { filesIntegrity, filesMap } = processFilesIndex(filesIndex);
|
|
167
|
-
const
|
|
169
|
+
const bundledManifest = manifest != null ? normalizeBundledManifest(manifest) : undefined;
|
|
170
|
+
const requiresBuild = pkgRequiresBuild(bundledManifest, filesIntegrity);
|
|
171
|
+
const pkgFilesIndex = {
|
|
172
|
+
requiresBuild,
|
|
173
|
+
manifest: bundledManifest,
|
|
174
|
+
algo: HASH_ALGORITHM,
|
|
175
|
+
files: filesIntegrity,
|
|
176
|
+
};
|
|
168
177
|
return {
|
|
169
178
|
status: 'success',
|
|
170
179
|
value: {
|
|
171
|
-
|
|
172
|
-
manifest,
|
|
180
|
+
filesMap,
|
|
181
|
+
manifest: bundledManifest,
|
|
173
182
|
requiresBuild,
|
|
174
183
|
integrity: integrity ?? calcIntegrity(buffer),
|
|
175
184
|
},
|
|
185
|
+
indexWrites: [{ key: filesIndexFile, buffer: packToShared(pkgFilesIndex) }],
|
|
176
186
|
};
|
|
177
187
|
}
|
|
178
188
|
function calcIntegrity(buffer) {
|
|
179
189
|
const calculatedHash = crypto.hash('sha512', buffer, 'hex');
|
|
180
|
-
return
|
|
190
|
+
return formatIntegrity('sha512', calculatedHash);
|
|
191
|
+
}
|
|
192
|
+
function packToShared(data) {
|
|
193
|
+
const packed = packForStorage(data);
|
|
194
|
+
const shared = new SharedArrayBuffer(packed.byteLength);
|
|
195
|
+
const view = new Uint8Array(shared);
|
|
196
|
+
view.set(packed);
|
|
197
|
+
return view;
|
|
181
198
|
}
|
|
182
199
|
function initStore({ storeDir }) {
|
|
183
|
-
|
|
200
|
+
fs.mkdirSync(storeDir, { recursive: true });
|
|
184
201
|
const hexChars = '0123456789abcdef'.split('');
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
}
|
|
202
|
+
// Only create subdirectories for files/ — index/ is now managed by SQLite
|
|
203
|
+
const filesDirPath = path.join(storeDir, 'files');
|
|
204
|
+
try {
|
|
205
|
+
fs.mkdirSync(filesDirPath);
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
// If a parallel process has already started creating the directories in the store,
|
|
209
|
+
// ignore if it already exists.
|
|
210
|
+
}
|
|
211
|
+
for (const hex1 of hexChars) {
|
|
212
|
+
for (const hex2 of hexChars) {
|
|
213
|
+
try {
|
|
214
|
+
fs.mkdirSync(path.join(filesDirPath, `${hex1}${hex2}`));
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
// If a parallel process has already started creating the directories in the store,
|
|
218
|
+
// ignore if it already exists.
|
|
203
219
|
}
|
|
204
220
|
}
|
|
205
221
|
}
|
|
222
|
+
// The SQLite index database will be initialized lazily by getStoreIndex()
|
|
223
|
+
// on the first operation that needs it (e.g., readPkgFromCafs, addFilesFromDir).
|
|
224
|
+
// Eagerly opening it here races with the main thread's StoreIndex constructor,
|
|
225
|
+
// which can cause SQLITE_CANTOPEN on Windows due to mandatory file locking.
|
|
206
226
|
return { status: 'success' };
|
|
207
227
|
}
|
|
208
|
-
function addFilesFromDir({ appendManifest, dir, files, filesIndexFile, sideEffectsCacheKey, storeDir, }) {
|
|
228
|
+
function addFilesFromDir({ appendManifest, dir, files, filesIndexFile, includeNodeModules, sideEffectsCacheKey, storeDir, }) {
|
|
209
229
|
if (!cafsCache.has(storeDir)) {
|
|
210
|
-
cafsCache.set(storeDir,
|
|
230
|
+
cafsCache.set(storeDir, createCafs(storeDir));
|
|
211
231
|
}
|
|
212
232
|
const cafs = cafsCache.get(storeDir);
|
|
213
233
|
let { filesIndex, manifest } = cafs.addFilesFromDir(dir, {
|
|
214
234
|
files,
|
|
235
|
+
includeNodeModules,
|
|
215
236
|
readManifest: true,
|
|
216
237
|
});
|
|
217
238
|
if (appendManifest && manifest == null) {
|
|
218
239
|
manifest = appendManifest;
|
|
219
240
|
addManifestToCafs(cafs, filesIndex, appendManifest);
|
|
220
241
|
}
|
|
242
|
+
else if (!filesIndex.has('package.json')) {
|
|
243
|
+
addPlaceholderPackageJsonToCafs(cafs, filesIndex);
|
|
244
|
+
}
|
|
221
245
|
const { filesIntegrity, filesMap } = processFilesIndex(filesIndex);
|
|
246
|
+
const bundledManifest = manifest != null ? normalizeBundledManifest(manifest) : undefined;
|
|
222
247
|
let requiresBuild;
|
|
248
|
+
let indexWrites;
|
|
223
249
|
if (sideEffectsCacheKey) {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
filesIndex = (0, load_json_file_1.sync)(filesIndexFile);
|
|
227
|
-
}
|
|
228
|
-
catch {
|
|
250
|
+
const existingFilesIndex = getStoreIndex(storeDir).get(filesIndexFile);
|
|
251
|
+
if (!existingFilesIndex) {
|
|
229
252
|
// If there is no existing index file, then we cannot store the side effects.
|
|
230
253
|
return {
|
|
231
254
|
status: 'success',
|
|
232
255
|
value: {
|
|
233
|
-
|
|
234
|
-
manifest,
|
|
235
|
-
requiresBuild:
|
|
256
|
+
filesMap,
|
|
257
|
+
manifest: bundledManifest,
|
|
258
|
+
requiresBuild: pkgRequiresBuild(manifest, filesMap),
|
|
236
259
|
},
|
|
237
260
|
};
|
|
238
261
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
262
|
+
if (!existingFilesIndex.sideEffects) {
|
|
263
|
+
existingFilesIndex.sideEffects = new Map();
|
|
264
|
+
}
|
|
265
|
+
// Ensure side effects use the same algorithm as the original package
|
|
266
|
+
if (existingFilesIndex.algo !== HASH_ALGORITHM) {
|
|
267
|
+
throw new PnpmError('ALGO_MISMATCH', `Algorithm mismatch: package index uses "${existingFilesIndex.algo}" but side effects were computed with "${HASH_ALGORITHM}"`);
|
|
268
|
+
}
|
|
269
|
+
existingFilesIndex.sideEffects.set(sideEffectsCacheKey, calculateDiff(existingFilesIndex.files, filesIntegrity));
|
|
270
|
+
if (existingFilesIndex.requiresBuild == null) {
|
|
271
|
+
requiresBuild = pkgRequiresBuild(manifest, filesMap);
|
|
243
272
|
}
|
|
244
273
|
else {
|
|
245
|
-
requiresBuild =
|
|
274
|
+
requiresBuild = existingFilesIndex.requiresBuild;
|
|
246
275
|
}
|
|
247
|
-
|
|
276
|
+
indexWrites = [{ key: filesIndexFile, buffer: packToShared(existingFilesIndex) }];
|
|
248
277
|
}
|
|
249
278
|
else {
|
|
250
|
-
requiresBuild =
|
|
279
|
+
requiresBuild = pkgRequiresBuild(bundledManifest, filesIntegrity);
|
|
280
|
+
const pkgFilesIndex = {
|
|
281
|
+
requiresBuild,
|
|
282
|
+
manifest: bundledManifest,
|
|
283
|
+
algo: HASH_ALGORITHM,
|
|
284
|
+
files: filesIntegrity,
|
|
285
|
+
};
|
|
286
|
+
indexWrites = [{ key: filesIndexFile, buffer: packToShared(pkgFilesIndex) }];
|
|
251
287
|
}
|
|
252
|
-
return { status: 'success', value: {
|
|
288
|
+
return { status: 'success', value: { filesMap, manifest: bundledManifest, requiresBuild }, indexWrites };
|
|
253
289
|
}
|
|
254
290
|
function addManifestToCafs(cafs, filesIndex, manifest) {
|
|
255
291
|
const fileBuffer = Buffer.from(JSON.stringify(manifest, null, 2), 'utf8');
|
|
256
292
|
const mode = 0o644;
|
|
257
|
-
filesIndex
|
|
293
|
+
filesIndex.set('package.json', {
|
|
258
294
|
mode,
|
|
259
295
|
size: fileBuffer.length,
|
|
260
296
|
...cafs.addFile(fileBuffer, mode),
|
|
261
|
-
};
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
const PLACEHOLDER_PACKAGE_JSON = Buffer.from(JSON.stringify({ _pnpmPlaceholder: 'This file was generated by pnpm. The original package did not contain a package.json.' }), 'utf8');
|
|
300
|
+
// Packages that lack a package.json (e.g. injected packages in a Bit
|
|
301
|
+
// workspace) get a synthetic one so that package.json can serve as a
|
|
302
|
+
// universal completion marker for the indexed package importer.
|
|
303
|
+
// The _pnpmPlaceholder field tells the package requester to ignore it
|
|
304
|
+
// when reading the manifest.
|
|
305
|
+
function addPlaceholderPackageJsonToCafs(cafs, filesIndex) {
|
|
306
|
+
const mode = 0o644;
|
|
307
|
+
filesIndex.set('package.json', {
|
|
308
|
+
mode,
|
|
309
|
+
size: PLACEHOLDER_PACKAGE_JSON.length,
|
|
310
|
+
...cafs.addFile(PLACEHOLDER_PACKAGE_JSON, mode),
|
|
311
|
+
});
|
|
262
312
|
}
|
|
263
313
|
function calculateDiff(baseFiles, sideEffectsFiles) {
|
|
264
314
|
const deleted = [];
|
|
265
|
-
const added =
|
|
266
|
-
|
|
267
|
-
|
|
315
|
+
const added = new Map();
|
|
316
|
+
const allFiles = new Set([...baseFiles.keys(), ...sideEffectsFiles.keys()]);
|
|
317
|
+
for (const file of allFiles) {
|
|
318
|
+
if (!sideEffectsFiles.has(file)) {
|
|
268
319
|
deleted.push(file);
|
|
269
320
|
}
|
|
270
|
-
else if (!baseFiles
|
|
271
|
-
baseFiles
|
|
272
|
-
baseFiles
|
|
273
|
-
added
|
|
321
|
+
else if (!baseFiles.has(file) ||
|
|
322
|
+
baseFiles.get(file).digest !== sideEffectsFiles.get(file).digest ||
|
|
323
|
+
baseFiles.get(file).mode !== sideEffectsFiles.get(file).mode) {
|
|
324
|
+
added.set(file, sideEffectsFiles.get(file));
|
|
274
325
|
}
|
|
275
326
|
}
|
|
276
327
|
const diff = {};
|
|
277
328
|
if (deleted.length > 0) {
|
|
278
329
|
diff.deleted = deleted;
|
|
279
330
|
}
|
|
280
|
-
if (
|
|
331
|
+
if (added.size > 0) {
|
|
281
332
|
diff.added = added;
|
|
282
333
|
}
|
|
283
334
|
return diff;
|
|
284
335
|
}
|
|
285
336
|
function processFilesIndex(filesIndex) {
|
|
286
|
-
const filesIntegrity =
|
|
287
|
-
const filesMap =
|
|
288
|
-
for (const [k, { checkedAt, filePath,
|
|
289
|
-
filesIntegrity
|
|
337
|
+
const filesIntegrity = new Map();
|
|
338
|
+
const filesMap = new Map();
|
|
339
|
+
for (const [k, { checkedAt, filePath, digest, mode, size }] of filesIndex) {
|
|
340
|
+
filesIntegrity.set(k, {
|
|
290
341
|
checkedAt,
|
|
291
|
-
|
|
342
|
+
digest,
|
|
292
343
|
mode,
|
|
293
344
|
size,
|
|
294
|
-
};
|
|
295
|
-
filesMap
|
|
345
|
+
});
|
|
346
|
+
filesMap.set(k, filePath);
|
|
296
347
|
}
|
|
297
348
|
return { filesIntegrity, filesMap };
|
|
298
349
|
}
|
|
299
|
-
function importPackage({ storeDir, packageImportMethod, filesResponse, sideEffectsCacheKey, targetDir, requiresBuild, force, keepModulesDir, disableRelinkLocalDirDeps, }) {
|
|
350
|
+
function importPackage({ storeDir, packageImportMethod, filesResponse, sideEffectsCacheKey, targetDir, requiresBuild, force, keepModulesDir, disableRelinkLocalDirDeps, safeToSkip, }) {
|
|
300
351
|
const cacheKey = JSON.stringify({ storeDir, packageImportMethod });
|
|
301
352
|
if (!cafsStoreCache.has(cacheKey)) {
|
|
302
|
-
cafsStoreCache.set(cacheKey,
|
|
353
|
+
cafsStoreCache.set(cacheKey, createCafsStore(storeDir, { packageImportMethod, cafsLocker }));
|
|
303
354
|
}
|
|
304
355
|
const cafsStore = cafsStoreCache.get(cacheKey);
|
|
305
356
|
const { importMethod, isBuilt } = cafsStore.importPackage(targetDir, {
|
|
@@ -309,6 +360,7 @@ function importPackage({ storeDir, packageImportMethod, filesResponse, sideEffec
|
|
|
309
360
|
requiresBuild,
|
|
310
361
|
sideEffectsCacheKey,
|
|
311
362
|
keepModulesDir,
|
|
363
|
+
safeToSkip,
|
|
312
364
|
});
|
|
313
365
|
return { status: 'success', value: { isBuilt, importMethod } };
|
|
314
366
|
}
|
|
@@ -316,34 +368,10 @@ function symlinkAllModules(opts) {
|
|
|
316
368
|
for (const dep of opts.deps) {
|
|
317
369
|
for (const [alias, pkgDir] of Object.entries(dep.children)) {
|
|
318
370
|
if (alias !== dep.name) {
|
|
319
|
-
|
|
371
|
+
symlinkDependencySync(pkgDir, dep.modules, alias);
|
|
320
372
|
}
|
|
321
373
|
}
|
|
322
374
|
}
|
|
323
375
|
return { status: 'success' };
|
|
324
376
|
}
|
|
325
|
-
function writeFilesIndexFile(filesIndexFile, { manifest, files, sideEffects }) {
|
|
326
|
-
const requiresBuild = (0, exec_pkg_requires_build_1.pkgRequiresBuild)(manifest, files);
|
|
327
|
-
const filesIndex = {
|
|
328
|
-
name: manifest.name,
|
|
329
|
-
version: manifest.version,
|
|
330
|
-
requiresBuild,
|
|
331
|
-
files,
|
|
332
|
-
sideEffects,
|
|
333
|
-
};
|
|
334
|
-
writeJsonFile(filesIndexFile, filesIndex);
|
|
335
|
-
return requiresBuild;
|
|
336
|
-
}
|
|
337
|
-
function writeJsonFile(filePath, data) {
|
|
338
|
-
const targetDir = path_1.default.dirname(filePath);
|
|
339
|
-
// TODO: use the API of @pnpm/cafs to write this file
|
|
340
|
-
// There is actually no need to create the directory in 99% of cases.
|
|
341
|
-
// So by using cafs API, we'll improve performance.
|
|
342
|
-
fs_1.default.mkdirSync(targetDir, { recursive: true });
|
|
343
|
-
// We remove the "-index.json" from the end of the temp file name
|
|
344
|
-
// in order to avoid ENAMETOOLONG errors
|
|
345
|
-
const temp = `${filePath.slice(0, -11)}${process.pid}`;
|
|
346
|
-
graceful_fs_1.default.writeFileSync(temp, JSON.stringify(data));
|
|
347
|
-
(0, store_cafs_1.optimisticRenameOverwrite)(temp, filePath);
|
|
348
|
-
}
|
|
349
377
|
//# sourceMappingURL=start.js.map
|
package/lib/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { PackageFilesResponse } from '@pnpm/store.cafs-types';
|
|
2
|
+
import type { DependencyManifest } from '@pnpm/types';
|
|
3
3
|
export interface PkgNameVersion {
|
|
4
4
|
name?: string;
|
|
5
5
|
version?: string;
|
|
@@ -29,6 +29,7 @@ export interface LinkPkgMessage {
|
|
|
29
29
|
force: boolean;
|
|
30
30
|
keepModulesDir?: boolean;
|
|
31
31
|
disableRelinkLocalDirDeps?: boolean;
|
|
32
|
+
safeToSkip?: boolean;
|
|
32
33
|
}
|
|
33
34
|
export interface SymlinkAllModulesMessage {
|
|
34
35
|
type: 'symlinkAllModules';
|
|
@@ -48,6 +49,7 @@ export interface AddDirToStoreMessage {
|
|
|
48
49
|
pkg?: PkgNameVersion;
|
|
49
50
|
appendManifest?: DependencyManifest;
|
|
50
51
|
files?: string[];
|
|
52
|
+
includeNodeModules?: boolean;
|
|
51
53
|
}
|
|
52
54
|
export interface ReadPkgFromCafsMessage {
|
|
53
55
|
type: 'readPkgFromCafs';
|
|
@@ -55,6 +57,8 @@ export interface ReadPkgFromCafsMessage {
|
|
|
55
57
|
filesIndexFile: string;
|
|
56
58
|
readManifest: boolean;
|
|
57
59
|
verifyStoreIntegrity: boolean;
|
|
60
|
+
expectedPkg?: PkgNameVersion;
|
|
61
|
+
strictStorePkgContentCheck?: boolean;
|
|
58
62
|
}
|
|
59
63
|
export interface HardLinkDirMessage {
|
|
60
64
|
type: 'hardLinkDir';
|
package/lib/types.js
CHANGED
package/lib/worker.js
CHANGED
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnpm/worker",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1100.0.0",
|
|
4
4
|
"description": "A worker for extracting package taralls to the store",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pnpm",
|
|
7
|
-
"
|
|
7
|
+
"pnpm11",
|
|
8
8
|
"tarball"
|
|
9
9
|
],
|
|
10
10
|
"license": "MIT",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"bugs": {
|
|
15
15
|
"url": "https://github.com/pnpm/pnpm/issues"
|
|
16
16
|
},
|
|
17
|
-
"type": "
|
|
17
|
+
"type": "module",
|
|
18
18
|
"main": "lib/index.js",
|
|
19
19
|
"types": "lib/index.d.ts",
|
|
20
20
|
"exports": {
|
|
@@ -26,38 +26,41 @@
|
|
|
26
26
|
"!*.map"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@rushstack/worker-pool": "0.
|
|
29
|
+
"@rushstack/worker-pool": "0.7.7",
|
|
30
30
|
"is-windows": "^1.0.2",
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"@pnpm/
|
|
34
|
-
"@pnpm/
|
|
35
|
-
"@pnpm/
|
|
36
|
-
"@pnpm/
|
|
37
|
-
"@pnpm/fs.
|
|
38
|
-
"@pnpm/
|
|
39
|
-
"@pnpm/
|
|
40
|
-
"@pnpm/store.
|
|
41
|
-
"@pnpm/
|
|
31
|
+
"p-limit": "^7.1.0",
|
|
32
|
+
"semver": "^7.7.2",
|
|
33
|
+
"@pnpm/crypto.integrity": "1100.0.0",
|
|
34
|
+
"@pnpm/error": "1100.0.0",
|
|
35
|
+
"@pnpm/fs.graceful-fs": "1100.0.0",
|
|
36
|
+
"@pnpm/fs.hard-link-dir": "1100.0.0",
|
|
37
|
+
"@pnpm/fs.symlink-dependency": "1100.0.0",
|
|
38
|
+
"@pnpm/building.pkg-requires-build": "1100.0.0",
|
|
39
|
+
"@pnpm/store.create-cafs-store": "1100.0.0",
|
|
40
|
+
"@pnpm/store.index": "1100.0.0",
|
|
41
|
+
"@pnpm/store.cafs-types": "1100.0.0",
|
|
42
|
+
"@pnpm/store.cafs": "1100.0.0"
|
|
42
43
|
},
|
|
43
44
|
"peerDependencies": {
|
|
44
45
|
"@pnpm/logger": ">=1001.0.0 <1002.0.0"
|
|
45
46
|
},
|
|
46
47
|
"devDependencies": {
|
|
47
48
|
"@types/is-windows": "^1.0.2",
|
|
48
|
-
"@
|
|
49
|
-
"@pnpm/
|
|
50
|
-
"@pnpm/
|
|
49
|
+
"@types/semver": "7.7.1",
|
|
50
|
+
"@pnpm/logger": "1100.0.0",
|
|
51
|
+
"@pnpm/types": "1100.0.0",
|
|
52
|
+
"@pnpm/worker": "1100.0.0"
|
|
51
53
|
},
|
|
52
54
|
"engines": {
|
|
53
|
-
"node": ">=
|
|
55
|
+
"node": ">=22.13"
|
|
54
56
|
},
|
|
55
57
|
"jest": {
|
|
56
58
|
"preset": "@pnpm/jest-config"
|
|
57
59
|
},
|
|
58
60
|
"scripts": {
|
|
59
|
-
"lint": "eslint \"src/**/*.ts\"",
|
|
60
|
-
"test": "
|
|
61
|
-
"compile": "
|
|
61
|
+
"lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
62
|
+
"test": "pn compile && pn .test",
|
|
63
|
+
"compile": "tsgo --build && pn lint --fix",
|
|
64
|
+
".test": "cross-env NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules --disable-warning=ExperimentalWarning --disable-warning=DEP0169\" jest"
|
|
62
65
|
}
|
|
63
66
|
}
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAoBA,8CAGC;AAED,sCAGC;AAyBD,wCASC;AAeD,0CA0BC;AAwCD,kDAgCC;AAED,0CA2BC;AAQD,sCAuBC;AAED,8CAsBC;AA4BD,kCAoBC;AAED,oCAmBC;AAxUD,wBAAwB;AACxB,gDAAuB;AACvB,4CAAmB;AACnB,sEAAkE;AAClE,uCAAuC;AACvC,iDAAwC;AACxC,4DAAkC;AAGlC,sDAA4B;AAS5B,IAAI,UAAkC,CAAA;AAE/B,KAAK,UAAU,iBAAiB;IACrC,MAAM,aAAa,EAAE,CAAA;IACrB,UAAU,GAAG,uBAAuB,EAAE,CAAA;AACxC,CAAC;AAEM,KAAK,UAAU,aAAa;IACjC,mBAAmB;IACnB,MAAM,MAAM,CAAC,aAAa,EAAE,EAAE,CAAA;AAChC,CAAC;AAED,SAAS,uBAAuB;IAC9B,MAAM,UAAU,GAAG,cAAc,EAAE,CAAA;IACnC,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC;QAChC,EAAE,EAAE,MAAM;QACV,UAAU;QACV,gBAAgB,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;KACpD,CAAC,CAAA;IACF,mBAAmB;IACnB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,mBAAmB;QACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAA;QACrC,mBAAmB;QACnB,MAAM,CAAC,aAAa,GAAG,KAAK,IAAI,EAAE;YAChC,MAAM,QAAQ,EAAE,CAAA;YAChB,MAAM,UAAU,CAAC,WAAW,EAAE,CAAA;QAChC,CAAC,CAAA;IACH,CAAC;SAAM,CAAC;QACN,mBAAmB;QACnB,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAA;IACvD,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAgB,cAAc;IAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAC/C,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAA;AAChD,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,YAAE,CAAC,oBAAoB,EAAE,EAAE,IAAI,YAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAA;AACxD,CAAC;AAWM,KAAK,UAAU,eAAe,CAAE,IAA4B;IACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,uBAAuB,EAAE,CAAA;IACxC,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC9D,OAAO,IAAI,OAAO,CAA+F,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnI,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACvD,UAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YACtC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,iBAAS,CAAC,KAAK,CAAC,IAAI,IAAI,kBAAkB,EAAE,KAAK,CAAC,OAAiB,CAAC,CAAC,CAAA;gBAChF,OAAM;YACR,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC,CAAC,CAAA;QACF,WAAW,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAa,qBAAsB,SAAQ,iBAAS;IAClC,KAAK,CAAQ;IACb,QAAQ,CAAQ;IAChB,SAAS,CAAQ;IACjB,GAAG,CAAQ;IACX,GAAG,CAAQ;IAE3B,YAAa,IAOZ;QACC,KAAK,CAAC,mBAAmB,EACvB,gCAAgC,IAAI,CAAC,GAAG,cAAc,IAAI,CAAC,QAAQ,WAAW,IAAI,CAAC,KAAK,IAAI,EAC5F;YACE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE;;;;0DAI4C;SACnD,CACF,CAAA;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;IACrB,CAAC;CACF;AAhCD,sDAgCC;AAMM,KAAK,UAAU,mBAAmB,CAAE,IAAgC;IACzE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,uBAAuB,EAAE,CAAA;IACxC,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC9D,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrD,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACvD,UAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YACtC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,IAAI,KAAK,CAAC,IAAI,KAAK,6BAA6B,EAAE,CAAC;oBACjD,MAAM,CAAC,IAAI,qBAAqB,CAAC;wBAC/B,GAAG,KAAK;wBACR,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CAAC,CAAA;oBACH,OAAM;gBACR,CAAC;gBACD,MAAM,CAAC,IAAI,iBAAS,CAAC,KAAK,CAAC,IAAI,IAAI,iBAAiB,EAAE,+BAA+B,IAAI,CAAC,GAAG,eAAe,KAAK,CAAC,OAAiB,EAAE,CAAC,CAAC,CAAA;gBACvI,OAAM;YACR,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC,CAAC,CAAA;QACF,WAAW,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,oBAA6B,EAC7B,cAAsB,EACtB,YAAsB;IAEtB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,uBAAuB,EAAE,CAAA;IACxC,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC9D,OAAO,IAAI,OAAO,CAAkF,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtH,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACvD,UAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YACtC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,iBAAS,CAAC,KAAK,CAAC,IAAI,IAAI,iBAAiB,EAAE,KAAK,CAAC,OAAiB,CAAC,CAAC,CAAA;gBAC/E,OAAM;YACR,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC,CAAC,CAAA;QACF,WAAW,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,iBAAiB;YACvB,QAAQ;YACR,cAAc;YACd,YAAY;YACZ,oBAAoB;SACrB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,uDAAuD;AACvD,sDAAsD;AACtD,4FAA4F;AAC5F,0DAA0D;AAC1D,MAAM,qBAAqB,GAAG,IAAA,iBAAM,EAAC,CAAC,CAAC,CAAA;AAEhC,KAAK,UAAU,aAAa,CACjC,IAAkC;IAElC,OAAO,qBAAqB,CAAC,KAAK,IAAI,EAAE;QACtC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,uBAAuB,EAAE,CAAA;QACxC,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAC9D,OAAO,IAAI,OAAO,CAAyD,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7F,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAO,EAAE,EAAE;gBAC5D,UAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;gBACtC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,iBAAS,CAAC,KAAK,CAAC,IAAI,IAAI,gBAAgB,EAAE,KAAK,CAAC,OAAiB,CAAC,CAAC,CAAA;oBAC9E,OAAM;gBACR,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC,CAAC,CAAA;YACF,WAAW,CAAC,WAAW,CAAC;gBACtB,IAAI,EAAE,MAAM;gBACZ,GAAG,IAAI;aACR,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,IAA4C;IAE5C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,uBAAuB,EAAE,CAAA;IACxC,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC9D,OAAO,IAAI,OAAO,CAAyD,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7F,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAO,EAAE,EAAE;YAC5D,UAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YACtC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBACvG,MAAM,CAAC,IAAI,iBAAS,CAAC,KAAK,CAAC,IAAI,IAAI,gBAAgB,EAAE,KAAK,CAAC,OAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;gBACxF,OAAM;YACR,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC,CAAC,CAAA;QACF,WAAW,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,mBAAmB;YACzB,GAAG,IAAI;SACoB,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,eAAe,CAAE,GAAU,EAAE,UAAkB;IACtD,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAA,oBAAS,GAAE,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QACnD,IAAI,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,OAAO,QAAQ,YAAY,wJAAwJ,CAAA;QACrL,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,+DAA+D;AAC/D,SAAS,YAAY,CAAE,KAAa;IAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,iCAAiC,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,CAAC;QACH,2BAA2B;QAC3B,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,gDAAgD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,8CAA8C,CAAC,CAAC,QAAQ,EAAE,CAAA;QACxJ,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5B,OAAO,IAAI,KAAK,OAAO,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAE,GAAW,EAAE,QAAkB;IAChE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,uBAAuB,EAAE,CAAA;IACxC,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC9D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAO,EAAE,EAAE;YACrD,UAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YACtC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,iBAAS,CAAC,KAAK,CAAC,IAAI,IAAI,iBAAiB,EAAE,KAAK,CAAC,OAAiB,CAAC,CAAC,CAAA;gBAC/E,OAAM;YACR,CAAC;YACD,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;QACF,WAAW,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,aAAa;YACnB,GAAG;YACH,QAAQ;SACa,CAAC,CAAA;IAC1B,CAAC,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,YAAY,CAAE,QAAgB;IAClD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,uBAAuB,EAAE,CAAA;IACxC,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAC9D,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YAChD,UAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YACtC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,iBAAS,CAAC,KAAK,CAAC,IAAI,IAAI,kBAAkB,EAAE,KAAK,CAAC,OAAiB,CAAC,CAAC,CAAA;gBAChF,OAAM;YACR,CAAC;YACD,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;QACF,WAAW,CAAC,WAAW,CAAC;YACtB,IAAI,EAAE,YAAY;YAClB,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/lib/start.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
|
package/lib/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/lib/worker.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":";;AAAA,yCAAwC;AAExC,IAAA,sBAAW,GAAE,CAAA"}
|