aabb2ecda7
* Update Node to 10.15.1 * Remove string replace that was used for oclif * Update nbin * Package node-pty and spdlog with nbin * Label stderr/stdout from shared process * Remove fork override * Prevent "already disposed" errors when trying to kill disposed proxies * Include spdlog dependencies * Shim /node_modules * Add node_modules to Docker ignore It keeps using my already-built .node files which results in a mismatching GLIBC version error. * Update nbin
32 lines
925 B
TypeScript
32 lines
925 B
TypeScript
import { Binary } from "@coder/nbin";
|
|
import * as fs from "fs";
|
|
import * as os from "os";
|
|
import * as path from "path";
|
|
|
|
const target = `${os.platform()}-${os.arch()}`;
|
|
const rootDir = path.join(__dirname, "..");
|
|
const bin = new Binary({
|
|
mainFile: path.join(rootDir, "out", "cli.js"),
|
|
});
|
|
bin.writeFiles(path.join(rootDir, "build", "**"));
|
|
bin.writeFiles(path.join(rootDir, "out", "**"));
|
|
[
|
|
// Native modules. These are marked as externals in the webpack config.
|
|
"spdlog",
|
|
"node-pty",
|
|
|
|
// These are spdlog's dependencies.
|
|
"mkdirp", "bindings",
|
|
].forEach((name) => {
|
|
bin.writeModule(path.join(__dirname, "../../../node_modules", name));
|
|
});
|
|
bin.build().then((binaryData) => {
|
|
const outputPath = path.join(__dirname, "..", `cli-${target}`);
|
|
fs.writeFileSync(outputPath, binaryData);
|
|
fs.chmodSync(outputPath, "755");
|
|
}).catch((ex) => {
|
|
// tslint:disable-next-line:no-console
|
|
console.error(ex);
|
|
process.exit(1);
|
|
});
|