🐠 Babel is a compiler for writing next generation JavaScript.
Installations
npm install babel-types
Developer Guide
Typescript
No
Module System
CommonJS
Node Version
6.9.0
NPM Version
4.6.1
Score
98.4
Supply Chain
99.6
Quality
79.2
Maintenance
100
Vulnerability
99.6
License
Releases
Contributors
Languages
TypeScript (68.83%)
JavaScript (30.42%)
Shell (0.6%)
Makefile (0.09%)
HTML (0.06%)
Developer
Download Statistics
Total Downloads
1,835,513,030
Last Day
620,658
Last Week
3,132,498
Last Month
11,181,259
Last Year
184,891,100
GitHub Statistics
43,363 Stars
16,763 Commits
5,659 Forks
804 Watching
15 Branches
1,104 Contributors
Bundle Size
121.98 kB
Minified
27.89 kB
Minified + Gzipped
Package Meta Information
Latest Version
6.26.0
Package Id
babel-types@6.26.0
Size
20.83 kB
NPM Version
4.6.1
Node Version
6.9.0
Publised On
16 Aug 2017
Total Downloads
Cumulative downloads
Total Downloads
1,835,513,030
Last day
8.2%
620,658
Compared to previous day
Last week
-3.9%
3,132,498
Compared to previous week
Last month
-45.4%
11,181,259
Compared to previous month
Last year
-12.7%
184,891,100
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Dependencies
4
Dev Dependencies
2
babel-types
This module contains methods for building ASTs manually and for checking the types of AST nodes.
Install
1npm install --save-dev babel-types
API
anyTypeAnnotation
1t.anyTypeAnnotation()
See also t.isAnyTypeAnnotation(node, opts)
and t.assertAnyTypeAnnotation(node, opts)
.
Aliases: Flow
, FlowBaseAnnotation
arrayExpression
1t.arrayExpression(elements)
See also t.isArrayExpression(node, opts)
and t.assertArrayExpression(node, opts)
.
Aliases: Expression
elements
:Array<null | Expression | SpreadElement>
(default:[]
)
arrayPattern
1t.arrayPattern(elements, typeAnnotation)
See also t.isArrayPattern(node, opts)
and t.assertArrayPattern(node, opts)
.
Aliases: Pattern
, LVal
elements
:Array<Identifier | Pattern | RestElement>
(required)typeAnnotation
(required)decorators
:Array<Decorator>
(default:null
)
arrayTypeAnnotation
1t.arrayTypeAnnotation(elementType)
See also t.isArrayTypeAnnotation(node, opts)
and t.assertArrayTypeAnnotation(node, opts)
.
Aliases: Flow
elementType
(required)
arrowFunctionExpression
1t.arrowFunctionExpression(params, body, async)
See also t.isArrowFunctionExpression(node, opts)
and t.assertArrowFunctionExpression(node, opts)
.
Aliases: Scopable
, Function
, BlockParent
, FunctionParent
, Expression
, Pureish
params
:Array<LVal>
(required)body
:BlockStatement | Expression
(required)async
:boolean
(default:false
)returnType
(default:null
)typeParameters
(default:null
)
assignmentExpression
1t.assignmentExpression(operator, left, right)
See also t.isAssignmentExpression(node, opts)
and t.assertAssignmentExpression(node, opts)
.
Aliases: Expression
operator
:string
(required)left
:LVal
(required)right
:Expression
(required)
assignmentPattern
1t.assignmentPattern(left, right)
See also t.isAssignmentPattern(node, opts)
and t.assertAssignmentPattern(node, opts)
.
Aliases: Pattern
, LVal
left
:Identifier
(required)right
:Expression
(required)decorators
:Array<Decorator>
(default:null
)
awaitExpression
1t.awaitExpression(argument)
See also t.isAwaitExpression(node, opts)
and t.assertAwaitExpression(node, opts)
.
Aliases: Expression
, Terminatorless
argument
:Expression
(required)
binaryExpression
1t.binaryExpression(operator, left, right)
See also t.isBinaryExpression(node, opts)
and t.assertBinaryExpression(node, opts)
.
Aliases: Binary
, Expression
operator
:'+' | '-' | '/' | '%' | '*' | '**' | '&' | '|' | '>>' | '>>>' | '<<' | '^' | '==' | '===' | '!=' | '!==' | 'in' | 'instanceof' | '>' | '<' | '>=' | '<='
(required)left
:Expression
(required)right
:Expression
(required)
bindExpression
1t.bindExpression(object, callee)
See also t.isBindExpression(node, opts)
and t.assertBindExpression(node, opts)
.
Aliases: Expression
object
(required)callee
(required)
blockStatement
1t.blockStatement(body, directives)
See also t.isBlockStatement(node, opts)
and t.assertBlockStatement(node, opts)
.
Aliases: Scopable
, BlockParent
, Block
, Statement
body
:Array<Statement>
(required)directives
:Array<Directive>
(default:[]
)
booleanLiteral
1t.booleanLiteral(value)
See also t.isBooleanLiteral(node, opts)
and t.assertBooleanLiteral(node, opts)
.
Aliases: Expression
, Pureish
, Literal
, Immutable
value
:boolean
(required)
booleanLiteralTypeAnnotation
1t.booleanLiteralTypeAnnotation()
See also t.isBooleanLiteralTypeAnnotation(node, opts)
and t.assertBooleanLiteralTypeAnnotation(node, opts)
.
Aliases: Flow
booleanTypeAnnotation
1t.booleanTypeAnnotation()
See also t.isBooleanTypeAnnotation(node, opts)
and t.assertBooleanTypeAnnotation(node, opts)
.
Aliases: Flow
, FlowBaseAnnotation
breakStatement
1t.breakStatement(label)
See also t.isBreakStatement(node, opts)
and t.assertBreakStatement(node, opts)
.
Aliases: Statement
, Terminatorless
, CompletionStatement
label
:Identifier
(default:null
)
callExpression
1t.callExpression(callee, arguments)
See also t.isCallExpression(node, opts)
and t.assertCallExpression(node, opts)
.
Aliases: Expression
callee
:Expression
(required)arguments
:Array<Expression | SpreadElement>
(required)
catchClause
1t.catchClause(param, body)
See also t.isCatchClause(node, opts)
and t.assertCatchClause(node, opts)
.
Aliases: Scopable
param
:Identifier
(required)body
:BlockStatement
(required)
classBody
1t.classBody(body)
See also t.isClassBody(node, opts)
and t.assertClassBody(node, opts)
.
body
:Array<ClassMethod | ClassProperty>
(required)
classDeclaration
1t.classDeclaration(id, superClass, body, decorators)
See also t.isClassDeclaration(node, opts)
and t.assertClassDeclaration(node, opts)
.
Aliases: Scopable
, Class
, Statement
, Declaration
, Pureish
id
:Identifier
(required)superClass
:Expression
(default:null
)body
:ClassBody
(required)decorators
:Array<Decorator>
(required)implements
(default:null
)mixins
(default:null
)superTypeParameters
(default:null
)typeParameters
(default:null
)
classExpression
1t.classExpression(id, superClass, body, decorators)
See also t.isClassExpression(node, opts)
and t.assertClassExpression(node, opts)
.
Aliases: Scopable
, Class
, Expression
, Pureish
id
:Identifier
(default:null
)superClass
:Expression
(default:null
)body
:ClassBody
(required)decorators
:Array<Decorator>
(required)implements
(default:null
)mixins
(default:null
)superTypeParameters
(default:null
)typeParameters
(default:null
)
classImplements
1t.classImplements(id, typeParameters)
See also t.isClassImplements(node, opts)
and t.assertClassImplements(node, opts)
.
Aliases: Flow
id
(required)typeParameters
(required)
classMethod
1t.classMethod(kind, key, params, body, computed, static)
See also t.isClassMethod(node, opts)
and t.assertClassMethod(node, opts)
.
Aliases: Function
, Scopable
, BlockParent
, FunctionParent
, Method
kind
:"get" | "set" | "method" | "constructor"
(default:'method'
)key
if computed thenExpression
elseIdentifier | Literal
(required)params
:Array<LVal>
(required)body
:BlockStatement
(required)computed
:boolean
(default:false
)static
:boolean
(default:false
)async
:boolean
(default:false
)decorators
(default:null
)generator
:boolean
(default:false
)returnType
(default:null
)typeParameters
(default:null
)
classProperty
1t.classProperty(key, value, typeAnnotation, decorators, computed)
See also t.isClassProperty(node, opts)
and t.assertClassProperty(node, opts)
.
Aliases: Property
key
(required)value
(required)typeAnnotation
(required)decorators
(required)computed
:boolean
(default:false
)
conditionalExpression
1t.conditionalExpression(test, consequent, alternate)
See also t.isConditionalExpression(node, opts)
and t.assertConditionalExpression(node, opts)
.
Aliases: Expression
, Conditional
test
:Expression
(required)consequent
:Expression
(required)alternate
:Expression
(required)
continueStatement
1t.continueStatement(label)
See also t.isContinueStatement(node, opts)
and t.assertContinueStatement(node, opts)
.
Aliases: Statement
, Terminatorless
, CompletionStatement
label
:Identifier
(default:null
)
debuggerStatement
1t.debuggerStatement()
See also t.isDebuggerStatement(node, opts)
and t.assertDebuggerStatement(node, opts)
.
Aliases: Statement
declareClass
1t.declareClass(id, typeParameters, extends, body)
See also t.isDeclareClass(node, opts)
and t.assertDeclareClass(node, opts)
.
Aliases: Flow
, FlowDeclaration
, Statement
, Declaration
id
(required)typeParameters
(required)extends
(required)body
(required)
declareExportDeclaration
1t.declareExportDeclaration(declaration, specifiers, source)
See also t.isDeclareExportDeclaration(node, opts)
and t.assertDeclareExportDeclaration(node, opts)
.
Aliases: Flow
, FlowDeclaration
, Statement
, Declaration
declaration
(required)specifiers
(required)source
(required)
declareFunction
1t.declareFunction(id)
See also t.isDeclareFunction(node, opts)
and t.assertDeclareFunction(node, opts)
.
Aliases: Flow
, FlowDeclaration
, Statement
, Declaration
id
(required)
declareInterface
1t.declareInterface(id, typeParameters, extends, body)
See also t.isDeclareInterface(node, opts)
and t.assertDeclareInterface(node, opts)
.
Aliases: Flow
, FlowDeclaration
, Statement
, Declaration
id
(required)typeParameters
(required)extends
(required)body
(required)
declareModule
1t.declareModule(id, body)
See also t.isDeclareModule(node, opts)
and t.assertDeclareModule(node, opts)
.
Aliases: Flow
, FlowDeclaration
, Statement
, Declaration
id
(required)body
(required)
declareModuleExports
1t.declareModuleExports(typeAnnotation)
See also t.isDeclareModuleExports(node, opts)
and t.assertDeclareModuleExports(node, opts)
.
Aliases: Flow
, FlowDeclaration
, Statement
, Declaration
typeAnnotation
(required)
declareOpaqueType
1t.declareOpaqueType(id, typeParameters, supertype)
See also t.isDeclareOpaqueType(node, opts)
and t.assertDeclareOpaqueType(node, opts)
.
Aliases: Flow
, FlowDeclaration
, Statement
, Declaration
id
(required)typeParameters
(required)supertype
(required)
declareTypeAlias
1t.declareTypeAlias(id, typeParameters, right)
See also t.isDeclareTypeAlias(node, opts)
and t.assertDeclareTypeAlias(node, opts)
.
Aliases: Flow
, FlowDeclaration
, Statement
, Declaration
id
(required)typeParameters
(required)right
(required)
declareVariable
1t.declareVariable(id)
See also t.isDeclareVariable(node, opts)
and t.assertDeclareVariable(node, opts)
.
Aliases: Flow
, FlowDeclaration
, Statement
, Declaration
id
(required)
decorator
1t.decorator(expression)
See also t.isDecorator(node, opts)
and t.assertDecorator(node, opts)
.
expression
:Expression
(required)
directive
1t.directive(value)
See also t.isDirective(node, opts)
and t.assertDirective(node, opts)
.
value
:DirectiveLiteral
(required)
directiveLiteral
1t.directiveLiteral(value)
See also t.isDirectiveLiteral(node, opts)
and t.assertDirectiveLiteral(node, opts)
.
value
:string
(required)
doExpression
1t.doExpression(body)
See also t.isDoExpression(node, opts)
and t.assertDoExpression(node, opts)
.
Aliases: Expression
body
:BlockStatement
(required)
doWhileStatement
1t.doWhileStatement(test, body)
See also t.isDoWhileStatement(node, opts)
and t.assertDoWhileStatement(node, opts)
.
Aliases: Statement
, BlockParent
, Loop
, While
, Scopable
test
:Expression
(required)body
:Statement
(required)
emptyStatement
1t.emptyStatement()
See also t.isEmptyStatement(node, opts)
and t.assertEmptyStatement(node, opts)
.
Aliases: Statement
emptyTypeAnnotation
1t.emptyTypeAnnotation()
See also t.isEmptyTypeAnnotation(node, opts)
and t.assertEmptyTypeAnnotation(node, opts)
.
Aliases: Flow
, FlowBaseAnnotation
existentialTypeParam
1t.existentialTypeParam()
See also t.isExistentialTypeParam(node, opts)
and t.assertExistentialTypeParam(node, opts)
.
Aliases: Flow
exportAllDeclaration
1t.exportAllDeclaration(source)
See also t.isExportAllDeclaration(node, opts)
and t.assertExportAllDeclaration(node, opts)
.
Aliases: Statement
, Declaration
, ModuleDeclaration
, ExportDeclaration
source
:StringLiteral
(required)
exportDefaultDeclaration
1t.exportDefaultDeclaration(declaration)
See also t.isExportDefaultDeclaration(node, opts)
and t.assertExportDefaultDeclaration(node, opts)
.
Aliases: Statement
, Declaration
, ModuleDeclaration
, ExportDeclaration
declaration
:FunctionDeclaration | ClassDeclaration | Expression
(required)
exportDefaultSpecifier
1t.exportDefaultSpecifier(exported)
See also t.isExportDefaultSpecifier(node, opts)
and t.assertExportDefaultSpecifier(node, opts)
.
Aliases: ModuleSpecifier
exported
:Identifier
(required)
exportNamedDeclaration
1t.exportNamedDeclaration(declaration, specifiers, source)
See also t.isExportNamedDeclaration(node, opts)
and t.assertExportNamedDeclaration(node, opts)
.
Aliases: Statement
, Declaration
, ModuleDeclaration
, ExportDeclaration
declaration
:Declaration
(default:null
)specifiers
:Array<ExportSpecifier>
(required)source
:StringLiteral
(default:null
)
exportNamespaceSpecifier
1t.exportNamespaceSpecifier(exported)
See also t.isExportNamespaceSpecifier(node, opts)
and t.assertExportNamespaceSpecifier(node, opts)
.
Aliases: ModuleSpecifier
exported
:Identifier
(required)
exportSpecifier
1t.exportSpecifier(local, exported)
See also t.isExportSpecifier(node, opts)
and t.assertExportSpecifier(node, opts)
.
Aliases: ModuleSpecifier
local
:Identifier
(required)exported
:Identifier
(required)
expressionStatement
1t.expressionStatement(expression)
See also t.isExpressionStatement(node, opts)
and t.assertExpressionStatement(node, opts)
.
Aliases: Statement
, ExpressionWrapper
expression
:Expression
(required)
file
1t.file(program, comments, tokens)
See also t.isFile(node, opts)
and t.assertFile(node, opts)
.
program
:Program
(required)comments
(required)tokens
(required)
forAwaitStatement
1t.forAwaitStatement(left, right, body)
See also t.isForAwaitStatement(node, opts)
and t.assertForAwaitStatement(node, opts)
.
Aliases: Scopable
, Statement
, For
, BlockParent
, Loop
, ForXStatement
left
:VariableDeclaration | LVal
(required)right
:Expression
(required)body
:Statement
(required)
forInStatement
1t.forInStatement(left, right, body)
See also t.isForInStatement(node, opts)
and t.assertForInStatement(node, opts)
.
Aliases: Scopable
, Statement
, For
, BlockParent
, Loop
, ForXStatement
left
:VariableDeclaration | LVal
(required)right
:Expression
(required)body
:Statement
(required)
forOfStatement
1t.forOfStatement(left, right, body)
See also t.isForOfStatement(node, opts)
and t.assertForOfStatement(node, opts)
.
Aliases: Scopable
, Statement
, For
, BlockParent
, Loop
, ForXStatement
left
:VariableDeclaration | LVal
(required)right
:Expression
(required)body
:Statement
(required)
forStatement
1t.forStatement(init, test, update, body)
See also t.isForStatement(node, opts)
and t.assertForStatement(node, opts)
.
Aliases: Scopable
, Statement
, For
, BlockParent
, Loop
init
:VariableDeclaration | Expression
(default:null
)test
:Expression
(default:null
)update
:Expression
(default:null
)body
:Statement
(required)
functionDeclaration
1t.functionDeclaration(id, params, body, generator, async)
See also t.isFunctionDeclaration(node, opts)
and t.assertFunctionDeclaration(node, opts)
.
Aliases: Scopable
, Function
, BlockParent
, FunctionParent
, Statement
, Pureish
, Declaration
id
:Identifier
(required)params
:Array<LVal>
(required)body
:BlockStatement
(required)generator
:boolean
(default:false
)async
:boolean
(default:false
)returnType
(default:null
)typeParameters
(default:null
)
functionExpression
1t.functionExpression(id, params, body, generator, async)
See also t.isFunctionExpression(node, opts)
and t.assertFunctionExpression(node, opts)
.
Aliases: Scopable
, Function
, BlockParent
, FunctionParent
, Expression
, Pureish
id
:Identifier
(default:null
)params
:Array<LVal>
(required)body
:BlockStatement
(required)generator
:boolean
(default:false
)async
:boolean
(default:false
)returnType
(default:null
)typeParameters
(default:null
)
functionTypeAnnotation
1t.functionTypeAnnotation(typeParameters, params, rest, returnType)
See also t.isFunctionTypeAnnotation(node, opts)
and t.assertFunctionTypeAnnotation(node, opts)
.
Aliases: Flow
typeParameters
(required)params
(required)rest
(required)returnType
(required)
functionTypeParam
1t.functionTypeParam(name, typeAnnotation)
See also t.isFunctionTypeParam(node, opts)
and t.assertFunctionTypeParam(node, opts)
.
Aliases: Flow
name
(required)typeAnnotation
(required)
genericTypeAnnotation
1t.genericTypeAnnotation(id, typeParameters)
See also t.isGenericTypeAnnotation(node, opts)
and t.assertGenericTypeAnnotation(node, opts)
.
Aliases: Flow
id
(required)typeParameters
(required)
identifier
1t.identifier(name)
See also t.isIdentifier(node, opts)
and t.assertIdentifier(node, opts)
.
Aliases: Expression
, LVal
name``string
(required)decorators
:Array<Decorator>
(default:null
)typeAnnotation
(default:null
)
ifStatement
1t.ifStatement(test, consequent, alternate)
See also t.isIfStatement(node, opts)
and t.assertIfStatement(node, opts)
.
Aliases: Statement
, Conditional
test
:Expression
(required)consequent
:Statement
(required)alternate
:Statement
(default:null
)
import
1t.import()
See also t.isImport(node, opts)
and t.assertImport(node, opts)
.
Aliases: Expression
importDeclaration
1t.importDeclaration(specifiers, source)
See also t.isImportDeclaration(node, opts)
and t.assertImportDeclaration(node, opts)
.
Aliases: Statement
, Declaration
, ModuleDeclaration
specifiers
:Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>
(required)source
:StringLiteral
(required)
importDefaultSpecifier
1t.importDefaultSpecifier(local)
See also t.isImportDefaultSpecifier(node, opts)
and t.assertImportDefaultSpecifier(node, opts)
.
Aliases: ModuleSpecifier
local
:Identifier
(required)
importNamespaceSpecifier
1t.importNamespaceSpecifier(local)
See also t.isImportNamespaceSpecifier(node, opts)
and t.assertImportNamespaceSpecifier(node, opts)
.
Aliases: ModuleSpecifier
local
:Identifier
(required)
importSpecifier
1t.importSpecifier(local, imported)
See also t.isImportSpecifier(node, opts)
and t.assertImportSpecifier(node, opts)
.
Aliases: ModuleSpecifier
local
:Identifier
(required)imported
:Identifier
(required)importKind
:null | 'type' | 'typeof'
(default:null
)
interfaceDeclaration
1t.interfaceDeclaration(id, typeParameters, extends, body)
See also t.isInterfaceDeclaration(node, opts)
and t.assertInterfaceDeclaration(node, opts)
.
Aliases: Flow
, FlowDeclaration
, Statement
, Declaration
id
(required)typeParameters
(required)extends
(required)body
(required)
interfaceExtends
1t.interfaceExtends(id, typeParameters)
See also t.isInterfaceExtends(node, opts)
and t.assertInterfaceExtends(node, opts)
.
Aliases: Flow
id
(required)typeParameters
(required)
intersectionTypeAnnotation
1t.intersectionTypeAnnotation(types)
See also t.isIntersectionTypeAnnotation(node, opts)
and t.assertIntersectionTypeAnnotation(node, opts)
.
Aliases: Flow
types
(required)
jSXAttribute
1t.jSXAttribute(name, value)
See also t.isJSXAttribute(node, opts)
and t.assertJSXAttribute(node, opts)
.
Aliases: JSX
, Immutable
name
:JSXIdentifier | JSXNamespacedName
(required)value
:JSXElement | StringLiteral | JSXExpressionContainer
(default:null
)
jSXClosingElement
1t.jSXClosingElement(name)
See also t.isJSXClosingElement(node, opts)
and t.assertJSXClosingElement(node, opts)
.
Aliases: JSX
, Immutable
name
:JSXIdentifier | JSXMemberExpression
(required)
jSXElement
1t.jSXElement(openingElement, closingElement, children, selfClosing)
See also t.isJSXElement(node, opts)
and t.assertJSXElement(node, opts)
.
Aliases: JSX
, Immutable
, Expression
openingElement
:JSXOpeningElement
(required)closingElement
:JSXClosingElement
(default:null
)children
:Array<JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement>
(required)selfClosing
(required)
jSXEmptyExpression
1t.jSXEmptyExpression()
See also t.isJSXEmptyExpression(node, opts)
and t.assertJSXEmptyExpression(node, opts)
.
Aliases: JSX
, Expression
jSXExpressionContainer
1t.jSXExpressionContainer(expression)
See also t.isJSXExpressionContainer(node, opts)
and t.assertJSXExpressionContainer(node, opts)
.
Aliases: JSX
, Immutable
expression
:Expression
(required)
jSXIdentifier
1t.jSXIdentifier(name)
See also t.isJSXIdentifier(node, opts)
and t.assertJSXIdentifier(node, opts)
.
Aliases: JSX
, Expression
name
:string
(required)
jSXMemberExpression
1t.jSXMemberExpression(object, property)
See also t.isJSXMemberExpression(node, opts)
and t.assertJSXMemberExpression(node, opts)
.
Aliases: JSX
, Expression
object
:JSXMemberExpression | JSXIdentifier
(required)property
:JSXIdentifier
(required)
jSXNamespacedName
1t.jSXNamespacedName(namespace, name)
See also t.isJSXNamespacedName(node, opts)
and t.assertJSXNamespacedName(node, opts)
.
Aliases: JSX
namespace
:JSXIdentifier
(required)name
:JSXIdentifier
(required)
jSXOpeningElement
1t.jSXOpeningElement(name, attributes, selfClosing)
See also t.isJSXOpeningElement(node, opts)
and t.assertJSXOpeningElement(node, opts)
.
Aliases: JSX
, Immutable
name
:JSXIdentifier | JSXMemberExpression
(required)attributes
:Array<JSXAttribute | JSXSpreadAttribute>
(required)selfClosing
:boolean
(default:false
)
jSXSpreadAttribute
1t.jSXSpreadAttribute(argument)
See also t.isJSXSpreadAttribute(node, opts)
and t.assertJSXSpreadAttribute(node, opts)
.
Aliases: JSX
argument
:Expression
(required)
jSXSpreadChild
1t.jSXSpreadChild(expression)
See also t.isJSXSpreadChild(node, opts)
and t.assertJSXSpreadChild(node, opts)
.
Aliases: JSX
, Immutable
expression
:Expression
(required)
jSXText
1t.jSXText(value)
See also t.isJSXText(node, opts)
and t.assertJSXText(node, opts)
.
Aliases: JSX
, Immutable
value
:string
(required)
labeledStatement
1t.labeledStatement(label, body)
See also t.isLabeledStatement(node, opts)
and t.assertLabeledStatement(node, opts)
.
Aliases: Statement
label
:Identifier
(required)body
:Statement
(required)
logicalExpression
1t.logicalExpression(operator, left, right)
See also t.isLogicalExpression(node, opts)
and t.assertLogicalExpression(node, opts)
.
Aliases: Binary
, Expression
operator
:'||' | '&&'
(required)left
:Expression
(required)right
:Expression
(required)
memberExpression
1t.memberExpression(object, property, computed)
See also t.isMemberExpression(node, opts)
and t.assertMemberExpression(node, opts)
.
Aliases: Expression
, LVal
object
:Expression
(required)property
if computed thenExpression
elseIdentifier
(required)computed
:boolean
(default:false
)
metaProperty
1t.metaProperty(meta, property)
See also t.isMetaProperty(node, opts)
and t.assertMetaProperty(node, opts)
.
Aliases: Expression
meta
:string
(required)property
:string
(required)
mixedTypeAnnotation
1t.mixedTypeAnnotation()
See also t.isMixedTypeAnnotation(node, opts)
and t.assertMixedTypeAnnotation(node, opts)
.
Aliases: Flow
, FlowBaseAnnotation
newExpression
1t.newExpression(callee, arguments)
See also t.isNewExpression(node, opts)
and t.assertNewExpression(node, opts)
.
Aliases: Expression
callee
:Expression
(required)arguments
:Array<Expression | SpreadElement>
(required)
noop
1t.noop()
See also t.isNoop(node, opts)
and t.assertNoop(node, opts)
.
nullLiteral
1t.nullLiteral()
See also t.isNullLiteral(node, opts)
and t.assertNullLiteral(node, opts)
.
Aliases: Expression
, Pureish
, Literal
, Immutable
nullLiteralTypeAnnotation
1t.nullLiteralTypeAnnotation()
See also t.isNullLiteralTypeAnnotation(node, opts)
and t.assertNullLiteralTypeAnnotation(node, opts)
.
Aliases: Flow
, FlowBaseAnnotation
nullableTypeAnnotation
1t.nullableTypeAnnotation(typeAnnotation)
See also t.isNullableTypeAnnotation(node, opts)
and t.assertNullableTypeAnnotation(node, opts)
.
Aliases: Flow
typeAnnotation
(required)
numberTypeAnnotation
1t.numberTypeAnnotation()
See also t.isNumberTypeAnnotation(node, opts)
and t.assertNumberTypeAnnotation(node, opts)
.
Aliases: Flow
, FlowBaseAnnotation
numericLiteral
1t.numericLiteral(value)
See also t.isNumericLiteral(node, opts)
and t.assertNumericLiteral(node, opts)
.
Aliases: Expression
, Pureish
, Literal
, Immutable
value
:number
(required)
numericLiteralTypeAnnotation
1t.numericLiteralTypeAnnotation()
See also t.isNumericLiteralTypeAnnotation(node, opts)
and t.assertNumericLiteralTypeAnnotation(node, opts)
.
Aliases: Flow
objectExpression
1t.objectExpression(properties)
See also t.isObjectExpression(node, opts)
and t.assertObjectExpression(node, opts)
.
Aliases: Expression
properties
:Array<ObjectMethod | ObjectProperty | SpreadProperty>
(required)
objectMethod
1t.objectMethod(kind, key, params, body, computed)
See also t.isObjectMethod(node, opts)
and t.assertObjectMethod(node, opts)
.
Aliases: UserWhitespacable
, Function
, Scopable
, BlockParent
, FunctionParent
, Method
, ObjectMember
kind
:"method" | "get" | "set"
(default:'method'
)key
if computed thenExpression
elseIdentifier | Literal
(required)params
(required)body
:BlockStatement
(required)computed
:boolean
(default:false
)async
:boolean
(default:false
)decorators
:Array<Decorator>
(default:null
)generator
:boolean
(default:false
)returnType
(default:null
)typeParameters
(default:null
)
objectPattern
1t.objectPattern(properties, typeAnnotation)
See also t.isObjectPattern(node, opts)
and t.assertObjectPattern(node, opts)
.
Aliases: Pattern
, LVal
properties
:Array<RestProperty | Property>
(required)typeAnnotation
(required)decorators
:Array<Decorator>
(default:null
)
objectProperty
1t.objectProperty(key, value, computed, shorthand, decorators)
See also t.isObjectProperty(node, opts)
and t.assertObjectProperty(node, opts)
.
Aliases: UserWhitespacable
, Property
, ObjectMember
key
if computed thenExpression
elseIdentifier | Literal
(required)value
:Expression | Pattern | RestElement
(required)computed
:boolean
(default:false
)shorthand
:boolean
(default:false
)decorators
:Array<Decorator>
(default:null
)
objectTypeAnnotation
1t.objectTypeAnnotation(properties, indexers, callProperties)
See also t.isObjectTypeAnnotation(node, opts)
and t.assertObjectTypeAnnotation(node, opts)
.
Aliases: Flow
properties
(required)indexers
(required)callProperties
(required)
objectTypeCallProperty
1t.objectTypeCallProperty(value)
See also t.isObjectTypeCallProperty(node, opts)
and t.assertObjectTypeCallProperty(node, opts)
.
Aliases: Flow
, UserWhitespacable
value
(required)
objectTypeIndexer
1t.objectTypeIndexer(id, key, value)
See also t.isObjectTypeIndexer(node, opts)
and t.assertObjectTypeIndexer(node, opts)
.
Aliases: Flow
, UserWhitespacable
id
(required)key
(required)value
(required)
objectTypeProperty
1t.objectTypeProperty(key, value)
See also t.isObjectTypeProperty(node, opts)
and t.assertObjectTypeProperty(node, opts)
.
Aliases: Flow
, UserWhitespacable
key
(required)value
(required)
objectTypeSpreadProperty
1t.objectTypeSpreadProperty(argument)
See also t.isObjectTypeSpreadProperty(node, opts)
and t.assertObjectTypeSpreadProperty(node, opts)
.
Aliases: Flow
, UserWhitespacable
argument
(required)
opaqueType
1t.opaqueType(id, typeParameters, impltype, supertype)
See also t.isOpaqueType(node, opts)
and t.assertOpaqueType(node, opts)
.
Aliases: Flow
, FlowDeclaration
, Statement
, Declaration
id
(required)typeParameters
(required)impltype
(required)supertype
(required)
parenthesizedExpression
1t.parenthesizedExpression(expression)
See also t.isParenthesizedExpression(node, opts)
and t.assertParenthesizedExpression(node, opts)
.
Aliases: Expression
, ExpressionWrapper
expression
:Expression
(required)
program
1t.program(body, directives)
See also t.isProgram(node, opts)
and t.assertProgram(node, opts)
.
Aliases: Scopable
, BlockParent
, Block
, FunctionParent
body
:Array<Statement>
(required)directives
:Array<Directive>
(default:[]
)
qualifiedTypeIdentifier
1t.qualifiedTypeIdentifier(id, qualification)
See also t.isQualifiedTypeIdentifier(node, opts)
and t.assertQualifiedTypeIdentifier(node, opts)
.
Aliases: Flow
id
(required)qualification
(required)
regExpLiteral
1t.regExpLiteral(pattern, flags)
See also t.isRegExpLiteral(node, opts)
and t.assertRegExpLiteral(node, opts)
.
Aliases: Expression
, Literal
pattern
:string
(required)flags
:string
(default:''
)
restElement
1t.restElement(argument, typeAnnotation)
See also t.isRestElement(node, opts)
and t.assertRestElement(node, opts)
.
Aliases: LVal
argument
:LVal
(required)typeAnnotation
(required)decorators
:Array<Decorator>
(default:null
)
restProperty
1t.restProperty(argument)
See also t.isRestProperty(node, opts)
and t.assertRestProperty(node, opts)
.
Aliases: UnaryLike
argument
:LVal
(required)
returnStatement
1t.returnStatement(argument)
See also t.isReturnStatement(node, opts)
and t.assertReturnStatement(node, opts)
.
Aliases: Statement
, Terminatorless
, CompletionStatement
argument
:Expression
(default:null
)
sequenceExpression
1t.sequenceExpression(expressions)
See also t.isSequenceExpression(node, opts)
and t.assertSequenceExpression(node, opts)
.
Aliases: Expression
expressions
:Array<Expression>
(required)
spreadElement
1t.spreadElement(argument)
See also t.isSpreadElement(node, opts)
and t.assertSpreadElement(node, opts)
.
Aliases: UnaryLike
argument
:Expression
(required)
spreadProperty
1t.spreadProperty(argument)
See also t.isSpreadProperty(node, opts)
and t.assertSpreadProperty(node, opts)
.
Aliases: UnaryLike
argument
:Expression
(required)
stringLiteral
1t.stringLiteral(value)
See also t.isStringLiteral(node, opts)
and t.assertStringLiteral(node, opts)
.
Aliases: Expression
, Pureish
, Literal
, Immutable
value
:string
(required)
stringLiteralTypeAnnotation
1t.stringLiteralTypeAnnotation()
See also t.isStringLiteralTypeAnnotation(node, opts)
and t.assertStringLiteralTypeAnnotation(node, opts)
.
Aliases: Flow
stringTypeAnnotation
1t.stringTypeAnnotation()
See also t.isStringTypeAnnotation(node, opts)
and t.assertStringTypeAnnotation(node, opts)
.
Aliases: Flow
, FlowBaseAnnotation
super
1t.super()
See also t.isSuper(node, opts)
and t.assertSuper(node, opts)
.
Aliases: Expression
switchCase
1t.switchCase(test, consequent)
See also t.isSwitchCase(node, opts)
and t.assertSwitchCase(node, opts)
.
test
:Expression
(default:null
)consequent
:Array<Statement>
(required)
switchStatement
1t.switchStatement(discriminant, cases)
See also t.isSwitchStatement(node, opts)
and t.assertSwitchStatement(node, opts)
.
Aliases: Statement
, BlockParent
, Scopable
discriminant
:Expression
(required)cases
:Array<SwitchCase>
(required)
taggedTemplateExpression
1t.taggedTemplateExpression(tag, quasi)
See also t.isTaggedTemplateExpression(node, opts)
and t.assertTaggedTemplateExpression(node, opts)
.
Aliases: Expression
tag
:Expression
(required)quasi
:TemplateLiteral
(required)
templateElement
1t.templateElement(value, tail)
See also t.isTemplateElement(node, opts)
and t.assertTemplateElement(node, opts)
.
value
(required)tail
:boolean
(default:false
)
templateLiteral
1t.templateLiteral(quasis, expressions)
See also t.isTemplateLiteral(node, opts)
and t.assertTemplateLiteral(node, opts)
.
Aliases: Expression
, Literal
quasis
:Array<TemplateElement>
(required)expressions
:Array<Expression>
(required)
thisExpression
1t.thisExpression()
See also t.isThisExpression(node, opts)
and t.assertThisExpression(node, opts)
.
Aliases: Expression
thisTypeAnnotation
1t.thisTypeAnnotation()
See also t.isThisTypeAnnotation(node, opts)
and t.assertThisTypeAnnotation(node, opts)
.
Aliases: Flow
, FlowBaseAnnotation
throwStatement
1t.throwStatement(argument)
See also t.isThrowStatement(node, opts)
and t.assertThrowStatement(node, opts)
.
Aliases: Statement
, Terminatorless
, CompletionStatement
argument
:Expression
(required)
tryStatement
1t.tryStatement(block, handler, finalizer)
See also t.isTryStatement(node, opts)
and t.assertTryStatement(node, opts)
.
Aliases: Statement
block
(required)handler
(default:null
)finalizer
:BlockStatement
(default:null
)body
:BlockStatement
(default:null
)
tupleTypeAnnotation
1t.tupleTypeAnnotation(types)
See also t.isTupleTypeAnnotation(node, opts)
and t.assertTupleTypeAnnotation(node, opts)
.
Aliases: Flow
types
(required)
typeAlias
1t.typeAlias(id, typeParameters, right)
See also t.isTypeAlias(node, opts)
and t.assertTypeAlias(node, opts)
.
Aliases: Flow
, FlowDeclaration
, Statement
, Declaration
id
(required)typeParameters
(required)right
(required)
typeAnnotation
1t.typeAnnotation(typeAnnotation)
See also t.isTypeAnnotation(node, opts)
and t.assertTypeAnnotation(node, opts)
.
Aliases: Flow
typeAnnotation
(required)
typeCastExpression
1t.typeCastExpression(expression, typeAnnotation)
See also t.isTypeCastExpression(node, opts)
and t.assertTypeCastExpression(node, opts)
.
Aliases: Flow
, ExpressionWrapper
, Expression
expression
(required)typeAnnotation
(required)
typeParameter
1t.typeParameter(bound)
See also t.isTypeParameter(node, opts)
and t.assertTypeParameter(node, opts)
.
Aliases: Flow
bound
(required)
typeParameterDeclaration
1t.typeParameterDeclaration(params)
See also t.isTypeParameterDeclaration(node, opts)
and t.assertTypeParameterDeclaration(node, opts)
.
Aliases: Flow
params
(required)
typeParameterInstantiation
1t.typeParameterInstantiation(params)
See also t.isTypeParameterInstantiation(node, opts)
and t.assertTypeParameterInstantiation(node, opts)
.
Aliases: Flow
params
(required)
typeofTypeAnnotation
1t.typeofTypeAnnotation(argument)
See also t.isTypeofTypeAnnotation(node, opts)
and t.assertTypeofTypeAnnotation(node, opts)
.
Aliases: Flow
argument
(required)
unaryExpression
1t.unaryExpression(operator, argument, prefix)
See also t.isUnaryExpression(node, opts)
and t.assertUnaryExpression(node, opts)
.
Aliases: UnaryLike
, Expression
operator
:'void' | 'delete' | '!' | '+' | '-' | '++' | '--' | '~' | 'typeof'
(required)argument
:Expression
(required)prefix
:boolean
(default:true
)
unionTypeAnnotation
1t.unionTypeAnnotation(types)
See also t.isUnionTypeAnnotation(node, opts)
and t.assertUnionTypeAnnotation(node, opts)
.
Aliases: Flow
types
(required)
updateExpression
1t.updateExpression(operator, argument, prefix)
See also t.isUpdateExpression(node, opts)
and t.assertUpdateExpression(node, opts)
.
Aliases: Expression
operator
:'++' | '--'
(required)argument
:Expression
(required)prefix
:boolean
(default:false
)
variableDeclaration
1t.variableDeclaration(kind, declarations)
See also t.isVariableDeclaration(node, opts)
and t.assertVariableDeclaration(node, opts)
.
Aliases: Statement
, Declaration
kind
:"var" | "let" | "const"
(required)declarations
:Array<VariableDeclarator>
(required)
variableDeclarator
1t.variableDeclarator(id, init)
See also t.isVariableDeclarator(node, opts)
and t.assertVariableDeclarator(node, opts)
.
id
:LVal
(required)init
:Expression
(default:null
)
voidTypeAnnotation
1t.voidTypeAnnotation()
See also t.isVoidTypeAnnotation(node, opts)
and t.assertVoidTypeAnnotation(node, opts)
.
Aliases: Flow
, FlowBaseAnnotation
whileStatement
1t.whileStatement(test, body)
See also t.isWhileStatement(node, opts)
and t.assertWhileStatement(node, opts)
.
Aliases: Statement
, BlockParent
, Loop
, While
, Scopable
test
:Expression
(required)body
:BlockStatement | Statement
(required)
withStatement
1t.withStatement(object, body)
See also t.isWithStatement(node, opts)
and t.assertWithStatement(node, opts)
.
Aliases: Statement
object
(required)body
:BlockStatement | Statement
(required)
yieldExpression
1t.yieldExpression(argument, delegate)
See also t.isYieldExpression(node, opts)
and t.assertYieldExpression(node, opts)
.
Aliases: Expression
, Terminatorless
argument
:Expression
(default:null
)delegate
:boolean
(default:false
)
No vulnerabilities found.
Reason
30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10
Reason
security policy file detected
Details
- Info: security policy file detected: SECURITY.md:1
- Info: Found linked content: SECURITY.md:1
- Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1
- Info: Found text in security policy: SECURITY.md:1
Reason
no dangerous workflow patterns detected
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
no binaries found in the repo
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release.yml:58
- Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release.yml:237
- Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update-compat-data.yml:15
- Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update-parser-tests.yml:17
- Info: jobLevel 'contents' permission set to 'read': .github/workflows/update-windows-fixtures.yml:16
- Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/update-windows-fixtures.yml:17
- Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:6
- Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e-tests-breaking-esm.yml:10
- Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e-tests.yml:10
- Info: topLevel 'contents' permission set to 'read': .github/workflows/issue-triage.yml:8
- Info: found token with 'none' permissions: .github/workflows/lock.yml:1
- Info: topLevel 'contents' permission set to 'read': .github/workflows/release.yml:20
- Info: topLevel 'contents' permission set to 'read': .github/workflows/repl.yml:6
- Warn: no topLevel permission defined: .github/workflows/update-compat-data.yml:1
- Info: topLevel 'contents' permission set to 'read': .github/workflows/update-parser-tests.yml:11
- Info: topLevel 'contents' permission set to 'read': .github/workflows/update-windows-fixtures.yml:11
Reason
Found 23/29 approved changesets -- score normalized to 7
Reason
badge detected: InProgress
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:283: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:285: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:307: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:359: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:361: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:368: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:384: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:386: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:393: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:118: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:120: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:150: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:532: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:534: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:541: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:582: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:584: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:589: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:604: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:619: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:621: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:627: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:633: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:646: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:663: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:189: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:191: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:198: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:219: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:221: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:249: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:255: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:270: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:557: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:559: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:566: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:164: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:166: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:323: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:325: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:331: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:413: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:415: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:442: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:454: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:460: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:466: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:472: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:478: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:484: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:490: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:496: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:502: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:508: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:514: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:520: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:674: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:676: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:678: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:680: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:682: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:684: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:686: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:688: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:696: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:701: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/ci.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests-breaking-esm.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests-breaking-esm.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests-breaking-esm.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests-breaking-esm.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests-breaking-esm.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests-breaking-esm.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests-breaking-esm.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests-breaking-esm.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests-breaking-esm.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests-breaking-esm.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests-breaking-esm.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests-breaking-esm.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests-breaking-esm.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests-breaking-esm.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests-breaking-esm.yml:96: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests-breaking-esm.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests.yml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/e2e-tests.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/e2e-tests.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/issue-triage.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/issue-triage.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/issue-triage.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/issue-triage.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/issue-triage.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/issue-triage.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/issue-triage.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/issue-triage.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/lock.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/lock.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:110: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:155: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:186: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:192: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:202: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:220: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:229: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:252: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:265: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:298: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:304: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:317: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/release.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/reminders.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/reminders.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/repl.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/repl.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/repl.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/repl.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-compat-data.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/update-compat-data.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-compat-data.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/update-compat-data.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-compat-data.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/update-compat-data.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/update-compat-data.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/update-compat-data.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-parser-tests.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/update-parser-tests.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-parser-tests.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/update-parser-tests.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-parser-tests.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/update-parser-tests.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/update-parser-tests.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/update-parser-tests.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-windows-fixtures.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/update-windows-fixtures.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-windows-fixtures.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/update-windows-fixtures.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-windows-fixtures.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/babel/babel/update-windows-fixtures.yml/main?enable=pin
- Warn: npmCommand not pinned by hash: scripts/integration-tests/e2e-create-react-app.sh:22
- Warn: npmCommand not pinned by hash: scripts/integration-tests/e2e-create-react-app.sh:60
- Warn: npmCommand not pinned by hash: scripts/integration-tests/e2e-create-react-app.sh:63
- Warn: npmCommand not pinned by hash: scripts/integration-tests/e2e-nextjs-10.sh:28
- Warn: npmCommand not pinned by hash: scripts/integration-tests/e2e-react-native.sh:47
- Info: 0 out of 109 GitHub-owned GitHubAction dependencies pinned
- Info: 0 out of 15 third-party GitHubAction dependencies pinned
- Info: 3 out of 8 npmCommand dependencies pinned
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 24 are checked with a SAST tool
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
23 existing vulnerabilities detected
Details
- Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92
- Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw
- Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg
- Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275
- Warn: Project is vulnerable to: GHSA-434g-2637-qmqr
- Warn: Project is vulnerable to: GHSA-49q7-c7j4-3p7m
- Warn: Project is vulnerable to: GHSA-977x-g7h5-7qgw
- Warn: Project is vulnerable to: GHSA-f7q4-pwc6-w24p
- Warn: Project is vulnerable to: GHSA-fc9h-whq2-v747
- Warn: Project is vulnerable to: GHSA-4gmj-3p3h-gm8h
- Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj
- Warn: Project is vulnerable to: GHSA-896r-f27r-55mw
- Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h
- Warn: Project is vulnerable to: GHSA-4xcv-9jjx-gfj3
- Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv
- Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6
- Warn: Project is vulnerable to: GHSA-gcx4-mw62-g8wm
- Warn: Project is vulnerable to: GHSA-x6fg-f45m-jf5q
- Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw
- Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36
- Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3
- Warn: Project is vulnerable to: GHSA-4vvj-4cpr-p986
- Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp
Score
6.2
/10
Last Scanned on 2025-01-13
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More