From 6a7bcf3300b459aef80fcf98f2475c977f6244dc Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 29 Jun 2021 12:50:26 +0200 Subject: [PATCH] fix(@ngtools/webpack): encode component style data We now encode the data using `encodeURIComponent` which safely encodes `+` signs. Without this a portion of the buffer was lost and caused `Unrecognised input` errors. Closes #21236 --- .../ngtools/webpack/src/transformers/replace_resources.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/ngtools/webpack/src/transformers/replace_resources.ts b/packages/ngtools/webpack/src/transformers/replace_resources.ts index b6c9cf160603..b7e834ba02e5 100644 --- a/packages/ngtools/webpack/src/transformers/replace_resources.ts +++ b/packages/ngtools/webpack/src/transformers/replace_resources.ts @@ -208,7 +208,9 @@ function visitComponentMetadata( } else if (inlineStyleFileExtension) { const data = Buffer.from(node.text).toString('base64'); const containingFile = node.getSourceFile().fileName; - url = `${containingFile}.${inlineStyleFileExtension}!=!${inlineDataLoaderPath}?data=${data}!${containingFile}`; + url = `${containingFile}.${inlineStyleFileExtension}!=!${inlineDataLoaderPath}?data=${encodeURIComponent( + data, + )}!${containingFile}`; } else { return nodeFactory.createStringLiteral(node.text); }