1
0
mirror of https://github.com/psychopy/psychojs.git synced 2025-05-10 18:50:54 +00:00
psychojs/scripts/build.js.cjs
2021-07-09 07:54:03 +01:00

40 lines
941 B
JavaScript

const { buildSync } = require("esbuild");
const pkg = require("psychojs/package.json");
const versionMaybe = process.env.npm_config_outver;
const dirMaybe = process.env.npm_config_outdir;
const [, , , dir = dirMaybe || "out", version = versionMaybe || pkg.version] = process.argv;
[
// The ESM bundle
{
format: "esm",
legalComments: "external",
outfile: `./${dir}/psychojs-${version}.js`,
},
// The IIFE
{
globalName: "PsychoJS",
legalComments: "none",
outfile: `./${dir}/psychojs-${version}.iife.js`,
},
].forEach(function(options)
{
buildSync({ ...this, ...options });
}, {
// Shared options
banner: {
js: `/*! For license information please see psychojs-${version}.js.LEGAL.txt */`,
},
bundle: true,
sourcemap: true,
entryPoints: ["src/index.js"],
minifySyntax: true,
minifyWhitespace: true,
target: [
// https://github.com/evanw/esbuild/issues/121#issuecomment-646956379
"es2017",
"node14",
],
});