TypeScript/tests/cases/conformance/salsa
Nathan Shively-Sanders e53f19f8f2
Issue "Cannot find name did-you-mean" errors as suggestions in plain JS (#44271)
* Always issue cannot find name did-you-mean error

This PR issues "cannot find ${name}, did you mean ${name}" errors for
identifiers and propery access expressions in JS files *without*
`// @ts-check` and without `// @ts-nocheck`. This brings some benefits of
Typescript's binder to all Javascript users, even those who haven't
opted into Typescript checking.

```js
export var inModule = 1
inmodule.toFixed() // errors on exports

function f() {
    var locals = 2
    locale.toFixed() // errors on locals
}
var object = {
    spaaace: 3
}
object.spaaaace // error on read
object.spaace = 2 // error on write
object.fresh = 12 // OK, no spelling correction to offer
```

To disable the errors, add `// @ts-nocheck` to the file. To get the
normal checkJs experience, add `// @ts-check`.

== Why This Works ==

In a word: precision. This change has low recall — it misses lots
of correct errors that would be nice to show — but it has high
precision: almost all the errors it shows are correct. And they come
with a suggested correction.

Here are the ingredients:

1. For unchecked JS files, the compiler suppresses all errors except
two did-you-mean name resolution errors.
2. Did-you-mean spelling correction is already tuned for high
precision/low recall, and doesn't show many bogus errors even in JS.
3. For identifiers, the error is suppressed for suggestions from global files.
These are often DOM feature detection, for example.
4. For property accesses, the error is suppressed for suggestions from
other files, for the same reason.
5. For property accesses, the error is suppressed for `this` property
accesses because the compiler doesn't understand JS constructor
functions well enough.
In particular, it doesn't understand any inheritance patterns.

== Work Remaining ==

1. Code cleanup.
2. Fix a couple of failures in existing tests.
3. Suppress errors on property access suggestions from large objects.
4. Combine (3) and (4) above to suppress errors on suggestions from other, global files.
5. A little more testing on random files to make sure that precision
is good there too.
6. Have people from the regular Code editor meeting test the code and
suggest ideas.

* all (most?) tests pass

* NOW they all pass

* add tonnes of semi-colons

* restore this.x check+add a test case

* make ts-ignore/no-check codefix work in unchecked js

* Issues errors only in the language service

* add a few more tests

* fix incorrect parentheses

* More cleanup in program.ts

* Improve readability of isExcludedJSError

* make diff in program.ts smaller via closure

* Switch unchecked JS did-you-mean to suggestion

Instead of selectively letting errors through.

* undo more missed changes

* disallow ignoring suggestions

* Issue different messages for plain JS than others

Straw text for the messages, I just changed the modals to avoid name
collisions.
2021-06-15 08:54:08 -07:00
..
annotatedThisPropertyInitializerDoesntNarrow.ts For a this-property assignment with an empty object initializer, use type annotation if present (#26428) 2018-08-15 14:53:30 -07:00
assignmentToVoidZero1.ts In JS, assignment to void 0 isn't a declaration (#39452) 2020-07-06 14:00:12 -07:00
assignmentToVoidZero2.ts In JS, assignment to void 0 isn't a declaration (#39452) 2020-07-06 14:00:12 -07:00
binderUninitializedModuleExportsAssignment.ts Fix infinite loop: module.exports alias detection (#31436) 2019-05-17 12:50:39 -07:00
chainedPrototypeAssignment.ts Cache JS inferred class type symbol (#33010) 2019-08-21 15:36:35 -07:00
checkSpecialPropertyAssignments.ts Fix duplicate errors in js special assignments (#24508) 2018-06-26 12:40:58 -07:00
circularMultipleAssignmentDeclaration.ts Fix stack overflow in circular assignment declaration (#34543) 2019-10-18 09:01:21 -07:00
classCanExtendConstructorFunction.ts Add getEffectiveConstructSignatures (#27561) 2018-10-15 12:47:57 -07:00
commonJSAliasedExport.ts getExternalModuleMember:always resolve alias of moduleSymbol (#43718) 2021-04-30 10:47:45 -07:00
commonJSImportClassTypeReference.ts Alias for module.exports.x = x (#40228) 2020-09-10 11:23:48 -07:00
commonJSImportExportedClassExpression.ts Change baseline name to avoid case-only conflict 2020-09-10 13:17:40 -07:00
commonJSImportNestedClassTypeReference.ts Alias for module.exports.x = x (#40228) 2020-09-10 11:23:48 -07:00
commonJSReexport.ts Add missed resolveSymbol in commonjs import resolution (#41479) 2020-11-10 11:28:49 -08:00
conflictingCommonJSES2015Exports.ts In JS, fix crash with in a file with conflicting ES2015/commonjs exports (#24960) 2018-06-14 11:18:23 -07:00
constructorFunctionMergeWithClass.ts Fix class/constructor-function merge (#27366) 2018-10-08 12:56:19 -07:00
constructorFunctions.ts Add getEffectiveConstructSignatures (#27561) 2018-10-15 12:47:57 -07:00
constructorFunctions2.ts For f.prototype.m = function() { this.x = 0; } make x a member of f, not of the function expression (#22643) 2018-03-16 11:35:51 -07:00
constructorFunctions3.ts Print js-constructor function type names (#23089) 2018-04-04 15:43:41 -07:00
constructorFunctionsStrict.ts Js constructor function fixes (#22721) 2018-03-20 11:24:09 -07:00
contextualTypedSpecialAssignment.ts Check module.exports (#25732) 2018-07-20 10:59:26 -07:00
defaultPropertyAssignedClassWithPrototype.ts Fix default property assigned prototype (#40836) 2020-09-30 08:36:52 -07:00
enumMergeWithExpando.ts Fix JS merge crashes from lovefield (#27989) 2018-10-19 09:23:05 -07:00
expandoOnAlias.ts Don’t create expando declarations on alias symbols (#39558) 2020-07-13 10:05:48 -07:00
exportDefaultInJsFile01.ts
exportDefaultInJsFile02.ts
exportNestedNamespaces.ts Support js nested namespace decls on exports 2018-02-27 10:20:16 -08:00
exportNestedNamespaces2.ts Remove assert for undeclared js-nested-exports 2018-02-27 15:04:10 -08:00
exportPropertyAssignmentNameResolution.ts Fix exported type resolution in commonjs (#24495) 2018-05-30 14:12:38 -07:00
globalMergeWithCommonJSAssignmentDeclaration.ts Fix cross-file merge of assignment decl valueDeclaration (#26918) 2018-09-16 07:46:03 -07:00
importAliasModuleExports.ts Fix crash with Object.defineProperty for imported alias (--allowJs) (#35198) 2019-11-20 10:50:47 -08:00
inferingFromAny.ts Set inference result to any isntead of {} for .js files if generic type parameter inference found no candidates 2017-03-06 13:35:03 -08:00
inferringClassMembersFromAssignments.ts In JS, this assignments in constructors are preferred and nullable initializers become any (#22882) 2018-03-26 13:42:34 -07:00
inferringClassMembersFromAssignments2.ts Checkjs implies allowjs (#40275) 2020-09-01 10:16:08 -07:00
inferringClassMembersFromAssignments3.ts Check base type for special property declarations (#23671) 2018-04-26 08:14:22 -07:00
inferringClassMembersFromAssignments4.ts Check base type for special property declarations (#23671) 2018-04-26 08:14:22 -07:00
inferringClassMembersFromAssignments5.ts Check base type for special property declarations (#23671) 2018-04-26 08:14:22 -07:00
inferringClassMembersFromAssignments6.ts Bind alias ThisProperty assignment declarations (#39908) 2020-08-10 16:45:55 -07:00
inferringClassMembersFromAssignments7.ts Bind alias ThisProperty assignment declarations (#39908) 2020-08-10 16:45:55 -07:00
inferringClassMembersFromAssignments8.ts No this-property assignments in TS (#40009) 2020-08-11 15:46:49 -07:00
inferringClassStaticMembersFromAssignments.ts Better JS container binding (#24367) 2018-05-31 11:41:26 -07:00
jsContainerMergeJsContainer.ts Fix stack overflow in merge symbol (#24134) 2018-05-15 12:49:54 -07:00
jsContainerMergeTsDeclaration.ts Better JS container binding (#24367) 2018-05-31 11:41:26 -07:00
jsContainerMergeTsDeclaration2.ts Better JS container binding (#24367) 2018-05-31 11:41:26 -07:00
jsContainerMergeTsDeclaration3.ts Better JS container binding (#24367) 2018-05-31 11:41:26 -07:00
jsdocConstructorFunctionTypeReference.ts Fix prototype property type lookup (#33034) 2019-08-22 12:51:15 -07:00
jsObjectsMarkedAsOpenEnded.ts Add a string indexer to any for object literals on a .js file 2017-02-21 18:44:57 -08:00
lateBoundAssignmentDeclarationSupport1.ts Support some late-bound special property assignments (#33220) 2019-09-27 13:54:50 -07:00
lateBoundAssignmentDeclarationSupport2.ts Support some late-bound special property assignments (#33220) 2019-09-27 13:54:50 -07:00
lateBoundAssignmentDeclarationSupport3.ts Support some late-bound special property assignments (#33220) 2019-09-27 13:54:50 -07:00
lateBoundAssignmentDeclarationSupport4.ts Support some late-bound special property assignments (#33220) 2019-09-27 13:54:50 -07:00
lateBoundAssignmentDeclarationSupport5.ts Support some late-bound special property assignments (#33220) 2019-09-27 13:54:50 -07:00
lateBoundAssignmentDeclarationSupport6.ts Support some late-bound special property assignments (#33220) 2019-09-27 13:54:50 -07:00
lateBoundAssignmentDeclarationSupport7.ts Support some late-bound special property assignments (#33220) 2019-09-27 13:54:50 -07:00
lateBoundClassMemberAssignmentJS.ts Support some late-bound special property assignments (#33220) 2019-09-27 13:54:50 -07:00
lateBoundClassMemberAssignmentJS2.ts Support some late-bound special property assignments (#33220) 2019-09-27 13:54:50 -07:00
lateBoundClassMemberAssignmentJS3.ts Bind alias ThisProperty assignment declarations (#39908) 2020-08-10 16:45:55 -07:00
malformedTags.ts
methodsReturningThis.ts
mixedPropertyElementAccessAssignmentDeclaration.ts Treat any mix of element/prop access as declaration in JS (#34649) 2019-10-22 11:28:28 -07:00
moduleExportAlias.ts Fix #14171: Recognize property assignements to module.export aliases as exports 2017-02-18 14:17:12 -08:00
moduleExportAlias2.ts Allow exports assignments (#23319) 2018-04-11 06:49:58 -07:00
moduleExportAlias3.ts Fix duplicate identifier error with module.exports (#24466) 2018-05-29 14:29:48 -07:00
moduleExportAlias4.ts Checkjs implies allowjs (#40275) 2020-09-01 10:16:08 -07:00
moduleExportAlias5.ts Add Variable to HasExports (#24871) 2018-06-11 14:45:27 -07:00
moduleExportAliasElementAccessExpression.ts Fix error on duplicate commonjs exports (#40545) 2020-09-14 13:12:51 -07:00
moduleExportAliasExports.ts Fix alias of module.exports->exports->IIFE (#27992) 2018-10-19 13:50:38 -07:00
moduleExportAliasImported.ts Do not merge commonJS exports into an alias (#28133) 2018-10-25 15:08:06 -07:00
moduleExportAliasUnknown.ts Fix commonjs export= merging (#27368) (#27371) 2018-09-26 12:40:30 -07:00
moduleExportAssignment.ts Check module.exports (#25732) 2018-07-20 10:59:26 -07:00
moduleExportAssignment2.ts Check module.exports (#25732) 2018-07-20 10:59:26 -07:00
moduleExportAssignment3.ts Check module.exports (#25732) 2018-07-20 10:59:26 -07:00
moduleExportAssignment4.ts Check module.exports (#25732) 2018-07-20 10:59:26 -07:00
moduleExportAssignment5.ts Check module.exports (#25732) 2018-07-20 10:59:26 -07:00
moduleExportAssignment6.ts Only bind module.exports if no local definition exists (#25869) 2018-07-30 12:27:59 -07:00
moduleExportDuplicateAlias.ts Use control flow to type CommonJS exports (#42751) 2021-04-06 17:07:35 -07:00
moduleExportDuplicateAlias2.ts Use control flow to type CommonJS exports (#42751) 2021-04-06 17:07:35 -07:00
moduleExportDuplicateAlias3.ts Use control flow to type CommonJS exports (#42751) 2021-04-06 17:07:35 -07:00
moduleExportNestedNamespaces.ts Support js nested namespace decls on exports 2018-02-27 10:20:16 -08:00
moduleExportPropertyAssignmentDefault.ts Check module.exports (#25732) 2018-07-20 10:59:26 -07:00
moduleExportsAliasLoop1.ts Avoid getting undefined callSignatures/constructSignatures in getPropertyOfType 2021-02-11 18:56:47 -05:00
moduleExportsAliasLoop2.ts Avoid getting undefined callSignatures/constructSignatures in getPropertyOfType 2021-02-11 18:56:47 -05:00
moduleExportWithExportPropertyAssignment.ts Allow both module.exports= and module.exports property assignments (#23228) 2018-04-06 13:04:39 -07:00
moduleExportWithExportPropertyAssignment2.ts Allow both module.exports= and module.exports property assignments (#23228) 2018-04-06 13:04:39 -07:00
moduleExportWithExportPropertyAssignment3.ts Allow both module.exports= and module.exports property assignments (#23228) 2018-04-06 13:04:39 -07:00
moduleExportWithExportPropertyAssignment4.ts Allow both module.exports= and module.exports property assignments (#23228) 2018-04-06 13:04:39 -07:00
multipleDeclarations.ts
namespaceAssignmentToRequireAlias.ts Nested assignment to a require alias isn't a declaration (#40186) 2020-09-01 08:20:56 -07:00
nestedDestructuringOfRequire.ts Use ad-hoc code for nested destructuring in require (#40188) 2020-09-10 13:07:58 -07:00
nestedPrototypeAssignment.ts Better JS container binding (#24367) 2018-05-31 11:41:26 -07:00
privateConstructorFunction.ts Ignore @private/@protected on constructor functions (#35782) 2019-12-20 08:41:52 -08:00
privateIdentifierExpando.ts Fix crash for private identifier in expando assignments (#37764) 2020-04-03 10:29:22 -07:00
propertiesOfGenericConstructorFunctions.ts Constructor functions as classes (#32944) 2019-08-19 14:12:53 -07:00
propertyAssignmentOnImportedSymbol.ts Fix property assignment on aliases (#24659) 2018-06-04 13:34:23 -07:00
propertyAssignmentOnParenthesizedNumber.ts isDynamicName skips parentheses for element access 2020-06-11 09:08:51 -07:00
propertyAssignmentOnUnresolvedImportedSymbol.ts Fix crash on property assignment of unresolved module (#28606) 2018-11-19 13:29:46 -08:00
propertyAssignmentUseParentType1.ts Property assignment uses parent type annotation (#32553) 2019-07-25 10:23:03 -07:00
propertyAssignmentUseParentType2.ts Property assignment uses parent type annotation (#32553) 2019-07-25 10:23:03 -07:00
propertyAssignmentUseParentType3.ts Fix getEffectiveTypeAnnotationNode 2020-01-03 22:47:17 -05:00
prototypePropertyAssignmentMergeAcrossFiles.ts Constructor functions as classes (#32944) 2019-08-19 14:12:53 -07:00
prototypePropertyAssignmentMergeAcrossFiles2.ts Cache JS inferred class type symbol (#33010) 2019-08-21 15:36:35 -07:00
prototypePropertyAssignmentMergedTypeReference.ts Fix type reference to merged prototype property assignment (#34764) 2019-10-28 10:14:04 -07:00
prototypePropertyAssignmentMergeWithInterfaceMethod.ts Fix JS merge crashes from lovefield (#27989) 2018-10-19 09:23:05 -07:00
requireAssertsFromTypescript.ts Alias for commonjs require in JS (#39770) 2020-08-17 14:00:37 -07:00
requireOfESWithPropertyAccess.ts Fix commonjs require of ES export (#40221) 2020-08-24 12:37:25 -07:00
requireTwoPropertyAccesses.ts Fixes crash on chained property access on require (#40135) 2020-08-19 12:59:22 -07:00
sourceFileMergeWithFunction.ts Fix function merged with export as namespace sourcefile (#40908) 2020-10-02 10:50:12 -07:00
spellingUncheckedJS.ts Issue "Cannot find name did-you-mean" errors as suggestions in plain JS (#44271) 2021-06-15 08:54:08 -07:00
thisPropertyAssignment.ts Allow special element access assignments to create declarations (#33537) 2019-09-30 15:08:44 -05:00
thisPropertyAssignmentCircular.ts Avoid circular reference in this-property assignments (#37827) 2020-04-10 16:41:31 -07:00
thisPropertyAssignmentComputed.ts Fix binding of this-assignments w/computed properties (#35639) 2019-12-11 15:55:08 -08:00
thisTypeOfConstructorFunctions.ts Constructor functions as classes (#32944) 2019-08-19 14:12:53 -07:00
topLevelThisAssignment.ts Add globalThis (#29332) 2019-02-27 14:14:34 -08:00
typeFromContextualThisType.ts In JS, fix contextual type of this assignments (#26743) 2018-08-29 15:06:38 -07:00
typeFromJSConstructor.ts In JS, this assignments in constructors are preferred and nullable initializers become any (#22882) 2018-03-26 13:42:34 -07:00
typeFromJSInitializer.ts fix(43030): fix instantiated null/undefined type from JS initializer (#43933) 2021-05-11 15:57:16 -07:00
typeFromJSInitializer2.ts fix(43030): fix instantiated null/undefined type from JS initializer (#43933) 2021-05-11 15:57:16 -07:00
typeFromJSInitializer3.ts fix(43030): fix instantiated null/undefined type from JS initializer (#43933) 2021-05-11 15:57:16 -07:00
typeFromJSInitializer4.ts fix(43030): fix instantiated null/undefined type from JS initializer (#43933) 2021-05-11 15:57:16 -07:00
typeFromParamTagForFunction.ts Better types from jsdoc param tags 2017-06-06 18:10:00 -07:00
typeFromPropertyAssignment.ts Test:Type references to nested JS classes 2017-11-21 10:23:23 -08:00
typeFromPropertyAssignment2.ts Test:Type references to nested JS classes 2017-11-21 10:23:23 -08:00
typeFromPropertyAssignment3.ts Test:Type references to nested JS classes 2017-11-21 10:23:23 -08:00
typeFromPropertyAssignment4.ts Correctly merge JS decls 2018-02-13 14:17:46 -08:00
typeFromPropertyAssignment5.ts Tests:more JS static property assignments 2017-11-27 15:20:06 -08:00
typeFromPropertyAssignment6.ts JS static properties:fix multi-file references+merging 2017-11-28 13:46:14 -08:00
typeFromPropertyAssignment7.ts Test:js object literal assignment as declaration 2017-11-29 11:37:35 -08:00
typeFromPropertyAssignment8.ts Update tests and baselines 2018-02-09 16:20:44 -08:00
typeFromPropertyAssignment8_1.ts nullish coalescing commit (#32883) 2019-09-30 15:33:50 -07:00
typeFromPropertyAssignment9.ts Clean up js decl code in checker+utilities 2018-02-14 15:48:20 -08:00
typeFromPropertyAssignment9_1.ts nullish coalescing commit (#32883) 2019-09-30 15:33:50 -07:00
typeFromPropertyAssignment10.ts Refactor binder and update baselines. 2018-02-13 15:44:15 -08:00
typeFromPropertyAssignment10_1.ts nullish coalescing commit (#32883) 2019-09-30 15:33:50 -07:00
typeFromPropertyAssignment11.ts Fix js-prototype-assignment on declarations 2018-02-22 12:52:50 -08:00
typeFromPropertyAssignment12.ts First draft of prototype assignment 2018-02-22 09:25:42 -08:00
typeFromPropertyAssignment13.ts Incremental prototype+prototype assignment work 2018-02-22 11:04:29 -08:00
typeFromPropertyAssignment14.ts Fix nested js-containers+proto assignment in types space 2018-02-23 09:16:01 -08:00
typeFromPropertyAssignment15.ts Fix nested js-containers+proto assignment in types space 2018-02-23 09:16:01 -08:00
typeFromPropertyAssignment16.ts Fix nested js-containers+proto assignment in types space 2018-02-23 09:16:01 -08:00
typeFromPropertyAssignment17.ts In source files and blocks, bind function declarations before other statements (#22766) 2018-03-21 14:22:09 -07:00
typeFromPropertyAssignment18.ts Better handling of circular JS containers in getTypeOfVariableOrParameterOrProperty (#24732) 2018-06-12 09:42:26 -07:00
typeFromPropertyAssignment19.ts In source files and blocks, bind function declarations before other statements (#22766) 2018-03-21 14:22:09 -07:00
typeFromPropertyAssignment20.ts Correctly track thisContainer for this-property-assignments in JS nested containers (#22779) 2018-03-22 09:54:43 -07:00
typeFromPropertyAssignment21.ts Correctly track thisContainer for this-property-assignments in JS nested containers (#22779) 2018-03-22 09:54:43 -07:00
typeFromPropertyAssignment22.ts In JS, this assignments in constructors are preferred and nullable initializers become any (#22882) 2018-03-26 13:42:34 -07:00
typeFromPropertyAssignment23.ts Prototype assignments count as method-like (#23137) 2018-04-04 11:03:31 -07:00
typeFromPropertyAssignment24.ts Improve valueDeclaration for js module merges (#24707) 2018-06-06 11:11:15 -07:00
typeFromPropertyAssignment25.ts Fix circularity error when extending class in same JSContainer (#24710) 2018-06-06 09:13:38 -07:00
typeFromPropertyAssignment26.ts Better handling of circular JS containers in getTypeOfVariableOrParameterOrProperty (#24732) 2018-06-12 09:42:26 -07:00
typeFromPropertyAssignment27.ts Support prototype assignment with a function declaration (#25300) 2018-07-05 09:04:28 -07:00
typeFromPropertyAssignment28.ts Support prototype assignment with a function declaration (#25300) 2018-07-05 09:04:28 -07:00
typeFromPropertyAssignment29.ts Declaration emit includes function properties (#26499) 2018-08-27 10:29:53 -07:00
typeFromPropertyAssignment30.ts Don't create expando object literals in TS (#26525) 2018-08-23 08:21:28 -07:00
typeFromPropertyAssignment31.ts Fix namespace expando merge (#26690) 2018-08-30 13:18:50 -07:00
typeFromPropertyAssignment32.ts Fix namespace expando merge (#26690) 2018-08-30 13:18:50 -07:00
typeFromPropertyAssignment33.ts Fix namespace expando merge (#26690) 2018-08-30 13:18:50 -07:00
typeFromPropertyAssignment34.ts Bind non-expando property assignments at top-level (#26908) 2018-09-05 10:53:43 -07:00
typeFromPropertyAssignment35.ts Fix cross-file merge of assignment decl valueDeclaration (#26918) 2018-09-16 07:46:03 -07:00
typeFromPropertyAssignment36.ts Definite assignment checking for expando properties (#27128) 2018-09-17 12:56:39 -07:00
typeFromPropertyAssignment37.ts Only report expando use-before-def for identical control flow containers (#27199) 2018-09-18 15:28:16 -07:00
typeFromPropertyAssignment38.ts Allow special element access assignments to create declarations (#33537) 2019-09-30 15:08:44 -05:00
typeFromPropertyAssignment39.ts Allow special element access assignments to create declarations (#33537) 2019-09-30 15:08:44 -05:00
typeFromPropertyAssignment40.ts Bind alias ThisProperty assignment declarations (#39908) 2020-08-10 16:45:55 -07:00
typeFromPropertyAssignmentOutOfOrder.ts Improve valueDeclaration for js module merges (#24707) 2018-06-06 11:11:15 -07:00
typeFromPropertyAssignmentWithExport.ts Fix emit when binder treats exported const as namespace 2018-02-12 13:02:47 -08:00
typeFromPrototypeAssignment.ts Fix this-type in prototype-assigned object literals (#26925) 2018-09-12 16:21:17 -07:00
typeFromPrototypeAssignment2.ts Fix non-toplevel prototype assignment (#27096) 2018-09-17 13:07:05 -07:00
typeFromPrototypeAssignment3.ts Fix resolution of properties from prototype assignment in JS (#29302) 2019-01-18 16:00:18 -08:00
typeFromPrototypeAssignment4.ts Allow special element access assignments to create declarations (#33537) 2019-09-30 15:08:44 -05:00
typeLookupInIIFE.ts Fix crash in type resolution in JS IIFEs (#23171) 2018-04-05 09:57:35 -07:00
unannotatedParametersAreOptional.ts Don’t give all instantiated signatures in JS strict arity (#39606) 2020-07-14 18:56:50 -07:00
varRequireFromJavascript.ts Import types in JS with var x = require('./mod') (#22161) 2018-03-08 11:11:51 -08:00
varRequireFromTypescript.ts Import types in JS with var x = require('./mod') (#22161) 2018-03-08 11:11:51 -08:00