node-install-release 1.7.11 → 1.8.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.
- package/assets/files.cjs +1 -0
- package/dist/cjs/constants.cjs +5 -0
- package/dist/cjs/constants.cjs.map +1 -1
- package/dist/cjs/installNPM/index.cjs +15 -3
- package/dist/cjs/installNPM/index.cjs.map +1 -1
- package/dist/cjs/installNPM/installBin.cjs +1 -1
- package/dist/cjs/installNPM/installBin.cjs.map +1 -1
- package/dist/cjs/installNPM/installLib.cjs +8 -5
- package/dist/cjs/installNPM/installLib.cjs.map +1 -1
- package/dist/cjs/installNode/index.cjs +16 -5
- package/dist/cjs/installNode/index.cjs.map +1 -1
- package/dist/cjs/installNode/installCompressed.cjs +0 -2
- package/dist/cjs/installNode/installCompressed.cjs.map +1 -1
- package/dist/cjs/installNode/installExe.cjs +0 -1
- package/dist/cjs/installNode/installExe.cjs.map +1 -1
- package/dist/cjs/installNode/installSource/buildWin32.cjs +1 -1
- package/dist/cjs/installNode/installSource/buildWin32.cjs.map +1 -1
- package/dist/cjs/installNode/validateDownload.cjs +1 -3
- package/dist/cjs/installNode/validateDownload.cjs.map +1 -1
- package/dist/cjs/lib/conditionalCache.cjs +1 -6
- package/dist/cjs/lib/conditionalCache.cjs.map +1 -1
- package/dist/cjs/lib/conditionalCopy.cjs +3 -12
- package/dist/cjs/lib/conditionalCopy.cjs.map +1 -1
- package/dist/cjs/lib/conditionalExtract.cjs +8 -11
- package/dist/cjs/lib/conditionalExtract.cjs.map +1 -1
- package/dist/cjs/workers/install.cjs +11 -13
- package/dist/cjs/workers/install.cjs.map +1 -1
- package/dist/esm/constants.mjs +3 -0
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/installNPM/index.mjs +13 -3
- package/dist/esm/installNPM/index.mjs.map +1 -1
- package/dist/esm/installNPM/installBin.mjs +1 -1
- package/dist/esm/installNPM/installBin.mjs.map +1 -1
- package/dist/esm/installNPM/installLib.mjs +8 -5
- package/dist/esm/installNPM/installLib.mjs.map +1 -1
- package/dist/esm/installNode/index.mjs +13 -6
- package/dist/esm/installNode/index.mjs.map +1 -1
- package/dist/esm/installNode/installCompressed.mjs +0 -2
- package/dist/esm/installNode/installCompressed.mjs.map +1 -1
- package/dist/esm/installNode/installExe.mjs +0 -1
- package/dist/esm/installNode/installExe.mjs.map +1 -1
- package/dist/esm/installNode/installSource/buildWin32.mjs +1 -1
- package/dist/esm/installNode/installSource/buildWin32.mjs.map +1 -1
- package/dist/esm/installNode/validateDownload.mjs +1 -3
- package/dist/esm/installNode/validateDownload.mjs.map +1 -1
- package/dist/esm/lib/conditionalCache.mjs +1 -6
- package/dist/esm/lib/conditionalCache.mjs.map +1 -1
- package/dist/esm/lib/conditionalCopy.mjs +3 -12
- package/dist/esm/lib/conditionalCopy.mjs.map +1 -1
- package/dist/esm/lib/conditionalExtract.mjs +9 -12
- package/dist/esm/lib/conditionalExtract.mjs.map +1 -1
- package/dist/esm/workers/install.mjs +10 -12
- package/dist/esm/workers/install.mjs.map +1 -1
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/lib/conditionalCopy.d.ts +1 -1
- package/package.json +4 -2
- package/dist/cjs/lib/progress.cjs +0 -22
- package/dist/cjs/lib/progress.cjs.map +0 -1
- package/dist/esm/lib/progress.mjs +0 -6
- package/dist/esm/lib/progress.mjs.map +0 -1
- package/dist/types/lib/progress.d.ts +0 -1
|
@@ -1,8 +1,18 @@
|
|
|
1
|
+
import Queue from 'queue-cb';
|
|
2
|
+
import sll from 'single-line-log2';
|
|
1
3
|
import installBin from './installBin.mjs';
|
|
2
4
|
import installLib from './installLib.mjs';
|
|
3
5
|
export default function install(version, dest, options, callback) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
let npmVersion = null;
|
|
7
|
+
const queue = new Queue(1);
|
|
8
|
+
queue.defer((cb)=>installLib(version, dest, options, (err, _npmVersion)=>{
|
|
9
|
+
npmVersion = _npmVersion;
|
|
10
|
+
cb(err);
|
|
11
|
+
}));
|
|
12
|
+
queue.defer(installBin.bind(null, version, dest, options));
|
|
13
|
+
queue.await((err)=>{
|
|
14
|
+
sll.stdout('');
|
|
15
|
+
console.log(`npm ${npmVersion || ''} ${!err ? 'installed' : `install failed. Error: ${err.message}`}`);
|
|
16
|
+
callback(err);
|
|
7
17
|
});
|
|
8
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/index.ts"],"sourcesContent":["import installBin from './installBin';\nimport installLib from './installLib';\n\nexport default function install(version, dest, options, callback) {\n installLib(version, dest, options, (err) => {\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/index.ts"],"sourcesContent":["import Queue from 'queue-cb';\nimport sll from 'single-line-log2';\nimport installBin from './installBin';\nimport installLib from './installLib';\n\nexport default function install(version, dest, options, callback) {\n let npmVersion = null;\n\n const queue = new Queue(1);\n queue.defer((cb) =>\n installLib(version, dest, options, (err, _npmVersion) => {\n npmVersion = _npmVersion;\n cb(err);\n })\n );\n queue.defer(installBin.bind(null, version, dest, options));\n queue.await((err) => {\n sll.stdout('');\n console.log(`npm ${npmVersion || ''} ${!err ? 'installed' : `install failed. Error: ${err.message}`}`);\n callback(err);\n });\n}\n"],"names":["Queue","sll","installBin","installLib","install","version","dest","options","callback","npmVersion","queue","defer","cb","err","_npmVersion","bind","await","stdout","console","log","message"],"mappings":"AAAA,OAAOA,WAAW,WAAW;AAC7B,OAAOC,SAAS,mBAAmB;AACnC,OAAOC,gBAAgB,eAAe;AACtC,OAAOC,gBAAgB,eAAe;AAEtC,eAAe,SAASC,QAAQC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC9D,IAAIC,aAAa;IAEjB,MAAMC,QAAQ,IAAIV,MAAM;IACxBU,MAAMC,KAAK,CAAC,CAACC,KACXT,WAAWE,SAASC,MAAMC,SAAS,CAACM,KAAKC;YACvCL,aAAaK;YACbF,GAAGC;QACL;IAEFH,MAAMC,KAAK,CAACT,WAAWa,IAAI,CAAC,MAAMV,SAASC,MAAMC;IACjDG,MAAMM,KAAK,CAAC,CAACH;QACXZ,IAAIgB,MAAM,CAAC;QACXC,QAAQC,GAAG,CAAC,CAAC,IAAI,EAAEV,cAAc,GAAG,CAAC,EAAE,CAACI,MAAM,cAAc,CAAC,uBAAuB,EAAEA,IAAIO,OAAO,EAAE,EAAE;QACrGZ,SAASK;IACX;AACF"}
|
|
@@ -10,7 +10,7 @@ export default function installBin(_version, dest, options, callback) {
|
|
|
10
10
|
const files = NPM_PLATFORM_FILES[platform] || NPM_PLATFORM_FILES.posix;
|
|
11
11
|
for(let index = 0; index < files.length; index++){
|
|
12
12
|
const file = files[index];
|
|
13
|
-
queue.defer(conditionalCopy.bind(null, path.join(libPath, file.src), path.join(binPath, file.dest), file
|
|
13
|
+
queue.defer(conditionalCopy.bind(null, path.join(libPath, file.src), path.join(binPath, file.dest), file));
|
|
14
14
|
}
|
|
15
15
|
queue.await(callback);
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/installBin.ts"],"sourcesContent":["import path from 'path';\nimport Queue from 'queue-cb';\nimport conditionalCopy from '../lib/conditionalCopy';\n\nimport { NPM_PLATFORM_FILES } from '../constants';\n\nexport default function installBin(_version, dest, options, callback) {\n const platform = options.platform || process.platform;\n const libPath = platform === 'win32' ? dest : path.join(dest, 'lib');\n const binPath = platform === 'win32' ? dest : path.join(dest, 'bin');\n\n const queue = new Queue();\n const files = NPM_PLATFORM_FILES[platform] || NPM_PLATFORM_FILES.posix;\n for (let index = 0; index < files.length; index++) {\n const file = files[index];\n queue.defer(conditionalCopy.bind(null, path.join(libPath, file.src), path.join(binPath, file.dest), file
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/installBin.ts"],"sourcesContent":["import path from 'path';\nimport Queue from 'queue-cb';\nimport conditionalCopy from '../lib/conditionalCopy';\n\nimport { NPM_PLATFORM_FILES } from '../constants';\n\nexport default function installBin(_version, dest, options, callback) {\n const platform = options.platform || process.platform;\n const libPath = platform === 'win32' ? dest : path.join(dest, 'lib');\n const binPath = platform === 'win32' ? dest : path.join(dest, 'bin');\n\n const queue = new Queue();\n const files = NPM_PLATFORM_FILES[platform] || NPM_PLATFORM_FILES.posix;\n for (let index = 0; index < files.length; index++) {\n const file = files[index];\n queue.defer(conditionalCopy.bind(null, path.join(libPath, file.src), path.join(binPath, file.dest), file));\n }\n\n queue.await(callback);\n}\n"],"names":["path","Queue","conditionalCopy","NPM_PLATFORM_FILES","installBin","_version","dest","options","callback","platform","process","libPath","join","binPath","queue","files","posix","index","length","file","defer","bind","src","await"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,qBAAqB,yBAAyB;AAErD,SAASC,kBAAkB,QAAQ,eAAe;AAElD,eAAe,SAASC,WAAWC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAClE,MAAMC,WAAWF,QAAQE,QAAQ,IAAIC,QAAQD,QAAQ;IACrD,MAAME,UAAUF,aAAa,UAAUH,OAAON,KAAKY,IAAI,CAACN,MAAM;IAC9D,MAAMO,UAAUJ,aAAa,UAAUH,OAAON,KAAKY,IAAI,CAACN,MAAM;IAE9D,MAAMQ,QAAQ,IAAIb;IAClB,MAAMc,QAAQZ,kBAAkB,CAACM,SAAS,IAAIN,mBAAmBa,KAAK;IACtE,IAAK,IAAIC,QAAQ,GAAGA,QAAQF,MAAMG,MAAM,EAAED,QAAS;QACjD,MAAME,OAAOJ,KAAK,CAACE,MAAM;QACzBH,MAAMM,KAAK,CAAClB,gBAAgBmB,IAAI,CAAC,MAAMrB,KAAKY,IAAI,CAACD,SAASQ,KAAKG,GAAG,GAAGtB,KAAKY,IAAI,CAACC,SAASM,KAAKb,IAAI,GAAGa;IACtG;IAEAL,MAAMS,KAAK,CAACf;AACd"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import get from 'get-remote';
|
|
3
3
|
import { getDist } from 'node-filename-to-dist-paths';
|
|
4
|
+
import Queue from 'queue-cb';
|
|
4
5
|
import conditionalCache from '../lib/conditionalCache.mjs';
|
|
5
6
|
import conditionalExtract from '../lib/conditionalExtract.mjs';
|
|
6
7
|
import { NPM_DIST_TAGS_URL, NPM_DIST_URL, NPM_MIN_VERSION } from '../constants.mjs';
|
|
@@ -14,12 +15,14 @@ export default function installLib(version, dest, options, callback) {
|
|
|
14
15
|
get(NPM_DIST_TAGS_URL).json((err, res)=>{
|
|
15
16
|
if (err) return callback(err);
|
|
16
17
|
const distTags = res.body;
|
|
17
|
-
const
|
|
18
|
-
const downloadPath = `${NPM_DIST_URL}/-/npm-${
|
|
18
|
+
const npmVersion = distTags[`latest-${npmMajor}`] || distTags[`next-${npmMajor}`] || distTags.latest;
|
|
19
|
+
const downloadPath = `${NPM_DIST_URL}/-/npm-${npmVersion}.tgz`;
|
|
19
20
|
const cachePath = path.join(options.cachePath, path.basename(downloadPath));
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
const queue = new Queue(1);
|
|
22
|
+
queue.defer(conditionalCache.bind(null, downloadPath, cachePath));
|
|
23
|
+
queue.defer(conditionalExtract.bind(null, cachePath, installPath));
|
|
24
|
+
queue.await((err)=>{
|
|
25
|
+
err ? callback(err) : callback(null, npmVersion);
|
|
23
26
|
});
|
|
24
27
|
});
|
|
25
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/installLib.ts"],"sourcesContent":["import path from 'path';\nimport get from 'get-remote';\nimport { getDist } from 'node-filename-to-dist-paths';\n\nimport conditionalCache from '../lib/conditionalCache';\nimport conditionalExtract from '../lib/conditionalExtract';\n\nimport { NPM_DIST_TAGS_URL, NPM_DIST_URL, NPM_MIN_VERSION } from '../constants';\n\ninterface DistRecord {\n latest: string;\n}\n\nexport default function installLib(version, dest, options, callback) {\n const platform = options.platform || process.platform;\n const libPath = platform === 'win32' ? dest : path.join(dest, 'lib');\n const installPath = path.join(libPath, 'node_modules', 'npm');\n\n const dist = getDist(version);\n const npmMajorPair = dist && dist.npm ? +dist.npm.split('.')[0] : NPM_MIN_VERSION;\n const npmMajor = Math.max(npmMajorPair, NPM_MIN_VERSION);\n\n get(NPM_DIST_TAGS_URL).json((err, res) => {\n if (err) return callback(err);\n const distTags = res.body as DistRecord;\n const
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/installLib.ts"],"sourcesContent":["import path from 'path';\nimport get from 'get-remote';\nimport { getDist } from 'node-filename-to-dist-paths';\nimport Queue from 'queue-cb';\n\nimport conditionalCache from '../lib/conditionalCache';\nimport conditionalExtract from '../lib/conditionalExtract';\n\nimport { NPM_DIST_TAGS_URL, NPM_DIST_URL, NPM_MIN_VERSION } from '../constants';\n\ninterface DistRecord {\n latest: string;\n}\n\nexport default function installLib(version, dest, options, callback) {\n const platform = options.platform || process.platform;\n const libPath = platform === 'win32' ? dest : path.join(dest, 'lib');\n const installPath = path.join(libPath, 'node_modules', 'npm');\n\n const dist = getDist(version);\n const npmMajorPair = dist && dist.npm ? +dist.npm.split('.')[0] : NPM_MIN_VERSION;\n const npmMajor = Math.max(npmMajorPair, NPM_MIN_VERSION);\n\n get(NPM_DIST_TAGS_URL).json((err, res) => {\n if (err) return callback(err);\n const distTags = res.body as DistRecord;\n const npmVersion = distTags[`latest-${npmMajor}`] || distTags[`next-${npmMajor}`] || distTags.latest;\n const downloadPath = `${NPM_DIST_URL}/-/npm-${npmVersion}.tgz`;\n const cachePath = path.join(options.cachePath, path.basename(downloadPath));\n\n const queue = new Queue(1);\n queue.defer(conditionalCache.bind(null, downloadPath, cachePath));\n queue.defer(conditionalExtract.bind(null, cachePath, installPath));\n queue.await((err) => {\n err ? callback(err) : callback(null, npmVersion);\n });\n });\n}\n"],"names":["path","get","getDist","Queue","conditionalCache","conditionalExtract","NPM_DIST_TAGS_URL","NPM_DIST_URL","NPM_MIN_VERSION","installLib","version","dest","options","callback","platform","process","libPath","join","installPath","dist","npmMajorPair","npm","split","npmMajor","Math","max","json","err","res","distTags","body","npmVersion","latest","downloadPath","cachePath","basename","queue","defer","bind","await"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,SAAS,aAAa;AAC7B,SAASC,OAAO,QAAQ,8BAA8B;AACtD,OAAOC,WAAW,WAAW;AAE7B,OAAOC,sBAAsB,0BAA0B;AACvD,OAAOC,wBAAwB,4BAA4B;AAE3D,SAASC,iBAAiB,EAAEC,YAAY,EAAEC,eAAe,QAAQ,eAAe;AAMhF,eAAe,SAASC,WAAWC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACjE,MAAMC,WAAWF,QAAQE,QAAQ,IAAIC,QAAQD,QAAQ;IACrD,MAAME,UAAUF,aAAa,UAAUH,OAAOX,KAAKiB,IAAI,CAACN,MAAM;IAC9D,MAAMO,cAAclB,KAAKiB,IAAI,CAACD,SAAS,gBAAgB;IAEvD,MAAMG,OAAOjB,QAAQQ;IACrB,MAAMU,eAAeD,QAAQA,KAAKE,GAAG,GAAG,CAACF,KAAKE,GAAG,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAGd;IAClE,MAAMe,WAAWC,KAAKC,GAAG,CAACL,cAAcZ;IAExCP,IAAIK,mBAAmBoB,IAAI,CAAC,CAACC,KAAKC;QAChC,IAAID,KAAK,OAAOd,SAASc;QACzB,MAAME,WAAWD,IAAIE,IAAI;QACzB,MAAMC,aAAaF,QAAQ,CAAC,CAAC,OAAO,EAAEN,UAAU,CAAC,IAAIM,QAAQ,CAAC,CAAC,KAAK,EAAEN,UAAU,CAAC,IAAIM,SAASG,MAAM;QACpG,MAAMC,eAAe,GAAG1B,aAAa,OAAO,EAAEwB,WAAW,IAAI,CAAC;QAC9D,MAAMG,YAAYlC,KAAKiB,IAAI,CAACL,QAAQsB,SAAS,EAAElC,KAAKmC,QAAQ,CAACF;QAE7D,MAAMG,QAAQ,IAAIjC,MAAM;QACxBiC,MAAMC,KAAK,CAACjC,iBAAiBkC,IAAI,CAAC,MAAML,cAAcC;QACtDE,MAAMC,KAAK,CAAChC,mBAAmBiC,IAAI,CAAC,MAAMJ,WAAWhB;QACrDkB,MAAMG,KAAK,CAAC,CAACZ;YACXA,MAAMd,SAASc,OAAOd,SAAS,MAAMkB;QACvC;IACF;AACF"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import sll from 'single-line-log2';
|
|
1
2
|
import realArch from '../machine/arch.cjs';
|
|
2
3
|
import installFilename from './installFilename.mjs';
|
|
4
|
+
import { FILES } from '../constants.mjs';
|
|
3
5
|
const PLATFORM_MAP = {
|
|
4
6
|
win32: 'win',
|
|
5
7
|
darwin: 'osx'
|
|
@@ -16,20 +18,25 @@ export default function install(version, dest, options, callback) {
|
|
|
16
18
|
];
|
|
17
19
|
if (options.type) parts.push(options.type);
|
|
18
20
|
if (options.compression) parts.push(options.compression);
|
|
21
|
+
// generate the files in search order
|
|
19
22
|
const archs = [
|
|
20
|
-
arch
|
|
23
|
+
arch,
|
|
24
|
+
process.arch
|
|
21
25
|
];
|
|
22
|
-
|
|
23
|
-
if (arch !== process.arch && archs.indexOf(process.arch) < 0) archs.push(process.arch);
|
|
24
|
-
const filenames = archs.map((a)=>[
|
|
26
|
+
let filenames = archs.map((a)=>[
|
|
25
27
|
platform,
|
|
26
28
|
a
|
|
27
29
|
].concat(parts.slice(2)).join('-'));
|
|
28
|
-
|
|
30
|
+
(FILES[platform] || []).forEach((x)=>filenames.push(x.filename));
|
|
29
31
|
filenames.push('src');
|
|
32
|
+
filenames = filenames.filter((filename, i)=>filenames.indexOf(filename) === i);
|
|
30
33
|
const tryNext = (cb)=>{
|
|
31
34
|
if (filenames.length === 0) return cb(new Error(`Failed to find installable for ${version}`));
|
|
32
35
|
installFilename(filenames.shift(), version, dest, options, (err)=>err ? tryNext(cb) : cb());
|
|
33
36
|
};
|
|
34
|
-
tryNext(
|
|
37
|
+
tryNext((err)=>{
|
|
38
|
+
sll.stdout('');
|
|
39
|
+
console.log(`node ${version.slice(1)} ${!err ? 'installed' : `install failed. Error: ${err.message}`}`);
|
|
40
|
+
callback(err);
|
|
41
|
+
});
|
|
35
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/index.ts"],"sourcesContent":["import realArch from '../machine/arch.cjs';\nimport installFilename from './installFilename';\n\nconst PLATFORM_MAP = {\n win32: 'win',\n darwin: 'osx',\n};\n\nlet archMachine: NodeJS.Architecture;\nexport default function install(version, dest, options, callback) {\n if (!archMachine) archMachine = realArch() as NodeJS.Architecture;\n let platform = options.platform || process.platform;\n platform = PLATFORM_MAP[platform] || platform;\n const arch = options.arch || archMachine || process.arch;\n const parts = [platform, arch];\n if (options.type) parts.push(options.type);\n if (options.compression) parts.push(options.compression);\n\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/index.ts"],"sourcesContent":["import sll from 'single-line-log2';\nimport realArch from '../machine/arch.cjs';\nimport installFilename from './installFilename';\n\nimport { FILES } from '../constants';\n\nconst PLATFORM_MAP = {\n win32: 'win',\n darwin: 'osx',\n};\n\nlet archMachine: NodeJS.Architecture;\nexport default function install(version, dest, options, callback) {\n if (!archMachine) archMachine = realArch() as NodeJS.Architecture;\n let platform = options.platform || process.platform;\n platform = PLATFORM_MAP[platform] || platform;\n const arch = options.arch || archMachine || process.arch;\n const parts = [platform, arch];\n if (options.type) parts.push(options.type);\n if (options.compression) parts.push(options.compression);\n\n // generate the files in search order\n const archs = [arch, process.arch];\n let filenames = archs.map((a) => [platform, a].concat(parts.slice(2)).join('-'));\n (FILES[platform] || []).forEach((x) => filenames.push(x.filename));\n filenames.push('src');\n filenames = filenames.filter((filename, i) => filenames.indexOf(filename) === i);\n\n const tryNext = (cb) => {\n if (filenames.length === 0) return cb(new Error(`Failed to find installable for ${version}`));\n installFilename(filenames.shift(), version, dest, options, (err) => (err ? tryNext(cb) : cb()));\n };\n tryNext((err) => {\n sll.stdout('');\n console.log(`node ${version.slice(1)} ${!err ? 'installed' : `install failed. Error: ${err.message}`}`);\n callback(err);\n });\n}\n"],"names":["sll","realArch","installFilename","FILES","PLATFORM_MAP","win32","darwin","archMachine","install","version","dest","options","callback","platform","process","arch","parts","type","push","compression","archs","filenames","map","a","concat","slice","join","forEach","x","filename","filter","i","indexOf","tryNext","cb","length","Error","shift","err","stdout","console","log","message"],"mappings":"AAAA,OAAOA,SAAS,mBAAmB;AACnC,OAAOC,cAAc,sBAAsB;AAC3C,OAAOC,qBAAqB,oBAAoB;AAEhD,SAASC,KAAK,QAAQ,eAAe;AAErC,MAAMC,eAAe;IACnBC,OAAO;IACPC,QAAQ;AACV;AAEA,IAAIC;AACJ,eAAe,SAASC,QAAQC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC9D,IAAI,CAACL,aAAaA,cAAcN;IAChC,IAAIY,WAAWF,QAAQE,QAAQ,IAAIC,QAAQD,QAAQ;IACnDA,WAAWT,YAAY,CAACS,SAAS,IAAIA;IACrC,MAAME,OAAOJ,QAAQI,IAAI,IAAIR,eAAeO,QAAQC,IAAI;IACxD,MAAMC,QAAQ;QAACH;QAAUE;KAAK;IAC9B,IAAIJ,QAAQM,IAAI,EAAED,MAAME,IAAI,CAACP,QAAQM,IAAI;IACzC,IAAIN,QAAQQ,WAAW,EAAEH,MAAME,IAAI,CAACP,QAAQQ,WAAW;IAEvD,qCAAqC;IACrC,MAAMC,QAAQ;QAACL;QAAMD,QAAQC,IAAI;KAAC;IAClC,IAAIM,YAAYD,MAAME,GAAG,CAAC,CAACC,IAAM;YAACV;YAAUU;SAAE,CAACC,MAAM,CAACR,MAAMS,KAAK,CAAC,IAAIC,IAAI,CAAC;IAC1EvB,CAAAA,KAAK,CAACU,SAAS,IAAI,EAAE,AAAD,EAAGc,OAAO,CAAC,CAACC,IAAMP,UAAUH,IAAI,CAACU,EAAEC,QAAQ;IAChER,UAAUH,IAAI,CAAC;IACfG,YAAYA,UAAUS,MAAM,CAAC,CAACD,UAAUE,IAAMV,UAAUW,OAAO,CAACH,cAAcE;IAE9E,MAAME,UAAU,CAACC;QACf,IAAIb,UAAUc,MAAM,KAAK,GAAG,OAAOD,GAAG,IAAIE,MAAM,CAAC,+BAA+B,EAAE3B,SAAS;QAC3FP,gBAAgBmB,UAAUgB,KAAK,IAAI5B,SAASC,MAAMC,SAAS,CAAC2B,MAASA,MAAML,QAAQC,MAAMA;IAC3F;IACAD,QAAQ,CAACK;QACPtC,IAAIuC,MAAM,CAAC;QACXC,QAAQC,GAAG,CAAC,CAAC,KAAK,EAAEhC,QAAQgB,KAAK,CAAC,GAAG,CAAC,EAAE,CAACa,MAAM,cAAc,CAAC,uBAAuB,EAAEA,IAAII,OAAO,EAAE,EAAE;QACtG9B,SAAS0B;IACX;AACF"}
|
|
@@ -5,7 +5,6 @@ import rimraf2 from 'rimraf2';
|
|
|
5
5
|
import { NODE_DIST_BASE_URL } from '../constants.mjs';
|
|
6
6
|
import conditionalCache from '../lib/conditionalCache.mjs';
|
|
7
7
|
import conditionalExtract from '../lib/conditionalExtract.mjs';
|
|
8
|
-
import progress from '../lib/progress.mjs';
|
|
9
8
|
import validateDownload from './validateDownload.mjs';
|
|
10
9
|
export default function installCompressed(distPath, dest, options, callback) {
|
|
11
10
|
const downloadPath = `${NODE_DIST_BASE_URL}/${distPath}`;
|
|
@@ -17,7 +16,6 @@ export default function installCompressed(distPath, dest, options, callback) {
|
|
|
17
16
|
queue.defer(validateDownload.bind(null, distPath, cachePath));
|
|
18
17
|
queue.defer(conditionalExtract.bind(null, cachePath, dest, {
|
|
19
18
|
strip: 1,
|
|
20
|
-
progress: progress,
|
|
21
19
|
time: 1000,
|
|
22
20
|
...options
|
|
23
21
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installCompressed.ts"],"sourcesContent":["import path from 'path';\nimport access from 'fs-access-compat';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport { NODE_DIST_BASE_URL } from '../constants';\nimport conditionalCache from '../lib/conditionalCache';\nimport conditionalExtract from '../lib/conditionalExtract';\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installCompressed.ts"],"sourcesContent":["import path from 'path';\nimport access from 'fs-access-compat';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport { NODE_DIST_BASE_URL } from '../constants';\nimport conditionalCache from '../lib/conditionalCache';\nimport conditionalExtract from '../lib/conditionalExtract';\nimport validateDownload from './validateDownload';\n\nexport default function installCompressed(distPath, dest, options, callback) {\n const downloadPath = `${NODE_DIST_BASE_URL}/${distPath}`;\n const cachePath = path.join(options.cachePath, path.basename(downloadPath));\n\n access(dest, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer(conditionalCache.bind(null, downloadPath, cachePath));\n queue.defer(validateDownload.bind(null, distPath, cachePath));\n queue.defer(conditionalExtract.bind(null, cachePath, dest, { strip: 1, time: 1000, ...options }));\n queue.await((err) => {\n // some compressed versions of node come with npm pre-installed, but we want to override with a specific version\n const platform = options.platform || process.platform;\n const libPath = platform === 'win32' ? dest : path.join(dest, 'lib');\n const installPath = path.join(libPath, 'node_modules', 'npm');\n rimraf2(installPath, { disableGlob: true }, () => callback(err));\n });\n });\n}\n"],"names":["path","access","Queue","rimraf2","NODE_DIST_BASE_URL","conditionalCache","conditionalExtract","validateDownload","installCompressed","distPath","dest","options","callback","downloadPath","cachePath","join","basename","err","queue","defer","bind","strip","time","await","platform","process","libPath","installPath","disableGlob"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,YAAY,mBAAmB;AACtC,OAAOC,WAAW,WAAW;AAC7B,OAAOC,aAAa,UAAU;AAE9B,SAASC,kBAAkB,QAAQ,eAAe;AAClD,OAAOC,sBAAsB,0BAA0B;AACvD,OAAOC,wBAAwB,4BAA4B;AAC3D,OAAOC,sBAAsB,qBAAqB;AAElD,eAAe,SAASC,kBAAkBC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACzE,MAAMC,eAAe,GAAGT,mBAAmB,CAAC,EAAEK,UAAU;IACxD,MAAMK,YAAYd,KAAKe,IAAI,CAACJ,QAAQG,SAAS,EAAEd,KAAKgB,QAAQ,CAACH;IAE7DZ,OAAOS,MAAM,CAACO;QACZ,IAAI,CAACA,KAAK,OAAOL,YAAY,iBAAiB;QAE9C,MAAMM,QAAQ,IAAIhB,MAAM;QACxBgB,MAAMC,KAAK,CAACd,iBAAiBe,IAAI,CAAC,MAAMP,cAAcC;QACtDI,MAAMC,KAAK,CAACZ,iBAAiBa,IAAI,CAAC,MAAMX,UAAUK;QAClDI,MAAMC,KAAK,CAACb,mBAAmBc,IAAI,CAAC,MAAMN,WAAWJ,MAAM;YAAEW,OAAO;YAAGC,MAAM;YAAM,GAAGX,OAAO;QAAC;QAC9FO,MAAMK,KAAK,CAAC,CAACN;YACX,gHAAgH;YAChH,MAAMO,WAAWb,QAAQa,QAAQ,IAAIC,QAAQD,QAAQ;YACrD,MAAME,UAAUF,aAAa,UAAUd,OAAOV,KAAKe,IAAI,CAACL,MAAM;YAC9D,MAAMiB,cAAc3B,KAAKe,IAAI,CAACW,SAAS,gBAAgB;YACvDvB,QAAQwB,aAAa;gBAAEC,aAAa;YAAK,GAAG,IAAMhB,SAASK;QAC7D;IACF;AACF"}
|
|
@@ -11,7 +11,6 @@ export default function installExe(distPath, dest, options, callback) {
|
|
|
11
11
|
const destPath = path.join(dest, path.basename(distPath));
|
|
12
12
|
access(destPath, (err)=>{
|
|
13
13
|
if (!err) return callback(); // already exists
|
|
14
|
-
console.log(1);
|
|
15
14
|
const queue = new Queue(1);
|
|
16
15
|
queue.defer(conditionalCache.bind(null, downloadPath, cachePath));
|
|
17
16
|
queue.defer(validateDownload.bind(null, distPath, cachePath));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installExe.ts"],"sourcesContent":["import path from 'path';\nimport access from 'fs-access-compat';\nimport Queue from 'queue-cb';\n\nimport { NODE_DIST_BASE_URL } from '../constants';\nimport conditionalCache from '../lib/conditionalCache';\nimport copyFile from '../lib/copyFile';\nimport validateDownload from './validateDownload';\n\nexport default function installExe(distPath, dest, options, callback) {\n const downloadPath = `${NODE_DIST_BASE_URL}/${distPath}`;\n const cachePath = path.join(options.cachePath, `node-${distPath}.exe`);\n const destPath = path.join(dest, path.basename(distPath));\n\n access(destPath, (err) => {\n if (!err) return callback(); // already exists\n\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installExe.ts"],"sourcesContent":["import path from 'path';\nimport access from 'fs-access-compat';\nimport Queue from 'queue-cb';\n\nimport { NODE_DIST_BASE_URL } from '../constants';\nimport conditionalCache from '../lib/conditionalCache';\nimport copyFile from '../lib/copyFile';\nimport validateDownload from './validateDownload';\n\nexport default function installExe(distPath, dest, options, callback) {\n const downloadPath = `${NODE_DIST_BASE_URL}/${distPath}`;\n const cachePath = path.join(options.cachePath, `node-${distPath}.exe`);\n const destPath = path.join(dest, path.basename(distPath));\n\n access(destPath, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer(conditionalCache.bind(null, downloadPath, cachePath));\n queue.defer(validateDownload.bind(null, distPath, cachePath));\n queue.defer(copyFile.bind(null, cachePath, destPath));\n queue.await(callback);\n });\n}\n"],"names":["path","access","Queue","NODE_DIST_BASE_URL","conditionalCache","copyFile","validateDownload","installExe","distPath","dest","options","callback","downloadPath","cachePath","join","destPath","basename","err","queue","defer","bind","await"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,YAAY,mBAAmB;AACtC,OAAOC,WAAW,WAAW;AAE7B,SAASC,kBAAkB,QAAQ,eAAe;AAClD,OAAOC,sBAAsB,0BAA0B;AACvD,OAAOC,cAAc,kBAAkB;AACvC,OAAOC,sBAAsB,qBAAqB;AAElD,eAAe,SAASC,WAAWC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAClE,MAAMC,eAAe,GAAGT,mBAAmB,CAAC,EAAEK,UAAU;IACxD,MAAMK,YAAYb,KAAKc,IAAI,CAACJ,QAAQG,SAAS,EAAE,CAAC,KAAK,EAAEL,SAAS,IAAI,CAAC;IACrE,MAAMO,WAAWf,KAAKc,IAAI,CAACL,MAAMT,KAAKgB,QAAQ,CAACR;IAE/CP,OAAOc,UAAU,CAACE;QAChB,IAAI,CAACA,KAAK,OAAON,YAAY,iBAAiB;QAE9C,MAAMO,QAAQ,IAAIhB,MAAM;QACxBgB,MAAMC,KAAK,CAACf,iBAAiBgB,IAAI,CAAC,MAAMR,cAAcC;QACtDK,MAAMC,KAAK,CAACb,iBAAiBc,IAAI,CAAC,MAAMZ,UAAUK;QAClDK,MAAMC,KAAK,CAACd,SAASe,IAAI,CAAC,MAAMP,WAAWE;QAC3CG,MAAMG,KAAK,CAACV;IACd;AACF"}
|
|
@@ -13,7 +13,7 @@ export default function installWin32(buildPath, dest, _options, callback) {
|
|
|
13
13
|
stdio: 'inherit',
|
|
14
14
|
cwd: buildPath
|
|
15
15
|
})));
|
|
16
|
-
queue.defer(conditionalCopy.bind(null, buildSource, buildTarget));
|
|
16
|
+
queue.defer(conditionalCopy.bind(null, buildSource, buildTarget, {}));
|
|
17
17
|
queue.await(callback);
|
|
18
18
|
});
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installSource/buildWin32.ts"],"sourcesContent":["import path from 'path';\nimport spawn from 'cross-spawn-cb';\nimport Queue from 'queue-cb';\n\nimport access from 'fs-access-compat';\nimport conditionalCopy from '../../lib/conditionalCopy';\n\nexport default function installWin32(buildPath, dest, _options, callback) {\n const buildSource = path.join(buildPath, 'out', 'Release', 'node.exe');\n const buildTarget = path.join(dest, 'node.exe');\n\n access(buildTarget, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer(access.bind(null, buildSource, (err) => (!err ? callback() : spawn('./vcbuild', [], { stdio: 'inherit', cwd: buildPath }))));\n queue.defer(conditionalCopy.bind(null, buildSource, buildTarget));\n queue.await(callback);\n });\n}\n"],"names":["path","spawn","Queue","access","conditionalCopy","installWin32","buildPath","dest","_options","callback","buildSource","join","buildTarget","err","queue","defer","bind","stdio","cwd","await"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,WAAW,iBAAiB;AACnC,OAAOC,WAAW,WAAW;AAE7B,OAAOC,YAAY,mBAAmB;AACtC,OAAOC,qBAAqB,4BAA4B;AAExD,eAAe,SAASC,aAAaC,SAAS,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,QAAQ;IACtE,MAAMC,cAAcV,KAAKW,IAAI,CAACL,WAAW,OAAO,WAAW;IAC3D,MAAMM,cAAcZ,KAAKW,IAAI,CAACJ,MAAM;IAEpCJ,OAAOS,aAAa,CAACC;QACnB,IAAI,CAACA,KAAK,OAAOJ,YAAY,iBAAiB;QAE9C,MAAMK,QAAQ,IAAIZ,MAAM;QACxBY,MAAMC,KAAK,CAACZ,OAAOa,IAAI,CAAC,MAAMN,aAAa,CAACG,MAAS,CAACA,MAAMJ,aAAaR,MAAM,aAAa,EAAE,EAAE;gBAAEgB,OAAO;gBAAWC,KAAKZ;YAAU;QACnIQ,MAAMC,KAAK,CAACX,gBAAgBY,IAAI,CAAC,MAAMN,aAAaE;
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installSource/buildWin32.ts"],"sourcesContent":["import path from 'path';\nimport spawn from 'cross-spawn-cb';\nimport Queue from 'queue-cb';\n\nimport access from 'fs-access-compat';\nimport conditionalCopy from '../../lib/conditionalCopy';\n\nexport default function installWin32(buildPath, dest, _options, callback) {\n const buildSource = path.join(buildPath, 'out', 'Release', 'node.exe');\n const buildTarget = path.join(dest, 'node.exe');\n\n access(buildTarget, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer(access.bind(null, buildSource, (err) => (!err ? callback() : spawn('./vcbuild', [], { stdio: 'inherit', cwd: buildPath }))));\n queue.defer(conditionalCopy.bind(null, buildSource, buildTarget, {}));\n queue.await(callback);\n });\n}\n"],"names":["path","spawn","Queue","access","conditionalCopy","installWin32","buildPath","dest","_options","callback","buildSource","join","buildTarget","err","queue","defer","bind","stdio","cwd","await"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,WAAW,iBAAiB;AACnC,OAAOC,WAAW,WAAW;AAE7B,OAAOC,YAAY,mBAAmB;AACtC,OAAOC,qBAAqB,4BAA4B;AAExD,eAAe,SAASC,aAAaC,SAAS,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,QAAQ;IACtE,MAAMC,cAAcV,KAAKW,IAAI,CAACL,WAAW,OAAO,WAAW;IAC3D,MAAMM,cAAcZ,KAAKW,IAAI,CAACJ,MAAM;IAEpCJ,OAAOS,aAAa,CAACC;QACnB,IAAI,CAACA,KAAK,OAAOJ,YAAY,iBAAiB;QAE9C,MAAMK,QAAQ,IAAIZ,MAAM;QACxBY,MAAMC,KAAK,CAACZ,OAAOa,IAAI,CAAC,MAAMN,aAAa,CAACG,MAAS,CAACA,MAAMJ,aAAaR,MAAM,aAAa,EAAE,EAAE;gBAAEgB,OAAO;gBAAWC,KAAKZ;YAAU;QACnIQ,MAAMC,KAAK,CAACX,gBAAgBY,IAAI,CAAC,MAAMN,aAAaE,aAAa,CAAC;QAClEE,MAAMK,KAAK,CAACV;IACd;AACF"}
|
|
@@ -16,9 +16,7 @@ export default function validateDownload(distPath, installPath, callback) {
|
|
|
16
16
|
input.on('data', (data)=>hash.update(data));
|
|
17
17
|
eos(input, (err)=>{
|
|
18
18
|
if (err) return callback(err);
|
|
19
|
-
|
|
20
|
-
console.log(`hash ${digest === expected ? 'matches' : 'different'} for ${filename}`);
|
|
21
|
-
digest !== expected ? callback(new Error(`SHASUMS256 failed for ${filename}`)) : callback();
|
|
19
|
+
hash.digest('hex') !== expected ? callback(new Error(`${filename} checksum failed`)) : callback();
|
|
22
20
|
});
|
|
23
21
|
});
|
|
24
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/validateDownload.ts"],"sourcesContent":["import crypto from 'crypto';\nimport fs from 'fs';\nimport eos from 'end-of-stream';\nimport get from 'get-remote';\nimport { NODE_DIST_BASE_URL } from '../constants';\nexport default function validateDownload(distPath, installPath, callback) {\n const version = distPath.split('/')[0];\n const downloadPath = `${NODE_DIST_BASE_URL}/${version}/SHASUMS256.txt`;\n get(downloadPath).text((err, res) => {\n if (err) return callback(err);\n const text = res.body;\n const filename = distPath.split('/').slice(1).join('/');\n const expected = text.split(filename)[0].split('\\n').pop().trim();\n const hash = crypto.createHash('sha256');\n const input = fs.createReadStream(installPath);\n input.on('data', (data) => hash.update(data));\n eos(input, (err) => {\n if (err) return callback(err);\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/validateDownload.ts"],"sourcesContent":["import crypto from 'crypto';\nimport fs from 'fs';\nimport eos from 'end-of-stream';\nimport get from 'get-remote';\nimport { NODE_DIST_BASE_URL } from '../constants';\nexport default function validateDownload(distPath, installPath, callback) {\n const version = distPath.split('/')[0];\n const downloadPath = `${NODE_DIST_BASE_URL}/${version}/SHASUMS256.txt`;\n get(downloadPath).text((err, res) => {\n if (err) return callback(err);\n const text = res.body;\n const filename = distPath.split('/').slice(1).join('/');\n const expected = text.split(filename)[0].split('\\n').pop().trim();\n const hash = crypto.createHash('sha256');\n const input = fs.createReadStream(installPath);\n input.on('data', (data) => hash.update(data));\n eos(input, (err) => {\n if (err) return callback(err);\n hash.digest('hex') !== expected ? callback(new Error(`${filename} checksum failed`)) : callback();\n });\n });\n}\n"],"names":["crypto","fs","eos","get","NODE_DIST_BASE_URL","validateDownload","distPath","installPath","callback","version","split","downloadPath","text","err","res","body","filename","slice","join","expected","pop","trim","hash","createHash","input","createReadStream","on","data","update","digest","Error"],"mappings":"AAAA,OAAOA,YAAY,SAAS;AAC5B,OAAOC,QAAQ,KAAK;AACpB,OAAOC,SAAS,gBAAgB;AAChC,OAAOC,SAAS,aAAa;AAC7B,SAASC,kBAAkB,QAAQ,eAAe;AAClD,eAAe,SAASC,iBAAiBC,QAAQ,EAAEC,WAAW,EAAEC,QAAQ;IACtE,MAAMC,UAAUH,SAASI,KAAK,CAAC,IAAI,CAAC,EAAE;IACtC,MAAMC,eAAe,GAAGP,mBAAmB,CAAC,EAAEK,QAAQ,eAAe,CAAC;IACtEN,IAAIQ,cAAcC,IAAI,CAAC,CAACC,KAAKC;QAC3B,IAAID,KAAK,OAAOL,SAASK;QACzB,MAAMD,OAAOE,IAAIC,IAAI;QACrB,MAAMC,WAAWV,SAASI,KAAK,CAAC,KAAKO,KAAK,CAAC,GAAGC,IAAI,CAAC;QACnD,MAAMC,WAAWP,KAAKF,KAAK,CAACM,SAAS,CAAC,EAAE,CAACN,KAAK,CAAC,MAAMU,GAAG,GAAGC,IAAI;QAC/D,MAAMC,OAAOtB,OAAOuB,UAAU,CAAC;QAC/B,MAAMC,QAAQvB,GAAGwB,gBAAgB,CAAClB;QAClCiB,MAAME,EAAE,CAAC,QAAQ,CAACC,OAASL,KAAKM,MAAM,CAACD;QACvCzB,IAAIsB,OAAO,CAACX;YACV,IAAIA,KAAK,OAAOL,SAASK;YACzBS,KAAKO,MAAM,CAAC,WAAWV,WAAWX,SAAS,IAAIsB,MAAM,GAAGd,SAAS,gBAAgB,CAAC,KAAKR;QACzF;IACF;AACF"}
|
|
@@ -2,7 +2,6 @@ import path from 'path';
|
|
|
2
2
|
import access from 'fs-access-compat';
|
|
3
3
|
import get from 'get-remote';
|
|
4
4
|
import ensureDestinationParent from './ensureDestinationParent.mjs';
|
|
5
|
-
import progress from './progress.mjs';
|
|
6
5
|
export default function conditionalCache(endpoint, dest, options, callback) {
|
|
7
6
|
if (typeof options === 'function') {
|
|
8
7
|
callback = options;
|
|
@@ -15,13 +14,9 @@ export default function conditionalCache(endpoint, dest, options, callback) {
|
|
|
15
14
|
if (err) return callback(err);
|
|
16
15
|
get(endpoint, {
|
|
17
16
|
filename: path.basename(dest),
|
|
18
|
-
progress: progress,
|
|
19
17
|
time: 1000,
|
|
20
18
|
...options
|
|
21
|
-
}).file(path.dirname(dest),
|
|
22
|
-
console.log('');
|
|
23
|
-
callback(err);
|
|
24
|
-
});
|
|
19
|
+
}).file(path.dirname(dest), callback);
|
|
25
20
|
});
|
|
26
21
|
});
|
|
27
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/conditionalCache.ts"],"sourcesContent":["import path from 'path';\nimport access from 'fs-access-compat';\nimport get from 'get-remote';\n\nimport ensureDestinationParent from './ensureDestinationParent';\
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/conditionalCache.ts"],"sourcesContent":["import path from 'path';\nimport access from 'fs-access-compat';\nimport get from 'get-remote';\n\nimport ensureDestinationParent from './ensureDestinationParent';\n\nexport default function conditionalCache(endpoint, dest, options, callback?) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n access(dest, (err) => {\n if (!err) return callback(); // already exists\n\n ensureDestinationParent(dest, (err) => {\n if (err) return callback(err);\n get(endpoint, { filename: path.basename(dest), time: 1000, ...options }).file(path.dirname(dest), callback);\n });\n });\n}\n"],"names":["path","access","get","ensureDestinationParent","conditionalCache","endpoint","dest","options","callback","err","filename","basename","time","file","dirname"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,YAAY,mBAAmB;AACtC,OAAOC,SAAS,aAAa;AAE7B,OAAOC,6BAA6B,4BAA4B;AAEhE,eAAe,SAASC,iBAAiBC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAS;IACzE,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IACAA,UAAUA,WAAW,CAAC;IAEtBN,OAAOK,MAAM,CAACG;QACZ,IAAI,CAACA,KAAK,OAAOD,YAAY,iBAAiB;QAE9CL,wBAAwBG,MAAM,CAACG;YAC7B,IAAIA,KAAK,OAAOD,SAASC;YACzBP,IAAIG,UAAU;gBAAEK,UAAUV,KAAKW,QAAQ,CAACL;gBAAOM,MAAM;gBAAM,GAAGL,OAAO;YAAC,GAAGM,IAAI,CAACb,KAAKc,OAAO,CAACR,OAAOE;QACpG;IACF;AACF"}
|
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
import access from 'fs-access-compat';
|
|
2
2
|
import copyFile from './copyFile.mjs';
|
|
3
|
-
import ensureDestinationParent from './ensureDestinationParent.mjs';
|
|
4
3
|
export default function conditionalCopy(src, dest, optional, callback) {
|
|
5
|
-
if (typeof optional === 'function')
|
|
6
|
-
callback = optional;
|
|
7
|
-
optional = false;
|
|
8
|
-
}
|
|
4
|
+
if (typeof optional === 'function') return callback(new Error('conditionalCopy missing options'));
|
|
9
5
|
access(dest, (err)=>{
|
|
10
6
|
if (!err) return callback(); // already exists
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (!optional) return copyFile(src, dest, callback);
|
|
14
|
-
access(src, (err)=>{
|
|
15
|
-
if (err) return callback(); // optional file missing
|
|
16
|
-
copyFile(src, dest, callback);
|
|
17
|
-
});
|
|
7
|
+
access(src, (err)=>{
|
|
8
|
+
err && optional ? callback() : copyFile(src, dest, callback); // optional file missing
|
|
18
9
|
});
|
|
19
10
|
});
|
|
20
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/conditionalCopy.ts"],"sourcesContent":["import access from 'fs-access-compat';\
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/conditionalCopy.ts"],"sourcesContent":["import access from 'fs-access-compat';\nimport copyFile from './copyFile';\n\nexport default function conditionalCopy(src, dest, optional, callback) {\n if (typeof optional === 'function') return callback(new Error('conditionalCopy missing options'));\n\n access(dest, (err) => {\n if (!err) return callback(); // already exists\n\n access(src, (err) => {\n err && optional ? callback() : copyFile(src, dest, callback); // optional file missing\n });\n });\n}\n"],"names":["access","copyFile","conditionalCopy","src","dest","optional","callback","Error","err"],"mappings":"AAAA,OAAOA,YAAY,mBAAmB;AACtC,OAAOC,cAAc,aAAa;AAElC,eAAe,SAASC,gBAAgBC,GAAG,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,QAAQ;IACnE,IAAI,OAAOD,aAAa,YAAY,OAAOC,SAAS,IAAIC,MAAM;IAE9DP,OAAOI,MAAM,CAACI;QACZ,IAAI,CAACA,KAAK,OAAOF,YAAY,iBAAiB;QAE9CN,OAAOG,KAAK,CAACK;YACXA,OAAOH,WAAWC,aAAaL,SAASE,KAAKC,MAAME,WAAW,wBAAwB;QACxF;IACF;AACF"}
|
|
@@ -2,7 +2,7 @@ import path from 'path';
|
|
|
2
2
|
import extract from 'fast-extract';
|
|
3
3
|
import access from 'fs-access-compat';
|
|
4
4
|
import mkdirp from 'mkdirp-classic';
|
|
5
|
-
import
|
|
5
|
+
import Queue from 'queue-cb';
|
|
6
6
|
export default function conditionalExtract(src, dest, options, callback) {
|
|
7
7
|
if (typeof options === 'function') {
|
|
8
8
|
callback = options;
|
|
@@ -11,16 +11,13 @@ export default function conditionalExtract(src, dest, options, callback) {
|
|
|
11
11
|
options = options || {};
|
|
12
12
|
access(dest, (err)=>{
|
|
13
13
|
if (!err) return callback(); // already exists
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
callback(err);
|
|
23
|
-
});
|
|
24
|
-
});
|
|
14
|
+
const queue = new Queue(1);
|
|
15
|
+
queue.defer(mkdirp.bind(null, path.dirname(dest)));
|
|
16
|
+
queue.defer(extract.bind(null, src, dest, {
|
|
17
|
+
strip: 1,
|
|
18
|
+
time: 1000,
|
|
19
|
+
...options
|
|
20
|
+
}));
|
|
21
|
+
queue.await(callback);
|
|
25
22
|
});
|
|
26
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/conditionalExtract.ts"],"sourcesContent":["import path from 'path';\nimport extract from 'fast-extract';\nimport access from 'fs-access-compat';\nimport mkdirp from 'mkdirp-classic';\
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/conditionalExtract.ts"],"sourcesContent":["import path from 'path';\nimport extract from 'fast-extract';\nimport access from 'fs-access-compat';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\n\nexport default function conditionalExtract(src, dest, options, callback?) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n access(dest, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, path.dirname(dest)));\n queue.defer(extract.bind(null, src, dest, { strip: 1, time: 1000, ...options }));\n queue.await(callback);\n });\n}\n"],"names":["path","extract","access","mkdirp","Queue","conditionalExtract","src","dest","options","callback","err","queue","defer","bind","dirname","strip","time","await"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,aAAa,eAAe;AACnC,OAAOC,YAAY,mBAAmB;AACtC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,WAAW,WAAW;AAE7B,eAAe,SAASC,mBAAmBC,GAAG,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAS;IACtE,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IACAA,UAAUA,WAAW,CAAC;IAEtBN,OAAOK,MAAM,CAACG;QACZ,IAAI,CAACA,KAAK,OAAOD,YAAY,iBAAiB;QAE9C,MAAME,QAAQ,IAAIP,MAAM;QACxBO,MAAMC,KAAK,CAACT,OAAOU,IAAI,CAAC,MAAMb,KAAKc,OAAO,CAACP;QAC3CI,MAAMC,KAAK,CAACX,QAAQY,IAAI,CAAC,MAAMP,KAAKC,MAAM;YAAEQ,OAAO;YAAGC,MAAM;YAAM,GAAGR,OAAO;QAAC;QAC7EG,MAAMM,KAAK,CAACR;IACd;AACF"}
|
|
@@ -25,18 +25,16 @@ export default function install(versionExpression, options, callback) {
|
|
|
25
25
|
if (err) return callback(err);
|
|
26
26
|
if (!versions.length) return callback(new Error(`Could not resolve versions for: ${versionExpression}`));
|
|
27
27
|
if (versions.length !== 1) return callback(new Error(`Version ${versionExpression} resolved to multiple versions: ${versions.map((x)=>x.version)}. Expecting one.`));
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
queue.await((err)=>err ? callback(err) : callback(null, result));
|
|
39
|
-
});
|
|
28
|
+
const version = versions[0];
|
|
29
|
+
const result = createResult(options, version);
|
|
30
|
+
checkMissing(result.installPath, options, (err, missing)=>{
|
|
31
|
+
if (err || !missing.length) return callback(err, result);
|
|
32
|
+
const queue = new Queue(1);
|
|
33
|
+
queue.defer(mkdirp.bind(null, options.cachePath));
|
|
34
|
+
queue.defer(ensureDestinationParent.bind(null, result.installPath));
|
|
35
|
+
!~missing.indexOf('node') || queue.defer(installNode.bind(null, version, result.installPath, options));
|
|
36
|
+
!~missing.indexOf('npm') || queue.defer(installNPM.bind(null, version, result.installPath, options));
|
|
37
|
+
queue.await((err)=>err ? callback(err) : callback(null, result));
|
|
40
38
|
});
|
|
41
39
|
});
|
|
42
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/workers/install.ts"],"sourcesContent":["import isVersion from 'is-version';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\nimport { DEFAULT_STORAGE_PATHS } from '../constants';\n\nimport createResult from '../createResult';\nimport createStoragePaths from '../createStoragePaths';\n\nimport resolveVersions from 'node-resolve-versions';\n\nimport installNPM from '../installNPM/index';\nimport installNode from '../installNode/index';\nimport checkMissing from '../lib/checkMissing';\nimport ensureDestinationParent from '../lib/ensureDestinationParent';\n\n// short circuit\nfunction getVersions(versionExpression, options, callback) {\n isVersion(versionExpression) ? callback(null, [versionExpression]) : resolveVersions(versionExpression, options, callback);\n}\n\nexport default function install(versionExpression, options, callback) {\n const storagePaths = options.storagePath ? createStoragePaths(options.storagePath) : DEFAULT_STORAGE_PATHS;\n\n options = { ...storagePaths, ...options };\n getVersions(versionExpression, options, (err, versions) => {\n if (err) return callback(err);\n if (!versions.length) return callback(new Error(`Could not resolve versions for: ${versionExpression}`));\n if (versions.length !== 1) return callback(new Error(`Version ${versionExpression} resolved to multiple versions: ${versions.map((x) => x.version)}. Expecting one.`));\n\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/workers/install.ts"],"sourcesContent":["import isVersion from 'is-version';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\nimport { DEFAULT_STORAGE_PATHS } from '../constants';\n\nimport createResult from '../createResult';\nimport createStoragePaths from '../createStoragePaths';\n\nimport resolveVersions from 'node-resolve-versions';\n\nimport installNPM from '../installNPM/index';\nimport installNode from '../installNode/index';\nimport checkMissing from '../lib/checkMissing';\nimport ensureDestinationParent from '../lib/ensureDestinationParent';\n\n// short circuit\nfunction getVersions(versionExpression, options, callback) {\n isVersion(versionExpression) ? callback(null, [versionExpression]) : resolveVersions(versionExpression, options, callback);\n}\n\nexport default function install(versionExpression, options, callback) {\n const storagePaths = options.storagePath ? createStoragePaths(options.storagePath) : DEFAULT_STORAGE_PATHS;\n\n options = { ...storagePaths, ...options };\n getVersions(versionExpression, options, (err, versions) => {\n if (err) return callback(err);\n if (!versions.length) return callback(new Error(`Could not resolve versions for: ${versionExpression}`));\n if (versions.length !== 1) return callback(new Error(`Version ${versionExpression} resolved to multiple versions: ${versions.map((x) => x.version)}. Expecting one.`));\n\n const version = versions[0];\n const result = createResult(options, version);\n\n checkMissing(result.installPath, options, (err, missing) => {\n if (err || !missing.length) return callback(err, result);\n\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, options.cachePath));\n queue.defer(ensureDestinationParent.bind(null, result.installPath));\n !~missing.indexOf('node') || queue.defer(installNode.bind(null, version, result.installPath, options));\n !~missing.indexOf('npm') || queue.defer(installNPM.bind(null, version, result.installPath, options));\n queue.await((err) => (err ? callback(err) : callback(null, result)));\n });\n });\n}\n"],"names":["isVersion","mkdirp","Queue","DEFAULT_STORAGE_PATHS","createResult","createStoragePaths","resolveVersions","installNPM","installNode","checkMissing","ensureDestinationParent","getVersions","versionExpression","options","callback","install","storagePaths","storagePath","err","versions","length","Error","map","x","version","result","installPath","missing","queue","defer","bind","cachePath","indexOf","await"],"mappings":"AAAA,OAAOA,eAAe,aAAa;AACnC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,WAAW,WAAW;AAC7B,SAASC,qBAAqB,QAAQ,eAAe;AAErD,OAAOC,kBAAkB,kBAAkB;AAC3C,OAAOC,wBAAwB,wBAAwB;AAEvD,OAAOC,qBAAqB,wBAAwB;AAEpD,OAAOC,gBAAgB,sBAAsB;AAC7C,OAAOC,iBAAiB,uBAAuB;AAC/C,OAAOC,kBAAkB,sBAAsB;AAC/C,OAAOC,6BAA6B,iCAAiC;AAErE,gBAAgB;AAChB,SAASC,YAAYC,iBAAiB,EAAEC,OAAO,EAAEC,QAAQ;IACvDd,UAAUY,qBAAqBE,SAAS,MAAM;QAACF;KAAkB,IAAIN,gBAAgBM,mBAAmBC,SAASC;AACnH;AAEA,eAAe,SAASC,QAAQH,iBAAiB,EAAEC,OAAO,EAAEC,QAAQ;IAClE,MAAME,eAAeH,QAAQI,WAAW,GAAGZ,mBAAmBQ,QAAQI,WAAW,IAAId;IAErFU,UAAU;QAAE,GAAGG,YAAY;QAAE,GAAGH,OAAO;IAAC;IACxCF,YAAYC,mBAAmBC,SAAS,CAACK,KAAKC;QAC5C,IAAID,KAAK,OAAOJ,SAASI;QACzB,IAAI,CAACC,SAASC,MAAM,EAAE,OAAON,SAAS,IAAIO,MAAM,CAAC,gCAAgC,EAAET,mBAAmB;QACtG,IAAIO,SAASC,MAAM,KAAK,GAAG,OAAON,SAAS,IAAIO,MAAM,CAAC,QAAQ,EAAET,kBAAkB,gCAAgC,EAAEO,SAASG,GAAG,CAAC,CAACC,IAAMA,EAAEC,OAAO,EAAE,gBAAgB,CAAC;QAEpK,MAAMA,UAAUL,QAAQ,CAAC,EAAE;QAC3B,MAAMM,SAASrB,aAAaS,SAASW;QAErCf,aAAagB,OAAOC,WAAW,EAAEb,SAAS,CAACK,KAAKS;YAC9C,IAAIT,OAAO,CAACS,QAAQP,MAAM,EAAE,OAAON,SAASI,KAAKO;YAEjD,MAAMG,QAAQ,IAAI1B,MAAM;YACxB0B,MAAMC,KAAK,CAAC5B,OAAO6B,IAAI,CAAC,MAAMjB,QAAQkB,SAAS;YAC/CH,MAAMC,KAAK,CAACnB,wBAAwBoB,IAAI,CAAC,MAAML,OAAOC,WAAW;YACjE,CAAC,CAACC,QAAQK,OAAO,CAAC,WAAWJ,MAAMC,KAAK,CAACrB,YAAYsB,IAAI,CAAC,MAAMN,SAASC,OAAOC,WAAW,EAAEb;YAC7F,CAAC,CAACc,QAAQK,OAAO,CAAC,UAAUJ,MAAMC,KAAK,CAACtB,WAAWuB,IAAI,CAAC,MAAMN,SAASC,OAAOC,WAAW,EAAEb;YAC3Fe,MAAMK,KAAK,CAAC,CAACf,MAASA,MAAMJ,SAASI,OAAOJ,SAAS,MAAMW;QAC7D;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function conditionalCopy(src: any, dest: any, optional: any, callback: any):
|
|
1
|
+
export default function conditionalCopy(src: any, dest: any, optional: any, callback: any): any;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-install-release",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Cross-platform solution for installing releases of Node.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"node",
|
|
@@ -32,7 +32,8 @@
|
|
|
32
32
|
"nir": "./bin/cli.cjs"
|
|
33
33
|
},
|
|
34
34
|
"files": [
|
|
35
|
-
"dist"
|
|
35
|
+
"dist",
|
|
36
|
+
"assets"
|
|
36
37
|
],
|
|
37
38
|
"scripts": {
|
|
38
39
|
"build": "tsds build",
|
|
@@ -68,6 +69,7 @@
|
|
|
68
69
|
"@types/node": "^22.10.5",
|
|
69
70
|
"cr": "^0.1.0",
|
|
70
71
|
"fs-exists-sync": "^0.1.0",
|
|
72
|
+
"node-version-compare": "^1.0.3",
|
|
71
73
|
"node-version-utils": "^1.2.1",
|
|
72
74
|
"pinkie-promise": "^2.0.1"
|
|
73
75
|
},
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return progress;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _singlelinelog2 = /*#__PURE__*/ _interop_require_default(require("single-line-log2"));
|
|
12
|
-
function _interop_require_default(obj) {
|
|
13
|
-
return obj && obj.__esModule ? obj : {
|
|
14
|
-
default: obj
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
function progress(entry) {
|
|
18
|
-
var message = "".concat(entry.progress, " ").concat(entry.basename);
|
|
19
|
-
if (entry.percentage) message += " - ".concat(entry.percentage.toFixed(0), "%");
|
|
20
|
-
_singlelinelog2.default.stdout(message);
|
|
21
|
-
}
|
|
22
|
-
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/progress.ts"],"sourcesContent":["import sll from 'single-line-log2';\n\nexport default function progress(entry) {\n let message = `${entry.progress} ${entry.basename}`;\n if (entry.percentage) message += ` - ${entry.percentage.toFixed(0)}%`;\n sll.stdout(message);\n}\n"],"names":["progress","entry","message","basename","percentage","toFixed","sll","stdout"],"mappings":";;;;+BAEA;;;eAAwBA;;;qEAFR;;;;;;AAED,SAASA,SAASC,KAAK;IACpC,IAAIC,UAAU,AAAC,GAAoBD,OAAlBA,MAAMD,QAAQ,EAAC,KAAkB,OAAfC,MAAME,QAAQ;IACjD,IAAIF,MAAMG,UAAU,EAAEF,WAAW,AAAC,MAAiC,OAA5BD,MAAMG,UAAU,CAACC,OAAO,CAAC,IAAG;IACnEC,uBAAG,CAACC,MAAM,CAACL;AACb"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/progress.ts"],"sourcesContent":["import sll from 'single-line-log2';\n\nexport default function progress(entry) {\n let message = `${entry.progress} ${entry.basename}`;\n if (entry.percentage) message += ` - ${entry.percentage.toFixed(0)}%`;\n sll.stdout(message);\n}\n"],"names":["sll","progress","entry","message","basename","percentage","toFixed","stdout"],"mappings":"AAAA,OAAOA,SAAS,mBAAmB;AAEnC,eAAe,SAASC,SAASC,KAAK;IACpC,IAAIC,UAAU,GAAGD,MAAMD,QAAQ,CAAC,CAAC,EAAEC,MAAME,QAAQ,EAAE;IACnD,IAAIF,MAAMG,UAAU,EAAEF,WAAW,CAAC,GAAG,EAAED,MAAMG,UAAU,CAACC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrEN,IAAIO,MAAM,CAACJ;AACb"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function progress(entry: any): void;
|