@kkt/resolve-fallback
Version:
This will modify the CRA ModuleScopePlugin plugin that prevents to import modules from outside the `src` directory.
38 lines (37 loc) • 1.34 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const webpack_1 = __importDefault(require("webpack"));
function resolveFallback(conf) {
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_1.default.ProvidePlugin({
process: 'process/browser',
Buffer: ['buffer', 'Buffer'],
}),
]);
return conf;
}
exports.default = resolveFallback;