diff --git a/packages/ext-movetolatest/upgradeTemplates/extjs/package.json.tpl.default b/packages/ext-movetolatest/upgradeTemplates/extjs/package.json.tpl.default index 0d02ba5..b24ad60 100644 --- a/packages/ext-movetolatest/upgradeTemplates/extjs/package.json.tpl.default +++ b/packages/ext-movetolatest/upgradeTemplates/extjs/package.json.tpl.default @@ -1,12 +1,14 @@ { "scripts": { - "start": "npm run dev:desktop", - "clean": "rimraf build", - "dev:desktop": "webpack-dev-server --env.profile=desktop --env.browser=yes --env.verbose=no", - "dev:phone": "webpack-dev-server --env.profile=phone --env.browser=yes --env.verbose=no", - "build:desktop": "npm run clean && cross-env webpack --env.profile=desktop --env.environment=production --env.treeshake=yes", - "build:phone": "npm run clean && cross-env webpack --env.profile=phone --env.environment=production --env.treeshake=yes" + "start": "npm run dev:desktop", + "clean": "rimraf build", + "dev:desktop": "webpack-dev-server --env.profile=desktop --env.browser=yes --env.verbose=no", + "dev:phone": "webpack-dev-server --env.profile=phone --env.browser=yes --env.verbose=no", + "build:desktop": "npm run clean && cross-env webpack --env.treeshake=yes --env.cmdopts=--environment=production --env.cmdopts=--build=desktop", + "build:phone": "npm run clean && cross-env webpack --env.treeshake=yes --env.cmdopts=--environment=production --env.cmdopts=--build=phone", + "testing:desktop": "npm run clean && cross-env webpack --env.treeshake=yes --env.cmdopts=--testing --env.cmdopts=--build=desktop", + "testing:phone": "npm run clean && cross-env webpack --env.treeshake=yes --env.cmdopts=--testing --env.cmdopts=--build=phone" }, @@ -14,7 +16,8 @@ "start": "npm run dev", "clean": "rimraf build", "dev": "webpack-dev-server --env.profile=desktop --env.browser=yes --env.verbose=no", - "build": "npm run clean && cross-env webpack --env.profile=desktop --env.environment=production --env.treeshake=yes" + "build": "npm run clean && cross-env webpack --env.treeshake=yes --env.cmdopts=--environment=production --env.cmdopts=--build=desktop", + "build:testing": "npm run clean && cross-env webpack --env.treeshake=yes --env.cmdopts=--testing --env.cmdopts=--build=desktop" }, @@ -41,7 +44,7 @@ }, "devDependencies": { - "@sencha/ext-webpack-plugin": "~7.4.0", + "@sencha/ext-webpack-plugin": "~7.4.1", "cross-env": "^5.2.0", "portfinder": "^1.0.21", "webpack": "~4.39.2", diff --git a/packages/ext-movetolatest/upgradeTemplates/extjs/webpack.config.js.tpl.default b/packages/ext-movetolatest/upgradeTemplates/extjs/webpack.config.js.tpl.default index 021d0f0..9ac2a87 100644 --- a/packages/ext-movetolatest/upgradeTemplates/extjs/webpack.config.js.tpl.default +++ b/packages/ext-movetolatest/upgradeTemplates/extjs/webpack.config.js.tpl.default @@ -3,7 +3,7 @@ const ExtWebpackPlugin = require('@sencha/ext-webpack-plugin'); const portfinder = require('portfinder'); module.exports = async function (env) { - + // Utility function for retrieving environment variables function get(it, val) {if(env == undefined) {return val} else if(env[it] == undefined) {return val} else {return env[it]}} @@ -29,16 +29,27 @@ module.exports = async function (env) { var browser = get('browser', 'yes') var watch = get('watch', 'yes') var verbose = get('verbose', 'no') - var isProd = false; - - if (environment === 'production') { isProd = true; } + var cmdopts = get('cmdopts', []) + var isProd = false + + if (environment === 'production' || + (cmdopts.includes('--production') || + cmdopts.includes('--environment=production') || + cmdopts.includes('-e=production') || + cmdopts.includes('-pr')) + ) + { + browser = 'no' + watch = 'no' + isProd = true + } - // The build.xml Sencha Cmd plugin uses a regex to locate the webpack bundle for use in app.json to be included in + // The build.xml Sencha Cmd plugin uses a regex to locate the webpack bundle for use in app.json to be included in // the different build environments. For development builds, the file is served in memory. // For production builds, the hashed file name is stored as an ant property and added to the build via app.json. const bundleFormat = isProd ? "[name].[hash].js" : "[name].js"; - // Using Live Reload with a root context directory, necessary for Sencha Cmd, requires these folders be ignored + // Using Live Reload with a root context directory, necessary for Sencha Cmd, requires these folders be ignored const ignoreFolders = [path.resolve(__dirname, './generatedFiles'), path.resolve(__dirname, './build')] portfinder.basePort = (env && env.port) || 1962 @@ -52,12 +63,13 @@ module.exports = async function (env) { script: script, emit: emit, port: port, - profile: profile, + profile: profile, environment: environment, treeshake: treeshake, browser: browser, watch: watch, - verbose: verbose + verbose: verbose, + cmdopts: cmdopts }) ] return { diff --git a/packages/ext-movetolatest/upgradeTemplates/react/package.json b/packages/ext-movetolatest/upgradeTemplates/react/package.json index 90f4773..4824da6 100644 --- a/packages/ext-movetolatest/upgradeTemplates/react/package.json +++ b/packages/ext-movetolatest/upgradeTemplates/react/package.json @@ -25,7 +25,7 @@ }, "devDependencies": { "@sencha/ext-react-babel-plugin": "~7.1.0", - "@sencha/ext-webpack-plugin": "~7.4.0", + "@sencha/ext-webpack-plugin": "~7.4.1", "@babel/core": "^7.5.5", "@babel/plugin-proposal-class-properties": "^7.5.5", "@babel/plugin-proposal-decorators": "^7.4.4", diff --git a/packages/ext-webpack-plugin/package.json b/packages/ext-webpack-plugin/package.json index a6b43aa..ce0f2b3 100644 --- a/packages/ext-webpack-plugin/package.json +++ b/packages/ext-webpack-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@sencha/ext-webpack-plugin", - "version": "7.4.0", + "version": "7.4.1", "description": "A webpack plugin for ext-* applications", "main": "dist/index.js", "scripts": { @@ -10,7 +10,7 @@ "dependencies": { "@babel/generator": "^7.9.5", "@babel/polyfill": "^7.8.7", - "@sencha/cmd": "^7.4.0", + "@sencha/cmd": "^7.4.1", "ast-traverse": "^0.1.1", "babylon": "^6.18.0", "chalk": "^4.0.0",