Skip to content

Commit 4df139d

Browse files
committed
fix(bundler): include process.env first
1 parent 1e8b93f commit 4df139d

File tree

1 file changed

+43
-43
lines changed

1 file changed

+43
-43
lines changed

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

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,15 @@ export class WebpackCompilerService
6464
private $mobileHelper: Mobile.IMobileHelper,
6565
private $cleanupService: ICleanupService,
6666
private $packageManager: IPackageManager,
67-
private $packageInstallationManager: IPackageInstallationManager // private $sharedEventBus: ISharedEventBus
67+
private $packageInstallationManager: IPackageInstallationManager, // private $sharedEventBus: ISharedEventBus
6868
) {
6969
super();
7070
}
7171

7272
public async compileWithWatch(
7373
platformData: IPlatformData,
7474
projectData: IProjectData,
75-
prepareData: IPrepareData
75+
prepareData: IPrepareData,
7676
): Promise<any> {
7777
return new Promise(async (resolve, reject) => {
7878
if (this.webpackProcesses[platformData.platformNameLowerCase]) {
@@ -86,7 +86,7 @@ export class WebpackCompilerService
8686
const childProcess = await this.startWebpackProcess(
8787
platformData,
8888
projectData,
89-
prepareData
89+
prepareData,
9090
);
9191

9292
childProcess.stdout.on("data", function (data) {
@@ -125,7 +125,7 @@ export class WebpackCompilerService
125125
message as IWebpackMessage<IWebpackCompilation>,
126126
platformData,
127127
projectData,
128-
prepareData
128+
prepareData,
129129
);
130130
}
131131

@@ -153,7 +153,7 @@ export class WebpackCompilerService
153153
message.emittedFiles,
154154
message.chunkFiles,
155155
message.hash,
156-
platformData.platformNameLowerCase
156+
platformData.platformNameLowerCase,
157157
);
158158
} else {
159159
result = {
@@ -166,21 +166,21 @@ export class WebpackCompilerService
166166
path.join(
167167
platformData.appDestinationDirectoryPath,
168168
this.$options.hostProjectModuleName,
169-
file
170-
)
169+
file,
170+
),
171171
);
172172
const fallbackFiles = result.fallbackFiles.map((file: string) =>
173173
path.join(
174174
platformData.appDestinationDirectoryPath,
175175
this.$options.hostProjectModuleName,
176-
file
177-
)
176+
file,
177+
),
178178
);
179179

180180
const data = {
181181
files,
182182
hasOnlyHotUpdateFiles: files.every(
183-
(f) => f.indexOf("hot-update") > -1
183+
(f) => f.indexOf("hot-update") > -1,
184184
),
185185
hmrData: {
186186
hash: result.hash,
@@ -204,23 +204,23 @@ export class WebpackCompilerService
204204

205205
childProcess.on("error", (err) => {
206206
this.$logger.trace(
207-
`Unable to start webpack process in watch mode. Error is: ${err}`
207+
`Unable to start webpack process in watch mode. Error is: ${err}`,
208208
);
209209
delete this.webpackProcesses[platformData.platformNameLowerCase];
210210
reject(err);
211211
});
212212

213213
childProcess.on("close", async (arg: any) => {
214214
await this.$cleanupService.removeKillProcess(
215-
childProcess.pid.toString()
215+
childProcess.pid.toString(),
216216
);
217217

218218
const exitCode = typeof arg === "number" ? arg : arg && arg.code;
219219
this.$logger.trace(
220-
`Webpack process exited with code ${exitCode} when we expected it to be long living with watch.`
220+
`Webpack process exited with code ${exitCode} when we expected it to be long living with watch.`,
221221
);
222222
const error: any = new Error(
223-
`Executing webpack failed with exit code ${exitCode}.`
223+
`Executing webpack failed with exit code ${exitCode}.`,
224224
);
225225
error.code = exitCode;
226226
delete this.webpackProcesses[platformData.platformNameLowerCase];
@@ -235,7 +235,7 @@ export class WebpackCompilerService
235235
public async compileWithoutWatch(
236236
platformData: IPlatformData,
237237
projectData: IProjectData,
238-
prepareData: IPrepareData
238+
prepareData: IPrepareData,
239239
): Promise<void> {
240240
return new Promise(async (resolve, reject) => {
241241
if (this.webpackProcesses[platformData.platformNameLowerCase]) {
@@ -247,20 +247,20 @@ export class WebpackCompilerService
247247
const childProcess = await this.startWebpackProcess(
248248
platformData,
249249
projectData,
250-
prepareData
250+
prepareData,
251251
);
252252

253253
childProcess.on("error", (err) => {
254254
this.$logger.trace(
255-
`Unable to start webpack process in non-watch mode. Error is: ${err}`
255+
`Unable to start webpack process in non-watch mode. Error is: ${err}`,
256256
);
257257
delete this.webpackProcesses[platformData.platformNameLowerCase];
258258
reject(err);
259259
});
260260

261261
childProcess.on("close", async (arg: any) => {
262262
await this.$cleanupService.removeKillProcess(
263-
childProcess.pid.toString()
263+
childProcess.pid.toString(),
264264
);
265265

266266
delete this.webpackProcesses[platformData.platformNameLowerCase];
@@ -269,7 +269,7 @@ export class WebpackCompilerService
269269
resolve();
270270
} else {
271271
const error: any = new Error(
272-
`Executing webpack failed with exit code ${exitCode}.`
272+
`Executing webpack failed with exit code ${exitCode}.`,
273273
);
274274
error.code = exitCode;
275275
reject(error);
@@ -307,24 +307,24 @@ export class WebpackCompilerService
307307
private async startWebpackProcess(
308308
platformData: IPlatformData,
309309
projectData: IProjectData,
310-
prepareData: IPrepareData
310+
prepareData: IPrepareData,
311311
): Promise<child_process.ChildProcess> {
312312
if (!this.$fs.exists(projectData.webpackConfigPath)) {
313313
this.$errors.fail(
314-
`The webpack configuration file ${projectData.webpackConfigPath} does not exist. Ensure the file exists, or update the path in ${CONFIG_FILE_NAME_DISPLAY}.`
314+
`The webpack configuration file ${projectData.webpackConfigPath} does not exist. Ensure the file exists, or update the path in ${CONFIG_FILE_NAME_DISPLAY}.`,
315315
);
316316
}
317317

318318
const envData = this.buildEnvData(
319319
platformData.platformNameLowerCase,
320320
projectData,
321-
prepareData
321+
prepareData,
322322
);
323323
const envParams = await this.buildEnvCommandLineParams(
324324
envData,
325325
platformData,
326326
projectData,
327-
prepareData
327+
prepareData,
328328
);
329329
const additionalNodeArgs =
330330
semver.major(process.version) <= 8 ? ["--harmony"] : [];
@@ -355,8 +355,8 @@ export class WebpackCompilerService
355355
stdio,
356356
};
357357
options.env = {
358-
NATIVESCRIPT_WEBPACK_ENV: JSON.stringify(envData),
359358
...process.env,
359+
NATIVESCRIPT_WEBPACK_ENV: JSON.stringify(envData),
360360
};
361361
if (this.$hostInfo.isWindows) {
362362
Object.assign(options.env, { APPDATA: process.env.appData });
@@ -373,7 +373,7 @@ export class WebpackCompilerService
373373
const childProcess = this.$childProcess.spawn(
374374
process.execPath,
375375
args,
376-
options
376+
options,
377377
);
378378

379379
this.webpackProcesses[platformData.platformNameLowerCase] = childProcess;
@@ -385,7 +385,7 @@ export class WebpackCompilerService
385385
private buildEnvData(
386386
platform: string,
387387
projectData: IProjectData,
388-
prepareData: IPrepareData
388+
prepareData: IPrepareData,
389389
) {
390390
const { env } = prepareData;
391391
const envData = Object.assign({}, env, { [platform.toLowerCase()]: true });
@@ -404,9 +404,9 @@ export class WebpackCompilerService
404404
__dirname,
405405
"..",
406406
"..",
407-
"nativescript-cli-lib.js"
407+
"nativescript-cli-lib.js",
408408
),
409-
}
409+
},
410410
);
411411

412412
envData.verbose = envData.verbose || this.$logger.isVerbose();
@@ -453,7 +453,7 @@ export class WebpackCompilerService
453453
envData: any,
454454
platformData: IPlatformData,
455455
projectData: IProjectData,
456-
prepareData: IPrepareData
456+
prepareData: IPrepareData,
457457
) {
458458
const envFlagNames = Object.keys(envData);
459459
const canSnapshot =
@@ -463,26 +463,26 @@ export class WebpackCompilerService
463463
if (!canSnapshot) {
464464
this.$logger.warn(
465465
"Stripping the snapshot flag. " +
466-
"Bear in mind that snapshot is only available in Android release builds."
466+
"Bear in mind that snapshot is only available in Android release builds.",
467467
);
468468
envFlagNames.splice(envFlagNames.indexOf("snapshot"), 1);
469469
} else if (this.$hostInfo.isWindows) {
470470
const minWebpackPluginWithWinSnapshotsVersion = "1.3.0";
471471
const installedWebpackPluginVersion =
472472
await this.$packageInstallationManager.getInstalledDependencyVersion(
473473
WEBPACK_PLUGIN_NAME,
474-
projectData.projectDir
474+
projectData.projectDir,
475475
);
476476
const hasWebpackPluginWithWinSnapshotsSupport =
477477
!!installedWebpackPluginVersion
478478
? semver.gte(
479479
semver.coerce(installedWebpackPluginVersion),
480-
minWebpackPluginWithWinSnapshotsVersion
481-
)
480+
minWebpackPluginWithWinSnapshotsVersion,
481+
)
482482
: true;
483483
if (!hasWebpackPluginWithWinSnapshotsSupport) {
484484
this.$errors.fail(
485-
`In order to generate Snapshots on Windows, please upgrade your Webpack plugin version (npm i ${WEBPACK_PLUGIN_NAME}@latest).`
485+
`In order to generate Snapshots on Windows, please upgrade your Webpack plugin version (npm i ${WEBPACK_PLUGIN_NAME}@latest).`,
486486
);
487487
}
488488
}
@@ -514,7 +514,7 @@ export class WebpackCompilerService
514514
allEmittedFiles: string[],
515515
chunkFiles: string[],
516516
nextHash: string,
517-
platform: string
517+
platform: string,
518518
) {
519519
const currentHash = this.getCurrentHotUpdateHash(allEmittedFiles);
520520

@@ -536,7 +536,7 @@ export class WebpackCompilerService
536536
? _.difference(allEmittedFiles, chunkFiles)
537537
: allEmittedFiles;
538538
const fallbackFiles = chunkFiles.concat(
539-
emittedHotUpdatesAndAssets.filter((f) => f.indexOf("hot-update") === -1)
539+
emittedHotUpdatesAndAssets.filter((f) => f.indexOf("hot-update") === -1),
540540
);
541541

542542
return {
@@ -549,7 +549,7 @@ export class WebpackCompilerService
549549
private getCurrentHotUpdateHash(emittedFiles: string[]) {
550550
let hotHash;
551551
const hotUpdateScripts = emittedFiles.filter((x) =>
552-
x.endsWith(".hot-update.js")
552+
x.endsWith(".hot-update.js"),
553553
);
554554
if (hotUpdateScripts && hotUpdateScripts.length) {
555555
// the hash is the same for each hot update in the current compilation
@@ -576,7 +576,7 @@ export class WebpackCompilerService
576576
message: IWebpackMessage,
577577
platformData: IPlatformData,
578578
projectData: IProjectData,
579-
prepareData: IPrepareData
579+
prepareData: IPrepareData,
580580
) {
581581
// handle new webpack hmr packets
582582
this.$logger.trace("Received message from webpack process:", message);
@@ -591,21 +591,21 @@ export class WebpackCompilerService
591591
path.join(
592592
platformData.appDestinationDirectoryPath,
593593
this.$options.hostProjectModuleName,
594-
asset
595-
)
594+
asset,
595+
),
596596
);
597597
const staleFiles = message.data.staleAssets.map((asset: string) =>
598598
path.join(
599599
platformData.appDestinationDirectoryPath,
600600
this.$options.hostProjectModuleName,
601-
asset
602-
)
601+
asset,
602+
),
603603
);
604604

605605
// extract last hash from emitted filenames
606606
const lastHash = (() => {
607607
const absoluteFileNameWithLastHash = files.find((fileName: string) =>
608-
fileName.endsWith("hot-update.js")
608+
fileName.endsWith("hot-update.js"),
609609
);
610610

611611
if (!absoluteFileNameWithLastHash) {

0 commit comments

Comments
 (0)