42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
import { build } from 'esbuild';
|
|
import { resolve, dirname } from 'path';
|
|
import { mkdirSync } from 'fs';
|
|
import { fileURLToPath } from 'url';
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = dirname(__filename);
|
|
|
|
const entryPoints = [
|
|
resolve(__dirname, 'src/index.ts')
|
|
];
|
|
|
|
try {
|
|
mkdirSync(resolve(__dirname, 'dist'), { recursive: true });
|
|
} catch (e) { }
|
|
|
|
console.log(`Building entry point...`);
|
|
|
|
build({
|
|
entryPoints: entryPoints,
|
|
bundle: true,
|
|
platform: 'node',
|
|
target: 'node18',
|
|
outdir: resolve(__dirname, 'dist'),
|
|
format: 'esm',
|
|
loader: {
|
|
'.ts': 'ts',
|
|
'.js': 'js',
|
|
},
|
|
external: ["playwright", "crawlee", "axios", "cheerio", "fs", "path", "os", "http", "https", "url", "stream", "util", "child_process"],
|
|
}).then(() => {
|
|
console.log("Build succeeded!");
|
|
}).catch((e) => {
|
|
if (e.errors) {
|
|
console.error("Build failed with errors:");
|
|
e.errors.forEach(err => console.error(` ${err.text} at ${err.location?.file}:${err.location?.line}`));
|
|
} else {
|
|
console.error("Build failed:", e);
|
|
}
|
|
process.exit(1);
|
|
});
|