ui5_easy_use
Version:
A utility package for UI5 projects
57 lines (49 loc) • 1.49 kB
JavaScript
const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const { getContentPaths, filterContentPaths } = require('./webpack_helper.js');
const myPackageDir = path.resolve(__dirname, 'ez5_core');
// Step 1: Get all content folders
const contentFolders = getContentPaths(myPackageDir);
// Step 2: Filter unwanted files/folders
const filteredFolders = filterContentPaths(
contentFolders,
{
excludeFiles: [
// 'components/content/chart/main.js',
// 'components/content/form/main.js',
// 'components/content/table/main.js'
],
excludeFolders: [
// Example: to exclude whole folder
// 'components/content/chart'
]
},
myPackageDir
);
// Step 3: Map to webpack copy patterns
const patterns = filteredFolders.map(folder => ({
from: folder.path,
to: `${folder.name}/content`,
noErrorOnMissing: true,
globOptions: {
ignore: ['**/main.js'] // ignores any main.js inside that folder or subfolders
}
}));
module.exports = {
entry: './ez5_core/main.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist'),
libraryTarget: 'commonjs2'
},
optimization: {
minimize: false
},
mode: 'production',
target: 'node',
plugins: [
new CopyWebpackPlugin({
patterns
})
]
};