Live video on the AT Protocol
1import type { ModuleOptions } from "webpack";
2
3export const rules: Required<ModuleOptions>["rules"] = [
4 // Add support for native node modules
5 {
6 // We're specifying native_modules in the test because the asset relocator loader generates a
7 // "fake" .node file which is really a cjs file.
8 test: /native_modules[/\\].+\.node$/,
9 use: "node-loader",
10 },
11 {
12 test: /[/\\]node_modules[/\\].+\.(m?js|node)$/,
13 parser: { amd: false },
14 use: {
15 loader: "@vercel/webpack-asset-relocator-loader",
16 options: {
17 outputAssetBase: "native_modules",
18 },
19 },
20 },
21 {
22 test: /\.tsx?$/,
23 exclude: /(node_modules|\.webpack)/,
24 use: {
25 loader: "ts-loader",
26 options: {
27 transpileOnly: true,
28 },
29 },
30 },
31];