Skip to content

Commit b943395

Browse files
committed
fix: shallow-copied locals options for posthtml-expressions
1 parent 592eee4 commit b943395

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

lib/index.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ module.exports = (options = {}) => {
2020
let content;
2121
let subtree;
2222
let source;
23-
const posthtmlExpressionsOptions = options.posthtmlExpressionsOptions || {locals: false};
23+
let posthtmlExpressionsOptions = options.posthtmlExpressionsOptions || {locals: false};
2424
if (options.delimiters) {
2525
posthtmlExpressionsOptions.delimiters = options.delimiters;
2626
}
@@ -32,7 +32,10 @@ module.exports = (options = {}) => {
3232
try {
3333
const localsRaw = node.attrs.locals || (node.content ? node.content.join().replace(/\n/g, '') : false);
3434
const localsJson = JSON.parse(localsRaw);
35-
posthtmlExpressionsOptions.locals = posthtmlExpressionsOptions.locals ? Object.assign(localsJson, posthtmlExpressionsOptions.locals) : localsJson;
35+
posthtmlExpressionsOptions = {
36+
...posthtmlExpressionsOptions,
37+
locals: posthtmlExpressionsOptions.locals ? Object.assign(localsJson, posthtmlExpressionsOptions.locals) : localsJson
38+
};
3639
} catch {}
3740

3841
if (posthtmlExpressionsOptions.locals) {

0 commit comments

Comments
 (0)