jspm 2.0.0-beta.7 → 3.0.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.
Files changed (100) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +26 -32
  3. package/dist/cli.js +1416 -0
  4. package/jspm.js +10 -0
  5. package/package.json +32 -60
  6. package/CHANGELOG.md +0 -25
  7. package/bin/jspm +0 -46
  8. package/lib/api.d.ts +0 -10
  9. package/lib/api.js +0 -71
  10. package/lib/api.js.map +0 -1
  11. package/lib/build/index.d.ts +0 -24
  12. package/lib/build/index.js +0 -163
  13. package/lib/build/index.js.map +0 -1
  14. package/lib/cli.d.ts +0 -1
  15. package/lib/cli.js +0 -701
  16. package/lib/cli.js.map +0 -1
  17. package/lib/compile/cjs-convert.d.ts +0 -7
  18. package/lib/compile/cjs-convert.js +0 -375
  19. package/lib/compile/cjs-convert.js.map +0 -1
  20. package/lib/compile/dew-resolve.d.ts +0 -9
  21. package/lib/compile/dew-resolve.js +0 -117
  22. package/lib/compile/dew-resolve.js.map +0 -1
  23. package/lib/compile/dew-worker.d.ts +0 -1
  24. package/lib/compile/dew-worker.js +0 -302
  25. package/lib/compile/dew-worker.js.map +0 -1
  26. package/lib/config/config-file.d.ts +0 -67
  27. package/lib/config/config-file.js +0 -591
  28. package/lib/config/config-file.js.map +0 -1
  29. package/lib/config/global-config-file.d.ts +0 -8
  30. package/lib/config/global-config-file.js +0 -89
  31. package/lib/config/global-config-file.js.map +0 -1
  32. package/lib/config/index.d.ts +0 -15
  33. package/lib/config/index.js +0 -59
  34. package/lib/config/index.js.map +0 -1
  35. package/lib/config/jspm-file.d.ts +0 -8
  36. package/lib/config/jspm-file.js +0 -84
  37. package/lib/config/jspm-file.js.map +0 -1
  38. package/lib/config/package-json-file.d.ts +0 -49
  39. package/lib/config/package-json-file.js +0 -332
  40. package/lib/config/package-json-file.js.map +0 -1
  41. package/lib/exec/index.d.ts +0 -12
  42. package/lib/exec/index.js +0 -117
  43. package/lib/exec/index.js.map +0 -1
  44. package/lib/install/bin.d.ts +0 -2
  45. package/lib/install/bin.js +0 -85
  46. package/lib/install/bin.js.map +0 -1
  47. package/lib/install/binary-build.d.ts +0 -2
  48. package/lib/install/binary-build.js +0 -89
  49. package/lib/install/binary-build.js.map +0 -1
  50. package/lib/install/fetch.d.ts +0 -53
  51. package/lib/install/fetch.js +0 -270
  52. package/lib/install/fetch.js.map +0 -1
  53. package/lib/install/index.d.ts +0 -66
  54. package/lib/install/index.js +0 -1164
  55. package/lib/install/index.js.map +0 -1
  56. package/lib/install/package.d.ts +0 -142
  57. package/lib/install/package.js +0 -625
  58. package/lib/install/package.js.map +0 -1
  59. package/lib/install/publish.d.ts +0 -14
  60. package/lib/install/publish.js +0 -186
  61. package/lib/install/publish.js.map +0 -1
  62. package/lib/install/registry-manager.d.ts +0 -134
  63. package/lib/install/registry-manager.js +0 -521
  64. package/lib/install/registry-manager.js.map +0 -1
  65. package/lib/install/source.d.ts +0 -10
  66. package/lib/install/source.js +0 -378
  67. package/lib/install/source.js.map +0 -1
  68. package/lib/map/common.d.ts +0 -12
  69. package/lib/map/common.js +0 -182
  70. package/lib/map/common.js.map +0 -1
  71. package/lib/map/esm-lexer.d.ts +0 -17
  72. package/lib/map/esm-lexer.js +0 -506
  73. package/lib/map/esm-lexer.js.map +0 -1
  74. package/lib/map/index.d.ts +0 -15
  75. package/lib/map/index.js +0 -336
  76. package/lib/map/index.js.map +0 -1
  77. package/lib/map/utils.d.ts +0 -10
  78. package/lib/map/utils.js +0 -169
  79. package/lib/map/utils.js.map +0 -1
  80. package/lib/overrides.d.ts +0 -3
  81. package/lib/overrides.js +0 -29
  82. package/lib/overrides.js.map +0 -1
  83. package/lib/project.d.ts +0 -71
  84. package/lib/project.js +0 -434
  85. package/lib/project.js.map +0 -1
  86. package/lib/utils/cache.d.ts +0 -11
  87. package/lib/utils/cache.js +0 -121
  88. package/lib/utils/cache.js.map +0 -1
  89. package/lib/utils/common.d.ts +0 -55
  90. package/lib/utils/common.js +0 -267
  91. package/lib/utils/common.js.map +0 -1
  92. package/lib/utils/opts.d.ts +0 -6
  93. package/lib/utils/opts.js +0 -200
  94. package/lib/utils/opts.js.map +0 -1
  95. package/lib/utils/run-cmd.d.ts +0 -4
  96. package/lib/utils/run-cmd.js +0 -39
  97. package/lib/utils/run-cmd.js.map +0 -1
  98. package/lib/utils/ui.d.ts +0 -38
  99. package/lib/utils/ui.js +0 -496
  100. package/lib/utils/ui.js.map +0 -1
