{ "manifests": { "symfony/webpack-encore-bundle": { "manifest": { "bundles": { "Symfony\\WebpackEncoreBundle\\WebpackEncoreBundle": [ "all" ] }, "copy-from-recipe": { "assets/": "assets/", "config/": "%CONFIG_DIR%/", "package.json": "package.json", "webpack.config.js": "webpack.config.js" }, "gitignore": [ "/node_modules/", "/%PUBLIC_DIR%/build/", "npm-debug.log", "yarn-error.log" ], "conflict": { "symfony/framework-bundle": "<5.4", "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0" }, "add-lines": [ { "file": "templates/base.html.twig", "content": " {{ encore_entry_script_tags('app') }}", "position": "after_target", "target": "{% block javascripts %}", "warn_if_missing": true }, { "file": "templates/base.html.twig", "content": " {{ encore_entry_link_tags('app') }}", "position": "after_target", "target": "{% block stylesheets %}", "warn_if_missing": true } ], "post-install-output": [ " * Install NPM and run npm install", "", " * Compile your assets for development: npm run dev", " ", " * Compile your assets for development and watch for any modifications: npm run watch", " ", " * Or start the development server: npm run dev-server", " ", " * Compile your assets for production: npm run build" ] }, "files": { "assets/app.js": { "contents": [ "/*", " * Welcome to your app's main JavaScript file!", " *", " * We recommend including the built version of this JavaScript file", " * (and its CSS file) in your base layout (base.html.twig).", " */", "", "// any CSS you import will output into a single css file (app.css in this case)", "import './styles/app.css';", "" ], "executable": false }, "assets/styles/app.css": { "contents": [ "body {", " background-color: lightgray;", "}", "" ], "executable": false }, "config/packages/webpack_encore.yaml": { "contents": [ "webpack_encore:", " # The path where Encore is building the assets - i.e. Encore.setOutputPath()", " output_path: '%kernel.project_dir%/public/build'", " # If multiple builds are defined (as shown below), you can disable the default build:", " # output_path: false", "", " # 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') }}", "", "framework:", " assets:", " json_manifest_path: '%kernel.project_dir%/public/build/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", "" ], "executable": false }, "package.json": { "contents": [ "{", " \"devDependencies\": {", " \"@babel/core\": \"^7.17.0\",", " \"@babel/preset-env\": \"^7.16.0\",", " \"@symfony/webpack-encore\": \"^5.0.0\",", " \"core-js\": \"^3.38.0\",", " \"regenerator-runtime\": \"^0.13.9\",", " \"webpack\": \"^5.74.0\",", " \"webpack-cli\": \"^5.1.0\"", " },", " \"license\": \"UNLICENSED\",", " \"private\": true,", " \"scripts\": {", " \"dev-server\": \"encore dev-server\",", " \"dev\": \"encore dev\",", " \"watch\": \"encore dev --watch\",", " \"build\": \"encore production --progress\"", " }", "}", "" ], "executable": false }, "webpack.config.js": { "contents": [ "const Encore = require('@symfony/webpack-encore');", "", "// Manually configure the runtime environment if not already configured yet by the \"encore\" command.", "// It's useful when you use tools that rely on webpack.config.js file.", "if (!Encore.isRuntimeEnvironmentConfigured()) {", " Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev');", "}", "", "Encore", " // directory where compiled assets will be stored", " .setOutputPath('public/build/')", " // public path used by the web server to access the output path", " .setPublicPath('/build')", " // only needed for CDN's or subdirectory deploy", " //.setManifestKeyPrefix('build/')", "", " /*", " * ENTRY CONFIG", " *", " * Each entry will result in one JavaScript file (e.g. app.js)", " * and one CSS file (e.g. app.css) if your JavaScript imports CSS.", " */", " .addEntry('app', './assets/app.js')", "", " // When enabled, Webpack \"splits\" your files into smaller pieces for greater optimization.", " .splitEntryChunks()", "", " // will require an extra script tag for runtime.js", " // but, you probably want this, unless you're building a single-page app", " .enableSingleRuntimeChunk()", "", " /*", " * FEATURE CONFIG", " *", " * Enable & configure other features below. For a full", " * list of features, see:", " * https://symfony.com/doc/current/frontend.html#adding-more-features", " */", " .cleanupOutputBeforeBuild()", "", " // Displays build status system notifications to the user", " // .enableBuildNotifications()", "", " .enableSourceMaps(!Encore.isProduction())", " // enables hashed filenames (e.g. app.abc123.css)", " .enableVersioning(Encore.isProduction())", "", " // configure Babel", " // .configureBabel((config) => {", " // config.plugins.push('@babel/a-babel-plugin');", " // })", "", " // enables and configure @babel/preset-env polyfills", " .configureBabelPresetEnv((config) => {", " config.useBuiltIns = 'usage';", " config.corejs = '3.38';", " })", "", " // enables Sass/SCSS support", " //.enableSassLoader()", "", " // uncomment if you use TypeScript", " //.enableTypeScriptLoader()", "", " // uncomment if you use React", " //.enableReactPreset()", "", " // uncomment to get integrity=\"...\" attributes on your script & link tags", " // requires WebpackEncoreBundle 1.4 or higher", " //.enableIntegrityHashes(Encore.isProduction())", "", " // uncomment if you're having problems with a jQuery plugin", " //.autoProvidejQuery()", ";", "", "module.exports = Encore.getWebpackConfig();", "" ], "executable": false } }, "ref": "9ef5412a4a2a8415aca3a3f2b4edd3866aab9a19" } } }