Skip to content

Commit b010e00

Browse files
committed
fix: show warning when --env.snapshot is provided for debug builds
1 parent e5f9d45 commit b010e00

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

lib/services/webpack/webpack-compiler-service.ts

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as path from "path";
22
import * as child_process from "child_process";
3+
import * as os from "os";
34
import { EventEmitter } from "events";
45
import { performanceLog } from "../../common/decorators";
56
import { hook } from "../../common/helpers";
@@ -12,7 +13,8 @@ export class WebpackCompilerService extends EventEmitter implements IWebpackComp
1213
private $childProcess: IChildProcess,
1314
public $hooksService: IHooksService,
1415
private $logger: ILogger,
15-
private $pluginsService: IPluginsService
16+
private $pluginsService: IPluginsService,
17+
private $mobileHelper: Mobile.IMobileHelper
1618
) { super(); }
1719

1820
public async compileWithWatch(platformData: IPlatformData, projectData: IProjectData, prepareData: IPrepareData): Promise<any> {
@@ -103,7 +105,7 @@ export class WebpackCompilerService extends EventEmitter implements IWebpackComp
103105
@hook('prepareJSApp')
104106
private async startWebpackProcess(platformData: IPlatformData, projectData: IProjectData, prepareData: IPrepareData): Promise<child_process.ChildProcess> {
105107
const envData = this.buildEnvData(platformData.platformNameLowerCase, projectData, prepareData);
106-
const envParams = this.buildEnvCommandLineParams(envData, platformData);
108+
const envParams = this.buildEnvCommandLineParams(envData, platformData, prepareData);
107109

108110
await this.$pluginsService.ensureAllDependenciesAreInstalled(projectData);
109111

@@ -156,13 +158,16 @@ export class WebpackCompilerService extends EventEmitter implements IWebpackComp
156158
return envData;
157159
}
158160

159-
private buildEnvCommandLineParams(envData: any, platformData: IPlatformData) {
161+
private buildEnvCommandLineParams(envData: any, platformData: IPlatformData, prepareData: IPrepareData) {
160162
const envFlagNames = Object.keys(envData);
161-
// const snapshotEnvIndex = envFlagNames.indexOf("snapshot");
162-
// if (snapshotEnvIndex > -1 && !utils.shouldSnapshot(config)) {
163-
// logSnapshotWarningMessage($logger);
164-
// envFlagNames.splice(snapshotEnvIndex, 1);
165-
// }
163+
const snapshotEnvIndex = envFlagNames.indexOf("snapshot");
164+
const shouldSnapshot = prepareData.release && os.type() !== "Windows_NT" && this.$mobileHelper.isAndroidPlatform(platformData.normalizedPlatformName);
165+
if (snapshotEnvIndex > -1 && !shouldSnapshot) {
166+
this.$logger.warn("Stripping the snapshot flag. " +
167+
"Bear in mind that snapshot is only available in release builds and " +
168+
"is NOT available on Windows systems.");
169+
envFlagNames.splice(snapshotEnvIndex, 1);
170+
}
166171

167172
const args: any[] = [];
168173
envFlagNames.map(item => {

0 commit comments

Comments
 (0)