mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 11:42:04 +08:00
fix(webpack): don't ignore compilation errors (#9369)
* fix(webpack): Fail build in case of compilation errors. WebPack's own documentation states that the `err` object **will not** include compilation errors. https://webpack.js.org/api/node/#webpack This fix addresses compilation errors by setting the correct `process.exitCode` looking at the result of the `stats.hasErrors()` call. * fix(tsc): Ensure that TypeScript compilation errors are handled. The `async` flag of the `fork-ts-checker-webpack-plugin` will (by default in development mode) avoid reporting any errors detected by `tsc` back to webpack: https://github.com/TypeStrong/fork-ts-checker-webpack-plugin#options > If `true` reports issues **after** webpack's compilation is done. > Thanks to that it doesn't block the compilation. The problem in this case is that any compilation error will be then undetectable by the `WatchStatePlugin` which will happily tell the NativeScript CLI to continue with the build process. * fix(cli): Do not send the `compilation` message to the CLI on errors. When the compilation fails, this patch will prevent for the `compilation` message to be sent back to the CLI, preventing broken builds hitting the device.
This commit is contained in:
@ -233,6 +233,11 @@ export default function (config: Config, env: IWebpackEnv = _env): Config {
|
||||
.plugin('ForkTsCheckerWebpackPlugin')
|
||||
.use(ForkTsCheckerWebpackPlugin, [
|
||||
{
|
||||
// If we use "async" errors compiling typescript will be ignored by
|
||||
// WebPack (we will send the "compilation" message back to the CLI,
|
||||
// and the process exit code will be zero), therefore we will end
|
||||
// up with a broken build
|
||||
async: false,
|
||||
typescript: {
|
||||
memoryLimit: 4096,
|
||||
},
|
||||
|
Reference in New Issue
Block a user