bundling refactor

This commit is contained in:
Jan Prochazka
2024-11-15 11:49:25 +01:00
parent 51ce4f1bb5
commit 7392b223f4
22 changed files with 164 additions and 90 deletions

View File

@@ -0,0 +1,19 @@
const useBundleExternals = require('./useBundleExternals');
const getBundleExternals = require('./getBundleExternals');
function buildExternalsFromDependencies(packageJson) {
if (useBundleExternals == 'true') {
return getBundleExternals();
}
const { dependencies, optionalDependencies } = packageJson;
const externals = {};
for (let dep in dependencies || {}) {
externals[dep] = `commonjs ${dep}`;
}
for (let dep in optionalDependencies || {}) {
externals[dep] = `commonjs ${dep}`;
}
return externals;
}
module.exports = buildExternalsFromDependencies;

View File

@@ -0,0 +1,10 @@
const volatilePackages = require('./volatilePackages');
function getBundleExternals() {
return volatilePackages.reduce((acc, item) => {
acc[item] = `commonjs ${item}`;
return acc;
}, {});
}
module.exports = getBundleExternals;

View File

@@ -0,0 +1 @@
module.exports = 'false';

View File

@@ -0,0 +1,25 @@
// these packages will be never bundled with webpack
const volatilePackages = [
'@clickhouse/client',
'bson', // this package is already bundled and is used in mongodb
'mongodb',
'mongodb-client-encryption',
'tedious',
'msnodesqlv8',
'mysql2',
'oracledb',
'pg-copy-streams',
'pg',
'ioredis',
'node-redis-dump2',
'better-sqlite3',
'@azure/cosmos',
'@aws-sdk/rds-signer',
'activedirectory2',
'axios',
'bufferutil',
'ssh2',
];
module.exports = volatilePackages;