@@ -8,7 +8,7 @@ var generate = require('babel-generator').default;
8
8
var traverse = require ( 'babel-traverse' ) . default ;
9
9
var resolve = require ( 'resolve' ) ;
10
10
11
- var { idlAttributeToCSSProperty } = require ( '../lib/parsers' ) ;
11
+ var { idlAttributeToCSSProperty, cssPropertyToIDLAttribute } = require ( '../lib/parsers' ) ;
12
12
13
13
var basename = path . basename ;
14
14
var dirname = path . dirname ;
@@ -56,12 +56,17 @@ function isRequire(node, filename) {
56
56
}
57
57
}
58
58
59
+ const webkitPropertyName = / ^ w e b k i t [ A - Z ] / ;
60
+
59
61
// step 1: parse all files and figure out their dependencies
60
62
var parsedFilesByPath = { } ;
61
63
property_files . map ( function ( property ) {
62
64
var filename = path . resolve ( __dirname , '../lib/properties/' + property ) ;
63
65
var src = fs . readFileSync ( filename , 'utf8' ) ;
64
66
property = basename ( property , '.js' ) ;
67
+ if ( webkitPropertyName . test ( property ) ) {
68
+ property = property [ 0 ] . toUpperCase ( ) + property . substring ( 1 ) ;
69
+ }
65
70
var ast = babylon . parse ( src ) ;
66
71
var dependencies = [ ] ;
67
72
traverse ( ast , {
@@ -261,6 +266,14 @@ parsedFiles.forEach(function(file) {
261
266
t . identifier ( file . property + '_export_definition' )
262
267
)
263
268
) ;
269
+ if ( dashed . startsWith ( '-webkit-' ) ) {
270
+ propertyDefinitions . push (
271
+ t . objectProperty (
272
+ t . identifier ( cssPropertyToIDLAttribute ( dashed , /* lowercaseFirst = */ true ) ) ,
273
+ t . identifier ( file . property + '_export_definition' )
274
+ )
275
+ ) ;
276
+ }
264
277
if ( file . property !== dashed ) {
265
278
propertyDefinitions . push (
266
279
t . objectProperty ( t . stringLiteral ( dashed ) , t . identifier ( file . property + '_export_definition' ) )
0 commit comments