2021-09-30 21:58:22 +02:00
|
|
|
import * as path from 'path'
|
|
|
|
import {build} from 'esbuild'
|
|
|
|
import type {Plugin} from 'esbuild'
|
|
|
|
|
|
|
|
const definedGlobals = {
|
|
|
|
global: 'window',
|
2022-06-09 19:05:25 +02:00
|
|
|
'process.env.THEATRE_VERSION': JSON.stringify(
|
|
|
|
require('../package.json').version,
|
|
|
|
),
|
2021-09-30 21:58:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
function createBundles(watch: boolean) {
|
|
|
|
const pathToPackage = path.join(__dirname, '../')
|
|
|
|
const esbuildConfig: Parameters<typeof build>[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',
|
|
|
|
// })
|
|
|
|
|
2023-08-03 10:46:36 +02:00
|
|
|
void build({
|
2021-09-30 21:58:22 +02:00
|
|
|
...esbuildConfig,
|
|
|
|
entryPoints: [path.join(pathToPackage, 'src/core-and-studio.ts')],
|
|
|
|
outfile: path.join(pathToPackage, 'dist/core-and-studio.js'),
|
|
|
|
format: 'iife',
|
|
|
|
})
|
|
|
|
|
2023-08-03 10:46:36 +02:00
|
|
|
void build({
|
2021-09-30 21:58:22 +02:00
|
|
|
...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)
|