diff --git a/examples/with-universal-configuration/.babelrc b/examples/with-universal-configuration/.babelrc index e1580ad7a468..2f96b1822ba0 100644 --- a/examples/with-universal-configuration/.babelrc +++ b/examples/with-universal-configuration/.babelrc @@ -3,6 +3,6 @@ "next/babel" ], "plugins": [ - ["transform-define", "./env-config.js"] + ["transform-define", "./config/index.js"] ] } diff --git a/examples/with-universal-configuration/config/index.js b/examples/with-universal-configuration/config/index.js new file mode 100644 index 000000000000..522f2bdf9acd --- /dev/null +++ b/examples/with-universal-configuration/config/index.js @@ -0,0 +1,12 @@ +const commandLineArgs = require('command-line-args'); + +const optionDefinitions = [ + { name: 'env', alias: 'e', type: String } +]; + +const args = commandLineArgs(optionDefinitions); +const config = args.env === "production" ? require( "./prodConfig" ) : require( "./localConfig" ); + +module.exports = { + 'BACKEND_URL': config.backendUrl +} diff --git a/examples/with-universal-configuration/config/localConfig.js b/examples/with-universal-configuration/config/localConfig.js new file mode 100644 index 000000000000..5f2d2630812f --- /dev/null +++ b/examples/with-universal-configuration/config/localConfig.js @@ -0,0 +1,3 @@ +module.exports = { + backendUrl: "http://localhost:3000" +} diff --git a/examples/with-universal-configuration/config/prodConfig.js b/examples/with-universal-configuration/config/prodConfig.js new file mode 100644 index 000000000000..56fc2ae08aa9 --- /dev/null +++ b/examples/with-universal-configuration/config/prodConfig.js @@ -0,0 +1,3 @@ +module.exports = { + backendUrl: "http://www.production.com" +} diff --git a/examples/with-universal-configuration/env-config.js b/examples/with-universal-configuration/env-config.js deleted file mode 100644 index 47555f897c44..000000000000 --- a/examples/with-universal-configuration/env-config.js +++ /dev/null @@ -1,5 +0,0 @@ -const prod = process.env.NODE_ENV === 'production' - -module.exports = { - 'BACKEND_URL': prod ? 'https://api.example.com' : 'https://localhost:8080' -} diff --git a/examples/with-universal-configuration/package.json b/examples/with-universal-configuration/package.json index b0d3ca3bb2e4..df629301a7bb 100644 --- a/examples/with-universal-configuration/package.json +++ b/examples/with-universal-configuration/package.json @@ -3,7 +3,9 @@ "version": "1.0.0", "scripts": { "dev": "next", - "build": "next build", + "clean": "rimraf .\\node_modules\\.cache", + "build-dev": "npm run clean && next build --env=development", + "build-prod": "npm run clean && next build --env=production", "start": "next start" }, "dependencies": { @@ -12,6 +14,8 @@ "react-dom": "^15.4.2" }, "devDependencies": { + "command-line-args": "^4.0.2", + "rimraf": "^2.6.1", "babel-plugin-transform-define": "^1.2.0" }, "author": "",