1. New Router and Base Page Class architecture to avoid circular references and conform to module bundler requirements. \n 2. Relative path bug fix for lib/validation.js file to work using module bundler.

This commit is contained in:
2024-09-17 17:00:18 +01:00
parent d858f47ef5
commit 7668c35354
104 changed files with 1348 additions and 247 deletions

View File

@@ -4,57 +4,78 @@ const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
entry: {
/*
main: [
path.resolve(__dirname, 'static/js/app.js'),
...glob.sync(path.resolve(__dirname, 'static/css/main/** /*.css')) // Include CSS files for the main page
path.resolve(__dirname, 'static/css/main.css'),
// ...glob.sync(path.resolve(__dirname, 'static/css/main/** /*.css')) // Include CSS files for the main page
],
*/
// Core
core_home: [
path.resolve(__dirname, 'static/js/pages/core/home.js'),
// path.resolve(__dirname, 'static/js/pages/core/home.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/core/home.css')
],
core_contact: [
path.resolve(__dirname, 'static/js/pages/core/contact.js'),
// path.resolve(__dirname, 'static/js/pages/core/contact.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/core/contact.css')
],
core_services: [
path.resolve(__dirname, 'static/js/pages/core/services.js'),
// path.resolve(__dirname, 'static/js/pages/core/services.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/core/services.css')
],
core_admin_home: [
path.resolve(__dirname, 'static/js/pages/core/admin_home.js'),
// path.resolve(__dirname, 'static/js/pages/core/admin_home.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/core/admin_home.css')
],
// Legal
/*
legal_accessibility_report: [
path.resolve(__dirname, 'static/js/pages/legal/accessibility_report.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/legal/accessibility_report.css')
],
*/
legal_accessibility_statement: [
// path.resolve(__dirname, 'static/js/pages/legal/accessibility_statement.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/legal/accessibility_statement.css')
],
legal_retention_schedule: [
// path.resolve(__dirname, 'static/js/pages/legal/retention_schedule.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/legal/retention_schedule.css')
],
legal_license: [
path.resolve(__dirname, 'static/js/pages/legal/license.js'),
// path.resolve(__dirname, 'static/js/pages/legal/license.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/legal/license.css')
],
legal_privacy_policy: [
// path.resolve(__dirname, 'static/js/pages/legal/privacy_policy.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/legal/privacy_policy.css')
],
// Store
store_home: [
path.resolve(__dirname, 'static/js/pages/store/home.js'),
// path.resolve(__dirname, 'static/js/pages/store/home.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/store/home.css')
],
store_product_categories: [
path.resolve(__dirname, 'static/js/pages/store/product_categories.js'),
// path.resolve(__dirname, 'static/js/pages/store/product_categories.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/store/product_categories.css')
],
store_product_permutations: [
path.resolve(__dirname, 'static/js/pages/store/product_permutations.js'),
// path.resolve(__dirname, 'static/js/pages/store/product_permutations.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/store/product_permutations.css')
],
store_stock_items: [
path.resolve(__dirname, 'static/js/pages/store/stock_items.js'),
// path.resolve(__dirname, 'static/js/pages/store/stock_items.js'),
path.resolve(__dirname, 'static/css/sections/core.css'),
path.resolve(__dirname, 'static/css/pages/store/stock_items.css')
],
@@ -62,6 +83,7 @@ module.exports = {
output: {
filename: 'js/[name].bundle.js',
path: path.resolve(__dirname, 'static/dist'),
chunkFilename: '[name].chunk.js', // Non-entry chunk filename
},
module: {
rules: [
@@ -83,10 +105,15 @@ module.exports = {
},
plugins: [
new MiniCssExtractPlugin({
filename: 'css/[name].css',
filename: 'css/[name].bundle.css',
}),
],
resolve: {
extensions: ['.js', '.json', '.wasm']
},
optimization: {
splitChunks: {
chunks: 'all'
}
}
};