make sure a fileWithoutFileType is returned from both functions
This commit is contained in:
parent
85271de77d
commit
811a846949
3
dist/index.js
vendored
3
dist/index.js
vendored
|
@ -82174,8 +82174,9 @@ var require_versions = __commonJS({
|
|||
throw new Error(`Could not find version ${useVersion || version3} for platform ${host}`);
|
||||
}
|
||||
const downloadUrl = meta[host].tarball;
|
||||
const fileWithoutFileType = downloadUrl.match(/.*\/(.*)(\.zip|\.tar\..*$)/)[1];
|
||||
const variantName = path2.basename(meta[host].tarball).replace(`.${ext}`, "").replace(/\+\S*$/, "");
|
||||
return { downloadUrl, variantName, version: useVersion || version3 };
|
||||
return { downloadUrl, fileWithoutFileType, variantName, version: useVersion || version3 };
|
||||
}
|
||||
__name(resolveVersion2, "resolveVersion");
|
||||
module2.exports = {
|
||||
|
|
23
flake.nix
Normal file
23
flake.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
description = "Good basic flake template";
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixpkgs-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils }:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
systempkgs = nixpkgs.legacyPackages.${system};
|
||||
in
|
||||
{
|
||||
devShells.default = systempkgs.mkShell {
|
||||
buildInputs = with systempkgs; [
|
||||
# specific nodejs versions available, e.g. nodejs_18
|
||||
nodejs_20
|
||||
nodePackages.typescript-language-server
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
7
test.js
7
test.js
|
@ -32,36 +32,43 @@ async function test () {
|
|||
|
||||
assert.deepEqual(await resolveVersion('x64', 'linux', '0.7.0'), {
|
||||
downloadUrl: 'https://ziglang.org/download/0.7.0/zig-linux-x86_64-0.7.0.tar.xz',
|
||||
fileWithoutFileType: 'zig-linux-x86_64-0.7.0',
|
||||
variantName: 'zig-linux-x86_64-0.7.0',
|
||||
version: '0.7.0'
|
||||
})
|
||||
assert.deepEqual(await resolveVersion('x64', 'win32', '0.4.0'), {
|
||||
downloadUrl: 'https://ziglang.org/download/0.4.0/zig-windows-x86_64-0.4.0.zip',
|
||||
fileWithoutFileType: 'zig-windows-x86_64-0.4.0',
|
||||
variantName: 'zig-windows-x86_64-0.4.0',
|
||||
version: '0.4.0'
|
||||
})
|
||||
assert.deepEqual(await resolveVersion('arm64', 'darwin', '0.11.0'), {
|
||||
downloadUrl: 'https://ziglang.org/download/0.11.0/zig-macos-aarch64-0.11.0.tar.xz',
|
||||
fileWithoutFileType: 'zig-macos-aarch64-0.11.0',
|
||||
variantName: 'zig-macos-aarch64-0.11.0',
|
||||
version: '0.11.0'
|
||||
})
|
||||
assert.deepEqual(await resolveVersion('arm64', 'darwin', '2024.1.0-mach'), {
|
||||
downloadUrl: 'https://pkg.machengine.org/zig/zig-macos-aarch64-0.12.0-dev.2063+804cee3b9.tar.xz',
|
||||
fileWithoutFileType: 'zig-macos-aarch64-0.12.0-dev.2063+804cee3b9',
|
||||
variantName: 'zig-macos-aarch64-0.12.0-dev.2063',
|
||||
version: '2024.1.0-mach'
|
||||
})
|
||||
assert.deepEqual(await resolveVersion('x64', 'linux', '2024.3.0-mach'), {
|
||||
downloadUrl: 'https://pkg.machengine.org/zig/zig-linux-x86_64-0.12.0-dev.3180+83e578a18.tar.xz',
|
||||
fileWithoutFileType: 'zig-linux-x86_64-0.12.0-dev.3180+83e578a18',
|
||||
variantName: 'zig-linux-x86_64-0.12.0-dev.3180',
|
||||
version: '2024.3.0-mach'
|
||||
})
|
||||
assert.deepEqual(await resolveVersion('x64', 'win32', '2024.1.0-mach'), {
|
||||
downloadUrl: 'https://pkg.machengine.org/zig/zig-windows-x86_64-0.12.0-dev.2063+804cee3b9.zip',
|
||||
fileWithoutFileType: 'zig-windows-x86_64-0.12.0-dev.2063+804cee3b9',
|
||||
variantName: 'zig-windows-x86_64-0.12.0-dev.2063',
|
||||
version: '2024.1.0-mach'
|
||||
})
|
||||
assert.deepEqual(await resolveVersion('arm64', 'darwin', '2024.3.0-mach'), {
|
||||
downloadUrl: 'https://pkg.machengine.org/zig/zig-macos-aarch64-0.12.0-dev.3180+83e578a18.tar.xz',
|
||||
fileWithoutFileType: 'zig-macos-aarch64-0.12.0-dev.3180+83e578a18',
|
||||
variantName: 'zig-macos-aarch64-0.12.0-dev.3180',
|
||||
version: '2024.3.0-mach'
|
||||
})
|
||||
|
|
|
@ -69,6 +69,7 @@ function getJSON (opts) {
|
|||
* to determine the appropriate downloadUrl, etc.
|
||||
*
|
||||
* @returns {string} download URL for the version
|
||||
* @returns {string} file without file type (to match the function above)
|
||||
* @returns {string} variant name for the version - should be used as cache key
|
||||
* @returns {string} version name - use for display only
|
||||
*/
|
||||
|
@ -108,13 +109,15 @@ async function resolveVersion (arch, platform, version) {
|
|||
}
|
||||
|
||||
const downloadUrl = meta[host].tarball
|
||||
|
||||
const fileWithoutFileType = downloadUrl.match(/.*\/(.*)(\.zip|\.tar\..*$)/)[1]
|
||||
// If this is mach, we could end up with '+sha...' at the end of this, as
|
||||
// a version of '2024.1.0-mach' will resolve to a specific dev version
|
||||
// So, while the function is not called with "+...", we still have to deal with
|
||||
// it. This is important as it is used as the cache key
|
||||
const variantName = path.basename(meta[host].tarball).replace(`.${ext}`, '').replace(/\+\S*$/, '')
|
||||
|
||||
return { downloadUrl, variantName, version: useVersion || version }
|
||||
return { downloadUrl, fileWithoutFileType, variantName, version: useVersion || version }
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
|
Loading…
Reference in New Issue
Block a user