@pnpm/worker
Advanced tools
Comparing version 0.3.15 to 1.0.0
@@ -7,5 +7,6 @@ import { PnpmError } from '@pnpm/error'; | ||
export declare function finishWorkers(): Promise<void>; | ||
export declare function addFilesFromDir(opts: Pick<AddDirToStoreMessage, 'cafsDir' | 'dir' | 'filesIndexFile' | 'sideEffectsCacheKey' | 'readManifest' | 'pkg'>): Promise<{ | ||
export declare function addFilesFromDir(opts: Pick<AddDirToStoreMessage, 'cafsDir' | 'dir' | 'filesIndexFile' | 'sideEffectsCacheKey' | 'readManifest' | 'pkg' | 'files'>): Promise<{ | ||
filesIndex: Record<string, string>; | ||
manifest: DependencyManifest; | ||
requiresBuild: boolean; | ||
}>; | ||
@@ -32,2 +33,3 @@ export declare class TarballIntegrityError extends PnpmError { | ||
manifest: DependencyManifest; | ||
requiresBuild: boolean; | ||
}>; | ||
@@ -38,2 +40,3 @@ export declare function readPkgFromCafs(cafsDir: string, verifyStoreIntegrity: boolean, filesIndexFile: string, readManifest?: boolean): Promise<{ | ||
manifest?: DependencyManifest; | ||
requiresBuild: boolean; | ||
}>; | ||
@@ -40,0 +43,0 @@ export declare function importPackage(opts: Omit<LinkPkgMessage, 'type'>): Promise<{ |
@@ -68,2 +68,3 @@ "use strict"; | ||
pkg: opts.pkg, | ||
files: opts.files, | ||
}); | ||
@@ -70,0 +71,0 @@ }); |
@@ -44,2 +44,3 @@ /// <reference types="node" /> | ||
pkg?: PkgNameVersion; | ||
files?: string[]; | ||
} | ||
@@ -46,0 +47,0 @@ export interface ReadPkgFromCafsMessage { |
@@ -34,2 +34,3 @@ "use strict"; | ||
const create_cafs_store_1 = require("@pnpm/create-cafs-store"); | ||
const exec_pkg_requires_build_1 = require("@pnpm/exec.pkg-requires-build"); | ||
const fs_hard_link_dir_1 = require("@pnpm/fs.hard-link-dir"); | ||
@@ -65,3 +66,3 @@ const store_cafs_1 = require("@pnpm/store.cafs"); | ||
case 'readPkgFromCafs': { | ||
const { cafsDir, filesIndexFile, readManifest, verifyStoreIntegrity } = message; | ||
let { cafsDir, filesIndexFile, readManifest, verifyStoreIntegrity } = message; | ||
let pkgFilesIndex; | ||
@@ -85,2 +86,5 @@ try { | ||
let verifyResult; | ||
if (pkgFilesIndex.requiresBuild == null) { | ||
readManifest = true; | ||
} | ||
if (verifyStoreIntegrity) { | ||
@@ -95,2 +99,3 @@ verifyResult = (0, store_cafs_1.checkPkgFilesIntegrity)(cafsDir, pkgFilesIndex, readManifest); | ||
} | ||
const requiresBuild = pkgFilesIndex.requiresBuild ?? (0, exec_pkg_requires_build_1.pkgRequiresBuild)(verifyResult.manifest, pkgFilesIndex.files); | ||
worker_threads_1.parentPort.postMessage({ | ||
@@ -102,2 +107,3 @@ status: 'success', | ||
pkgFilesIndex, | ||
requiresBuild, | ||
}, | ||
@@ -150,8 +156,8 @@ }); | ||
const cafs = cafsCache.get(cafsDir); | ||
const { filesIndex, manifest } = cafs.addFilesFromTarball(buffer, Boolean(readManifest) || !pkg?.name || !pkg.version); | ||
const { filesIndex, manifest } = cafs.addFilesFromTarball(buffer, true); | ||
const { filesIntegrity, filesMap } = processFilesIndex(filesIndex); | ||
writeFilesIndexFile(filesIndexFile, { pkg: pkg ?? manifest ?? {}, files: filesIntegrity }); | ||
return { status: 'success', value: { filesIndex: filesMap, manifest } }; | ||
const requiresBuild = writeFilesIndexFile(filesIndexFile, { manifest: manifest ?? {}, files: filesIntegrity }); | ||
return { status: 'success', value: { filesIndex: filesMap, manifest, requiresBuild } }; | ||
} | ||
function addFilesFromDir({ dir, cafsDir, filesIndexFile, sideEffectsCacheKey, pkg, readManifest }) { | ||
function addFilesFromDir({ dir, cafsDir, filesIndexFile, sideEffectsCacheKey, pkg, readManifest, files }) { | ||
if (!cafsCache.has(cafsDir)) { | ||
@@ -161,4 +167,8 @@ cafsCache.set(cafsDir, (0, store_cafs_1.createCafs)(cafsDir)); | ||
const cafs = cafsCache.get(cafsDir); | ||
const { filesIndex, manifest } = cafs.addFilesFromDir(dir, Boolean(readManifest) || !pkg?.name || !pkg.version); | ||
const { filesIndex, manifest } = cafs.addFilesFromDir(dir, { | ||
files, | ||
readManifest: true, | ||
}); | ||
const { filesIntegrity, filesMap } = processFilesIndex(filesIndex); | ||
let requiresBuild; | ||
if (sideEffectsCacheKey) { | ||
@@ -170,13 +180,18 @@ let filesIndex; | ||
catch { | ||
pkg = pkg ?? manifest; | ||
filesIndex = { name: pkg?.name, version: pkg?.version, files: filesIntegrity }; | ||
filesIndex = { name: manifest?.name, version: manifest?.version, files: filesIntegrity }; | ||
} | ||
filesIndex.sideEffects = filesIndex.sideEffects ?? {}; | ||
filesIndex.sideEffects[sideEffectsCacheKey] = filesIntegrity; | ||
if (filesIndex.requiresBuild == null) { | ||
requiresBuild = (0, exec_pkg_requires_build_1.pkgRequiresBuild)(manifest, filesIntegrity); | ||
} | ||
else { | ||
requiresBuild = filesIndex.requiresBuild; | ||
} | ||
writeJsonFile(filesIndexFile, filesIndex); | ||
} | ||
else { | ||
writeFilesIndexFile(filesIndexFile, { pkg: pkg ?? manifest ?? {}, files: filesIntegrity }); | ||
requiresBuild = writeFilesIndexFile(filesIndexFile, { manifest: manifest ?? {}, files: filesIntegrity }); | ||
} | ||
return { status: 'success', value: { filesIndex: filesMap, manifest } }; | ||
return { status: 'success', value: { filesIndex: filesMap, manifest, requiresBuild } }; | ||
} | ||
@@ -223,8 +238,13 @@ function processFilesIndex(filesIndex) { | ||
} | ||
function writeFilesIndexFile(filesIndexFile, { pkg, files }) { | ||
writeJsonFile(filesIndexFile, { | ||
name: pkg.name, | ||
version: pkg.version, | ||
function writeFilesIndexFile(filesIndexFile, { manifest, files, sideEffects }) { | ||
const requiresBuild = (0, exec_pkg_requires_build_1.pkgRequiresBuild)(manifest, files); | ||
const filesIndex = { | ||
name: manifest.name, | ||
version: manifest.version, | ||
requiresBuild, | ||
files, | ||
}); | ||
sideEffects, | ||
}; | ||
writeJsonFile(filesIndexFile, filesIndex); | ||
return requiresBuild; | ||
} | ||
@@ -231,0 +251,0 @@ function writeJsonFile(filePath, data) { |
{ | ||
"name": "@pnpm/worker", | ||
"version": "0.3.15", | ||
"version": "1.0.0", | ||
"description": "A worker for extracting package taralls to the store", | ||
@@ -13,3 +13,3 @@ "main": "lib/index.js", | ||
"keywords": [ | ||
"pnpm8", | ||
"pnpm9", | ||
"pnpm", | ||
@@ -19,3 +19,3 @@ "tarball" | ||
"engines": { | ||
"node": ">=16.14" | ||
"node": ">=18.12" | ||
}, | ||
@@ -33,13 +33,14 @@ "license": "MIT", | ||
"load-json-file": "^6.2.0", | ||
"@pnpm/cafs-types": "4.0.0", | ||
"@pnpm/error": "5.0.3", | ||
"@pnpm/create-cafs-store": "6.0.14", | ||
"@pnpm/graceful-fs": "3.2.0", | ||
"@pnpm/fs.hard-link-dir": "3.0.0", | ||
"@pnpm/store.cafs": "2.0.13", | ||
"@pnpm/symlink-dependency": "7.1.4" | ||
"@pnpm/create-cafs-store": "7.0.0", | ||
"@pnpm/cafs-types": "5.0.0", | ||
"@pnpm/exec.pkg-requires-build": "1.0.0", | ||
"@pnpm/error": "6.0.0", | ||
"@pnpm/graceful-fs": "4.0.0", | ||
"@pnpm/store.cafs": "3.0.0", | ||
"@pnpm/fs.hard-link-dir": "4.0.0", | ||
"@pnpm/symlink-dependency": "8.0.0" | ||
}, | ||
"devDependencies": { | ||
"@pnpm/types": "9.4.2", | ||
"@pnpm/worker": "0.3.15" | ||
"@pnpm/types": "10.0.0", | ||
"@pnpm/worker": "1.0.0" | ||
}, | ||
@@ -46,0 +47,0 @@ "funding": "https://opencollective.com/pnpm", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
39349
574
0
11
+ Added@pnpm/cafs-types@5.0.0(transitive)
+ Added@pnpm/constants@8.0.0(transitive)
+ Added@pnpm/core-loggers@10.0.0(transitive)
+ Added@pnpm/create-cafs-store@7.0.0(transitive)
+ Added@pnpm/error@6.0.0(transitive)
+ Added@pnpm/exec.pkg-requires-build@1.0.0(transitive)
+ Added@pnpm/fetcher-base@16.0.0(transitive)
+ Added@pnpm/fs.hard-link-dir@4.0.0(transitive)
+ Added@pnpm/fs.indexed-pkg-importer@6.0.0(transitive)
+ Added@pnpm/graceful-fs@4.0.0(transitive)
+ Added@pnpm/resolver-base@12.0.0(transitive)
+ Added@pnpm/store-controller-types@18.0.0(transitive)
+ Added@pnpm/store.cafs@3.0.0(transitive)
+ Added@pnpm/symlink-dependency@8.0.0(transitive)
+ Added@pnpm/types@10.0.0(transitive)
- Removed@pnpm/cafs-types@4.0.0(transitive)
- Removed@pnpm/constants@7.1.1(transitive)
- Removed@pnpm/core-loggers@9.0.6(transitive)
- Removed@pnpm/create-cafs-store@6.0.14(transitive)
- Removed@pnpm/error@5.0.3(transitive)
- Removed@pnpm/exec.files-include-install-scripts@1.0.0(transitive)
- Removed@pnpm/fetcher-base@15.0.7(transitive)
- Removed@pnpm/fs.hard-link-dir@3.0.0(transitive)
- Removed@pnpm/fs.indexed-pkg-importer@5.0.13(transitive)
- Removed@pnpm/graceful-fs@3.2.0(transitive)
- Removed@pnpm/resolver-base@11.1.0(transitive)
- Removed@pnpm/store-controller-types@17.2.0(transitive)
- Removed@pnpm/store.cafs@2.0.13(transitive)
- Removed@pnpm/symlink-dependency@7.1.4(transitive)
- Removed@pnpm/types@9.4.2(transitive)
Updated@pnpm/cafs-types@5.0.0
Updated@pnpm/error@6.0.0
Updated@pnpm/fs.hard-link-dir@4.0.0
Updated@pnpm/graceful-fs@4.0.0
Updated@pnpm/store.cafs@3.0.0