partey_workadventure/website
dependabot[bot] 3b612d9848
Bump ini from 1.3.5 to 1.3.7 in /website
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-11 13:25:50 +00:00
..
dist Merge branch 'master' of github.com:thecodingmachine/workadventure into scaling 2020-12-11 13:00:11 +01:00
src wording changes 2020-11-18 08:40:42 +01:00
.gitignore Renaming landing_page directory to website 2020-06-04 14:06:50 +02:00
Dockerfile Renaming landing_page directory to website 2020-06-04 14:06:50 +02:00
package-lock.json Bump ini from 1.3.5 to 1.3.7 in /website 2020-12-11 13:25:50 +00:00
package.json Renaming landing_page directory to website 2020-06-04 14:06:50 +02:00
postcss.config.js Renaming landing_page directory to website 2020-06-04 14:06:50 +02:00
README.md Renaming landing_page directory to website 2020-06-04 14:06:50 +02:00
webpack.config.js Renaming landing_page directory to website 2020-06-04 14:06:50 +02:00
yarn-error.log Renaming landing_page directory to website 2020-06-04 14:06:50 +02:00

Basic Webpack config for simple website.

Install all packages:

$ npm install

Run webpack

$ npm run build

Done! Open index.html in browser for a cat image.


Notice about production mode and postcss.config.js

In postcss.config.js there is a check for process.env.NODE_ENV variable. The thing is even if you set Webpack mode to production it won't automatically change Node environment variable.

The simplest way to configure this is to install cross-env package:

$ npm install --save-dev cross-env

Then just add another npm script in package.json for production mode:

"scripts": {
  "build": "webpack --config webpack.config.js",
  "build-production": "cross-env NODE_ENV=production webpack --config webpack.config.js"
}

Now when you run npm run build-production the process.env.NODE_ENV variable will be production and postcss.config.js check is going to work:

if(process.env.NODE_ENV === 'production') {
    module.exports = {
        plugins: [
            require('autoprefixer'),
            require('cssnano')
        ]
    }
}

From Webpack documentation: Technically, NODE_ENV is a system environment variable that Node.js exposes into running scripts. It is used by convention to determine dev-vs-prod behavior by server tools, build scripts, and client-side libraries. Contrary to expectations, process.env.NODE_ENV is not set to "production" within the build script webpack.config.js. Thus, conditionals like process.env.NODE_ENV === 'production' ? '[name].[hash].bundle.js' : '[name].bundle.js' within webpack configurations do not work as expected.