@nx/next
Version:
24 lines (23 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createWebpackConfig = createWebpackConfig;
const path_1 = require("path");
const create_copy_plugin_1 = require("./create-copy-plugin");
function createWebpackConfig(workspaceRoot, projectRoot, fileReplacements = [], assets = null) {
return function webpackConfig(config, { isServer, }) {
fileReplacements
.map((fileReplacement) => ({
replace: (0, path_1.resolve)(workspaceRoot, fileReplacement.replace),
with: (0, path_1.resolve)(workspaceRoot, fileReplacement.with),
}))
.reduce((alias, replacement) => {
alias[replacement.replace] = replacement.with;
return alias;
}, config.resolve.alias);
// Copy (shared) assets to `public` folder during client-side compilation
if (!isServer && Array.isArray(assets) && assets.length > 0) {
config.plugins.push((0, create_copy_plugin_1.createCopyPlugin)(assets, workspaceRoot, projectRoot));
}
return config;
};
}