@@ -6,22 +6,22 @@ let hasOwnProperty = Object.prototype.hasOwnProperty;
66function getSingleLocalNamesForComposes ( selectors ) {
77 return selectors . nodes . map ( ( node ) => {
88 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 "' +
1010 Tokenizer . stringify ( selectors ) + '"' ) ;
1111 }
1212 node = node . nodes [ 0 ] ;
1313 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 "' +
1515 Tokenizer . stringify ( selectors ) + '", "' + Tokenizer . stringify ( node ) + '" is weird' ) ;
1616 }
1717 node = node . nodes [ 0 ] ;
1818 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 "' +
2020 Tokenizer . stringify ( selectors ) + '", "' + Tokenizer . stringify ( node ) + '" is weird' ) ;
2121 }
2222 node = node . nodes [ 0 ] ;
2323 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 "' +
2525 Tokenizer . stringify ( selectors ) + '", "' + Tokenizer . stringify ( node ) + '" is weird' ) ;
2626 }
2727 return node . name ;
@@ -92,7 +92,7 @@ const processor = postcss.plugin('postcss-modules-scope', function(options) {
9292 let selector = Tokenizer . parse ( rule . selector ) ;
9393 let newSelector = traverseNode ( selector ) ;
9494 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 => {
9696 let localNames = getSingleLocalNamesForComposes ( selector ) ;
9797 let classes = decl . value . split ( / \s + / ) ;
9898 classes . forEach ( ( className ) => {
@@ -107,11 +107,12 @@ const processor = postcss.plugin('postcss-modules-scope', function(options) {
107107 } ) ;
108108 } ) ;
109109 } 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` ) ;
111111 }
112112 } ) ;
113113 decl . remove ( ) ;
114114 } ) ;
115+
115116 rule . walkDecls ( decl => {
116117 var tokens = decl . value . split ( / ( , | ' [ ^ ' ] * ' | " [ ^ " ] * " ) / ) ;
117118 tokens = tokens . map ( ( token , idx ) => {
0 commit comments