diff --git a/l91/webpack-encore/1.0/assets/website/css/main.scss b/l91/webpack-encore/1.0/assets/website/css/main.scss new file mode 100644 index 00000000..1ac21020 --- /dev/null +++ b/l91/webpack-encore/1.0/assets/website/css/main.scss @@ -0,0 +1,4 @@ +body { + background: #e8cd02; + color: #003135; +} diff --git a/l91/webpack-encore/1.0/assets/website/js/main.js b/l91/webpack-encore/1.0/assets/website/js/main.js new file mode 100644 index 00000000..ba6f98c9 --- /dev/null +++ b/l91/webpack-encore/1.0/assets/website/js/main.js @@ -0,0 +1 @@ +console.log('Hello World ...'); diff --git a/l91/webpack-encore/1.0/assets/website/package.json b/l91/webpack-encore/1.0/assets/website/package.json new file mode 100644 index 00000000..b3e66afc --- /dev/null +++ b/l91/webpack-encore/1.0/assets/website/package.json @@ -0,0 +1,20 @@ +{ + "dependencies": { + }, + "devDependencies": { + "@symfony/webpack-encore": "^1.0.0", + "core-js": "^3.0.0", + "regenerator-runtime": "^0.13.7", + "sass": "^1.32.8", + "sass-loader": "^11.0.1", + "webpack-notifier": "^1.6.0" + }, + "license": "UNLICENSED", + "private": true, + "scripts": { + "dev-server": "encore dev-server", + "dev": "encore dev", + "watch": "encore dev --watch", + "build": "encore production --progress" + } +} diff --git a/l91/webpack-encore/1.0/assets/website/webpack.config.js b/l91/webpack-encore/1.0/assets/website/webpack.config.js new file mode 100644 index 00000000..f478c5d5 --- /dev/null +++ b/l91/webpack-encore/1.0/assets/website/webpack.config.js @@ -0,0 +1,73 @@ +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/website') + // public path used by the web server to access the output path + .setPublicPath('/build/website') + // only needed for CDN's or sub-directory 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('main', ['./js/main.js', './css/main.scss']) + + // 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() + .disableSingleRuntimeChunk() + + /* + * 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() + .enableBuildNotifications() + .enableSourceMaps(!Encore.isProduction()) + // enables hashed filenames (e.g. app.abc123.css) + .enableVersioning(Encore.isProduction()) + + .configureBabel((config) => { + config.plugins.push('@babel/plugin-proposal-class-properties'); + }) + + // enables @babel/preset-env polyfills + .configureBabelPresetEnv((config) => { + config.useBuiltIns = 'usage'; + config.corejs = 3; + }) + + // 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(); diff --git a/l91/webpack-encore/1.0/config/packages/assets.yaml b/l91/webpack-encore/1.0/config/packages/assets.yaml new file mode 100644 index 00000000..dd13c40d --- /dev/null +++ b/l91/webpack-encore/1.0/config/packages/assets.yaml @@ -0,0 +1,5 @@ +framework: + assets: + packages: + website: + json_manifest_path: '%kernel.project_dir%/public/build/website/manifest.json' diff --git a/l91/webpack-encore/1.0/manifest.json b/l91/webpack-encore/1.0/manifest.json new file mode 100644 index 00000000..669846a2 --- /dev/null +++ b/l91/webpack-encore/1.0/manifest.json @@ -0,0 +1,11 @@ +{ + "copy-from-recipe": { + "assets/": "assets/", + "config/": "%CONFIG_DIR%/" + }, + "gitignore": [ + "node_modules/", + "npm-debug.log", + "yarn-error.log" + ] +}