Skip to content
This repository was archived by the owner on Jan 18, 2022. It is now read-only.

Commit 846e766

Browse files
committed
with(this) issue when using buble
fix #20
1 parent 8d857fe commit 846e766

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

src/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,14 +123,14 @@ export default function vue(options = {}) {
123123
const map = new MagicString(source);
124124

125125
return {
126-
code: source.replace(/if[\s]*\('__VUE_WITH_STATEMENT__'\)/g, 'with(this)'),
126+
code: source.replace(/if[\s]*\(window\.__VUE_WITH_STATEMENT__\)/g, 'with(this)'),
127127
map: map.generateMap({ hires: true }),
128128
};
129129
},
130130
ongenerate(opts, rendered) {
131131
generateStyleBundle();
132132
rendered.code = rendered.code.replace(
133-
/if[\s]*\('__VUE_WITH_STATEMENT__'\)/g, 'with(this)');
133+
/if[\s]*\(window\.__VUE_WITH_STATEMENT__\)/g, 'with(this)');
134134
},
135135
};
136136
}

src/vueTransform.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ function padContent(content) {
4747
function wrapRenderFunction(code) {
4848
// Replace with(this) by something that works on strict mode
4949
// https://github.com/vuejs/vue-template-es2015-compiler/blob/master/index.js
50-
code = code.replace(/with\(this\)/g, "if('__VUE_WITH_STATEMENT__')");
50+
code = code.replace(/with\(this\)/g, "if(window.__VUE_WITH_STATEMENT__)");
5151
return `function(){${code}}`;
5252
}
5353

0 commit comments

Comments
 (0)