From 45a1899eade34e90801e3fbcba9a6789e43684f4 Mon Sep 17 00:00:00 2001 From: Steve Klebanoff Date: Fri, 16 Nov 2018 10:10:43 -0800 Subject: Add access to environment variables --- packages/instant/webpack.config.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'packages/instant/webpack.config.js') diff --git a/packages/instant/webpack.config.js b/packages/instant/webpack.config.js index 78a33ce90..129092d70 100644 --- a/packages/instant/webpack.config.js +++ b/packages/instant/webpack.config.js @@ -1,6 +1,15 @@ +const childProcess = require('child_process'); const path = require('path'); +const webpack = require('webpack'); + // The common js bundle (not this one) is built using tsc. // The umd bundle (this one) has a different entrypoint. + +const GIT_SHA = childProcess + .execSync('git rev-parse HEAD') + .toString() + .trim(); + module.exports = { entry: './src/index.umd.ts', output: { @@ -9,6 +18,15 @@ module.exports = { library: 'zeroExInstant', libraryTarget: 'umd', }, + plugins: [ + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify(process.env.NODE_ENV), + GIT_SHA: JSON.stringify(GIT_SHA), + ENABLE_HEAP: process.env.ENABLE_HEAP, + }, + }), + ], devtool: 'source-map', resolve: { extensions: ['.js', '.json', '.ts', '.tsx'], -- cgit v1.2.3 From 42565869a452fcf2f498a3ff396f76c43aadfa29 Mon Sep 17 00:00:00 2001 From: Steve Klebanoff Date: Fri, 16 Nov 2018 10:19:16 -0800 Subject: Report on git sha and npm version of build --- packages/instant/webpack.config.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'packages/instant/webpack.config.js') diff --git a/packages/instant/webpack.config.js b/packages/instant/webpack.config.js index 129092d70..43c149b3e 100644 --- a/packages/instant/webpack.config.js +++ b/packages/instant/webpack.config.js @@ -23,7 +23,8 @@ module.exports = { 'process.env': { NODE_ENV: JSON.stringify(process.env.NODE_ENV), GIT_SHA: JSON.stringify(GIT_SHA), - ENABLE_HEAP: process.env.ENABLE_HEAP, + ENABLE_HEAP: JSON.stringify(process.env.ENABLE_HEAP), + NPM_PACKAGE_VERSION: JSON.stringify(process.env.npm_package_version), }, }), ], -- cgit v1.2.3 From 21ae0c46e1b0c0b4ba3f73cc2b58d0c430bf9043 Mon Sep 17 00:00:00 2001 From: Steve Klebanoff Date: Fri, 16 Nov 2018 14:51:57 -0800 Subject: Move ip import back --- packages/instant/webpack.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages/instant/webpack.config.js') diff --git a/packages/instant/webpack.config.js b/packages/instant/webpack.config.js index ccbbe7359..6a4953bcc 100644 --- a/packages/instant/webpack.config.js +++ b/packages/instant/webpack.config.js @@ -1,4 +1,5 @@ const childProcess = require('child_process'); +const ip = require('ip'); const path = require('path'); const webpack = require('webpack'); @@ -9,7 +10,6 @@ const GIT_SHA = childProcess .execSync('git rev-parse HEAD') .toString() .trim(); -const ip = require('ip'); const config = { entry: './src/index.umd.ts', output: { -- cgit v1.2.3 From e23f90b82cc1346bea66e91858bc7fdc874542dd Mon Sep 17 00:00:00 2001 From: Steve Klebanoff Date: Mon, 19 Nov 2018 09:48:34 -0800 Subject: No need to explicit send in NODE_ENV --- packages/instant/webpack.config.js | 1 - 1 file changed, 1 deletion(-) (limited to 'packages/instant/webpack.config.js') diff --git a/packages/instant/webpack.config.js b/packages/instant/webpack.config.js index ce4f1672e..fe3e158a0 100644 --- a/packages/instant/webpack.config.js +++ b/packages/instant/webpack.config.js @@ -25,7 +25,6 @@ const config = { plugins: [ new webpack.DefinePlugin({ 'process.env': { - NODE_ENV: JSON.stringify(process.env.NODE_ENV), GIT_SHA: JSON.stringify(GIT_SHA), ENABLE_HEAP: JSON.stringify(process.env.ENABLE_HEAP), NPM_PACKAGE_VERSION: JSON.stringify(process.env.npm_package_version), -- cgit v1.2.3 From 8772d916993d754f784d7435dbbfb60c9a6f9205 Mon Sep 17 00:00:00 2001 From: Steve Klebanoff Date: Mon, 19 Nov 2018 12:02:31 -0800 Subject: Get heap analytics id from ENV variable --- packages/instant/webpack.config.js | 108 ++++++++++++++++++++++--------------- 1 file changed, 64 insertions(+), 44 deletions(-) (limited to 'packages/instant/webpack.config.js') diff --git a/packages/instant/webpack.config.js b/packages/instant/webpack.config.js index fe3e158a0..7ffb09754 100644 --- a/packages/instant/webpack.config.js +++ b/packages/instant/webpack.config.js @@ -11,50 +11,70 @@ const GIT_SHA = childProcess .toString() .trim(); -const outputPath = process.env.WEBPACK_OUTPUT_PATH || 'umd'; -const config = { - entry: { - instant: './src/index.umd.ts', - }, - output: { - filename: '[name].js', - path: path.resolve(__dirname, outputPath), - library: 'zeroExInstant', - libraryTarget: 'umd', - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': { - GIT_SHA: JSON.stringify(GIT_SHA), - ENABLE_HEAP: JSON.stringify(process.env.ENABLE_HEAP), - NPM_PACKAGE_VERSION: JSON.stringify(process.env.npm_package_version), - }, - }), - ], - devtool: 'source-map', - resolve: { - extensions: ['.js', '.json', '.ts', '.tsx'], - }, - module: { - rules: [ - { - test: /\.(ts|tsx)$/, - loader: 'awesome-typescript-loader', - }, +const HEAP_PRODUCTION_ENV_VAR_NAME = 'INSTANT_HEAP_ANALYTICS_ID_PRODUCTION'; +const HEAP_DEVELOPMENT_ENV_VAR_NAME = 'INSTANT_HEAP_ANALYTICS_ID_DEVELOPMENT'; +const getHeapAnalyticsId = modeName => { + if (modeName === 'production') { + if (process.env[HEAP_PRODUCTION_ENV_VAR_NAME]) { + return process.env[HEAP_PRODUCTION_ENV_VAR_NAME]; + } + throw new Error(`Must have ${HEAP_PRODUCTION_ENV_VAR_NAME} set`); + } + + if (modeName === 'development') { + return process.env[HEAP_DEVELOPMENT_ENV_VAR_NAME]; + } + + return undefined; +}; + +module.exports = (env, argv) => { + const outputPath = process.env.WEBPACK_OUTPUT_PATH || 'umd'; + const config = { + entry: { + instant: './src/index.umd.ts', + }, + output: { + filename: '[name].js', + path: path.resolve(__dirname, outputPath), + library: 'zeroExInstant', + libraryTarget: 'umd', + }, + plugins: [ + new webpack.DefinePlugin({ + 'process.env': { + GIT_SHA: JSON.stringify(GIT_SHA), + HEAP_ANALYTICS_ID: getHeapAnalyticsId(argv.mode), + NPM_PACKAGE_VERSION: JSON.stringify(process.env.npm_package_version), + }, + }), ], - }, - devServer: { - contentBase: path.join(__dirname, 'public'), - port: 5000, - host: '0.0.0.0', - after: () => { - if (config.devServer.host === '0.0.0.0') { - console.log( - `webpack-dev-server can be accessed externally at: http://${ip.address()}:${config.devServer.port}`, - ); - } + devtool: 'source-map', + resolve: { + extensions: ['.js', '.json', '.ts', '.tsx'], + }, + module: { + rules: [ + { + test: /\.(ts|tsx)$/, + loader: 'awesome-typescript-loader', + }, + ], }, - }, + devServer: { + contentBase: path.join(__dirname, 'public'), + port: 5000, + host: '0.0.0.0', + after: () => { + if (config.devServer.host === '0.0.0.0') { + console.log( + `webpack-dev-server can be accessed externally at: http://${ip.address()}:${ + config.devServer.port + }`, + ); + } + }, + }, + }; + return config; }; - -module.exports = config; -- cgit v1.2.3 From 497385818b42f298c777ce3fbeb3e2d55a2bdc64 Mon Sep 17 00:00:00 2001 From: Steve Klebanoff Date: Mon, 19 Nov 2018 15:38:09 -0800 Subject: Check for instant heap production credentials in pre-publish step --- packages/instant/webpack.config.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'packages/instant/webpack.config.js') diff --git a/packages/instant/webpack.config.js b/packages/instant/webpack.config.js index 7139ced16..41276809c 100644 --- a/packages/instant/webpack.config.js +++ b/packages/instant/webpack.config.js @@ -15,10 +15,7 @@ const HEAP_PRODUCTION_ENV_VAR_NAME = 'INSTANT_HEAP_ANALYTICS_ID_PRODUCTION'; const HEAP_DEVELOPMENT_ENV_VAR_NAME = 'INSTANT_HEAP_ANALYTICS_ID_DEVELOPMENT'; const getHeapAnalyticsId = modeName => { if (modeName === 'production') { - if (process.env[HEAP_PRODUCTION_ENV_VAR_NAME]) { - return process.env[HEAP_PRODUCTION_ENV_VAR_NAME]; - } - throw new Error(`Must have ${HEAP_PRODUCTION_ENV_VAR_NAME} set`); + return process.env[HEAP_PRODUCTION_ENV_VAR_NAME]; } if (modeName === 'development') { -- cgit v1.2.3