puddysql
Version:
🍮 Powerful SQL toolkit for Node.js, built with flexibility and structure in mind. Easily manage SQLite3/PostgreSQL, advanced queries, smart tag systems, and full JSON-friendly filters.
66 lines (61 loc) • 1.46 kB
JavaScript
import path from 'path';
import { fileURLToPath } from 'url';
import webpack from 'webpack';
import NodePolyfillPlugin from 'node-polyfill-webpack-plugin';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// Add modules
const modules = [];
const addModule = (entry, library, isClass = false) => {
const baseConfig = {
entry,
output: {
path: path.resolve(__dirname, 'dist'),
library,
libraryTarget: 'window',
libraryExport: isClass ? library : undefined,
},
optimization: {
usedExports: true,
runtimeChunk: false,
splitChunks: false,
},
plugins: [
new NodePolyfillPlugin(),
new webpack.ProvidePlugin({
process: 'process/browser',
}),
],
};
modules.push(
// Non-minified version
/** {
...baseConfig,
mode: 'development',
output: {
...baseConfig.output,
filename: `${library}.js`,
},
optimization: {
...baseConfig.optimization,
minimize: false,
},
}, */
// Minified version
{
...baseConfig,
mode: 'production',
output: {
...baseConfig.output,
filename: `${library}.min.js`,
},
optimization: {
...baseConfig.optimization,
minimize: true,
},
},
);
};
// Main
addModule('./src/build/PuddySqlTags.mjs', 'PuddySqlTags', true);
export default modules;