@jayxuz/verdaccio-offline-storage 3.1.3 → 3.1.5

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/README.md CHANGED
@@ -44,6 +44,7 @@ This is an improved fork of the original `verdaccio-offline-storage` plugin. Key
44
44
  - **No Lockfile Required**: All dependencies resolve correctly if they were cached when online
45
45
  - **Transparent**: Works with existing `local-storage` cache without modifications
46
46
  - **Selective Offline Mode**: Can be enabled globally or per-package based on proxy configuration
47
+ - **Tarball Integrity Verification**: Validates local tarball SHA-1 checksums against metadata and auto-removes corrupt files
47
48
  - **Web UI Integration**: Lists all locally available packages in Verdaccio's web interface
48
49
 
49
50
  ## Installation
@@ -67,6 +68,10 @@ store:
67
68
  '@jayxuz/verdaccio-offline-storage':
68
69
  # Optional: force offline mode for ALL packages
69
70
  offline: true
71
+ # Optional: verify local tarball SHA-1 against metadata (default: true)
72
+ verifyChecksum: true
73
+ # Optional: minimum tarball size in bytes, smaller files treated as corrupt (default: 128)
74
+ minTarballSize: 128
70
75
  ```
71
76
 
72
77
  ### Offline Mode Options
@@ -101,9 +106,10 @@ store:
101
106
  ## How It Works
102
107
 
103
108
  1. When a package is requested, the plugin scans the storage directory for `.tgz` files
104
- 2. It filters the package metadata to only include versions that have local tarballs
105
- 3. It updates `dist-tags.latest` to the highest locally available stable version
106
- 4. The modified metadata is returned to the client
109
+ 2. Each tarball is validated: files below the minimum size threshold are skipped, and SHA-1 checksums are verified against metadata (when `verifyChecksum` is enabled)
110
+ 3. It filters the package metadata to only include versions that have valid local tarballs
111
+ 4. It updates `dist-tags.latest` to the highest locally available stable version
112
+ 5. The modified metadata is returned to the client
107
113
 
108
114
  This means:
109
115
  - `npm install package@latest` installs the latest **locally available** version
package/README.zh-CN.md CHANGED
@@ -44,6 +44,7 @@
44
44
  - **无需锁文件**:如果在线时已缓存,所有依赖都能正确解析
45
45
  - **透明**:与现有的 `local-storage` 缓存兼容,无需修改
46
46
  - **选择性离线模式**:可以全局启用或根据 proxy 配置按包启用
47
+ - **Tarball 完整性校验**:校验本地 tarball SHA-1 与 metadata 是否一致,自动剔除损坏文件
47
48
  - **Web 界面集成**:在 Verdaccio 的 Web 界面中列出所有本地可用的包
48
49
 
49
50
  ## 安装
@@ -67,6 +68,10 @@ store:
67
68
  '@jayxuz/verdaccio-offline-storage':
68
69
  # 可选:强制所有包使用离线模式
69
70
  offline: true
71
+ # 可选:校验本地 tarball SHA-1 是否与 metadata 一致(默认 true)
72
+ verifyChecksum: true
73
+ # 可选:tarball 最小体积字节数,低于此值视为损坏(默认 128)
74
+ minTarballSize: 128
70
75
  ```
71
76
 
72
77
  ### 离线模式选项
@@ -101,9 +106,10 @@ store:
101
106
  ## 工作原理
102
107
 
103
108
  1. 当请求包时,插件扫描存储目录中的 `.tgz` 文件
104
- 2. 过滤包元数据,只包含有本地 tarball 的版本
105
- 3. `dist-tags.latest` 更新为本地可用的最高稳定版本
106
- 4. 将修改后的元数据返回给客户端
109
+ 2. 对每个 tarball 进行校验:跳过低于最小体积阈值的文件,检查 SHA-1 是否与 metadata 一致(当 `verifyChecksum` 启用时),自动剔除损坏文件
110
+ 3. 过滤包元数据,只包含有有效本地 tarball 的版本
111
+ 4. 将 `dist-tags.latest` 更新为本地可用的最高稳定版本
112
+ 5. 将修改后的元数据返回给客户端
107
113
 
108
114
  这意味着:
109
115
  - `npm install package@latest` 安装最新的**本地可用**版本
@@ -35,7 +35,10 @@ export declare class OfflinePackageStorage extends LocalFS {
35
35
  private extractVersionFromTarballFilename;
36
36
  private extractFilenameFromTarballUrl;
37
37
  private rewriteTarballUrl;
38
+ private ensureDistfilesMap;
39
+ private createDistfileRecord;
38
40
  private resolveTarballNameForRead;
41
+ private computeTarballShasum;
39
42
  private getScopedTarballNameCandidates;
40
43
  }
