#!/usr/bin/env zx import 'zx/globals'; import { resolve } from 'node:path'; import { spawnSync } from 'child_process'; import * as esbuild from 'esbuild'; import { config, rootDir } from './common.mjs'; const NODE_ENV = process.env.NODE_ENV === 'development' ? 'development' : 'production'; if (process.platform === 'win32') { $.shell = true; $.prefix = ''; } async function buildLayers() { const common = config(); console.log('Build plugin infra'); spawnSync('yarn', ['build'], { stdio: 'inherit', cwd: resolve(rootDir, './packages/plugin-infra'), }); console.log('Build plugins'); await import('./plugins/build-plugins.mjs'); await esbuild.build(common.workers); await esbuild.build({ ...common.layers, define: { ...common.define, 'process.env.NODE_ENV': `"${NODE_ENV}"`, 'process.env.BUILD_TYPE': `"${process.env.BUILD_TYPE || 'stable'}"`, }, }); } await buildLayers(); echo('Build layers done');