webpack.rules.ts
1 import type { ModuleOptions } from 'webpack'; 2 3 export 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 ];