const { createServer } = require('esbuild-server');

const server = createServer(
  {
    bundle: true,
    define: {
      'env': `"${process.env.NODE_ENV || 'dev'}"`,
    },
    entryPoints: ['src/index.js', 'src/map.js', 'src/soldier_record_block.js'],
    ...(process.env.NODE_ENV !== 'test') && {
      outdir: 'build'
    }
  },
  {
    static: 'public',
    ...(process.env.NODE_ENV === 'test') && {
      port: 3005,
      injectLiveReload: false,
      watch: false
    }
  }
);

const buildStart = Date.now();
server
  .start()
  .then(() => {
    console.log(`Build completed in ${Date.now() - buildStart}ms`);
  })
  .catch(() => {
    console.error('Build failed');
  });
console.log(`${process.env.NODE_ENV === 'test' ? 'Test' : 'Development'} server running at ${server.url}`);
