Socket
Socket
Sign inDemoInstall

jstransform

Package Overview
Dependencies
Maintainers
4
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jstransform - npm Package Compare versions

Comparing version 8.1.0 to 8.2.0

4

package.json
{
"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,

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc