From c265c3ac3f7a9b770de86fd58cb7b2cb661570d0 Mon Sep 17 00:00:00 2001 From: Eduardo Speroni Date: Thu, 3 Jun 2021 21:00:26 -0300 Subject: [PATCH] fix(webpack5): add AngularWebpackPlugin transformers (#9435) --- packages/webpack5/src/configuration/angular.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/webpack5/src/configuration/angular.ts b/packages/webpack5/src/configuration/angular.ts index c06c086b8..246ebeffd 100644 --- a/packages/webpack5/src/configuration/angular.ts +++ b/packages/webpack5/src/configuration/angular.ts @@ -125,6 +125,22 @@ export default function (config: Config, env: IWebpackEnv = _env): Config { const angularWebpackPlugin = getAngularWebpackPlugin(); if (angularWebpackPlugin) { + // angular no longer supports transformers. + // so we patch their method until they do + // https://github.com/angular/angular-cli/pull/21046 + const originalCreateFileEmitter = + angularWebpackPlugin.prototype.createFileEmitter; + angularWebpackPlugin.prototype.createFileEmitter = function ( + ...args: any[] + ) { + let transformers = args[1] || {}; + if (!transformers.before) { + transformers.before = []; + } + transformers.before.push(require('../transformers/NativeClass').default); + args[1] = transformers; + return originalCreateFileEmitter.apply(this, args); + }; config.plugin('AngularWebpackPlugin').use(angularWebpackPlugin, [ { tsconfig: tsConfigPath,