bem/bem-xjst

Incorrect linter "someone changed ctx.mods"

baymer opened this issue · 2 comments

because this.mods === this.ctx.mods

context.mods = json.mods;

It looks like from the very beginning this case is broken. And I don’t know how to fix it, because of https://github.com/bem/bem-xjst/blob/master/lib/bemxjst/index.js#L375

Such link context.mods = json.mods; will be coded for high performance. And if I deep copy context.mods from json.mods we’ll have a performance penalty.

I’m going to remove runtime lint for this.mods change and this.elemMods change.

And I am very sad because of BEMJSON is mutated here.