diff --git a/.travis.yml b/.travis.yml index d9fce0df2bd8..092a03c33665 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,6 +20,7 @@ script: - if [ "$JOB" = "test" ]; then make -j test-ci; fi - if [ "$JOB" = "lint" ]; then make -j code-quality-ci; fi - if [ "$JOB" = "babel-parser-flow-tests" ]; then make -j test-flow-ci; fi + - if [ "$JOB" = "babel-parser-typescript-tests" ]; then make -j test-typescript-ci; fi - if [ "$JOB" = "babel-parser-test262-tests" ]; then make -j test-test262-ci; fi matrix: @@ -42,6 +43,8 @@ matrix: - node_js: "8" - node_js: "node" env: JOB=babel-parser-flow-tests + - node_js: "node" + env: JOB=babel-parser-typescript-tests - node_js: "node" env: JOB=babel-parser-test262-tests diff --git a/Makefile b/Makefile index 896425533d55..e1bc7c939168 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ FLOW_COMMIT = 09669846b7a7ca5a6c23c12d56bb3bebdafd67e9 TEST262_COMMIT = 8688c4ab79059c3097098605e69f1ee5eda6c409 +TYPESCRIPT_COMMIT = 038d95144d8b93c2799d1732181c89c3d84362d5 FORCE_PUBLISH = "@babel/runtime,@babel/runtime-corejs2,@babel/runtime-corejs3,@babel/standalone,@babel/preset-env-standalone" @@ -111,7 +112,7 @@ lint-js: yarn eslint scripts $(SOURCES) '*.js' --format=codeframe lint-ts: - scripts/tests/typescript/lint.sh + scripts/lint-ts-typings.sh fix: fix-json fix-js @@ -159,13 +160,28 @@ bootstrap-flow: cd build/flow && git checkout $(FLOW_COMMIT) test-flow: - node scripts/tests/flow + node scripts/parser-tests/flow test-flow-ci: build-bundle-ci bootstrap-flow $(MAKE) test-flow test-flow-update-whitelist: - node scripts/tests/flow --update-whitelist + node scripts/parser-tests/flow --update-whitelist + +bootstrap-typescript: + rm -rf ./build/typescript + mkdir -p ./build + git clone --branch=master --single-branch --shallow-since=2019-09-01 https://github.com/microsoft/TypeScript.git ./build/typescript + cd build/typescript && git checkout $(TYPESCRIPT_COMMIT) + +test-typescript: + node scripts/parser-tests/typescript + +test-typescript-ci: build-bundle-ci bootstrap-typescript + $(MAKE) test-typescript + +test-typescript-update-whitelist: + node scripts/parser-tests/typescript --update-whitelist bootstrap-test262: rm -rf build/test262 @@ -174,13 +190,13 @@ bootstrap-test262: cd build/test262 && git checkout $(TEST262_COMMIT) test-test262: - node scripts/tests/test262 + node scripts/parser-tests/test262 test-test262-ci: build-bundle-ci bootstrap-test262 $(MAKE) test-test262 test-test262-update-whitelist: - node scripts/tests/test262 --update-whitelist + node scripts/parser-tests/test262 --update-whitelist # Does not work on Windows clone-license: diff --git a/scripts/tests/typescript/lint.sh b/scripts/lint-ts-typings.sh similarity index 100% rename from scripts/tests/typescript/lint.sh rename to scripts/lint-ts-typings.sh diff --git a/scripts/tests/flow/index.js b/scripts/parser-tests/flow/index.js similarity index 100% rename from scripts/tests/flow/index.js rename to scripts/parser-tests/flow/index.js diff --git a/scripts/tests/flow/whitelist.txt b/scripts/parser-tests/flow/whitelist.txt similarity index 100% rename from scripts/tests/flow/whitelist.txt rename to scripts/parser-tests/flow/whitelist.txt diff --git a/scripts/tests/test262/index.js b/scripts/parser-tests/test262/index.js similarity index 100% rename from scripts/tests/test262/index.js rename to scripts/parser-tests/test262/index.js diff --git a/scripts/tests/test262/whitelist.txt b/scripts/parser-tests/test262/whitelist.txt similarity index 100% rename from scripts/tests/test262/whitelist.txt rename to scripts/parser-tests/test262/whitelist.txt diff --git a/scripts/parser-tests/typescript/index.js b/scripts/parser-tests/typescript/index.js new file mode 100644 index 000000000000..0de0384529c7 --- /dev/null +++ b/scripts/parser-tests/typescript/index.js @@ -0,0 +1,58 @@ +const path = require("path"); +const fs = require("fs").promises; +const ts = require("typescript"); +const TestRunner = require("../utils/parser-test-runner"); + +async function* loadTests(dir) { + const names = await fs.readdir(dir); + + for (const name of names) { + const contents = await fs.readFile(path.join(dir, name), "utf8"); + yield { name, contents }; + } +} + +const plugins = [ + "typescript", + "classProperties", + "decorators-legacy", + "bigInt", + "dynamicImport", +]; + +const runner = new TestRunner({ + testDir: path.join( + __dirname, + "../../../build/typescript/tests/cases/compiler" + ), + whitelist: path.join(__dirname, "whitelist.txt"), + logInterval: 50, + shouldUpdate: process.argv.includes("--update-whitelist"), + + async *getTests() { + for await (const test of loadTests(this.testDir)) { + const isTSX = test.name.slice(-4) === ".tsx"; + const ast = ts.createSourceFile( + test.name, + test.contents, + ts.ScriptTarget.Latest, + false, + isTSX ? ts.ScriptKind.TSX : ts.ScriptKind.TS + ); + + yield { + contents: test.contents, + fileName: test.name, + id: test.name, + expectedError: ast.parseDiagnostics.length > 0, + sourceType: "module", + plugins: isTSX ? plugins.concat("jsx") : plugins, + }; + } + }, +}); + +runner.run().catch(err => { + console.error(err); + process.exitCode = 1; +}); diff --git a/scripts/parser-tests/typescript/whitelist.txt b/scripts/parser-tests/typescript/whitelist.txt new file mode 100644 index 000000000000..41a3182becc5 --- /dev/null +++ b/scripts/parser-tests/typescript/whitelist.txt @@ -0,0 +1,501 @@ +ArrowFunctionExpression1.ts +ClassDeclarationWithInvalidConstOnPropertyDeclaration.ts +MemberAccessorDeclaration15.ts +ParameterList13.ts +ParameterList4.ts +ParameterList5.ts +ParameterList6.ts +accessorParameterAccessibilityModifier.ts +accessorWithRestParam.ts +accessorWithoutBody1.ts +accessorWithoutBody2.ts +aliasUsageInAccessorsOfClass.ts +aliasUsageInArray.ts +aliasUsageInFunctionExpression.ts +aliasUsageInGenericFunction.ts +aliasUsageInIndexerOfClass.ts +aliasUsageInObjectLiteral.ts +aliasUsageInOrExpression.ts +aliasUsageInTypeArgumentOfExtendsClause.ts +aliasUsageInVarAssignment.ts +aliasUsedAsNameValue.ts +allowImportClausesToMergeWithTypes.ts +allowJscheckJsTypeParameterNoCrash.ts +alwaysStrict.ts +alwaysStrictES6.ts +alwaysStrictModule.ts +alwaysStrictModule2.ts +alwaysStrictNoImplicitUseStrict.ts +ambientWithStatements.ts +amdDeclarationEmitNoExtraDeclare.ts +amdModuleConstEnumUsage.ts +amdModuleName2.ts +anyDeclare.ts +argumentsBindsToFunctionScopeArgumentList.ts +arrayOfExportedClass.ts +arrowFunctionErrorSpan.ts +asiReturn.ts +assignToInvalidLHS.ts +assignmentToParenthesizedExpression1.ts +asyncFunctionsAcrossFiles.ts +augmentExportEquals1.ts +augmentExportEquals1_1.ts +augmentExportEquals2.ts +augmentExportEquals2_1.ts +augmentExportEquals3.ts +augmentExportEquals3_1.ts +augmentExportEquals4.ts +augmentExportEquals4_1.ts +augmentExportEquals6.ts +augmentExportEquals6_1.ts +augmentExportEquals7.ts +augmentedTypesClass.ts +augmentedTypesClass2.ts +augmentedTypesClass2a.ts +augmentedTypesClass4.ts +augmentedTypesEnum.ts +augmentedTypesEnum2.ts +augmentedTypesFunction.ts +augmentedTypesInterface.ts +augmentedTypesVar.ts +awaitInNonAsyncFunction.ts +awaitLiteralValues.ts +bigIntWithTargetES3.ts +bigintWithLib.ts +breakNotInIterationOrSwitchStatement1.ts +breakNotInIterationOrSwitchStatement2.ts +breakTarget5.ts +breakTarget6.ts +cacheResolutions.ts +cachedModuleResolution1.ts +cachedModuleResolution2.ts +cachedModuleResolution3.ts +cachedModuleResolution4.ts +cachedModuleResolution5.ts +cachedModuleResolution6.ts +cachedModuleResolution7.ts +cachedModuleResolution8.ts +cachedModuleResolution9.ts +callOverloads2.ts +catchClauseWithInitializer1.ts +catchClauseWithTypeAnnotation.ts +checkSuperCallBeforeThisAccessing9.ts +classCannotExtendVar.ts +classExpressionPropertyModifiers.ts +classExpressionWithDecorator1.ts +classExtendsAcrossFiles.ts +classExtendsMultipleBaseClasses.ts +classHeritageWithTrailingSeparator.ts +classOverloadForFunction.ts +collisionArgumentsArrowFunctions.ts +collisionArgumentsClassConstructor.ts +collisionArgumentsClassMethod.ts +collisionArgumentsFunction.ts +collisionArgumentsFunctionExpressions.ts +collisionExportsRequireAndClass.ts +commonSourceDir5.ts +commonSourceDir6.ts +commonjsSafeImport.ts +complicatedPrivacy.ts +conflictingTypeAnnotatedVar.ts +constDeclarationShadowedByVarDeclaration.ts +constDeclarations-invalidContexts.ts +constDeclarations-scopes.ts +constDeclarations-validContexts.ts +constEnumNoPreserveDeclarationReexport.ts +constEnumPreserveEmitReexport.ts +constInClassExpression.ts +constructorArgsErrors1.ts +constructorArgsErrors2.ts +constructorArgsErrors3.ts +constructorArgsErrors4.ts +constructorArgsErrors5.ts +continueNotInIterationStatement1.ts +continueNotInIterationStatement2.ts +continueNotInIterationStatement3.ts +continueNotInIterationStatement4.ts +continueTarget1.ts +continueTarget5.ts +continueTarget6.ts +convertKeywordsYes.ts +declarationEmitAmdModuleNameDirective.ts +declarationEmitComputedNameCausesImportToBePainted.ts +declarationEmitComputedNameConstEnumAlias.ts +declarationEmitCrossFileImportTypeOfAmbientModule.ts +declarationEmitDefaultExportWithStaticAssignment.ts +declarationEmitDestructuring2.ts +declarationEmitDestructuringOptionalBindingParametersInOverloads.ts +declarationEmitDestructuringParameterProperties.ts +declarationEmitDestructuringWithOptionalBindingParameters.ts +declarationEmitExpandoPropertyPrivateName.ts +declarationEmitExportAssignment.ts +declarationEmitExportDeclaration.ts +declarationEmitForTypesWhichNeedImportTypes.ts +declarationEmitInterfaceWithNonEntityNameExpressionHeritage.ts +declarationEmitPrefersPathKindBasedOnBundling.ts +declarationEmitPrefersPathKindBasedOnBundling2.ts +declarationEmitPrivateSymbolCausesVarDeclarationEmit2.ts +declarationMapsMultifile.ts +declarationMapsOutFile.ts +declarationsForInferredTypeFromOtherFile.ts +declareAlreadySeen.ts +declareModifierOnImport1.ts +decoratorMetadataRestParameterWithImportedType.ts +decoratorMetadataWithImportDeclarationNameCollision.ts +decoratorMetadataWithImportDeclarationNameCollision3.ts +decoratorMetadataWithImportDeclarationNameCollision4.ts +decoratorMetadataWithImportDeclarationNameCollision5.ts +decoratorMetadataWithImportDeclarationNameCollision7.ts +decoratorReferenceOnOtherProperty.ts +decoratorsOnComputedProperties.ts +decrementAndIncrementOperators.ts +defaultArgsInOverloads.ts +defaultDeclarationEmitDefaultImport.ts +defaultIsNotVisibleInLocalScope.ts +defaultPropsEmptyCurlyBecomesAnyForJs.ts +defaultValueInFunctionTypes.ts +deleteOperator1.ts +deleteOperatorInStrictMode.ts +dependencyViaImportAlias.ts +destructureOptionalParameter.ts +destructuredDeclarationEmit.ts +doubleUnderscoreExportStarConflict.ts +downlevelLetConst1.ts +duplicateIdentifierBindingElementInParameterDeclaration1.ts +duplicateIdentifierBindingElementInParameterDeclaration2.ts +duplicateIdentifierEnum.ts +duplicateIdentifierInCatchBlock.ts +duplicateIdentifierRelatedSpans1.ts +duplicateIdentifierRelatedSpans2.ts +duplicateIdentifiersAcrossFileBoundaries.ts +duplicateLabel1.ts +duplicateLabel2.ts +duplicateVarAndImport.ts +duplicateVarAndImport2.ts +duplicateVarsAcrossFileBoundaries.ts +dynamicImportTrailingComma.ts +dynamicNames.ts +elidedEmbeddedStatementsReplacedWithSemicolon.ts +emitClassMergedWithConstNamespaceNotElided.ts +emitSuperCallBeforeEmitParameterPropertyDeclaration1.ts +emitSuperCallBeforeEmitParameterPropertyDeclaration1ES6.ts +emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1.ts +emitSuperCallBeforeEmitPropertyDeclarationAndParameterPropertyDeclaration1ES6.ts +emitThisInSuperMethodCall.ts +enumGenericTypeClash.ts +enumIdentifierLiterals.ts +errorOnInitializerInInterfaceProperty.ts +errorOnInitializerInObjectTypeLiteralProperty.ts +es3-oldStyleOctalLiteralInEnums.ts +es3-oldStyleOctalLiteralTypes.ts +es3defaultAliasIsQuoted.ts +es5-asyncFunctionWithStatements.ts +es5-importHelpersAsyncFunctions.ts +es5-oldStyleOctalLiteralInEnums.ts +es5ModuleInternalNamedImports.ts +es6ExportAssignment2.ts +es6ExportAssignment3.ts +es6ImportDefaultBindingFollowedWithNamedImport.ts +es6ImportDefaultBindingFollowedWithNamedImport1.ts +es6ImportDefaultBindingFollowedWithNamedImport1InEs5.ts +es6ImportDefaultBindingFollowedWithNamedImport1WithExport.ts +es6ImportDefaultBindingFollowedWithNamedImportDts.ts +es6ImportDefaultBindingFollowedWithNamedImportDts1.ts +es6ImportDefaultBindingFollowedWithNamedImportInEs5.ts +es6ImportDefaultBindingFollowedWithNamedImportWithExport.ts +es6ImportDefaultBindingFollowedWithNamespaceBinding1WithExport.ts +es6ImportDefaultBindingFollowedWithNamespaceBindingWithExport.ts +es6ImportDefaultBindingMergeErrors.ts +es6ImportDefaultBindingWithExport.ts +es6ImportEqualsDeclaration.ts +es6ImportEqualsExportModuleCommonJsError.ts +es6ImportEqualsExportModuleEs2015Error.ts +es6ImportNameSpaceImportMergeErrors.ts +es6ImportNameSpaceImportWithExport.ts +es6ImportNamedImport.ts +es6ImportNamedImportAmd.ts +es6ImportNamedImportDts.ts +es6ImportNamedImportInEs5.ts +es6ImportNamedImportInExportAssignment.ts +es6ImportNamedImportMergeErrors.ts +es6ImportNamedImportNoExportMember.ts +es6ImportNamedImportNoNamedExports.ts +es6ImportNamedImportWithExport.ts +es6ImportNamedImportWithTypesAndValues.ts +es6ImportWithoutFromClauseWithExport.ts +es6ModuleInternalNamedImports.ts +es6ModuleInternalNamedImports2.ts +es6UseOfTopLevelRequire.ts +esModuleInterop.ts +esModuleInteropImportTSLibHasImport.ts +esModuleInteropNamedDefaultImports.ts +esModuleInteropTslibHelpers.ts +exportAlreadySeen.ts +exportAssignClassAndModule.ts +exportAssignmentImportMergeNoCrash.ts +exportAssignmentMembersVisibleInAugmentation.ts +exportAssignmentWithDeclareAndExportModifiers.ts +exportAssignmentWithDeclareModifier.ts +exportAssignmentWithExportModifier.ts +exportAssignmentWithoutAllowSyntheticDefaultImportsError.ts +exportClassExtendingIntersection.ts +exportClassWithoutName.ts +exportDeclarationInInternalModule.ts +exportDeclarationsInAmbientNamespaces.ts +exportDefaultAbstractClass.ts +exportDefaultAsyncFunction2.ts +exportDefaultMarksIdentifierAsUsed.ts +exportDefaultStripsFreshness.ts +exportEqualsOfModule.ts +exportImport.ts +exportImportNonInstantiatedModule2.ts +exportSameNameFuncVar.ts +exportSpecifierAndExportedMemberDeclaration.ts +exportSpecifierAndLocalMemberDeclaration.ts +exportStarFromEmptyModule.ts +expressionsForbiddenInParameterInitializers.ts +extendingClassFromAliasAndUsageInIndexer.ts +extendsClauseAlreadySeen.ts +extendsClauseAlreadySeen2.ts +externalModuleAssignToVar.ts +fatarrowfunctionsOptionalArgsErrors1.ts +fileWithNextLine2.ts +fileWithNextLine3.ts +funClodule.ts +functionAndImportNameConflict.ts +functionCall15.ts +functionDeclarationWithResolutionOfTypeNamedArguments01.ts +functionExpressionInWithBlock.ts +functionExpressionWithResolutionOfTypeNamedArguments01.ts +functionsWithModifiersInBlocks1.ts +gettersAndSettersErrors.ts +giant.ts +illegalModifiersOnClassElements.ts +illegalSuperCallsInConstructor.ts +implementClausePrecedingExtends.ts +implementsClauseAlreadySeen.ts +importAndVariableDeclarationConflict1.ts +importAndVariableDeclarationConflict3.ts +importAndVariableDeclarationConflict4.ts +importAsBaseClass.ts +importDecl.ts +importDeclWithClassModifiers.ts +importDeclWithDeclareModifier.ts +importDeclWithDeclareModifierInAmbientContext.ts +importHelpers.ts +importHelpersAmd.ts +importHelpersInAmbientContext.ts +importHelpersInIsolatedModules.ts +importHelpersInTsx.tsx +importHelpersNoHelpers.ts +importHelpersNoModule.ts +importHelpersOutFile.ts +importHelpersSystem.ts +importWithTrailingSlash.ts +importedModuleClassNameClash.ts +indexSignatureTypeCheck.ts +indexSignatureTypeCheck2.ts +indexSignatureWithAccessibilityModifier.ts +indexSignatureWithInitializer1.ts +indexTypeCheck.ts +indexWithoutParamType.ts +indexerAsOptional.ts +indexerSignatureWithRestParam.ts +initializedParameterBeforeNonoptionalNotOptional.ts +interfaceMayNotBeExtendedWitACall.ts +interfaceWithImplements1.ts +invalidContinueInDownlevelAsync.ts +invalidReferenceSyntax1.ts +isLiteral1.ts +isLiteral2.ts +isolatedModulesReExportType.ts +jsEnumTagOnObjectFrozen.ts +jsFileCompilationBindDuplicateIdentifier.ts +jsFileCompilationBindErrors.ts +jsFileCompilationDuplicateFunctionImplementation.ts +jsFileCompilationDuplicateFunctionImplementationFileOrderReversed.ts +jsFileCompilationExternalPackageError.ts +jsNoImplicitAnyNoCascadingReferenceErrors.ts +jsdocAccessEnumType.ts +jsxAttributeWithoutExpressionReact.tsx +letAndVarRedeclaration.ts +letAsIdentifier.ts +letAsIdentifierInStrictMode.ts +letDeclarations-invalidContexts.ts +letDeclarations-scopes-duplicates.ts +letDeclarations-scopes-duplicates2.ts +letDeclarations-scopes-duplicates3.ts +letDeclarations-scopes-duplicates4.ts +letDeclarations-scopes-duplicates5.ts +letDeclarations-scopes-duplicates6.ts +letDeclarations-scopes-duplicates7.ts +letDeclarations-scopes.ts +letDeclarations-validContexts.ts +literalsInComputedProperties1.ts +mergeWithImportedType.ts +mergedDeclarations6.ts +metadataOfClassFromAlias.ts +metadataOfClassFromAlias2.ts +metadataReferencedWithinFilteredUnion.ts +mismatchedClassConstructorVariable.ts +missingSemicolonInModuleSpecifier.ts +misspelledNewMetaProperty.ts +modifierOnParameter1.ts +modifiersInObjectLiterals.ts +modifiersOnInterfaceIndexSignature1.ts +moduleAugmentationCollidingNamesInAugmentation1.ts +moduleAugmentationDeclarationEmit1.ts +moduleAugmentationDeclarationEmit2.ts +moduleAugmentationDisallowedExtensions.ts +moduleAugmentationDuringSyntheticDefaultCheck.ts +moduleAugmentationExtendAmbientModule1.ts +moduleAugmentationExtendAmbientModule2.ts +moduleAugmentationExtendFileModule1.ts +moduleAugmentationExtendFileModule2.ts +moduleAugmentationGlobal1.ts +moduleAugmentationGlobal2.ts +moduleAugmentationGlobal3.ts +moduleAugmentationImportsAndExports1.ts +moduleAugmentationImportsAndExports2.ts +moduleAugmentationImportsAndExports3.ts +moduleAugmentationImportsAndExports4.ts +moduleAugmentationImportsAndExports5.ts +moduleAugmentationImportsAndExports6.ts +moduleAugmentationNoNewNames.ts +moduleAugmentationsBundledOutput1.ts +moduleAugmentationsImports1.ts +moduleAugmentationsImports2.ts +moduleAugmentationsImports3.ts +moduleAugmentationsImports4.ts +moduleDuplicateIdentifiers.ts +moduleElementsInWrongContext.ts +moduleElementsInWrongContext2.ts +moduleElementsInWrongContext3.ts +moduleResolutionNoTs.ts +moduleResolutionWithSymlinks.ts +moduleResolutionWithSymlinks_withOutDir.ts +moduleResolution_automaticTypeDirectiveNames.ts +moduleSharesNameWithImportDeclarationInsideIt3.ts +moduleSharesNameWithImportDeclarationInsideIt5.ts +module_augmentUninstantiatedModule2.ts +multiImportExport.ts +multiLinePropertyAccessAndArrowFunctionIndent1.ts +multipleClassPropertyModifiers.ts +multipleClassPropertyModifiersErrors.ts +multipleInheritance.ts +nameCollisions.ts +narrowedImports.ts +newNamesInGlobalAugmentations1.ts +noBundledEmitFromNodeModules.ts +noCrashOnImportShadowing.ts +noImplicitAnyDestructuringVarDeclaration.ts +noSymbolForMergeCrash.ts +nodeResolution4.ts +nodeResolution6.ts +nodeResolution8.ts +nonMergedOverloads.ts +numberVsBigIntOperations.ts +objectBindingPattern_restElementWithPropertyName.ts +objectLiteralMemberWithModifiers1.ts +objectLiteralMemberWithModifiers2.ts +objectLiteralMemberWithQuestionMark1.ts +objectLiteralMemberWithoutBlock1.ts +objectTypeWithOptionalProperty1.ts +outModuleConcatAmd.ts +outModuleConcatCommonjs.ts +outModuleConcatCommonjsDeclarationOnly.ts +outModuleConcatES6.ts +outModuleConcatSystem.ts +outModuleConcatUmd.ts +outModuleTripleSlashRefs.ts +parameterInitializerBeforeDestructuringEmit.ts +parameterPropertyOutsideConstructor.ts +parseGenericArrowRatherThanLeftShift.ts +pathMappingBasedModuleResolution3_classic.ts +pathMappingBasedModuleResolution3_node.ts +privacyCheckExternalModuleExportAssignmentOfGenericClass.ts +privacyImportParseErrors.ts +privacyTopLevelAmbientExternalModuleImportWithExport.ts +privacyTopLevelAmbientExternalModuleImportWithoutExport.ts +reExportGlobalDeclaration1.ts +reExportUndefined1.ts +reExportUndefined2.ts +readonlyInNonPropertyParameters.ts +recursiveExportAssignmentAndFindAliasedType1.ts +recursiveExportAssignmentAndFindAliasedType2.ts +recursiveExportAssignmentAndFindAliasedType3.ts +recursiveExportAssignmentAndFindAliasedType4.ts +recursiveExportAssignmentAndFindAliasedType5.ts +recursiveExportAssignmentAndFindAliasedType6.ts +recursiveExportAssignmentAndFindAliasedType7.ts +redeclareParameterInCatchBlock.ts +reexportedMissingAlias.ts +relativeNamesInClassicResolution.ts +requireAsFunctionInExternalModule.ts +restParamAsOptional.ts +restParamModifier2.ts +restParameterNotLast.ts +restParameterWithBindingPattern3.ts +shadowedReservedCompilerDeclarationsWithNoEmit.ts +shadowingViaLocalValue.ts +shadowingViaLocalValueOrBindingElement.ts +shorthandPropertyAssignmentInES6Module.ts +shorthandPropertyAssignmentsInDestructuring.ts +shorthandPropertyAssignmentsInDestructuring_ES6.ts +sourceMap-LineBreaks.ts +sourceMapValidationDecorators.ts +sourceMapValidationStatements.ts +spaceBeforeQuestionMarkInPropertyAssignment.ts +standaloneBreak.ts +staticIndexer.ts +staticModifierAlreadySeen.ts +staticMustPrecedePublic.ts +staticPrototypeProperty.ts +strictModeReservedWord.ts +strictModeReservedWordInClassDeclaration.ts +superCallFromClassThatHasNoBaseType1.ts +superCallFromFunction1.ts +superCallOutsideConstructor.ts +superCallsInConstructor.ts +superInObjectLiterals_ES5.ts +superInObjectLiterals_ES6.ts +super_inside-object-literal-getters-and-setters.ts +switchStatementsWithMultipleDefaults1.ts +symbolLinkDeclarationEmitModuleNames.ts +symbolMergeValueAndImportedType.ts +systemExportAssignment.ts +systemExportAssignment2.ts +systemModule11.ts +systemModule15.ts +systemModule17.ts +systemModuleWithSuperClass.ts +systemObjectShorthandRename.ts +targetEs6DecoratorMetadataImportNotElided.ts +targetTypeCastTest.ts +throwWithoutNewLine2.ts +tsxDeepAttributeAssignabilityError.tsx +typeReferenceDirectives10.ts +typeReferenceDirectives11.ts +typeReferenceDirectives12.ts +typeReferenceDirectives13.ts +typeReferenceDirectives5.ts +typeReferenceDirectives7.ts +typeReferenceDirectives8.ts +typeReferenceDirectives9.ts +unaryOperatorsInStrictMode.ts +unusedImports1.ts +unusedImports11.ts +unusedImports12.ts +unusedImports2.ts +unusedImports3.ts +unusedImports4.ts +unusedImports5.ts +unusedInvalidTypeArguments.ts +varAndFunctionShareName.ts +varArgConstructorMemberParameter.ts +variableDeclarationInStrictMode1.ts +withStatement.ts +withStatementErrors.ts +withStatementInternalComments.ts +withStatementNestedScope.ts +yieldStringLiteral.ts diff --git a/scripts/tests/utils/parser-test-runner.js b/scripts/parser-tests/utils/parser-test-runner.js similarity index 100% rename from scripts/tests/utils/parser-test-runner.js rename to scripts/parser-tests/utils/parser-test-runner.js