cnpmcore 3.19.0 → 3.19.1
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.
|
@@ -88,22 +88,25 @@ async function _downloadToTempfile(httpclient, dataDir, url, optionalConfig) {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
const DEFAULT_CONTENT_TYPE = 'application/octet-stream';
|
|
91
|
+
const PLAIN_TEXT = 'text/plain';
|
|
91
92
|
const WHITE_FILENAME_CONTENT_TYPES = {
|
|
92
|
-
license:
|
|
93
|
-
readme:
|
|
94
|
-
history:
|
|
95
|
-
changelog:
|
|
96
|
-
'.npmignore':
|
|
97
|
-
'.jshintignore':
|
|
93
|
+
license: PLAIN_TEXT,
|
|
94
|
+
readme: PLAIN_TEXT,
|
|
95
|
+
history: PLAIN_TEXT,
|
|
96
|
+
changelog: PLAIN_TEXT,
|
|
97
|
+
'.npmignore': PLAIN_TEXT,
|
|
98
|
+
'.jshintignore': PLAIN_TEXT,
|
|
99
|
+
'.eslintignore': PLAIN_TEXT,
|
|
98
100
|
'.jshintrc': 'application/json',
|
|
99
|
-
'.eslintignore': 'text/plain',
|
|
100
101
|
'.eslintrc': 'application/json',
|
|
101
102
|
};
|
|
102
103
|
function mimeLookup(filepath) {
|
|
103
|
-
const filename = node_path_1.default.basename(filepath);
|
|
104
|
+
const filename = node_path_1.default.basename(filepath).toLowerCase();
|
|
105
|
+
if (filename.endsWith('.ts'))
|
|
106
|
+
return PLAIN_TEXT;
|
|
104
107
|
return mime_types_1.default.lookup(filename) ||
|
|
105
|
-
WHITE_FILENAME_CONTENT_TYPES[filename
|
|
108
|
+
WHITE_FILENAME_CONTENT_TYPES[filename] ||
|
|
106
109
|
DEFAULT_CONTENT_TYPE;
|
|
107
110
|
}
|
|
108
111
|
exports.mimeLookup = mimeLookup;
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvY29tbW9uL0ZpbGVVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLCtDQUE2QztBQUM3QyxxQ0FBNEM7QUFDNUMsbURBQWtEO0FBQ2xELDBEQUE2QjtBQUM3Qix3REFBMkI7QUFDM0IsNkNBQTBDO0FBRTFDLDREQUE4QjtBQUM5QixvREFBNEI7QUFRckIsS0FBSyxVQUFVLGFBQWEsQ0FBQyxPQUFlLEVBQUUsT0FBZ0I7SUFDbkUsMkNBQTJDO0lBQzNDLElBQUksTUFBTSxHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBQSxlQUFLLEdBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUMzRSxJQUFJLE9BQU8sRUFBRTtRQUNYLE1BQU0sR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDckM7SUFDRCxNQUFNLElBQUEsZ0JBQUssRUFBQyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN6QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBUkQsc0NBUUM7QUFFTSxLQUFLLFVBQVUsY0FBYyxDQUFDLE9BQWUsRUFBRSxRQUFnQjtJQUNwRSxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxrSUFBa0k7SUFDbEksK0NBQStDO0lBQy9DLE1BQU0sT0FBTyxHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUEseUJBQVcsRUFBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksbUJBQUksQ0FBQyxRQUFRLENBQUMsa0JBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUyxDQUFDLEVBQUUs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
|
|
@@ -20,6 +20,7 @@ var _PackageVersionFileService_instances, _PackageVersionFileService_ensurePacka
|
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
exports.PackageVersionFileService = void 0;
|
|
22
22
|
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
23
|
+
const node_fs_1 = require("node:fs");
|
|
23
24
|
const node_path_1 = require("node:path");
|
|
24
25
|
const promises_2 = require("node:stream/promises");
|
|
25
26
|
const node_crypto_1 = require("node:crypto");
|
|
@@ -56,15 +57,18 @@ let PackageVersionFileService = class PackageVersionFileService extends Abstract
|
|
|
56
57
|
return files;
|
|
57
58
|
const dirname = `unpkg_${pkg.fullname.replace('/', '_')}@${pkgVersion.version}_${(0, node_crypto_1.randomUUID)()}`;
|
|
58
59
|
const tmpdir = await (0, FileUtil_1.createTempDir)(this.config.dataDir, dirname);
|
|
60
|
+
const tarFile = `${tmpdir}.tgz`;
|
|
59
61
|
const paths = [];
|
|
60
62
|
try {
|
|
61
|
-
await (0, promises_2.pipeline)(tarStream,
|
|
63
|
+
await (0, promises_2.pipeline)(tarStream, (0, node_fs_1.createWriteStream)(tarFile));
|
|
64
|
+
await tar_1.default.extract({
|
|
65
|
+
file: tarFile,
|
|
62
66
|
cwd: tmpdir,
|
|
63
67
|
strip: 1,
|
|
64
68
|
onentry: entry => {
|
|
65
69
|
paths.push(entry.path.replace(/^package\//i, '/'));
|
|
66
70
|
},
|
|
67
|
-
})
|
|
71
|
+
});
|
|
68
72
|
for (const path of paths) {
|
|
69
73
|
const localFile = (0, node_path_1.join)(tmpdir, path);
|
|
70
74
|
const file = await __classPrivateFieldGet(this, _PackageVersionFileService_instances, "m", _PackageVersionFileService_savePackageVersionFile).call(this, pkg, pkgVersion, path, localFile);
|
|
@@ -74,14 +78,20 @@ let PackageVersionFileService = class PackageVersionFileService extends Abstract
|
|
|
74
78
|
return files;
|
|
75
79
|
}
|
|
76
80
|
catch (err) {
|
|
77
|
-
this.logger.warn('[PackageVersionFileService.syncPackageVersionFiles:error] packageVersionId: %s, %d paths,
|
|
81
|
+
this.logger.warn('[PackageVersionFileService.syncPackageVersionFiles:error] packageVersionId: %s, %d paths, tmpdir: %s, error: %s', pkgVersion.packageVersionId, paths.length, tmpdir, err);
|
|
78
82
|
// ignore TAR_BAD_ARCHIVE error
|
|
79
83
|
if (err.code === 'TAR_BAD_ARCHIVE')
|
|
80
84
|
return files;
|
|
81
85
|
throw err;
|
|
82
86
|
}
|
|
83
87
|
finally {
|
|
84
|
-
|
|
88
|
+
try {
|
|
89
|
+
await promises_1.default.rm(tarFile, { force: true });
|
|
90
|
+
await promises_1.default.rm(tmpdir, { recursive: true, force: true });
|
|
91
|
+
}
|
|
92
|
+
catch (err) {
|
|
93
|
+
this.logger.warn('[PackageVersionFileService.syncPackageVersionFiles:warn] remove tmpdir: %s, error: %s', tmpdir, err);
|
|
94
|
+
}
|
|
85
95
|
}
|
|
86
96
|
}
|
|
87
97
|
};
|
|
@@ -146,4 +156,4 @@ PackageVersionFileService = __decorate([
|
|
|
146
156
|
})
|
|
147
157
|
], PackageVersionFileService);
|
|
148
158
|
exports.PackageVersionFileService = PackageVersionFileService;
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZVZlcnNpb25GaWxlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb3JlL3NlcnZpY2UvUGFja2FnZVZlcnNpb25GaWxlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBa0M7QUFDbEMscUNBQTRDO0FBQzVDLHlDQUFvRDtBQUNwRCxtREFBZ0Q7QUFDaEQsNkNBQXlDO0FBQ3pDLDhDQUFzQjtBQUN0QixzQ0FJcUI7QUFDckIsa0VBQStEO0FBQy9ELDBEQUVrQztBQUNsQyxvREFBa0U7QUFDbEUsMEVBRTRDO0FBQzVDLGdHQUE2RjtBQUM3RixvRUFBaUU7QUFDakUscUVBQWtFO0FBTzNELElBQU0seUJBQXlCLEdBQS9CLE1BQU0seUJBQTBCLFNBQVEsaUNBQWU7SUFBdkQ7OztJQStHUCxDQUFDO0lBdkdDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxVQUEwQixFQUFFLFNBQWlCO1FBQ3pFLE1BQU0sdUJBQUEsSUFBSSxzR0FBK0IsTUFBbkMsSUFBSSxFQUFnQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxPQUFPLE1BQU0sSUFBSSxDQUFDLDRCQUE0QixDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRUQsS0FBSyxDQUFDLHNCQUFzQixDQUFDLFVBQTBCLEVBQUUsSUFBWTtRQUNuRSxNQUFNLHVCQUFBLElBQUksc0dBQStCLE1BQW5DLElBQUksRUFBZ0MsVUFBVSxDQUFDLENBQUM7UUFDdEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyx1QkFBQSxJQUFJLDRGQUFxQixNQUF6QixJQUFJLEVBQXNCLElBQUksQ0FBQyxDQUFDO1FBQzVELE9BQU8sTUFBTSxJQUFJLENBQUMsNEJBQTRCLENBQUMsc0JBQXNCLENBQ25FLFVBQVUsQ0FBQyxnQkFBZ0IsRUFB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
|