Comparing version 0.4.14 to 0.4.15
# buble changelog | ||
## 0.4.15 | ||
* Rewrite reserved properties if specified ([#9](https://gitlab.com/Rich-Harris/buble/issues/9)) | ||
## 0.4.14 | ||
@@ -4,0 +8,0 @@ |
{ | ||
"name": "buble", | ||
"version": "0.4.14", | ||
"version": "0.4.15", | ||
"description": "The blazing fast, batteries-included ES2015 compiler", | ||
@@ -5,0 +5,0 @@ "main": "dist/buble.umd.js", |
@@ -8,3 +8,5 @@ import { parse } from 'acorn/src/index.js'; | ||
const targets = Object.keys( target ); | ||
let bitmask = targets.length ? Math.pow( 2, 53 ) - 1 : 0; | ||
let bitmask = targets.length ? | ||
0b111111111111111111111111111111 : | ||
0b100000000000000000000000000000; | ||
@@ -11,0 +13,0 @@ Object.keys( target ).forEach( environment => { |
import extractNames from './extractNames.js'; | ||
import reserved from '../utils/reserved.js'; | ||
import CompileError from '../utils/CompileError.js'; | ||
let reserved = Object.create( null ); | ||
'do if in for let new try var case else enum eval null this true void with await break catch class const false super throw while yield delete export import public return static switch typeof default extends finally package private continue debugger function arguments interface protected implements instanceof'.split( ' ' ) | ||
.forEach( word => reserved[ word ] = true ); | ||
export default function Scope ( options ) { | ||
@@ -9,0 +6,0 @@ options = options || {}; |
import Node from '../Node.js'; | ||
import reserved from '../../utils/reserved.js'; | ||
import isReference from '../../utils/isReference.js'; | ||
@@ -41,3 +42,11 @@ | ||
} | ||
if ( transforms.reservedProperties && reserved[ this.name ] ) { | ||
const { type, object, property } = this.parent; | ||
if ( type === 'MemberExpression' && this === property && !this.computed ) { | ||
code.overwrite( object.end, this.start, `['` ); | ||
code.insert( this.end, `']` ); | ||
} | ||
} | ||
} | ||
} |
import Node from '../Node.js'; | ||
import reserved from '../../utils/reserved.js'; | ||
import CompileError from '../../utils/CompileError.js'; | ||
@@ -22,4 +23,9 @@ | ||
if ( transforms.reservedProperties && reserved[ this.key.name ] ) { | ||
code.insert( this.key.start, `'` ); | ||
code.insert( this.key.end, `'` ); | ||
} | ||
super.transpile( code, transforms ); | ||
} | ||
} |
export const matrix = { | ||
chrome: { | ||
49: 0b01111111111100111111111111111 | ||
48: 0b101111011111100111110101111101, | ||
49: 0b101111111111100111111111111111, | ||
50: 0b111111111111100111111111111111 | ||
}, | ||
firefox: { | ||
43: 0b100111111101100000110111011101, | ||
44: 0b100111111101100000110111011101, | ||
45: 0b100111111101100000110111011101 | ||
}, | ||
safari: { | ||
8: 0b100000000000000000000000000000, | ||
9: 0b101111001101100000011101011110 | ||
}, | ||
node: { | ||
5: 0b01111000111100111111001111111 | ||
'0.10': 0b100000000101000000000001000000, | ||
'0.12': 0b100001000101000000010001000100, | ||
4: 0b101111000111100111111001111111, | ||
5: 0b101111000111100111111001111111 | ||
} | ||
@@ -39,3 +53,7 @@ }; | ||
'unicodeIdentifier', | ||
'unicodeRegExp' | ||
'unicodeRegExp', | ||
// additional transforms, not from | ||
// https://featuretests.io | ||
'reservedProperties' | ||
]; |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1894323
54
16189