jstransform
Advanced tools
Comparing version 8.1.0 to 8.2.0
{ | ||
"name": "jstransform", | ||
"version": "8.1.0", | ||
"version": "8.2.0", | ||
"description": "A simple AST visitor-based JS transformer", | ||
@@ -24,3 +24,3 @@ "contributors": [ | ||
"base62": "0.1.1", | ||
"esprima-fb": "8001.1.0-dev-harmony-fb", | ||
"esprima-fb": "8001.1001.0-dev-harmony-fb", | ||
"source-map": "0.1.31" | ||
@@ -27,0 +27,0 @@ }, |
@@ -129,2 +129,14 @@ /* | ||
}, | ||
'a={set fooProp(value:number): void{}}': { | ||
raworiginal: 'a={set fooProp(value:number): void{}}', | ||
transformed: 'a={set fooProp(value ) {}}', | ||
eval: 'No error', | ||
}, | ||
'a={get fooProp(): number {}}': { | ||
raworiginal: 'a={get fooProp(): number {}}', | ||
transformed: 'a={get fooProp() {}}', | ||
eval: 'No error', | ||
}, | ||
'class Foo {set fooProp(value:number){}}': { | ||
@@ -136,2 +148,14 @@ raworiginal: 'class Foo {set fooProp(value:number){}}', | ||
}, | ||
'class Foo {set fooProp(value:number): void{}}': { | ||
raworiginal: 'class Foo {set fooProp(value:number): void{}}', | ||
transformed: 'class Foo {set fooProp(value ) {}}', | ||
eval: 'Unexpected reserved word', | ||
}, | ||
'class Foo {get fooProp(): number{}}': { | ||
raworiginal: 'class Foo {get fooProp(): number{}}', | ||
transformed: 'class Foo {get fooProp() {}}', | ||
eval: 'Unexpected reserved word', | ||
}, | ||
'var numVal:number;': { | ||
@@ -608,2 +632,174 @@ raworiginal: 'var numVal:number;', | ||
}, | ||
'Call Properties': { | ||
'var a : { (): number }': { | ||
raworiginal: 'var a : { (): number }', | ||
transformed: 'var a ', | ||
eval: 'No error', | ||
}, | ||
'var a : { (): number; }': { | ||
raworiginal: 'var a : { (): number; }', | ||
transformed: 'var a ', | ||
eval: 'No error', | ||
}, | ||
'var a : { (): number; y: string; (x: string): string }': { | ||
raworiginal: 'var a : { (): number; y: string; (x: string): string }', | ||
transformed: 'var a ', | ||
eval: 'No error', | ||
}, | ||
'var a : { <T>(x: T): number; }': { | ||
raworiginal: 'var a : { <T>(x: T): number; }', | ||
transformed: 'var a ', | ||
eval: 'No error', | ||
}, | ||
'interface A { (): number; }': { | ||
raworiginal: 'interface A { (): number; }', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
}, | ||
'String Literal Types': { | ||
'function createElement(tagName: "div"): HTMLDivElement {}': { | ||
raworiginal: 'function createElement(tagName: "div"): HTMLDivElement {}', | ||
transformed: 'function createElement(tagName ) {}', | ||
eval: 'No error', | ||
}, | ||
'function createElement(tagName: \'div\'): HTMLDivElement {}': { | ||
raworiginal: 'function createElement(tagName: \'div\'): HTMLDivElement {}', | ||
transformed: 'function createElement(tagName ) {}', | ||
eval: 'No error', | ||
}, | ||
}, | ||
'Qualified Generic Type': { | ||
'var a : A.B': { | ||
raworiginal: 'var a : A.B', | ||
transformed: 'var a ', | ||
eval: 'No error', | ||
}, | ||
'var a : A.B.C': { | ||
raworiginal: 'var a : A.B.C', | ||
transformed: 'var a ', | ||
eval: 'No error', | ||
}, | ||
'var a : A.B<T>': { | ||
raworiginal: 'var a : A.B<T>', | ||
transformed: 'var a ', | ||
eval: 'No error', | ||
}, | ||
'var a : typeof A.B<T>': { | ||
raworiginal: 'var a : typeof A.B<T>', | ||
transformed: 'var a ', | ||
eval: 'No error', | ||
}, | ||
}, | ||
'Declare Statements': { | ||
'declare var foo': { | ||
raworiginal: 'declare var foo', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare var foo;': { | ||
raworiginal: 'declare var foo;', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare function foo(): void': { | ||
raworiginal: 'declare function foo(): void', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare function foo(): void;': { | ||
raworiginal: 'declare function foo(): void;', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare function foo<T>(): void;': { | ||
raworiginal: 'declare function foo<T>(): void;', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare function foo(x: number, y: string): void;': { | ||
raworiginal: 'declare function foo(x: number, y: string): void;', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare class A {}': { | ||
raworiginal: 'declare class A {}', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare class A<T> extends B<T> { x: number }': { | ||
raworiginal: 'declare class A<T> extends B<T> { x: number }', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare class A { static foo(): number; static x : string }': { | ||
raworiginal: 'declare class A { static foo(): number; static x : string }', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare class A { static [ indexer: number]: string }': { | ||
raworiginal: 'declare class A { static [ indexer: number]: string }', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare class A { static () : number }': { | ||
raworiginal: 'declare class A { static () : number }', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
}, | ||
'Declare Module': { | ||
'declare module A {}': { | ||
raworiginal: 'declare module A {}', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare module "./a/b.js" {}': { | ||
raworiginal: 'declare module "./a/b.js" {}', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare module A { declare var x: number; }': { | ||
raworiginal: 'declare module A { declare var x: number; }', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare module A { declare function foo(): number; }': { | ||
raworiginal: 'declare module A { declare function foo(): number; }', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
'declare module A { declare class B { foo(): number; } }': { | ||
raworiginal: 'declare module A { declare class B { foo(): number; } }', | ||
transformed: ' ', | ||
eval: 'No error', | ||
}, | ||
}, | ||
}; |
@@ -24,11 +24,7 @@ if (!!module.parent) { | ||
'a={set fooProp(value:number){}}', | ||
/* TODO: add these back once esprima can parse them | ||
'a={set fooProp(value:number): void{}}', | ||
'a={get fooProp(): number {}}', | ||
*/ | ||
'class Foo {set fooProp(value:number){}}', | ||
/* TODO: add these back once esprima can parse them | ||
'class Foo {set fooProp(value:number): void{}}', | ||
'class Foo {get fooProp(): number{}}', | ||
*/ | ||
'var numVal:number;', | ||
@@ -120,2 +116,39 @@ 'var numVal:number = otherNumVal;', | ||
], | ||
'Call Properties': [ | ||
'var a : { (): number }', | ||
'var a : { (): number; }', | ||
'var a : { (): number; y: string; (x: string): string }', | ||
'var a : { <T>(x: T): number; }', | ||
'interface A { (): number; }', | ||
], | ||
'String Literal Types': [ | ||
'function createElement(tagName: "div"): HTMLDivElement {}', | ||
'function createElement(tagName: \'div\'): HTMLDivElement {}', | ||
], | ||
'Qualified Generic Type': [ | ||
'var a : A.B', | ||
'var a : A.B.C', | ||
'var a : A.B<T>', | ||
'var a : typeof A.B<T>', | ||
], | ||
'Declare Statements': [ | ||
'declare var foo', | ||
'declare var foo;', | ||
'declare function foo(): void', | ||
'declare function foo(): void;', | ||
'declare function foo<T>(): void;', | ||
'declare function foo(x: number, y: string): void;', | ||
'declare class A {}', | ||
'declare class A<T> extends B<T> { x: number }', | ||
'declare class A { static foo(): number; static x : string }', | ||
'declare class A { static [ indexer: number]: string }', | ||
'declare class A { static () : number }', | ||
], | ||
'Declare Module': [ | ||
'declare module A {}', | ||
'declare module "./a/b.js" {}', | ||
'declare module A { declare var x: number; }', | ||
'declare module A { declare function foo(): number; }', | ||
'declare module A { declare class B { foo(): number; } }', | ||
], | ||
}; | ||
@@ -122,0 +155,0 @@ } else { |
@@ -37,2 +37,16 @@ var esprima = require('esprima-fb'); | ||
function visitDeclare(traverse, node, path, state) { | ||
utils.catchupWhiteOut(node.range[1], state); | ||
return false; | ||
} | ||
visitDeclare.test = function(node, path, state) { | ||
switch (node.type) { | ||
case Syntax.DeclareVariable: | ||
case Syntax.DeclareFunction: | ||
case Syntax.DeclareClass: | ||
case Syntax.DeclareModule: return true | ||
} | ||
return false; | ||
} | ||
function visitFunctionParametricAnnotation(traverse, node, path, state) { | ||
@@ -125,2 +139,3 @@ utils.catchup(node.range[0], state); | ||
visitClassProperty, | ||
visitDeclare, | ||
visitInterfaceDeclaration, | ||
@@ -127,0 +142,0 @@ visitFunctionParametricAnnotation, |
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
268288
7509
+ Addedesprima-fb@8001.1001.0-dev-harmony-fb(transitive)
- Removedesprima-fb@8001.1.0-dev-harmony-fb(transitive)