Skip to content

Commit 7253e32

Browse files
fimionyyx990803
authored andcommitted
Adds support for scoped selectors in @supports queries (#908)
* Adds support for scoped selectors in @supports queries Added testing for @supports as well * Update test.js * Update scope-id.js
1 parent e6d5956 commit 7253e32

File tree

3 files changed

+20
-1
lines changed

3 files changed

+20
-1
lines changed

lib/style-compiler/plugins/scope-id.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module.exports = postcss.plugin('add-id', function (opts) {
99
if (!node.selector) {
1010
// handle media queries
1111
if (node.type === 'atrule') {
12-
if (node.name === 'media') {
12+
if (node.name === 'media' || node.name === 'supports') {
1313
node.each(rewriteSelector)
1414
} else if (node.name === 'keyframes') {
1515
// register keyframes

test/fixtures/supports-query.vue

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<style scoped>
2+
@supports ( color: #000 ) {
3+
.foo {
4+
color: #000;
5+
}
6+
}
7+
</style>

test/test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,18 @@ describe('vue-loader', function () {
309309
})
310310
})
311311

312+
it('supports-query', done => {
313+
test({
314+
entry: './test/fixtures/supports-query.vue'
315+
}, (window) => {
316+
var style = window.document.querySelector('style').textContent
317+
style = normalizeNewline(style)
318+
var id = 'data-v-' + hash('vue-loader/test/fixtures/supports-query.vue')
319+
expect(style).to.contain('@supports ( color: #000 ) {\n.foo[' + id + '] {\n color: #000;\n}\n}')
320+
done()
321+
})
322+
})
323+
312324
it('extract CSS', done => {
313325
bundle({
314326
entry: './test/fixtures/extract-css.vue',

0 commit comments

Comments
 (0)