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",