diff --git a/config/webpack.config.js b/config/webpack.config.js new file mode 100644 index 00000000..c3826284 --- /dev/null +++ b/config/webpack.config.js @@ -0,0 +1,35 @@ +var chalk = require("chalk"); +var fs = require('fs'); +var path = require('path'); +var useDefaultConfig = require('@ionic/app-scripts/config/webpack.config.js'); + +var env = process.env.IONIC_ENV; + +useDefaultConfig.prod.resolve.alias = { + "@app/env": path.resolve(environmentPath('prod')) +}; + +useDefaultConfig.dev.resolve.alias = { + "@app/env": path.resolve(environmentPath('dev')) +}; + +if (env !== 'prod' && env !== 'dev') { + // Default to dev config + useDefaultConfig[env] = useDefaultConfig.dev; + useDefaultConfig[env].resolve.alias = { + "@app/env": path.resolve(environmentPath(env)) + }; +} + +function environmentPath(env) { + var filePath = './src/environments/environments' + (env === 'prod' ? '' : '.' + env) + '.ts'; + if (!fs.existsSync(filePath)) { + console.log(chalk.red('\n' + filePath + ' does not exist!')); + } else { + return filePath; + } +} + +module.exports = function () { + return useDefaultConfig; +}; diff --git a/package.json b/package.json index 37a63e1f..b006c339 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,9 @@ "test:watch": "jest --watch", "test:coverage": "jest --coverage || true" }, + "config": { + "ionic_webpack": "./config/webpack.config.js" + }, "dependencies": { "@angular/animations": "5.2.11", "@angular/common": "5.2.11", diff --git a/tsconfig.json b/tsconfig.json index 8de834b3..59a6e612 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -14,6 +14,12 @@ "sourceMap": true, "target": "es5" }, + "baseUrl": "./src", + "paths": { + "@app/env": [ + "environments/environment" + ] + }, "include": [ "src/**/*.ts" ],