12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /* eslint-disable no-undef */
- import fs from 'fs'
- import path from 'path'
- import esbuildServe from 'esbuild-serve'
- import dotenv from 'dotenv'
-
- dotenv.config()
-
- async function main() {
- if (fs.existsSync('./dist')) {
- fs.rmSync('./dist', { recursive: true }, (e) => {
- if (e) {
- throw e
- }
- })
- }
-
- fs.mkdirSync('./dist')
-
- fs.readdirSync('./src/public').forEach((file) =>
- fs.copyFile(path.join('./src/public', file), path.join('./dist', file), (err) => {
- if (err) throw err
- })
- )
-
- try {
- await esbuildServe(
- {
- entryPoints: ['src/index.tsx'],
- outfile: 'dist/index.js',
- minify: false,
- bundle: true,
- sourcemap: true,
- incremental: true,
- format: 'cjs',
- target: 'es6',
- define: {
- 'process.env.NODE_ENV': '"development"',
- 'process.env.LIVEBLOCKS_PUBLIC_API_KEY': `"${process.env.LIVEBLOCKS_PUBLIC_API_KEY}"`,
- },
- watch: {
- onRebuild(err) {
- err ? error('❌ Failed') : log('✅ Updated')
- },
- },
- },
- {
- port: 5420,
- root: './dist',
- live: true,
- }
- )
- } catch (err) {
- process.exit(1)
- }
- }
-
- main()
|