From aceafb4225d905429f78ee558a6863fc2407ceae Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Sun, 21 Feb 2021 20:40:31 +0100 Subject: [PATCH 1/3] Add l91/webpack-encore package integration --- .../1.0/assets/website/css/main.scss | 4 + .../1.0/assets/website/js/main.js | 1 + .../1.0/assets/website/package.json | 20 +++++ .../1.0/assets/website/webpack.config.js | 73 +++++++++++++++++++ .../1.0/config/packages/assets.yaml | 5 ++ l91/webpack-encore/1.0/manifest.json | 11 +++ 6 files changed, 114 insertions(+) create mode 100644 l91/webpack-encore/1.0/assets/website/css/main.scss create mode 100644 l91/webpack-encore/1.0/assets/website/js/main.js create mode 100644 l91/webpack-encore/1.0/assets/website/package.json create mode 100644 l91/webpack-encore/1.0/assets/website/webpack.config.js create mode 100644 l91/webpack-encore/1.0/config/packages/assets.yaml create mode 100644 l91/webpack-encore/1.0/manifest.json 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" + ] +} From c82bc49efac9c64f74b9315585a432a106225ee5 Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Wed, 10 Mar 2021 19:39:23 +0100 Subject: [PATCH 2/3] Copy files from package --- .../1.0/assets/website/css/main.scss | 4 - .../1.0/assets/website/js/main.js | 1 - .../1.0/assets/website/package.json | 20 ----- .../1.0/assets/website/webpack.config.js | 73 ------------------- l91/webpack-encore/1.0/manifest.json | 4 +- 5 files changed, 3 insertions(+), 99 deletions(-) delete mode 100644 l91/webpack-encore/1.0/assets/website/css/main.scss delete mode 100644 l91/webpack-encore/1.0/assets/website/js/main.js delete mode 100644 l91/webpack-encore/1.0/assets/website/package.json delete mode 100644 l91/webpack-encore/1.0/assets/website/webpack.config.js diff --git a/l91/webpack-encore/1.0/assets/website/css/main.scss b/l91/webpack-encore/1.0/assets/website/css/main.scss deleted file mode 100644 index 1ac21020..00000000 --- a/l91/webpack-encore/1.0/assets/website/css/main.scss +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index ba6f98c9..00000000 --- a/l91/webpack-encore/1.0/assets/website/js/main.js +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index b3e66afc..00000000 --- a/l91/webpack-encore/1.0/assets/website/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "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 deleted file mode 100644 index f478c5d5..00000000 --- a/l91/webpack-encore/1.0/assets/website/webpack.config.js +++ /dev/null @@ -1,73 +0,0 @@ -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/manifest.json b/l91/webpack-encore/1.0/manifest.json index 669846a2..4e0bc337 100644 --- a/l91/webpack-encore/1.0/manifest.json +++ b/l91/webpack-encore/1.0/manifest.json @@ -1,8 +1,10 @@ { "copy-from-recipe": { - "assets/": "assets/", "config/": "%CONFIG_DIR%/" }, + "copy-from-package": { + "assets/": "assets/" + }, "gitignore": [ "node_modules/", "npm-debug.log", From cb1ace23fb4e93fa10d02906a5c5b19a97c9a088 Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Wed, 17 Mar 2021 21:59:10 +0100 Subject: [PATCH 3/3] Move to sulu organisation --- {l91 => sulu}/webpack-encore/1.0/config/packages/assets.yaml | 0 {l91 => sulu}/webpack-encore/1.0/manifest.json | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {l91 => sulu}/webpack-encore/1.0/config/packages/assets.yaml (100%) rename {l91 => sulu}/webpack-encore/1.0/manifest.json (100%) diff --git a/l91/webpack-encore/1.0/config/packages/assets.yaml b/sulu/webpack-encore/1.0/config/packages/assets.yaml similarity index 100% rename from l91/webpack-encore/1.0/config/packages/assets.yaml rename to sulu/webpack-encore/1.0/config/packages/assets.yaml diff --git a/l91/webpack-encore/1.0/manifest.json b/sulu/webpack-encore/1.0/manifest.json similarity index 100% rename from l91/webpack-encore/1.0/manifest.json rename to sulu/webpack-encore/1.0/manifest.json