UNPKG

@kkt/resolve-fallback

Version:

This will modify the CRA ModuleScopePlugin plugin that prevents to import modules from outside the `src` directory.

33 lines (31 loc) 1.02 kB
import webpack, { Configuration } from 'webpack'; export default function resolveFallback(conf: Configuration): Configuration { if (!conf) { throw Error('KKT:@kkt/resolve-fallback: there is no config found'); } conf.resolve!.fallback = Object.assign(conf.resolve?.fallback || {}, { assert: require.resolve('assert'), buffer: require.resolve('buffer'), fs: false, path: require.resolve('path-browserify'), crypto: require.resolve('crypto-browserify'), http: require.resolve('stream-http'), https: require.resolve('https-browserify'), os: require.resolve('os-browserify/browser'), stream: require.resolve('stream-browserify'), url: require.resolve('url'), }); conf.module?.rules?.unshift({ test: /\.m?js$/, resolve: { fullySpecified: false, // disable the behavior }, }); conf.plugins = (conf.plugins || []).concat([ new webpack.ProvidePlugin({ process: 'process/browser', Buffer: ['buffer', 'Buffer'], }), ]); return conf; }