chore : Simplification de la conf webpack
Cadoles/hydra-sql/pipeline/pr-develop There was a failure building this commit Details

This commit is contained in:
Valentin Carroy 2024-10-23 12:11:46 +02:00
parent 5a59383cdd
commit 6a815be853
3 changed files with 12 additions and 88 deletions

View File

@ -2,53 +2,10 @@ webpack_encore:
# The path where Encore is building the assets - i.e. Encore.setOutputPath()
# If multiple builds are defined (as shown below), you can disable the default build:
# output_path: false
output_path: false
builds:
appConfig: '%kernel.project_dir%/public/build/app'
themeConfig: '%kernel.project_dir%/public/build/theme'
output_path: "%kernel.project_dir%/public/build"
# Set attributes that will be rendered on all script and link tags
script_attributes:
defer: true
# Uncomment (also under link_attributes) if using Turbo Drive
# https://turbo.hotwired.dev/handbook/drive#reloading-when-assets-change
# 'data-turbo-track': reload
# link_attributes:
# Uncomment if using Turbo Drive
# 'data-turbo-track': reload
# If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials')
# crossorigin: 'anonymous'
# Preload all rendered script and link tags automatically via the HTTP/2 Link header
# preload: true
# Throw an exception if the entrypoints.json file is missing or an entry is missing from the data
# strict_mode: false
# If you have multiple builds:
# builds:
# frontend: '%kernel.project_dir%/public/frontend/build'
# pass the build name as the 3rd argument to the Twig functions
# {{ encore_entry_script_tags('entry1', null, 'frontend') }}
# Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
# Put in config/packages/prod/webpack_encore.yaml
# cache: true
framework:
assets:
packages:
app:
json_manifest_path: '%kernel.project_dir%/public/build/app/manifest.json'
theme:
json_manifest_path: '%kernel.project_dir%/public/build/theme/manifest.json'
#when@prod:
# webpack_encore:
# # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
# # Available in version 1.2
# cache: true
#when@test:
# webpack_encore:
# strict_mode: false

View File

@ -4,18 +4,18 @@
<meta charset="UTF-8">
<title>{% block title %}Welcome!{% endblock %}</title>
{% block stylesheets %}
{{ encore_entry_link_tags('app', null, 'appConfig') }}
{{ encore_entry_link_tags('bootstrap-css', null, 'appConfig') }}
{{ encore_entry_link_tags('theme', null, 'themeConfig') }}
{{ encore_entry_link_tags('app') }}
{{ encore_entry_link_tags('bootstrap-css') }}
{{ encore_entry_link_tags('theme') }}
{% endblock %}
</head>
<body>
{% block body %}{% endblock %}
{% block javascripts %}
{{ encore_entry_script_tags('app', null, 'appConfig') }}
{{ encore_entry_script_tags('bootstrap-js', null, 'appConfig') }}
{{ encore_entry_script_tags('theme', null, 'themeConfig') }}
{{ encore_entry_script_tags('app') }}
{{ encore_entry_script_tags('bootstrap-js') }}
{{ encore_entry_script_tags('theme') }}
{% endblock %}
</body>
</html>

View File

@ -11,11 +11,11 @@ const basePath = process.env.BASE_PATH || ''
// Definition de AppConfig
Encore
// directory where compiled assets will be stored
.setOutputPath('public/build/app/')
.setOutputPath('public/build/')
// public path used by the web server to access the output path
.setPublicPath(basePath + '/build/app')
.setPublicPath(basePath + '/build/')
// only needed for CDN's or sub-directory deploy
.setManifestKeyPrefix('build/app')
.setManifestKeyPrefix('build')
/*
* ENTRY CONFIG
@ -26,6 +26,7 @@ Encore
.addEntry('app', './assets/app.js')
.addEntry('bootstrap-css', './assets/styles/bootstrap.scss')
.addEntry('bootstrap-js', './assets/app-bootstrap.js')
.addEntry('theme','./public/theme-entrypoint.js')
// enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js)
.enableStimulusBridge('./assets/controllers.json')
@ -62,40 +63,6 @@ Encore
.enablePostCssLoader()
.autoProvidejQuery()
.enableSassLoader()
// build the first configuration
const appConfig = Encore.getWebpackConfig();
// Set a unique name for the config (needed later!)
appConfig.name = 'appConfig';
// reset Encore to build the second config
Encore.reset();
// Definition de themeConfig
Encore
// directory where compiled assets will be stored
.setOutputPath('public/build/theme/')
// public path used by the web server to access the output path
.setPublicPath(basePath + '/build/theme')
// only needed for CDN's or sub-directory deploy
.setManifestKeyPrefix('build/theme')
.addEntry('theme','./public/theme-entrypoint.js')
.splitEntryChunks()
.enableSingleRuntimeChunk()
.enableBuildNotifications()
.enableSourceMaps(false)
.enableVersioning(false)
.enablePostCssLoader()
;
// build the second configuration
const themeConfig = Encore.getWebpackConfig();
module.exports = Encore.getWebpackConfig();
// Set a unique name for the config (needed later!)
themeConfig.name = 'themeConfig';
;
// export the final configuration as an array of multiple configurations
module.exports = [appConfig, themeConfig];