1
- const assign = require ( 'lodash' ) . assign ;
1
+ 'use strict' ;
2
+
3
+ const { assign, identity, negate, camelCase : camelCaseFunc , mapKeys} = require ( 'lodash' ) ;
4
+ const { dirname, relative, resolve} = require ( 'path' ) ;
5
+ const { readFileSync} = require ( 'fs' ) ;
6
+ const { transformTokens} = require ( './transformTokens' ) ;
7
+
2
8
const attachHook = require ( './attachHook' ) ;
3
- const dirname = require ( 'path' ) . dirname ;
4
9
const genericNames = require ( 'generic-names' ) ;
5
10
const globToRegex = require ( 'glob-to-regexp' ) ;
6
- const identity = require ( 'lodash' ) . identity ;
7
- const negate = require ( 'lodash' ) . negate ;
8
- const camelCaseFunc = require ( 'lodash' ) . camelCase ;
9
- const mapKeys = require ( 'lodash' ) . mapKeys ;
10
- const readFileSync = require ( 'fs' ) . readFileSync ;
11
- const relative = require ( 'path' ) . relative ;
12
- const resolve = require ( 'path' ) . resolve ;
13
11
const validate = require ( './validate' ) ;
14
12
15
13
const postcss = require ( 'postcss' ) ;
@@ -23,13 +21,13 @@ const debugFetch = require('debug')('css-modules:fetch');
23
21
const debugSetup = require ( 'debug' ) ( 'css-modules:setup' ) ;
24
22
25
23
module . exports = function setupHook ( {
24
+ camelCase,
26
25
devMode,
27
26
extensions = '.css' ,
28
27
ignore,
29
28
preprocessCss = identity ,
30
29
processCss,
31
30
processorOpts,
32
- camelCase,
33
31
append = [ ] ,
34
32
prepend = [ ] ,
35
33
createImportedName,
@@ -89,7 +87,6 @@ module.exports = function setupHook({
89
87
? require . resolve ( _to )
90
88
: resolve ( dirname ( from ) , _to ) ;
91
89
92
-
93
90
// checking cache
94
91
let tokens = tokensByFile [ filename ] ;
95
92
if ( tokens ) {
@@ -107,10 +104,6 @@ module.exports = function setupHook({
107
104
108
105
tokens = lazyResult . root . tokens ;
109
106
110
- if ( camelCase ) {
111
- tokens = assign ( mapKeys ( tokens , ( value , key ) => camelCaseFunc ( key ) ) , tokens ) ;
112
- }
113
-
114
107
if ( ! debugMode ) {
115
108
// updating cache
116
109
tokensByFile [ filename ] = tokens ;
@@ -132,8 +125,13 @@ module.exports = function setupHook({
132
125
const exts = toArray ( extensions ) ;
133
126
const isException = buildExceptionChecker ( ignore ) ;
134
127
128
+ const hook = filename => {
129
+ const tokens = fetch ( filename , filename ) ;
130
+ return camelCase ? transformTokens ( tokens , camelCase ) : tokens ;
131
+ } ;
132
+
135
133
// @todo add possibility to specify particular config for each extension
136
- exts . forEach ( extension => attachHook ( filename => fetch ( filename , filename ) , extension , isException ) ) ;
134
+ exts . forEach ( extension => attachHook ( hook , extension , isException ) ) ;
137
135
} ;
138
136
139
137
/**
0 commit comments