cnpmcore 4.22.0 → 4.23.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.
@@ -1,6 +1,7 @@
1
1
  import { type BinaryName } from '../../../../config/binaries.ts';
2
2
  import { AbstractBinary, type FetchResult } from './AbstractBinary.ts';
3
3
  export declare class FirefoxBinary extends AbstractBinary {
4
+ #private;
4
5
  initFetch(): Promise<void>;
5
6
  fetch(dir: string, binaryName: BinaryName): Promise<FetchResult | undefined>;
6
7
  }
@@ -4,131 +4,202 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _FirefoxBinary_instances, _FirefoxBinary_fetchRootDir, _FirefoxBinary_parseProductDetails, _FirefoxBinary_fetchSubDir;
7
13
  import { basename } from 'node:path';
8
14
  import { SingletonProto } from 'egg';
9
15
  import binaries from "../../../../config/binaries.js";
10
16
  import { BinaryType } from "../../enum/Binary.js";
11
17
  import { AbstractBinary, BinaryAdapter } from "./AbstractBinary.js";
18
+ // Mozilla product-details API for listing Firefox versions
19
+ // https://product-details.mozilla.org/1.0/firefox.json
20
+ const PRODUCT_DETAILS_URL = 'https://product-details.mozilla.org/1.0/firefox.json';
12
21
  let FirefoxBinary = class FirefoxBinary extends AbstractBinary {
22
+ constructor() {
23
+ super(...arguments);
24
+ _FirefoxBinary_instances.add(this);
25
+ }
13
26
  async initFetch() {
14
27
  // do nothing
15
28
  return;
16
29
  }
17
30
  // Only fetch Firefox versions >= 100.0.0 to avoid too old versions
18
31
  async fetch(dir, binaryName) {
19
- const binaryConfig = binaries[binaryName];
20
- const url = `${binaryConfig.distUrl}${dir}`;
21
- const html = await this.requestXml(url);
22
- // Mozilla archive has format like:
23
- // <tr>
24
- // <td>Dir</td>
25
- // <td><a href="/pub/firefox/releases/131.0.3/update/">update/</a></td>
26
- // <td></td>
27
- // <td></td>
28
- // </tr>
29
- // <tr>
30
- // <td>File</td>
31
- // <td><a href="/pub/firefox/releases/131.0.3/SHA256SUMS.asc">SHA256SUMS.asc</a></td>
32
- // <td>833</td>
33
- // <td>12-Apr-2025 08:52</td>
34
- // </tr>
35
- // Parse Mozilla directory listing format - handles two different formats:
36
- // Format 1 (main index): <td><a href="/path/">name/</a></td>
37
- // Format 2 (version dir): <td>Type</td><td><a href="/path/">name</a></td><td>size</td><td>date</td>
38
- // Try the detailed format first (with Type/Size/Date columns)
39
- const detailedRe = /<tr>\s*<td>(Dir|File)<\/td>\s*<td><a href="([^"]+?)"[^>]*?>[^<]+?<\/a><\/td>\s*<td>([^<]*?)<\/td>\s*<td>([^<]*?)<\/td>\s*<\/tr>/gi;
40
- const detailedMatches = Array.from(html.matchAll(detailedRe));
41
- let matchs;
42
- let useDetailedFormat = false;
43
- if (detailedMatches.length > 0) {
44
- // Use detailed format
45
- matchs = detailedMatches;
46
- useDetailedFormat = true;
32
+ // For root directory, use Mozilla's product-details JSON API
33
+ // This is more reliable than parsing the large HTML directory listing
34
+ if (dir === '/') {
35
+ return await __classPrivateFieldGet(this, _FirefoxBinary_instances, "m", _FirefoxBinary_fetchRootDir).call(this, binaryName);
36
+ }
37
+ return await __classPrivateFieldGet(this, _FirefoxBinary_instances, "m", _FirefoxBinary_fetchSubDir).call(this, dir, binaryName);
38
+ }
39
+ };
40
+ _FirefoxBinary_instances = new WeakSet();
41
+ _FirefoxBinary_fetchRootDir =
42
+ // Use Mozilla's product-details JSON API to list Firefox versions
43
+ async function _FirefoxBinary_fetchRootDir(binaryName) {
44
+ const binaryConfig = binaries[binaryName];
45
+ const data = await this.requestJSON(PRODUCT_DETAILS_URL);
46
+ const items = __classPrivateFieldGet(this, _FirefoxBinary_instances, "m", _FirefoxBinary_parseProductDetails).call(this, data, binaryConfig.options?.ignoreDownloadStatuses);
47
+ return { items, nextParams: null };
48
+ };
49
+ _FirefoxBinary_parseProductDetails = function _FirefoxBinary_parseProductDetails(data, ignoreDownloadStatuses) {
50
+ const versionSet = new Set();
51
+ for (const release of Object.values(data.releases)) {
52
+ const version = release.version;
53
+ versionSet.add(version);
54
+ }
55
+ const items = [];
56
+ for (const version of versionSet) {
57
+ // Filter out old Firefox versions (< 100.0.0)
58
+ const match = /^(\d+)/.exec(version);
59
+ if (match) {
60
+ const major = Number.parseInt(match[1]);
61
+ if (major < 100) {
62
+ continue;
63
+ }
64
+ }
65
+ const name = `${version}/`;
66
+ items.push({
67
+ name,
68
+ isDir: true,
69
+ url: '',
70
+ size: '-',
71
+ date: '-',
72
+ ignoreDownloadStatuses,
73
+ });
74
+ }
75
+ // Add special directories
76
+ for (const special of ['latest/', 'latest-beta/', 'latest-esr/']) {
77
+ items.push({
78
+ name: special,
79
+ isDir: true,
80
+ url: '',
81
+ size: '-',
82
+ date: '-',
83
+ ignoreDownloadStatuses,
84
+ });
85
+ }
86
+ return items;
87
+ };
88
+ _FirefoxBinary_fetchSubDir =
89
+ // Parse Mozilla archive HTML directory listing for subdirectories
90
+ async function _FirefoxBinary_fetchSubDir(dir, binaryName) {
91
+ const binaryConfig = binaries[binaryName];
92
+ const url = `${binaryConfig.distUrl}${dir}`;
93
+ const html = await this.requestXml(url);
94
+ // Mozilla archive has format like:
95
+ // <tr>
96
+ // <td>Dir</td>
97
+ // <td><a href="/pub/firefox/releases/131.0.3/update/">update/</a></td>
98
+ // <td></td>
99
+ // <td></td>
100
+ // </tr>
101
+ // <tr>
102
+ // <td>File</td>
103
+ // <td><a href="/pub/firefox/releases/131.0.3/SHA256SUMS.asc">SHA256SUMS.asc</a></td>
104
+ // <td>833</td>
105
+ // <td>12-Apr-2025 08:52</td>
106
+ // </tr>
107
+ // Parse Mozilla directory listing format - handles two different formats:
108
+ // Format 1 (main index): <td><a href="/path/">name/</a></td>
109
+ // Format 2 (version dir): <td>Type</td><td><a href="/path/">name</a></td><td>size</td><td>date</td>
110
+ // Try the detailed format first (with Type/Size/Date columns)
111
+ const detailedRe = /<tr>\s*<td>(Dir|File)<\/td>\s*<td><a href="([^"]+?)"[^>]*?>[^<]+?<\/a><\/td>\s*<td>([^<]*?)<\/td>\s*<td>([^<]*?)<\/td>\s*<\/tr>/gi;
112
+ const detailedMatches = Array.from(html.matchAll(detailedRe));
113
+ let matchs;
114
+ let useDetailedFormat = false;
115
+ if (detailedMatches.length > 0) {
116
+ // Use detailed format
117
+ matchs = detailedMatches;
118
+ useDetailedFormat = true;
119
+ }
120
+ else {
121
+ // Fallback to simple format
122
+ const simpleRe = /<td><a href="([^"]+?)"[^>]*?>[^<]+?<\/a><\/td>/gi;
123
+ matchs = Array.from(html.matchAll(simpleRe));
124
+ }
125
+ const items = [];
126
+ for (const m of matchs) {
127
+ let href;
128
+ let isDir;
129
+ let size;
130
+ let date;
131
+ if (useDetailedFormat) {
132
+ // Detailed format: [fullMatch, type, href, size, date]
133
+ const type = m[1]; // "Dir" or "File"
134
+ href = m[2];
135
+ size = m[3].trim() || '-';
136
+ date = m[4].trim() || '-';
137
+ isDir = type === 'Dir';
47
138
  }
48
139
  else {
49
- // Fallback to simple format
50
- const simpleRe = /<td><a href="([^"]+?)"[^>]*?>[^<]+?<\/a><\/td>/gi;
51
- matchs = Array.from(html.matchAll(simpleRe));
140
+ // Simple format: [fullMatch, href]
141
+ href = m[1];
142
+ isDir = href.endsWith('/');
143
+ size = '-';
144
+ date = '-';
52
145
  }
