mirror of
https://github.com/JonasunderscoreJones/aka-worker.git
synced 2025-10-23 18:09:19 +02:00
Initial commit (by create-cloudflare CLI)
This commit is contained in:
parent
8cb86120f1
commit
fff961078a
1777 changed files with 1011798 additions and 0 deletions
100
cool-dawn-3d3b/node_modules/blake3-wasm/dist/build/install.js
generated
vendored
Normal file
100
cool-dawn-3d3b/node_modules/blake3-wasm/dist/build/install.js
generated
vendored
Normal file
|
@ -0,0 +1,100 @@
|
|||
"use strict";
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const fs_1 = require("fs");
|
||||
const https_1 = require("https");
|
||||
const path_1 = require("path");
|
||||
const stream_1 = require("stream");
|
||||
const versions_1 = require("./versions");
|
||||
/**
|
||||
* Post-install script. Downloads the binary for the current Node.js version
|
||||
* from the Gitub releases page, if it's available.
|
||||
*/
|
||||
const builtPlatforms = {
|
||||
win32: 'windows-latest',
|
||||
linux: 'ubuntu-latest',
|
||||
darwin: 'macos-latest',
|
||||
};
|
||||
const { version } = require('../../package.json');
|
||||
const repoUrl = process.env.BLAKE3_REPO_URL || 'https://github.com/connor4312/blake3';
|
||||
const targets = require('../../targets.json');
|
||||
const bindingPath = path_1.join(__dirname, '..', 'native.node');
|
||||
function install() {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
const current = versions_1.parseVersion(process.version);
|
||||
const api = getBestAbiVersion(current);
|
||||
if (!api) {
|
||||
console.error('Your Node.js release is out of LTS and BLAKE3 bindings are not built for it. Update it to use native BLAKE3 bindings.');
|
||||
return fallback();
|
||||
}
|
||||
const platform = builtPlatforms[process.platform];
|
||||
if (!platform) {
|
||||
console.error(`BLAKE3 bindings are not built for your platform (${process.platform})`);
|
||||
return fallback();
|
||||
}
|
||||
console.log(`Retrieving native BLAKE3 bindings for Node ${api.nodeVersion} on ${process.platform}...`);
|
||||
yield download(`${repoUrl}/releases/download/v${version}/${platform}-${api.abiVersion}.node`);
|
||||
try {
|
||||
require(bindingPath);
|
||||
}
|
||||
catch (e) {
|
||||
console.log(`Error trying to import bindings: ${e.message}`);
|
||||
return fallback();
|
||||
}
|
||||
useNativeImport();
|
||||
console.log('BLAKE3 bindings retrieved');
|
||||
});
|
||||
}
|
||||
function getBestAbiVersion(current) {
|
||||
for (const targetVersion of Object.keys(targets)) {
|
||||
const parsed = versions_1.parseVersion(targetVersion);
|
||||
if (versions_1.compareVersion(current, parsed) >= 0) {
|
||||
return { nodeVersion: targetVersion, abiVersion: targets[targetVersion] };
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
function fallback() {
|
||||
console.error('BLAKE3 will use slower WebAssembly bindings when required in Node.js');
|
||||
}
|
||||
function download(url) {
|
||||
return __awaiter(this, void 0, void 0, function* () {
|
||||
return new Promise(resolve => {
|
||||
const onError = (err) => {
|
||||
console.error(`Could not download binding from ${url}: ${err.stack || err.message}`);
|
||||
resolve(false);
|
||||
};
|
||||
const req = https_1.get(url, res => {
|
||||
if (res.headers.location) {
|
||||
resolve(download(res.headers.location));
|
||||
return;
|
||||
}
|
||||
if (!res.statusCode || res.statusCode >= 300) {
|
||||
console.error(`Unexpected ${res.statusCode} from ${url}`);
|
||||
resolve(false);
|
||||
return;
|
||||
}
|
||||
stream_1.pipeline(res, fs_1.createWriteStream(bindingPath), err => (err ? onError(err) : resolve(true)));
|
||||
});
|
||||
req.on('error', onError);
|
||||
});
|
||||
});
|
||||
}
|
||||
function useNativeImport() {
|
||||
const indexFile = path_1.join(__dirname, '..', 'index.js');
|
||||
const contents = fs_1.readFileSync(indexFile, 'utf-8');
|
||||
fs_1.writeFileSync(indexFile, contents.replace('"./node"', '"./node-native"'));
|
||||
}
|
||||
install().catch(err => {
|
||||
console.error(`There was an uncaught error installing native bindings: ${err.stack}`);
|
||||
fallback();
|
||||
});
|
||||
//# sourceMappingURL=install.js.map
|
Loading…
Add table
Add a link
Reference in a new issue