41
44
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"OfflinePackageStorage.d.ts","sourceRoot":"","sources":["../src/OfflinePackageStorage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAI/C,QAAA,IAAI,OAAO,EAAE,GAAG,CAAC;AAejB;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,OAAO;IAChD,OAAO,CAAC,MAAM,CAAuB;IACrC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB;IAYtE;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI;IAgC9D;;;OAGG;IACH,aAAa,CACX,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,KAAK,IAAI,EACrD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,KAAK,IAAI,EAC7D,gBAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,EAC9C,KAAK,EAAE,QAAQ,GACd,IAAI;IAgDP;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI;IAkK7C;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAY9B,OAAO,CAAC,iCAAiC;IAczC,OAAO,CAAC,6BAA6B;IAWrC,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,yBAAyB;IAmCjC,OAAO,CAAC,8BAA8B;CAWvC"}
1
+ {"version":3,"file":"OfflinePackageStorage.d.ts","sourceRoot":"","sources":["../src/OfflinePackageStorage.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAI/C,QAAA,IAAI,OAAO,EAAE,GAAG,CAAC;AAejB;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,OAAO;IAChD,OAAO,CAAC,MAAM,CAAuB;IACrC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB;IAYtE;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI;IAgC9D;;;OAGG;IACH,aAAa,CACX,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,KAAK,IAAI,EACrD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,KAAK,IAAI,EAC7D,gBAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,EAC9C,KAAK,EAAE,QAAQ,GACd,IAAI;IAgDP;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI;IA+P7C;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IAY9B,OAAO,CAAC,iCAAiC;IAczC,OAAO,CAAC,6BAA6B;IAWrC,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,yBAAyB;IAmCjC,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,8BAA8B;CAWvC"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.OfflinePackageStorage = void 0;
7
7
  const fs_1 = require("fs");
8
8
  const promises_1 = require("fs/promises");
9
+ const crypto_1 = require("crypto");
9
10
  const path_1 = require("path");
10
11
  const semver_1 = __importDefault(require("semver"));
11
12
  // Import LocalFS from @verdaccio/local-storage-legacy
@@ -137,6 +138,8 @@ class OfflinePackageStorage extends LocalFS {
137
138
  try {
138
139
  this.logger.debug({ packageName: name }, '[verdaccio-offline-storage/readPackage] Discovering local versions for package: @{packageName}');
139
140
  const items = await (0, promises_1.readdir)(this.path);
141
+ const minSize = this.config.minTarballSize ?? 128;
142
+ const verifyChecksum = this.config.verifyChecksum !== false;
140
143
  const tarballsByVersion = new Map();
141
144
  for (const item of items) {
142
145
  if (!item.endsWith('.tgz'))
@@ -144,6 +147,42 @@ class OfflinePackageStorage extends LocalFS {
144
147
  const version = this.extractVersionFromTarballFilename(item);
145
148
  if (!version)
146
149
  continue;
150
+ const tarballPath = (0, path_1.join)(this.path, item);
151
+ // 1. 检查文件大小(低开销)
152
+ try {
153
+ const fileStat = await (0, promises_1.stat)(tarballPath);
154
+ if (fileStat.size < minSize) {
155
+ this.logger.warn({ packageName: name, item, size: fileStat.size }, '[verdaccio-offline-storage] Skipping undersized tarball @{item} for @{packageName} (@{size} bytes)');
156
+ continue;
157
+ }
158
+ }
159
+ catch {
160
+ continue;
161
+ }
162
+ // 2. 校验 SHA-1(如果启用且 metadata 中有 shasum)
163
+ if (verifyChecksum) {
164
+ const versionMeta = data?.versions?.[version];
165
+ const expectedShasum = versionMeta?.dist?.shasum;
166
+ if (expectedShasum && typeof expectedShasum === 'string' && expectedShasum.length > 0) {
167
+ try {
168
+ const actualShasum = await this.computeTarballShasum(tarballPath);
169
+ if (actualShasum !== expectedShasum) {
170
+ this.logger.warn({ packageName: name, version, expected: expectedShasum, actual: actualShasum }, '[verdaccio-offline-storage] Checksum mismatch for @{packageName}@@{version}, removing corrupt tarball');
171
+ try {
172
+ await (0, promises_1.unlink)(tarballPath);
173
+ }
174
+ catch {
175
+ // 忽略删除失败
176
+ }
177
+ continue;
178
+ }
179
+ }
180
+ catch (err) {
181
+ this.logger.warn({ packageName: name, version, error: err.message }, '[verdaccio-offline-storage] Failed to compute checksum for @{packageName}@@{version}: @{error}');
182
+ continue;
183
+ }
184
+ }
185
+ }
147
186
  const filenames = tarballsByVersion.get(version) || [];
148
187
  filenames.push(item);
149
188
  tarballsByVersion.set(version, filenames);
@@ -185,6 +224,36 @@ class OfflinePackageStorage extends LocalFS {
185
224
  this.logger.debug({ packageName: name, version, filename: selectedFilename }, '[verdaccio-offline-storage/readPackage] Rewrote tarball for @{packageName}@@{version} to @{filename}');
186
225
  }
187
226
  }
227
+ // Verdaccio tarball 回源依赖 _distfiles。历史导入数据可能只包含 versions[*].dist.tarball,
228
+ // 导致本地 miss 后无法根据 _distfiles 回源。这里按当前 manifest 做一次运行时回填兜底。
229
+ const distfiles = this.ensureDistfilesMap(data);
230
+ let distfilesBackfilled = 0;
231
+ for (const version of versionsToProcess) {
232
+ const versionManifest = data.versions?.[version];
233
+ const tarballUrl = versionManifest?.dist?.tarball;
234
+ const shasum = versionManifest?.dist?.shasum;
235
+ if (typeof tarballUrl !== 'string' || tarballUrl.length === 0) {
236
+ continue;
237
+ }
238
+ const manifestFilename = this.extractFilenameFromTarballUrl(tarballUrl);
239
+ if (manifestFilename) {
240
+ if (!distfiles[manifestFilename]) {
241
+ distfilesBackfilled++;
242
+ }
243
+ distfiles[manifestFilename] = this.createDistfileRecord(distfiles[manifestFilename], tarballUrl, shasum);
244
+ }
245
+ // 为本地已存在的同版本 tarball 建立别名,兼容旧/新命名格式混用。
246
+ const localFilenames = tarballsByVersion.get(version) || [];
247
+ for (const localFilename of localFilenames) {
248
+ if (!distfiles[localFilename]) {
249
+ distfilesBackfilled++;
250
+ }
251
+ distfiles[localFilename] = this.createDistfileRecord(distfiles[localFilename], this.rewriteTarballUrl(tarballUrl, name, localFilename), shasum);
252
+ }
253
+ }
254
+ if (distfilesBackfilled > 0) {
255
+ this.logger.debug({ packageName: name, count: distfilesBackfilled }, '[verdaccio-offline-storage/readPackage] Backfilled @{count} _distfiles entries for @{packageName}');
256
+ }
188
257
  // 离线模式下,将 dist-tags.latest 对齐到本地可用的最高版本
189
258
  if (offline && versionsToProcess.length > 0) {
190
259
  const sortedVersions = versionsToProcess
@@ -251,6 +320,21 @@ class OfflinePackageStorage extends LocalFS {
251
320
  }
252
321
  return `${packageName}/-/${filename}`;
253
322
  }
323
+ ensureDistfilesMap(manifest) {
324
+ const raw = manifest;
325
+ if (!raw._distfiles || typeof raw._distfiles !== 'object') {
326
+ raw._distfiles = {};
327
+ }
328
+ return raw._distfiles;
329
+ }
330
+ createDistfileRecord(existing, url, shasum) {
331
+ const record = existing && typeof existing === 'object' ? { ...existing } : {};
332
+ record.url = url;
333
+ if (!record.sha && typeof shasum === 'string' && shasum.length > 0) {
334
+ record.sha = shasum;
335
+ }
336
+ return record;
337
+ }
254
338
  resolveTarballNameForRead(requestedTarballName) {
255
339
  const requestedPath = (0, path_1.join)(this.path, requestedTarballName);
256
340
  if ((0, fs_1.existsSync)(requestedPath)) {
@@ -281,6 +365,15 @@ class OfflinePackageStorage extends LocalFS {
281
365
  }
282
366
  return requestedTarballName;
283
367
  }
368
+ computeTarballShasum(filePath) {
369
+ return new Promise((resolve, reject) => {
370
+ const sha1 = (0, crypto_1.createHash)('sha1');
371
+ const stream = (0, fs_1.createReadStream)(filePath);
372
+ stream.on('data', (chunk) => sha1.update(chunk));
373
+ stream.on('end', () => resolve(sha1.digest('hex')));
374
+ stream.on('error', reject);
375
+ });
376
+ }
284
377
  getScopedTarballNameCandidates(version) {
285
378
  const packageBase = (0, path_1.basename)(this.path);
286
379
  const scopeBase = (0, path_1.basename)((0, path_1.dirname)(this.path));
@@ -1 +1 @@
1
- {"version":3,"file":"OfflinePackageStorage.js","sourceRoot":"","sources":["../src/OfflinePackageStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OfflinePackageStorage.js","sourceRoot":"","sources":["../src/OfflinePackageStorage.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -5,6 +5,10 @@ import { Config, Logger } from '@verdaccio/types';
5
5
  export interface OfflineStorageConfig extends Config {
6
6
  /** Force offline mode for all packages */
7
7
  offline?: boolean;
8
+ /** 校验本地 tarball SHA-1 是否与 metadata 一致(默认 true) */
9
+ verifyChecksum?: boolean;
10
+ /** tarball 最小体积(字节),低于此值视为损坏(默认 128) */
11
+ minTarballSize?: number;
8
12
  }
9
13
  /**
10
14
  * Plugin options passed by Verdaccio
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,MAAM;IAClD,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,MAAM;IAClD,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jayxuz/verdaccio-offline-storage",
3
- "version": "3.1.3",
3
+ "version": "3.1.5",
4
4
  "description": "Verdaccio storage plugin that treats local package cache as first class citizen for offline environments",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",