import * as path from 'path' import {build} from 'esbuild' import type {Plugin} from 'esbuild' const definedGlobals = { global: 'window', 'process.env.THEATRE_VERSION': JSON.stringify( require('../package.json').version, ), } function createBundles(watch: boolean) { const pathToPackage = path.join(__dirname, '../') const esbuildConfig: Parameters[0] = { bundle: true, sourcemap: true, define: definedGlobals, watch, platform: 'browser', loader: { '.png': 'dataurl', '.glb': 'dataurl', '.gltf': 'dataurl', '.svg': 'dataurl', }, mainFields: ['browser', 'module', 'main'], target: ['firefox57', 'chrome58'], conditions: ['browser', 'node'], } // build({ // ...esbuildConfig, // entryPoints: [path.join(pathToPackage, 'src/core-only.ts')], // outfile: path.join(pathToPackage, 'dist/core-only.js'), // format: 'iife', // }) build({ ...esbuildConfig, entryPoints: [path.join(pathToPackage, 'src/core-and-studio.ts')], outfile: path.join(pathToPackage, 'dist/core-and-studio.js'), format: 'iife', }) build({ ...esbuildConfig, entryPoints: [path.join(pathToPackage, 'src/core-only.ts')], outfile: path.join(pathToPackage, 'dist/core-only.min.js'), minify: true, format: 'iife', define: { ...definedGlobals, 'process.env.NODE_ENV': JSON.stringify('production'), }, }) // build({ // ...esbuildConfig, // outfile: path.join(pathToPackage, 'dist/index.mjs'), // format: 'esm', // }) } createBundles(false)