53
- const items = [];
54
- for (const m of matchs) {
55
- let href;
56
- let isDir;
57
- let size;
58
- let date;
59
- if (useDetailedFormat) {
60
- // Detailed format: [fullMatch, type, href, size, date]
61
- const type = m[1]; // "Dir" or "File"
62
- href = m[2];
63
- size = m[3].trim() || '-';
64
- date = m[4].trim() || '-';
65
- isDir = type === 'Dir';
66
- }
67
- else {
68
- // Simple format: [fullMatch, href]
69
- href = m[1];
70
- isDir = href.endsWith('/');
71
- size = '-';
72
- date = '-';
73
- }
74
- // Extract the name from the href path
75
- // href could be "/pub/firefox/releases/130.0/" or just "130.0/"
76
- let name = href;
77
- if (href.startsWith('/')) {
78
- // Extract the last part of the path
79
- const parts = href.split('/').filter(Boolean);
80
- name = parts[parts.length - 1] ?? '';
81
- if (href.endsWith('/')) {
82
- name += '/';
83
- }
146
+ // Extract the name from the href path
147
+ // href could be "/pub/firefox/releases/130.0/" or just "130.0/"
148
+ let name = href;
149
+ if (href.startsWith('/')) {
150
+ // Extract the last part of the path
151
+ const parts = href.split('/').filter(Boolean);
152
+ name = parts[parts.length - 1] ?? '';
153
+ if (href.endsWith('/')) {
154
+ name += '/';
84
155
  }
85
- if (!isDir) {
86
- // Keep the full name for files
87
- name = basename(name);
88
- }
89
- // Skip parent directory links
90
- if (name === '../' || href === '/pub/firefox/' || href.endsWith('/..') || href === '/pub/firefox/releases/')
91
- continue;
92
- // Filter out old Firefox versions (< 100.0.0) for directories - apply to main index (root directory)
93
- if (isDir && name !== '../' && dir === '/') {
94
- const versionName = name.slice(0, -1); // Remove trailing '/'
95
- // Skip non-version directories that are just special names
96
- if (/^\d+\.\d+/.test(versionName)) {
97
- try {
98
- const major = Number.parseInt(versionName.split('.')[0]);
99
- if (major < 100) {
100
- continue; // Skip versions < 100.0.0
101
- }
102
- }
103
- catch {
104
- // If version parsing fails, skip this directory
105
- continue;
156
+ }
157
+ if (!isDir) {
158
+ // Keep the full name for files
159
+ name = basename(name);
160
+ }
161
+ // Skip parent directory links
162
+ if (name === '../' || href === '/pub/firefox/' || href.endsWith('/..') || href === '/pub/firefox/releases/')
163
+ continue;
164
+ // Filter out old Firefox versions (< 100.0.0) for directories - apply to main index (root directory)
165
+ if (isDir && name !== '../' && dir === '/') {
166
+ const versionName = name.slice(0, -1); // Remove trailing '/'
167
+ // Skip non-version directories that are just special names
168
+ if (/^\d+\.\d+/.test(versionName)) {
169
+ try {
170
+ const major = Number.parseInt(versionName.split('.')[0]);
171
+ if (major < 100) {
172
+ continue; // Skip versions < 100.0.0
106
173
  }
107
174
  }
108
- // Also skip named directories that aren't version numbers
109
- else if (!['latest', 'latest-beta', 'latest-esr'].includes(versionName)) {
175
+ catch {
176
+ // If version parsing fails, skip this directory
110
177
  continue;
111
178
  }
112
179
  }
113
- const fileUrl = isDir ? '' : `${url}${name}`;
114
- if (binaryConfig.ignoreFiles?.includes(`${dir}${name}`))
180
+ // Also skip named directories that aren't version numbers
181
+ else if (!['latest', 'latest-beta', 'latest-esr'].includes(versionName)) {
115
182
  continue;
116
- const item = {
117
- name,
118
- isDir,
119
- url: fileUrl,
120
- size,
121
- date,
122
- ignoreDownloadStatuses: binaryConfig.options?.ignoreDownloadStatuses,
123
- };
124
- items.push(item);
183
+ }
125
184
  }
126
- return { items, nextParams: null };
185
+ const fileUrl = isDir ? '' : `${url}${name}`;
186
+ if (binaryConfig.ignoreFiles?.includes(`${dir}${name}`))
187
+ continue;
188
+ const item = {
189
+ name,
190
+ isDir,
191
+ url: fileUrl,
192
+ size,
193
+ date,
194
+ ignoreDownloadStatuses: binaryConfig.options?.ignoreDownloadStatuses,
195
+ };
196
+ items.push(item);
127
197
  }
198
+ return { items, nextParams: null };
128
199
  };
129
200
  FirefoxBinary = __decorate([
130
201
  SingletonProto(),
131
202
  BinaryAdapter(BinaryType.Firefox)
132
203
  ], FirefoxBinary);
133
204
  export { FirefoxBinary };
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlyZWZveEJpbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9iaW5hcnkvRmlyZWZveEJpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFckMsT0FBTyxRQUE2QixNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUloRyxJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsY0FBYztJQUMvQyxLQUFLLENBQUMsU0FBUztRQUNiLGFBQWE7UUFDYixPQUFPO0lBQ1QsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQVcsRUFBRSxVQUFzQjtRQUM3QyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQzVDLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4QyxtQ0FBbUM7UUFDbkMsT0FBTztRQUNQLHVCQUF1QjtRQUN2QiwrRUFBK0U7UUFDL0Usb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixRQUFRO1FBQ1IsT0FBTztRQUNQLHdCQUF3QjtRQUN4Qiw2RkFBNkY7UUFDN0YsdUJBQXVCO1FBQ3ZCLHFDQUFxQztRQUNyQyxRQUFRO1FBRVIsMEVBQTBFO1FBQzFFLDZEQUE2RDtRQUM3RCxvR0FBb0c7UUFFcEcsOERBQThEO1FBQzlELE1B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
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlyZWZveEJpbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9iaW5hcnkvRmlyZWZveEJpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFckMsT0FBTyxRQUE2QixNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RywyREFBMkQ7QUFDM0QsdURBQXVEO0FBQ3ZELE1BQU0sbUJBQW1CLEdBQUcsc0RBQXNELENBQUM7QUFrQjVFLElBQU0sYUFBYSxHQUFuQixNQUFNLGFBQWMsU0FBUSxjQUFjO0lBQTFDOzs7SUE4TFAsQ0FBQztJQTdMQyxLQUFLLENBQUMsU0FBUztRQUNiLGFBQWE7UUFDYixPQUFPO0lBQ1QsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQVcsRUFBRSxVQUFzQjtRQUM3Qyw2REFBNkQ7UUFDN0Qsc0VBQXNFO1FBQ3RFLElBQUksR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sTUFBTSx1QkFBQSxJQUFJLDZEQUFjLE1BQWxCLElBQUksRUFBZSxVQUFVLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxNQUFNLHVCQUFBLElBQUksNERBQWEsTUFBakIsSUFBSSxFQUFjLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBZ0xGLENBQUE7OztBQTlLQyxrRUFBa0U7QUFDbEUsS0FBSyxzQ0FBZSxVQUFzQjtJQUN4QyxNQUFNLFlBQVksR0FBRyxRQUFRLENB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
@@ -110,6 +110,10 @@ let PackageVersionFileController = class PackageVersionFileController extends Ab
110
110
  return formatFileItem(file);
111
111
  }
112
112
  ctx.set('cache-control', FILE_CACHE_CONTROL);
113
+ // SRI support: https://github.com/cnpm/cnpmcore/issues/634
114
+ if (file.dist.integrity) {
115
+ ctx.set('x-integrity', file.dist.integrity);
116
+ }
113
117
  // https://github.com/cnpm/cnpmcore/issues/693#issuecomment-2955268229
114
118
  ctx.type = ensureContentType(file.contentType);
115
119
  return await this.distRepository.getDistStream(file.dist);
@@ -239,4 +243,4 @@ PackageVersionFileController = __decorate([
239
243
  HTTPController()
240
244
  ], PackageVersionFileController);
241
245
  export { PackageVersionFileController };
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVZlcnNpb25GaWxlQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9wb3J0L2NvbnRyb2xsZXIvUGFja2FnZVZlcnNpb25GaWxlQ29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsT0FBTyxFQUNQLGNBQWMsRUFDZCxVQUFVLEVBQ1YsY0FBYyxFQUNkLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLEtBQUssQ0FBQztBQUNiLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBTW5GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBaUI3RCxTQUFTLGNBQWMsQ0FBQyxJQUF3QjtJQUM5QyxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1FBQ2YsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7UUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztRQUM5QixZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtLQUNyQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sa0JBQWtCLEdBQUcsa0NBQWtD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
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVZlcnNpb25GaWxlQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9wb3J0L2NvbnRyb2xsZXIvUGFja2FnZVZlcnNpb25GaWxlQ29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsT0FBTyxFQUNQLGNBQWMsRUFDZCxVQUFVLEVBQ1YsY0FBYyxFQUNkLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLEtBQUssQ0FBQztBQUNiLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBTW5GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBaUI3RCxTQUFTLGNBQWMsQ0FBQyxJQUF3QjtJQUM5QyxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1FBQ2YsSUFBSSxFQUFFLE1BQU07UUFDWixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7UUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztRQUM5QixZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtLQUNyQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sa0JBQWtCLEdBQUcsa0NBQWtD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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cnpmcore",
3
- "version": "4.22.0",
3
+ "version": "4.23.0",
4
4
  "description": "Private NPM Registry for Enterprise",
5
5
  "keywords": [
6
6
  "npm",
@@ -139,14 +139,14 @@
139
139
  "@types/npm-package-arg": "^6.1.4",
140
140
  "@types/pg": "^8.16.0",
141
141
  "@types/semver": "^7.7.1",
142
- "@types/tar": "^6.1.13",
142
+ "@types/tar": "^7.0.0",
143
143
  "@types/validate-npm-package-name": "^4.0.2",
144
144
  "coffee": "^5.5.1",
145
145
  "husky": "^9.1.7",
146
146
  "lint-staged": "^16.2.7",
147
- "oxfmt": "^0.28.0",
147
+ "oxfmt": "^0.35.0",
148
148
  "oxlint": "^1.32.0",
149
- "oxlint-tsgolint": "^0.14.2",
149
+ "oxlint-tsgolint": "^0.15.0",
150
150
  "typescript": "^5.9.3"
151
151
  },
152
152
  "optionalDependencies": {