@@ -6,22 +6,22 @@ let hasOwnProperty = Object.prototype.hasOwnProperty;
6
6
function getSingleLocalNamesForComposes ( selectors ) {
7
7
return selectors . nodes . map ( ( node ) => {
8
8
if ( node . type !== 'selector' || node . nodes . length !== 1 ) {
9
- throw new Error ( 'composes is only allowed when selector is single :local class name not in "' +
9
+ throw new Error ( 'composition is only allowed when selector is single :local class name not in "' +
10
10
Tokenizer . stringify ( selectors ) + '"' ) ;
11
11
}
12
12
node = node . nodes [ 0 ] ;
13
13
if ( node . type !== 'nested-pseudo-class' || node . name !== 'local' || node . nodes . length !== 1 ) {
14
- throw new Error ( 'composes is only allowed when selector is single :local class name not in "' +
14
+ throw new Error ( 'composition is only allowed when selector is single :local class name not in "' +
15
15
Tokenizer . stringify ( selectors ) + '", "' + Tokenizer . stringify ( node ) + '" is weird' ) ;
16
16
}
17
17
node = node . nodes [ 0 ] ;
18
18
if ( node . type !== 'selector' || node . nodes . length !== 1 ) {
19
- throw new Error ( 'composes is only allowed when selector is single :local class name not in "' +
19
+ throw new Error ( 'composition is only allowed when selector is single :local class name not in "' +
20
20
Tokenizer . stringify ( selectors ) + '", "' + Tokenizer . stringify ( node ) + '" is weird' ) ;
21
21
}
22
22
node = node . nodes [ 0 ] ;
23
23
if ( node . type !== 'class' ) { // 'id' is not possible, because you can't compose ids
24
- throw new Error ( 'composes is only allowed when selector is single :local class name not in "' +
24
+ throw new Error ( 'composition is only allowed when selector is single :local class name not in "' +
25
25
Tokenizer . stringify ( selectors ) + '", "' + Tokenizer . stringify ( node ) + '" is weird' ) ;
26
26
}
27
27
return node . name ;
@@ -92,7 +92,7 @@ const processor = postcss.plugin('postcss-modules-scope', function(options) {
92
92
let selector = Tokenizer . parse ( rule . selector ) ;
93
93
let newSelector = traverseNode ( selector ) ;
94
94
rule . selector = Tokenizer . stringify ( newSelector ) ;
95
- rule . walkDecls ( ' composes' , decl => {
95
+ rule . walkDecls ( / c o m p o s e s | c o m p o s e - w i t h / , decl => {
96
96
let localNames = getSingleLocalNamesForComposes ( selector ) ;
97
97
let classes = decl . value . split ( / \s + / ) ;
98
98
classes . forEach ( ( className ) => {
@@ -107,11 +107,12 @@ const processor = postcss.plugin('postcss-modules-scope', function(options) {
107
107
} ) ;
108
108
} ) ;
109
109
} else {
110
- throw decl . error ( ' referenced class name "' + className + ' " in composes not found' ) ;
110
+ throw decl . error ( ` referenced class name "${ className } " in ${ decl . prop } not found` ) ;
111
111
}
112
112
} ) ;
113
113
decl . remove ( ) ;
114
114
} ) ;
115
+
115
116
rule . walkDecls ( decl => {
116
117
var tokens = decl . value . split ( / ( , | ' [ ^ ' ] * ' | " [ ^ " ] * " ) / ) ;
117
118
tokens = tokens . map ( ( token , idx ) => {
0 commit comments