@@ -1,521 +0,0 @@
1
- "use strict";
2
- /*
3
- * Copyright 2014-2019 Guy Bedford (http://guybedford.com)
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- const rimraf = require("rimraf");
19
- const sver_1 = require("sver");
20
- const fs = require("graceful-fs");
21
- const path = require("path");
22
- const mkdirp = require("mkdirp");
23
- const package_1 = require("./package");
24
- const common_1 = require("../utils/common");
25
- const config_file_1 = require("../config/config-file");
26
- const cache_1 = require("../utils/cache");
27
- const global_config_file_1 = require("../config/global-config-file");
28
- const source_1 = require("../install/source");
29
- const cjs_convert_1 = require("../compile/cjs-convert");
30
- const binary_build_1 = require("./binary-build");
31
- const VerifyState = {
32
- NOT_INSTALLED: 0,
33
- INVALID: 1,
34
- HASH_VALID: 2,
35
- VERIFIED_VALID: 3
36
- };
37
- class RegistryManager {
38
- constructor({ cacheDir, timeouts, Cache, userInput, offline, preferOffline, strictSSL, defaultRegistry, log, input, confirm, fetch, registries }) {
39
- this.userInput = userInput;
40
- this.offline = offline;
41
- this.preferOffline = preferOffline;
42
- this.cacheDir = cacheDir;
43
- this.strictSSL = strictSSL;
44
- this.timeouts = timeouts;
45
- this.defaultRegistry = defaultRegistry;
46
- this.instanceId = Math.round(Math.random() * 10 ** 10);
47
- this.registries = registries;
48
- this.util = {
49
- encodeVersion: common_1.encodeInvalidFileChars,
50
- JspmUserError: common_1.JspmUserError,
51
- log,
52
- input,
53
- confirm,
54
- bold: common_1.bold,
55
- highlight: common_1.highlight,
56
- underline: common_1.underline,
57
- globalConfig: global_config_file_1.default,
58
- fetch: fetch.fetch.bind(fetch),
59
- getCredentials: fetch.getCredentials.bind(fetch)
60
- };
61
- this.fetch = fetch;
62
- // note which installs have been verified in this session
63
- // so we only have to perform verification once per package
64
- this.verifiedCache = {};
65
- this.endpoints = new Map();
66
- this.cache = new Cache(path.resolve(cacheDir, 'pcfg'));
67
- mkdirp.sync(path.resolve(cacheDir, 'packages'));
68
- }
69
- loadEndpoints() {
70
- Object.keys(this.registries).forEach((registryName) => {
71
- if (registryName === 'jspm')
72
- return;
73
- try {
74
- this.getEndpoint(registryName);
75
- }
76
- catch (err) {
77
- if (err && err.code === 'REGISTRY_NOT_FOUND')
78
- this.util.log.warn(err.message.substr(err.message.indexOf('\n')).trim());
79
- else
80
- throw err;
81
- }
82
- });
83
- }
84
- getEndpoint(name) {
85
- let endpointEntry = this.endpoints.get(name);
86
- if (endpointEntry)
87
- return endpointEntry;
88
- // config returned by config get is a new object owned by us
89
- const registry = this.registries[name];
90
- const config = registry.config;
91
- if (config.strictSSL !== 'boolean')
92
- config.strictSSL = this.strictSSL;
93
- config.timeout = this.timeouts.resolve;
94
- config.userInput = this.userInput;
95
- config.offline = this.offline;
96
- config.preferOffline = this.preferOffline;
97
- let EndpointConstructor;
98
- if (typeof registry.handler === "string") {
99
- try {
100
- EndpointConstructor = require(registry.handler);
101
- }
102
- catch (e) {
103
- if (e && e.code === 'MODULE_NOT_FOUND') {
104
- if (e.message && e.message.indexOf(registry.handler) !== -1) {
105
- this.util.log.warn(`Registry module '${registry.handler}' not found loading package ${common_1.bold(name)}.
106
- This may be from a previous jspm version and can be removed with ${common_1.bold(`jspm config --unset registries.${name}`)}.`);
107
- return;
108
- }
109
- else {
110
- throw new common_1.JspmError(`Error loading registry ${common_1.bold(name)} from module '${registry.handler}'.`, 'REGISTRY_LOAD_ERROR', e);
111
- }
112
- }
113
- else {
114
- throw e;
115
- }
116
- }
117
- }
118
- else {
119
- EndpointConstructor = registry.handler;
120
- }
121
- const endpoint = new EndpointConstructor(this.util, config);
122
- const cache = new cache_1.default(path.resolve(this.cacheDir, 'registry_cache', name));
123
- endpointEntry = { endpoint, cache };
124
- this.endpoints.set(name, endpointEntry);
125
- return endpointEntry;
126
- }
127
- dispose() {
128
- return Promise.all(Array.from(this.endpoints.values()).map(entry => entry.endpoint.dispose ? entry.endpoint.dispose() : undefined));
129
- }
130
- async configure(registryName) {
131
- const { endpoint } = this.getEndpoint(registryName);
132
- if (!endpoint.configure)
133
- throw new common_1.JspmUserError(`The ${registryName} registry doesn't have any configuration hook.`);
134
- await endpoint.configure();
135
- }
136
- async auth(url, method, credentials, unauthorizedHeaders) {
137
- for (let [registry, { endpoint }] of this.endpoints.entries()) {
138
- if (!endpoint.auth)
139
- continue;
140
- if (await endpoint.auth(url, method, credentials, unauthorizedHeaders))
141
- return registry;
142
- }
143
- return undefined;
144
- }
145
- async resolve(pkg, override, edge = false) {
146
- let registry = pkg.registry || this.defaultRegistry;
147
- let { endpoint, cache } = this.getEndpoint(registry);
148
- let resolveRange = new sver_1.SemverRange(pkg.version || '*');
149
- let lookup, resolvedVersion, redirect, resolved;
150
- try {
151
- // loop over any redirects
152
- while (true) {
153
- lookup = await cache.getUnlocked(pkg.name, this.timeouts.resolve);
154
- if (resolveRange.isExact) {
155
- resolvedVersion = resolveRange.version.toString();
156
- lookup = lookup || { versions: {}, meta: {} };
157
- }
158
- else if (lookup && (this.offline || this.preferOffline)) {
159
- if (lookup.redirect) {
160
- redirect = lookup.redirect;
161
- }
162
- else {
163
- let versionList = Object.keys(lookup.versions);
164
- resolvedVersion = resolveRange.bestMatch(versionList, edge);
165
- if (resolvedVersion === undefined && edge === false)
166
- resolvedVersion = resolveRange.bestMatch(versionList, true);
167
- if (resolvedVersion !== undefined)
168
- resolvedVersion = resolvedVersion.toString();
169
- }
170
- }
171
- if (resolvedVersion === undefined && redirect === undefined) {
172
- // no resolution available offline
173
- if (this.offline)
174
- return;
175
- const unlock = await cache.lock(pkg.name, this.timeouts.resolve);
176
- try {
177
- // cache could have been written while we were getting the lock, although don't bother rechecking resolved as small benefit
178
- lookup = await cache.get(pkg.name) || { versions: {}, meta: {} };
179
- const logEnd = this.util.log.taskStart(`Looking up ${this.util.highlight(pkg.name)}`);
180
- let changed;
181
- try {
182
- changed = await endpoint.lookup(pkg.name, resolveRange, lookup);
183
- }
184
- finally {
185
- logEnd();
186
- }
187
- logEnd();
188
- if (changed && common_1.hasProperties(lookup.versions))
189
- cache.setUnlock(pkg.name, lookup).catch(() => { });
190
- else
191
- unlock().catch(() => { });
192
- }
193
- catch (e) {
194
- unlock().catch(() => { });
195
- throw e;
196
- }
197
- }
198
- if (lookup.redirect)
199
- redirect = lookup.redirect;
200
- if (redirect) {
201
- var redirects = redirects || [];
202
- redirects.push(redirect);
203
- if (redirects.indexOf(redirect) !== redirects.length - 1)
204
- throw new common_1.JspmUserError(`Circular redirect during lookup - ${redirects.join(' -> ')}.`);
205
- // loop while redirecting
206
- let redirectPkg = package_1.parsePackageName(redirect);
207
- pkg = redirectPkg;
208
- ({ endpoint, cache } = this.getEndpoint(registry = pkg.registry));
209
- }
210
- else {
211
- if (resolvedVersion === undefined) {
212
- const versionList = Object.keys(lookup.versions);
213
- resolvedVersion = resolveRange.bestMatch(versionList, edge);
214
- if (resolvedVersion === undefined && edge === false)
215
- resolvedVersion = resolveRange.bestMatch(versionList, true);
216
- if (resolvedVersion !== undefined)
217
- resolvedVersion = resolvedVersion.toString();
218
- }
219
- // 404
220
- if (!resolvedVersion)
221
- return;
222
- let version = lookup.versions[resolvedVersion];
223
- if ((this.preferOffline || this.offline) && version && version.resolved) {
224
- resolved = version.resolved;
225
- }
226
- else {
227
- if (this.offline)
228
- return;
229
- // this could result in a cache change... but it's local so we don't lock before we start
230
- const logEnd = this.util.log.taskStart(`Resolving ${this.util.highlight(`${pkg.name}@${resolvedVersion}`)}`);
231
- let changed;
232
- try {
233
- changed = await endpoint.resolve(pkg.name, resolvedVersion, lookup);
234
- }
235
- finally {
236
- logEnd();
237
- }
238
- if (changed) {
239
- version = lookup.versions[resolvedVersion];
240
- if (!version)
241
- return;
242
- resolved = version.resolved;
243
- // cache update individual resolve
244
- (async () => {
245
- const unlock = await cache.lock(pkg.name, this.timeouts.resolve);
246
- await cache.set(pkg.name, lookup);
247
- return unlock();
248
- })().catch(() => { });
249
- }
250
- else if (!version) {
251
- return;
252
- }
253
- else {
254
- resolved = version.resolved;
255
- }
256
- if (!resolved)
257
- throw new Error(`jspm registry endpoint for ${common_1.bold(registry)} did not properly resolve ${common_1.highlight(pkg.name)}.`);
258
- }
259
- break;
260
- }
261
- }
262
- }
263
- catch (e) {
264
- if (redirects)
265
- e.redirects = redirects;
266
- throw e;
267
- }
268
- let resolvedOverride;
269
- if (resolved.override) {
270
- resolvedOverride = package_1.processPackageConfig(resolved.override, true, override && override.registry);
271
- if (override)
272
- ({ config: override } = package_1.overridePackageConfig(resolvedOverride, override));
273
- else
274
- override = resolvedOverride;
275
- }
276
- return {
277
- pkg: {
278
- registry,
279
- name: pkg.name,
280
- version: resolved.version || resolvedVersion,
281
- semver: new sver_1.Semver(resolvedVersion)
282
- },
283
- target: redirects ? {
284
- registry,
285
- name: pkg.name,
286
- version: pkg.version
287
- } : pkg,
288
- source: resolved.source,
289
- override,
290
- deprecated: resolved.deprecated
291
- };
292
- }
293
- async resolveSource(source, packagePath, projectPath) {
294
- if (source.startsWith('link:') || source.startsWith('file:') || source.startsWith('git+file:')) {
295
- let sourceProtocol = source.substr(0, source[0] === 'g' ? 9 : 5);
296
- let sourcePath = path.resolve(source.substr(source[0] === 'g' ? 9 : 5));
297
- // relative file path installs that are not for the top-level project are relative to their package real path
298
- if (packagePath !== process.cwd()) {
299
- if ((common_1.isWindows && (source[0] === '/' || source[0] === '\\')) ||
300
- sourcePath[0] === '.' && (sourcePath[1] === '/' || sourcePath[1] === '\\' || (sourcePath[1] === '.' && (sourcePath[2] === '/' || sourcePath[2] === '\\')))) {
301
- const realPackagePath = await new Promise((resolve, reject) => fs.realpath(packagePath, (err, realpath) => err ? reject(err) : resolve(realpath)));
302
- sourcePath = path.resolve(realPackagePath, sourcePath);
303
- }
304
- }
305
- // if a file: install and it is a directory then it is a link: install
306
- if (source.startsWith('file:')) {
307
- try {
308
- const stats = fs.statSync(sourcePath);
309
- if (stats.isDirectory())
310
- sourceProtocol = 'link:';
311
- }
312
- catch (e) {
313
- if (e && e.code === 'ENOENT')
314
- throw new common_1.JspmUserError(`Path ${sourcePath} is not a valid file or directory.`);
315
- throw e;
316
- }
317
- }
318
- sourcePath = path.relative(projectPath, sourcePath) + '/';
319
- if (common_1.isWindows)
320
- sourcePath = sourcePath.replace(common_1.winSepRegEx, '/');
321
- source = sourceProtocol + sourcePath;
322
- }
323
- if (this.offline)
324
- return source;
325
- return source_1.resolveSource(this.util.log, this.fetch, source, this.timeouts.resolve);
326
- }
327
- async verifyInstallDir(dir, verifyHash, fullVerification) {
328
- const cachedState = this.verifiedCache[verifyHash];
329
- if (cachedState !== undefined && (cachedState !== VerifyState.HASH_VALID || !fullVerification))
330
- return cachedState;
331
- const installFile = path.resolve(dir, '.jspm');
332
- const jspmJson = await common_1.readJSON(installFile);
333
- if (!jspmJson)
334
- return this.verifiedCache[verifyHash] = VerifyState.NOT_INSTALLED;
335
- if (typeof jspmJson.mtime !== 'number' || jspmJson.hash !== verifyHash)
336
- return this.verifiedCache[verifyHash] = VerifyState.INVALID;
337
- // if not doing full verification for perf, stop here
338
- if (!fullVerification)
339
- return this.verifiedCache[verifyHash] = VerifyState.HASH_VALID;
340
- // mtime check (skipping .jspm file)
341
- let failure = false;
342
- await dirWalk(dir, async (filePath, stats) => {
343
- if (filePath === installFile)
344
- return;
345
- if (stats.mtimeMs > jspmJson.mtime) {
346
- failure = true;
347
- return true;
348
- }
349
- });
350
- return this.verifiedCache[verifyHash] = failure ? VerifyState.INVALID : VerifyState.VERIFIED_VALID;
351
- /*
352
- let fileHashes = await Promise.all(fileList.map(getFileHash));
353
- let installedDirHash = sha256(fileHashes.sort().join(''));
354
-
355
- // hash match -> update the mtime in the install file so we dont check next time
356
- if (installedDirHash === dirHash) {
357
- await new Promise((resolve, reject) => {
358
- fs.writeFile(installFile, mtime + '\n' + hash + '\n' + dirHash, err => err ? reject(err) : resolve())
359
- });
360
- return true;
361
- }*/
362
- }
363
- // on verification failure, we remove the directory and redownload
364
- // moving to a tmp location can be done during the verificationFailure call, to diff and determine route forward
365
- // if deciding to checkout, "ensureInstall" operation is cancelled by returning true
366
- // build support will be added to build into a newly prefixed folder, with build as a boolean argument
367
- async ensureInstall(source, override, verificationFailure, fullVerification = false) {
368
- let sourceHash = common_1.sha256(source);
369
- var { config = undefined, hash = undefined } = await this.cache.getUnlocked(sourceHash, this.timeouts.download) || {};
370
- if (config) {
371
- config = package_1.processPackageConfig(config);
372
- if (override) {
373
- ({ config, override } = package_1.overridePackageConfig(config, override));
374
- hash = sourceHash + (override ? common_1.md5(JSON.stringify(override)) : '');
375
- }
376
- cjs_convert_1.convertCJSConfig(config);
377
- var dir = path.join(this.cacheDir, 'packages', hash);
378
- const verifyState = await this.verifyInstallDir(dir, hash, fullVerification);
379
- if (verifyState > VerifyState.INVALID)
380
- return { config, override, dir, hash, changed: false };
381
- else if (verifyState !== VerifyState.NOT_INSTALLED && await verificationFailure(dir))
382
- return;
383
- }
384
- if (this.offline)
385
- throw new common_1.JspmUserError(`Package is not available for offline install.`);
386
- let unlock = await this.cache.lock(sourceHash, this.timeouts.download);
387
- try {
388
- // could have been a write while we were getting the lock
389
- if (!config) {
390
- var { config = undefined, hash = undefined } = await this.cache.get(sourceHash) || {};
391
- if (config) {
392
- config = package_1.processPackageConfig(config);
393
- if (override) {
394
- ({ config, override } = package_1.overridePackageConfig(config, override));
395
- hash = sourceHash + (override ? common_1.md5(JSON.stringify(override)) : '');
396
- }
397
- cjs_convert_1.convertCJSConfig(config);
398
- var dir = path.join(this.cacheDir, 'packages', hash);
399
- const verifyState = await this.verifyInstallDir(dir, hash, fullVerification);
400
- if (verifyState > VerifyState.INVALID)
401
- return { config, override, dir, hash, changed: false };
402
- else if (verifyState !== VerifyState.NOT_INSTALLED && await verificationFailure(dir))
403
- return;
404
- }
405
- }
406
- // if we dont know the config then we dont know the canonical override (and hence hash)
407
- // so we download to a temporary folder first
408
- if (!config)
409
- dir = path.join(this.cacheDir, 'tmp', common_1.sha256(Math.random().toString()));
410
- await new Promise((resolve, reject) => rimraf(dir, err => err ? reject(err) : resolve()));
411
- await new Promise((resolve, reject) => mkdirp(dir, err => err ? reject(err) : resolve()));
412
- if (this.offline)
413
- throw new common_1.JspmUserError(`Source ${source} is not available offline.`);
414
- // if source is linked, can return the linked dir directly
415
- await source_1.downloadSource(this.util.log, this.fetch, source, dir, this.timeouts.download);
416
- const logEnd = this.util.log.taskStart('Finalizing ' + common_1.highlight(source));
417
- try {
418
- let pjsonPath = path.resolve(dir, 'package.json');
419
- let { json: pjson, style } = await config_file_1.readJSONStyled(pjsonPath);
420
- if (!pjson)
421
- pjson = {};
422
- if (!config) {
423
- let pjsonConfig = package_1.processPackageConfig(pjson);
424
- const serializedConfig = package_1.serializePackageConfig(pjsonConfig, this.defaultRegistry);
425
- if (override)
426
- ({ config, override } = package_1.overridePackageConfig(pjsonConfig, override));
427
- else
428
- config = pjsonConfig;
429
- cjs_convert_1.convertCJSConfig(config);
430
- hash = sourceHash + (override ? common_1.md5(JSON.stringify(override)) : '');
431
- await Promise.all([
432
- this.cache.set(sourceHash, { config: serializedConfig, hash }),
433
- // move the tmp folder to the known hash now
434
- (async () => {
435
- const toDir = path.join(this.cacheDir, 'packages', hash);
436
- await new Promise((resolve, reject) => rimraf(toDir, err => err ? reject(err) : resolve()));
437
- await new Promise((resolve, reject) => {
438
- fs.rename(dir, dir = toDir, err => err ? reject(err) : resolve());
439
- });
440
- })()
441
- ]);
442
- pjsonPath = path.resolve(dir, 'package.json');
443
- }
444
- await config_file_1.writeJSONStyled(pjsonPath, Object.assign(pjson, package_1.serializePackageConfig(config)), style || config_file_1.defaultStyle);
445
- await binary_build_1.runBinaryBuild(this.util.log, dir, pjson.name, pjson.scripts);
446
- // run package conversion
447
- // (on any subfolder containing a "type": "commonjs")
448
- await cjs_convert_1.convertCJSPackage(this.util.log, dir, config.name, config, this.defaultRegistry);
449
- var mtime = await new Promise((resolve, reject) => fs.stat(pjsonPath, (err, stats) => err ? reject(err) : resolve(stats.mtimeMs)));
450
- // todo: diffs for invalid?
451
- // const fileHashes = await calculateFileHashes(dir);
452
- // will be useful for avoiding mistaken mtime bumps when viewing
453
- await new Promise((resolve, reject) => {
454
- fs.writeFile(path.join(dir, '.jspm'), JSON.stringify({ mtime, hash }), err => err ? reject(err) : resolve());
455
- });
456
- this.verifiedCache[hash] = VerifyState.VERIFIED_VALID;
457
- return { config, override, dir, hash, changed: true };
458
- }
459
- finally {
460
- logEnd();
461
- }
462
- }
463
- finally {
464
- unlock();
465
- }
466
- }
467
- async publish(packagePath, registry, pjson, tarStream, opts) {
468
- const { endpoint } = this.getEndpoint(registry);
469
- if (!endpoint.publish)
470
- throw new common_1.JspmUserError(`Registry ${common_1.highlight(pjson.registry)} does not support publishing.`);
471
- const logEnd = this.util.log.taskStart(`Publishing ${this.util.highlight(`${registry}:${pjson.name}@${pjson.version}`)}`);
472
- try {
473
- await endpoint.publish(packagePath, pjson, tarStream, opts);
474
- }
475
- finally {
476
- logEnd();
477
- }
478
- }
479
- }
480
- exports.default = RegistryManager;
481
- function dirWalk(dir, visit) {
482
- return new Promise((resolve, reject) => {
483
- let errored = false;
484
- let cnt = 0;
485
- visitFileOrDir(path.resolve(dir));
486
- function handleError(err) {
487
- if (!errored) {
488
- errored = true;
489
- reject(err);
490
- }
491
- }
492
- function visitFileOrDir(fileOrDir) {
493
- cnt++;
494
- fs.stat(fileOrDir, async (err, stats) => {
495
- if (err || errored)
496
- return handleError(err);
497
- try {
498
- if (await visit(fileOrDir, stats))
499
- return resolve();
500
- }
501
- catch (err) {
502
- return handleError(err);
503
- }
504
- if (stats.isDirectory()) {
505
- fs.readdir(fileOrDir, (err, paths) => {
506
- if (err || errored)
507
- return handleError(err);
508
- cnt--;
509
- if (paths.length === 0 && !errored && cnt === 0)
510
- return resolve();
511
- paths.forEach(fileOrDirPath => visitFileOrDir(path.resolve(fileOrDir, fileOrDirPath)));
512
- });
513
- }
514
- else if (!errored && --cnt === 0) {
515
- resolve();
516
- }
517
- });
518
- }
519
- });
520
- }
521
- //# sourceMappingURL=registry-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry-manager.js","sourceRoot":"","sources":["../../src/install/registry-manager.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { Logger } from '../project';
2
- import FetchClass from './fetch';
3
- export declare const sourceProtocols: {
4
- [protocol: string]: {
5
- resolve?: (log: Logger, fetch: FetchClass, source: string, timeout: number) => Promise<string>;
6
- download?: (log: Logger, fetch: FetchClass, source: string, outDir: string, timeout: number) => Promise<void>;
7
- };
8
- };
9
- export declare function resolveSource(log: Logger, fetch: FetchClass, source: string, timeout: number): Promise<string>;
10
- export declare function downloadSource(log: Logger, fetch: FetchClass, source: string, outDir: string, timeout: number): Promise<void>;