/
webpack.dev.js
41 lines (40 loc) · 1.71 KB
/
webpack.dev.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import path, { dirname } from "path";
import { fileURLToPath } from "url";
import { merge } from "webpack-merge";
import common from "./webpack.common.js";
import * as fs from "fs";
const examples = fs.readdirSync("dev/scripts/examples/");
import fetch from "node-fetch";
export default merge(common, {
mode: "development",
devtool: "inline-source-map",
devServer: {
https: true,
headers: {
"Access-Control-Allow-Origin": "*",
},
static: [
{ directory: path.join(dirname(fileURLToPath(import.meta.url)), "dev") },
{ directory: path.join(dirname(fileURLToPath(import.meta.url)), "dist") },
{ directory: path.join(dirname(fileURLToPath(import.meta.url)), "node_modules/@flow-connect/audio/dist") },
{ directory: path.join(dirname(fileURLToPath(import.meta.url)), "node_modules/@flow-connect/common/dist") },
{ directory: path.join(dirname(fileURLToPath(import.meta.url)), "node_modules/@flow-connect/math/dist") },
{ directory: path.join(dirname(fileURLToPath(import.meta.url)), "node_modules/@flow-connect/net/dist") },
{ directory: path.join(dirname(fileURLToPath(import.meta.url)), "node_modules/@flow-connect/ui/dist") },
{ directory: path.join(dirname(fileURLToPath(import.meta.url)), "node_modules/@flow-connect/visual/dist") },
],
onBeforeSetupMiddleware: (devServer) => {
devServer.app.get("/examples", function (_req, res) {
res.json(examples);
});
devServer.app.get("/test-api", async function (_req, res) {
const result = await fetch("https://public.polygon.io/v2/market/now");
const data = await result.json();
res.json(data);
});
},
compress: true,
port: 9000,
hot: true,
},
});