diff --git a/package.json b/package.json index 303d758fd..517ff5559 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,6 @@ "license": "MIT", "main": "./index.js", "dependencies": { - "ast-types": "0.9.8", "babel-code-frame": "6.22.0", "babylon": "7.0.0-beta.10", "chalk": "1.1.3", diff --git a/src/ast-types.js b/src/ast-types.js deleted file mode 100644 index e6f8d7dda..000000000 --- a/src/ast-types.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; - -module.exports = require("ast-types/fork")([ - // This core module of AST types captures ES5 as it is parsed today by - // git://github.com/ariya/esprima.git#master. - require("ast-types/def/core"), - - // Feel free to add to or remove from this list of extension modules to - // configure the precise type hierarchy that you need. - require("ast-types/def/es6"), - require("ast-types/def/es7"), - require("ast-types/def/mozilla"), - require("ast-types/def/e4x"), - require("ast-types/def/jsx"), - require("ast-types/def/flow"), - require("ast-types/def/esprima"), - require("ast-types/def/babel"), - require("ast-types/def/babel6"), - require("./typescript-ast-nodes.js") -]); diff --git a/src/typescript-ast-nodes.js b/src/typescript-ast-nodes.js deleted file mode 100644 index cd9fedb15..000000000 --- a/src/typescript-ast-nodes.js +++ /dev/null @@ -1,226 +0,0 @@ -"use strict"; - -module.exports = function(fork) { - fork.use(require("ast-types/def/es7")); - - const types = fork.use(require("ast-types/lib/types")); - const def = types.Type.def; - const or = types.Type.or; - const defaults = fork.use(require("ast-types/lib/shared")).defaults; - - // Putting it here while it's being merged upstream - // https://github.com/benjamn/ast-types/pull/221 - def("ObjectTypeSpreadProperty") - .bases("Node") - .build("argument") - .field("argument", def("Type")); - - // Ambient - def("TSAmbientVariableDefinition").bases("VariableDeclaration"); - - def("TSInterfaceDeclaration") - .bases("Declaration") - .build("name", "typeParameters", "members") - .field("name", def("Identifier")) - .field( - "typeParameters", - or(def("TypeParameterDeclaration"), null), - defaults["null"] - ) - .field("members", [def("TSSignature")]); - - def("TSKeyword").bases("Node"); - - def("TSType").bases("Node"); - - def("TSTupleType") - .build("elementTypes") - .field("elementTypes", [def("TSType")]) - .bases("Node"); - - def("TSArrayType") - .build("elementType") - .field("elementType", def("TSType")) - .bases("Node"); - - def("TSQualifiedName") - .build("left", "right") - .field("left", def("TSType")) - .field("right", def("TSType")) - .bases("Node"); - - def("TypeElement").bases("Node"); - - def("TSSignature") - .bases("TypeElement") - .build("typeParameters", "parameters", "typeAnnotation") - .field( - "typeParameters", - or(def("TypeParameterDeclaration"), null), - defaults["null"] - ) - .field("parameters", [def("Identifier")]) - .field("typeAnnotation", def("TSType")); - - def("TSAnyKeyword").bases("TSKeyword"); - - def("TSBooleanKeyword").bases("TSKeyword"); - - def("TSNeverKeyword").bases("TSKeyword"); - - def("TSNumberKeyword").bases("TSKeyword"); - - def("TSObjectKeyword").bases("TSKeyword"); - - def("TSReadonlyKeyword").bases("TSKeyword"); - - def("TSStringKeyword").bases("TSKeyword"); - - def("TSSymbolKeyword").bases("TSKeyword"); - - def("TSUndefinedKeyword").bases("TSKeyword"); - - def("TSVoidKeyword").bases("TSKeyword"); - - // Types - def("TSConstructorType").bases("TSType"); - - def("TSFunctionType") - .bases("TSSignature") - .build("parameters", "typeAnnotation", "typeParameters"); - - def("TSIntersectionType") - .bases("TSType") - .build("types") - .field("types", [def("TSType")]); - - def("TSParenthesizedType").bases("TSType"); - - def("TSThisType").bases("TSType"); - - def("TSUnionType") - .bases("TSType") - .build("types") - .field("types", [def("TSType")]); - - def("TSTypeLiteral") - .bases("TSType") - .build("members") - .field("members", [def("TSSignature")]); - - def("TSTypeOperator").bases("TSType"); - - def("TSTypeReference") - .bases("TSType") - .build("typeName", "typeParameters") - .field("typeName", def("Identifier")) - .field("typeParameters", def("TSType")); - - def("TSFirstTypeNode") - .bases("Node") - .build("id", "typeAnnotation") - .field("id", def("Identifier")) - .field("typeAnnotation", def("TSType")); - - // Signatures - def("TSCallSignature") - .bases("TSSignature") - .build("typeParameters", "parameters", "typeAnnotation"); - - def("TSConstructSignature") - .bases("TSSignature") - .build("typeParameters", "parameters", "typeAnnotation"); - - def("TSIndexSignature") - .bases("TSSignature") - .build("typeParameters", "parameters", "typeAnnotation"); - - def("TSMethodSignature") - .bases("TSSignature") - .build("name", "typeParameters", "parameters", "typeAnnotation") - .field("name", def("Identifier")); - - def("TSPropertySignature") - .build("modifiers", "name", "questionToken", "typeAnnotation") - .field("name", def("Identifier")) - .field("typeAnnotation", def("TypeAnnotation")) - .bases("TSSignature"); - - def("TSAsExpression") - .build("expression") - .field("expression", def("Node")) - .bases("Expression"); - - def("TSNamespaceExportDeclaration") - .bases("Declaration") - // needs more like `modefiers` and `decorators` - .build("name"); - - def("TSEnumDeclaration") - .bases("Declaration") - .build("name", "members") - .field("name", def("Identifier")); - - def("TSEnumMember").build("name").field("name", def("Identifier")); - - def("TSImportEqualsDeclaration") - .build("name", "moduleReference") - .build("expression") - .field("name", def("Identifier")) - .field("moduleReference", def("TSExternalModuleReference")) - .field("expression", def("Literal")) - .bases("Declaration"); - - def("TSNamespaceFunctionDeclaration") - .build("id", "body") - .field("id", def("Identifier")) - .field("body", def("BlockStatement")) - .bases("Declaration"); - - def("TSInterfaceDeclaration") - .build("body", "heritage", "id") - .field("body", def("TSInterfaceBody")) - .field("heritage", def("TSHeritageClause")) - .field("id", def("Identifier")) - .bases("Node"); - - def("TSInterfaceBody") - .build("body") - .field("body", [def("TSPropertySignature")]) - .bases("Node"); - - def("TSModuleDeclaration") - .build("modifiers", "name", "body") - .bases("Declaration") - .field("name", or(def("Identifier"), def("Literal"))); - - def("TSDeclareKeyword").build(); - - def("TSModuleBlock").build("body").bases("Node"); - - def("TSAbstractMethodDefinition").build().bases("Node"); - - def("TSAbstractClassProperty").build("key", "value").bases("Node"); - - def("TSAbstractClassDeclaration").build().bases("ClassDeclaration"); - - def("TSInterfaceHeritage") - .build("id", "typeParameters") - .field("id", def("Identifier")) - .field("typeParameters", def("TSType")); - - def("TSDecorator") - .build("expression") - .field("expression", def("Identifier")) - .bases("Node"); - - def("TSTypeParameter").build("name").field("name", def("Identifier")); - - def("TSParameterProperty").build("accessibility", "isReadonly", "parameters"); - - def("TSTypeAssertionExpression") - .build("expression", "typeAnnotation") - .field("expression", def("Identifier")) - .field("typeAnnotation", def("TSType")) - .bases("Expression"); -};