UNPKG

@sentre/craco-plugins

Version:
48 lines (47 loc) 1.64 kB
"use strict"; /** * Maintain Webpack 5 compatibility */ var path = require('path'); var webpack = require('webpack'); var overrideWebpackConfig = function overrideWebpackConfig(_ref) { var context = _ref.context, webpackConfig = _ref.webpackConfig, pluginOptions = _ref.pluginOptions; // Add buffer to Webpack 5 polyfill // https://github.com/diegomura/react-pdf/issues/1029 webpackConfig.plugins.push(new webpack.ProvidePlugin({ Buffer: ['buffer', 'Buffer'] })); // Add polyfill libraries webpackConfig.resolve.fallback = { // For Basics buffer: require.resolve('buffer/'), // For IPFS util: require.resolve('util/'), // For WASM stream: require.resolve('stream-browserify'), // For Ethereum Web3 assert: require.resolve('assert/'), os: require.resolve('os-browserify/browser'), http: require.resolve('stream-http'), crypto: require.resolve('crypto-browserify'), https: require.resolve('https-browserify'), path: require.resolve('path-browserify'), url: require.resolve('url/'), fs: false, // For Jupiter Aggregator process: require.resolve('process/browser'), // For Metaplex zlib: require.resolve('browserify-zlib') }; // Fix unrecognized change / caching problem webpackConfig.cache.buildDependencies.config.push(path.join(context.paths.appPath, './craco.config.js')); // Allow expression dependencies // Critical dependency: the request of a dependency is an expression webpackConfig.module.exprContextCritical = false; return webpackConfig; }; module.exports = { overrideWebpackConfig: overrideWebpackConfig };