Website/app/webpack.config.js
Snoweuph d0ec79fd71
Some checks failed
Quality Check / QS Frontend (push) Failing after 13s
Quality Check / QS Mixed (push) Failing after 11s
Quality Check / QS Backend (push) Successful in 14s
Use Symfony UX Twig
2024-07-21 12:53:00 +02:00

65 lines
1.8 KiB
JavaScript

const Encore = require('@symfony/webpack-encore');
const {TsconfigPathsPlugin} = require("tsconfig-paths-webpack-plugin");
const path = require('path');
const BrowserSyncPlugin = require('browser-sync-webpack-plugin');
if (!Encore.isRuntimeEnvironmentConfigured()) {
Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev');
}
const TS_CONFIG_PATH = path.resolve("frontend/tsconfig.json")
Encore
// Paths and Files
.setOutputPath('public/build/')
.setPublicPath('/build')
.copyFiles({
from: './assets/',
to: '../[path][name].[ext]'
})
.addEntry('app', './frontend/app.ts')
// Webpack
.splitEntryChunks()
.enableSingleRuntimeChunk()
.cleanupOutputBeforeBuild()
.enableBuildNotifications()
.enableSourceMaps(!Encore.isProduction())
.enableVersioning(Encore.isProduction())
// Packages
.configureBabelPresetEnv((config) => {
config.useBuiltIns = 'usage';
config.corejs = '3.23';
})
.enableStimulusBridge('./frontend/controllers/controllers.json')
.enableSassLoader()
.enablePostCssLoader()
.enableTypeScriptLoader(function tsconfigCallback(tsConfig) {
tsConfig.configFile = TS_CONFIG_PATH;
})
.enableForkedTypeScriptTypesChecking(function (forkedTsConfig) {
forkedTsConfig.typescript = {
configFile: TS_CONFIG_PATH
}
})
.addPlugin(new BrowserSyncPlugin({
proxy: 'http://localhost:8000',
files: [
'frontend/**/*.twig',
'frontend/**/*.scss',
'frontend/**/*.ts',
],
reload: true,
open: true,
notify: false
}))
;
const config = Encore.getWebpackConfig();
config.resolve.plugins = [
new TsconfigPathsPlugin({
configFile: TS_CONFIG_PATH,
})
];
module.exports = config;