UNPKG

dpkit

Version:

Fast TypeScript data management framework built on top of the Data Package standard and Polars DataFrames

95 lines 10.2 kB
import { join } from "node:path"; import { execa } from "execa"; import metadata from "../package.json" with { type: "json" }; // TODO: Enable SQLite support function makeShell(...paths) { return execa({ cwd: join(import.meta.dirname, ...paths), stdout: ["inherit", "pipe"], verbose: "short", preferLocal: true, }); } const $root = makeShell(".."); const $compile = makeShell("..", "compile"); const $binaries = makeShell("..", "compile", "binaries"); // Cleanup await $root `rm -rf compile`; await $root `mkdir compile`; // Build dependencies await $root ` pnpm deploy compile --legacy --production --filter dpkit --config.node-linker=hoisted `; // Remove binaries const binaries = [ { polars: "nodejs-polars-linux-x64-gnu", libsql: "libsql-linux-x64-gnu" }, { polars: "nodejs-polars-linux-x64-musl", libsql: "libsql-linux-x64-musl" }, ]; for (const binary of binaries) { await $compile `rm -rf node_modules/${binary.polars}`; //await $compile`rm -rf node_modules/${binary.libsql}` } // Compile executable const targets = [ { name: "bun-linux-x64", dpkit: "linux-x64", polars: "nodejs-polars-linux-x64-gnu", libsql: "libsql-linux-x64-gnu", }, { name: "bun-linux-arm64", dpkit: "linux-arm64", polars: "nodejs-polars-linux-arm64-gnu", libsql: "libsql-linux-arm64-gnu", }, { name: "bun-darwin-x64", dpkit: "macos-x64", polars: "nodejs-polars-darwin-x64", libsql: "libsql-darwin-x64", }, { name: "bun-darwin-arm64", dpkit: "macos-arm64", polars: "nodejs-polars-darwin-arm64", libsql: "libsql-darwin-arm64", }, { name: "bun-windows-x64", dpkit: "windows-x64", polars: "nodejs-polars-win32-x64-msvc", libsql: "libsql-win32-x64-msvc", }, ]; for (const target of targets) { const folder = `dp-${metadata.version}-${target.dpkit}`; for (const packageName of [target.polars]) { //for (const packageName of [target.polars, target.libsql]) { const pack = await $compile `npm pack ${packageName}`; await $compile `mkdir -p node_modules/${packageName}`; await $compile `tar -xzf ${pack.stdout} -C node_modules/${packageName} --strip-components=1`; await $compile `rm ${pack.stdout}`; } await $compile ` bun build main.ts --compile --outfile binaries/${folder}/dp --target ${target.name} `; // For some reason bun creates it with no permissions if (target.name.startsWith("bun-windows")) { await $binaries `chmod +r ${folder}/dp.exe`; } await $binaries `zip -r ${folder}.zip ${folder}`; await $binaries `rm -rf ${folder}`; await $compile `rm -rf node_modules/${target.polars}`; //await $compile`rm -rf node_modules/${target.libsql}` } // Clean artifacts (pnpm creates an unwanted dpkit folder) await $root `rm -rf dpkit`; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NjcmlwdHMvY29tcGlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFDN0IsT0FBTyxRQUFRLE1BQU0saUJBQWlCLENBQUMsT0FBTyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUE7QUFFNUQsOEJBQThCO0FBRTlCLFNBQVMsU0FBUyxDQUFDLEdBQUcsS0FBZTtJQUNuQyxPQUFPLEtBQUssQ0FBQztRQUNYLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDeEMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUMzQixPQUFPLEVBQUUsT0FBTztRQUNoQixXQUFXLEVBQUUsSUFBSTtLQUNsQixDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzdCLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUE7QUFDM0MsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUE7QUFFeEQsVUFBVTtBQUVWLE1BQU0sS0FBSyxDQUFBLGdCQUFnQixDQUFBO0FBQzNCLE1BQU0sS0FBSyxDQUFBLGVBQWUsQ0FBQTtBQUUxQixxQkFBcUI7QUFFckIsTUFBTSxLQUFLLENBQUE7Ozs7OztDQU1WLENBQUE7QUFFRCxrQkFBa0I7QUFFbEIsTUFBTSxRQUFRLEdBQUc7SUFDZixFQUFFLE1BQU0sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUU7SUFDekUsRUFBRSxNQUFNLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxFQUFFLHVCQUF1QixFQUFFO0NBQzVFLENBQUE7QUFFRCxLQUFLLE1BQU0sTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQzlCLE1BQU0sUUFBUSxDQUFBLHVCQUF1QixNQUFNLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDcEQsc0RBQXNEO0FBQ3hELENBQUM7QUFFRCxxQkFBcUI7QUFFckIsTUFBTSxPQUFPLEdBQUc7SUFDZDtRQUNFLElBQUksRUFBRSxlQUFlO1FBQ3JCLEtBQUssRUFBRSxXQUFXO1FBQ2xCLE1BQU0sRUFBRSw2QkFBNkI7UUFDckMsTUFBTSxFQUFFLHNCQUFzQjtLQUMvQjtJQUNEO1FBQ0UsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixLQUFLLEVBQUUsYUFBYTtRQUNwQixNQUFNLEVBQUUsK0JBQStCO1FBQ3ZDLE1BQU0sRUFBRSx3QkFBd0I7S0FDakM7SUFDRDtRQUNFLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsS0FBSyxFQUFFLFdBQVc7UUFDbEIsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxNQUFNLEVBQUUsbUJBQW1CO0tBQzVCO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLEtBQUssRUFBRSxhQUFhO1FBQ3BCLE1BQU0sRUFBRSw0QkFBNEI7UUFDcEMsTUFBTSxFQUFFLHFCQUFxQjtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixLQUFLLEVBQUUsYUFBYTtRQUNwQixNQUFNLEVBQUUsOEJBQThCO1FBQ3RDLE1BQU0sRUFBRSx1QkFBdUI7S0FDaEM7Q0FDRixDQUFBO0FBRUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUM3QixNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBRXZELEtBQUssTUFBTSxXQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMxQyw2REFBNkQ7UUFDN0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUEsWUFBWSxXQUFXLEVBQUUsQ0FBQTtRQUNwRCxNQUFNLFFBQVEsQ0FBQSx5QkFBeUIsV0FBVyxFQUFFLENBQUE7UUFDcEQsTUFBTSxRQUFRLENBQUEsWUFBWSxJQUFJLENBQUMsTUFBTSxvQkFBb0IsV0FBVyx1QkFBdUIsQ0FBQTtRQUMzRixNQUFNLFFBQVEsQ0FBQSxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUNuQyxDQUFDO0lBRUQsTUFBTSxRQUFRLENBQUE7Ozt1QkFHTyxNQUFNO2FBQ2hCLE1BQU0sQ0FBQyxJQUFJO0dBQ3JCLENBQUE7SUFFRCxxREFBcUQ7SUFDckQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1FBQzFDLE1BQU0sU0FBUyxDQUFBLFlBQVksTUFBTSxTQUFTLENBQUE7SUFDNUMsQ0FBQztJQUVELE1BQU0sU0FBUyxDQUFBLFVBQVUsTUFBTSxRQUFRLE1BQU0sRUFBRSxDQUFBO0lBQy9DLE1BQU0sU0FBUyxDQUFBLFVBQVUsTUFBTSxFQUFFLENBQUE7SUFFakMsTUFBTSxRQUFRLENBQUEsdUJBQXVCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUNwRCxzREFBc0Q7QUFDeEQsQ0FBQztBQUVELDBEQUEwRDtBQUUxRCxNQUFNLEtBQUssQ0FBQSxjQUFjLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgeyBleGVjYSB9IGZyb20gXCJleGVjYVwiXG5pbXBvcnQgbWV0YWRhdGEgZnJvbSBcIi4uL3BhY2thZ2UuanNvblwiIHdpdGggeyB0eXBlOiBcImpzb25cIiB9XG5cbi8vIFRPRE86IEVuYWJsZSBTUUxpdGUgc3VwcG9ydFxuXG5mdW5jdGlvbiBtYWtlU2hlbGwoLi4ucGF0aHM6IHN0cmluZ1tdKSB7XG4gIHJldHVybiBleGVjYSh7XG4gICAgY3dkOiBqb2luKGltcG9ydC5tZXRhLmRpcm5hbWUsIC4uLnBhdGhzKSxcbiAgICBzdGRvdXQ6IFtcImluaGVyaXRcIiwgXCJwaXBlXCJdLFxuICAgIHZlcmJvc2U6IFwic2hvcnRcIixcbiAgICBwcmVmZXJMb2NhbDogdHJ1ZSxcbiAgfSlcbn1cblxuY29uc3QgJHJvb3QgPSBtYWtlU2hlbGwoXCIuLlwiKVxuY29uc3QgJGNvbXBpbGUgPSBtYWtlU2hlbGwoXCIuLlwiLCBcImNvbXBpbGVcIilcbmNvbnN0ICRiaW5hcmllcyA9IG1ha2VTaGVsbChcIi4uXCIsIFwiY29tcGlsZVwiLCBcImJpbmFyaWVzXCIpXG5cbi8vIENsZWFudXBcblxuYXdhaXQgJHJvb3Rgcm0gLXJmIGNvbXBpbGVgXG5hd2FpdCAkcm9vdGBta2RpciBjb21waWxlYFxuXG4vLyBCdWlsZCBkZXBlbmRlbmNpZXNcblxuYXdhaXQgJHJvb3RgXG5wbnBtIGRlcGxveSBjb21waWxlXG4tLWxlZ2FjeVxuLS1wcm9kdWN0aW9uXG4tLWZpbHRlciBkcGtpdFxuLS1jb25maWcubm9kZS1saW5rZXI9aG9pc3RlZFxuYFxuXG4vLyBSZW1vdmUgYmluYXJpZXNcblxuY29uc3QgYmluYXJpZXMgPSBbXG4gIHsgcG9sYXJzOiBcIm5vZGVqcy1wb2xhcnMtbGludXgteDY0LWdudVwiLCBsaWJzcWw6IFwibGlic3FsLWxpbnV4LXg2NC1nbnVcIiB9LFxuICB7IHBvbGFyczogXCJub2RlanMtcG9sYXJzLWxpbnV4LXg2NC1tdXNsXCIsIGxpYnNxbDogXCJsaWJzcWwtbGludXgteDY0LW11c2xcIiB9LFxuXVxuXG5mb3IgKGNvbnN0IGJpbmFyeSBvZiBiaW5hcmllcykge1xuICBhd2FpdCAkY29tcGlsZWBybSAtcmYgbm9kZV9tb2R1bGVzLyR7YmluYXJ5LnBvbGFyc31gXG4gIC8vYXdhaXQgJGNvbXBpbGVgcm0gLXJmIG5vZGVfbW9kdWxlcy8ke2JpbmFyeS5saWJzcWx9YFxufVxuXG4vLyBDb21waWxlIGV4ZWN1dGFibGVcblxuY29uc3QgdGFyZ2V0cyA9IFtcbiAge1xuICAgIG5hbWU6IFwiYnVuLWxpbnV4LXg2NFwiLFxuICAgIGRwa2l0OiBcImxpbnV4LXg2NFwiLFxuICAgIHBvbGFyczogXCJub2RlanMtcG9sYXJzLWxpbnV4LXg2NC1nbnVcIixcbiAgICBsaWJzcWw6IFwibGlic3FsLWxpbnV4LXg2NC1nbnVcIixcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiYnVuLWxpbnV4LWFybTY0XCIsXG4gICAgZHBraXQ6IFwibGludXgtYXJtNjRcIixcbiAgICBwb2xhcnM6IFwibm9kZWpzLXBvbGFycy1saW51eC1hcm02NC1nbnVcIixcbiAgICBsaWJzcWw6IFwibGlic3FsLWxpbnV4LWFybTY0LWdudVwiLFxuICB9LFxuICB7XG4gICAgbmFtZTogXCJidW4tZGFyd2luLXg2NFwiLFxuICAgIGRwa2l0OiBcIm1hY29zLXg2NFwiLFxuICAgIHBvbGFyczogXCJub2RlanMtcG9sYXJzLWRhcndpbi14NjRcIixcbiAgICBsaWJzcWw6IFwibGlic3FsLWRhcndpbi14NjRcIixcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiYnVuLWRhcndpbi1hcm02NFwiLFxuICAgIGRwa2l0OiBcIm1hY29zLWFybTY0XCIsXG4gICAgcG9sYXJzOiBcIm5vZGVqcy1wb2xhcnMtZGFyd2luLWFybTY0XCIsXG4gICAgbGlic3FsOiBcImxpYnNxbC1kYXJ3aW4tYXJtNjRcIixcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiYnVuLXdpbmRvd3MteDY0XCIsXG4gICAgZHBraXQ6IFwid2luZG93cy14NjRcIixcbiAgICBwb2xhcnM6IFwibm9kZWpzLXBvbGFycy13aW4zMi14NjQtbXN2Y1wiLFxuICAgIGxpYnNxbDogXCJsaWJzcWwtd2luMzIteDY0LW1zdmNcIixcbiAgfSxcbl1cblxuZm9yIChjb25zdCB0YXJnZXQgb2YgdGFyZ2V0cykge1xuICBjb25zdCBmb2xkZXIgPSBgZHAtJHttZXRhZGF0YS52ZXJzaW9ufS0ke3RhcmdldC5kcGtpdH1gXG5cbiAgZm9yIChjb25zdCBwYWNrYWdlTmFtZSBvZiBbdGFyZ2V0LnBvbGFyc10pIHtcbiAgICAvL2ZvciAoY29uc3QgcGFja2FnZU5hbWUgb2YgW3RhcmdldC5wb2xhcnMsIHRhcmdldC5saWJzcWxdKSB7XG4gICAgY29uc3QgcGFjayA9IGF3YWl0ICRjb21waWxlYG5wbSBwYWNrICR7cGFja2FnZU5hbWV9YFxuICAgIGF3YWl0ICRjb21waWxlYG1rZGlyIC1wIG5vZGVfbW9kdWxlcy8ke3BhY2thZ2VOYW1lfWBcbiAgICBhd2FpdCAkY29tcGlsZWB0YXIgLXh6ZiAke3BhY2suc3Rkb3V0fSAtQyBub2RlX21vZHVsZXMvJHtwYWNrYWdlTmFtZX0gLS1zdHJpcC1jb21wb25lbnRzPTFgXG4gICAgYXdhaXQgJGNvbXBpbGVgcm0gJHtwYWNrLnN0ZG91dH1gXG4gIH1cblxuICBhd2FpdCAkY29tcGlsZWBcbiAgYnVuIGJ1aWxkIG1haW4udHNcbiAgLS1jb21waWxlXG4gIC0tb3V0ZmlsZSBiaW5hcmllcy8ke2ZvbGRlcn0vZHBcbiAgLS10YXJnZXQgJHt0YXJnZXQubmFtZX1cbiAgYFxuXG4gIC8vIEZvciBzb21lIHJlYXNvbiBidW4gY3JlYXRlcyBpdCB3aXRoIG5vIHBlcm1pc3Npb25zXG4gIGlmICh0YXJnZXQubmFtZS5zdGFydHNXaXRoKFwiYnVuLXdpbmRvd3NcIikpIHtcbiAgICBhd2FpdCAkYmluYXJpZXNgY2htb2QgK3IgJHtmb2xkZXJ9L2RwLmV4ZWBcbiAgfVxuXG4gIGF3YWl0ICRiaW5hcmllc2B6aXAgLXIgJHtmb2xkZXJ9LnppcCAke2ZvbGRlcn1gXG4gIGF3YWl0ICRiaW5hcmllc2BybSAtcmYgJHtmb2xkZXJ9YFxuXG4gIGF3YWl0ICRjb21waWxlYHJtIC1yZiBub2RlX21vZHVsZXMvJHt0YXJnZXQucG9sYXJzfWBcbiAgLy9hd2FpdCAkY29tcGlsZWBybSAtcmYgbm9kZV9tb2R1bGVzLyR7dGFyZ2V0LmxpYnNxbH1gXG59XG5cbi8vIENsZWFuIGFydGlmYWN0cyAocG5wbSBjcmVhdGVzIGFuIHVud2FudGVkIGRwa2l0IGZvbGRlcilcblxuYXdhaXQgJHJvb3Rgcm0gLXJmIGRwa2l0YFxuIl19