diff options
Diffstat (limited to 'node_modules/blake3-wasm/dist/build/generate-tasks.js')
| -rw-r--r-- | node_modules/blake3-wasm/dist/build/generate-tasks.js | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/node_modules/blake3-wasm/dist/build/generate-tasks.js b/node_modules/blake3-wasm/dist/build/generate-tasks.js new file mode 100644 index 0000000..bea411b --- /dev/null +++ b/node_modules/blake3-wasm/dist/build/generate-tasks.js @@ -0,0 +1,88 @@ +"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()); + }); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const fs_1 = require("fs"); +const js_yaml_1 = require("js-yaml"); +const node_fetch_1 = __importDefault(require("node-fetch")); +const path_1 = require("path"); +const minVersion = 64; +(() => __awaiter(void 0, void 0, void 0, function* () { + const res = yield node_fetch_1.default('https://nodejs.org/dist/index.json'); + if (!res.ok) { + throw new Error(`${res.status} error from Node.js releases page`); + } + const releases = yield res.json(); + const buildVersion = new Map(); + const versionMap = {}; + for (const release of releases) { + const moduleVersion = Number(release.modules); + if (!moduleVersion || moduleVersion < minVersion) { + break; + } + versionMap[release.version] = Number(moduleVersion); + if (buildVersion.has(moduleVersion)) { + continue; + } + buildVersion.set(moduleVersion, release.version); + } + const buildYaml = { + name: 'Generate Binaries', + on: { + push: { + branches: ['generate-binary'], + }, + }, + jobs: { + build: { + name: 'Build', + 'runs-on': '${{ matrix.os }}', + strategy: { + matrix: { os: ['macos-latest', 'ubuntu-latest', 'windows-latest'] }, + }, + steps: [ + { uses: 'actions/checkout@master' }, + { run: 'mkdir dist' }, + { + uses: 'actions-rs/toolchain@v1', + with: { target: 'wasm32-unknown-unknown', toolchain: 'nightly' }, + }, + ...[...buildVersion.entries()] + .map(([moduleVersion, nodeVersion], i) => [ + { uses: 'actions/setup-node@v1', with: { 'node-version': nodeVersion } }, + { + // See: https://github.com/actions/setup-node/issues/68 + shell: 'powershell', + name: 'patch node-gyp for VS 2019', + run: 'npm install --global node-gyp@latest\r\nnpm prefix -g | % {npm config set node_gyp "$_\\node_modules\\node-gyp\\bin\\node-gyp.js"}', + if: "matrix.os == 'windows-latest'", + }, + i === 0 + ? { run: 'npm install neon-cli rimraf' } + : { run: './node_modules/.bin/rimraf rs/native/target' }, + { run: '../node_modules/.bin/neon build --release', 'working-directory': 'rs' }, + { run: `mv rs/native/index.node dist/\${{ matrix.os }}-${moduleVersion}.node` }, + ]) + .reduce((acc, v) => [...acc, ...v], []), + { + uses: 'actions/upload-artifact@v1', + with: { name: 'dist', path: 'dist' }, + }, + ], + }, + }, + }; + fs_1.writeFileSync(path_1.join(__dirname, '..', '..', '.github', 'workflows', 'build-neon.yml'), js_yaml_1.dump(buildYaml)); + fs_1.writeFileSync(path_1.join(__dirname, '..', '..', 'targets.json'), JSON.stringify(versionMap)); +}))(); +//# sourceMappingURL=generate-tasks.js.map
\ No newline at end of file |
