* add types for escape and unescape methods #18813
although the issue is marked working as expected, it is important to mention that most major browsers maintain support for escape and unescape, and some javascript codebases moving to typescript may have escape and unescape in them. They are valid JavaScript, and thus they should be included in the global definition.
* add escape and unescape types to lib in tests
* update tests to turn CI green
* Break out of speculative parsing on bad parameter initializer
* Remove uses of 'finally'
* give up -> stop
* Do without exceptions
* Remove `resetAfterSpeculation`
* Use Fail and FailList objects
* Remove `inSpeculation` parameter to parseDelimitedList
* Don't use `createNodeArray`, it's not always in scope
* Move Fail and FailList inside initializeState
* More code review
* More code review
If there is a test.json in the directory, it expects to find a
submodule in the directory. The submodule should have the same name as
the directory itself. test.json contains a list of global types that
need to be available, or the empty list if none.
* Consider the commonjs module indicator as an indicator that something is effectively an external module
* Only use commonjs module indicator when targeting commonjs
so that error message refers to prop name instead of param name.
Changed getter errors for similar case so they also refer to prop name.
Fixed bug where static getters wouldn't output their specific error.
Fixes#1976
* import fix: suggest import..require where supported if synthetic defaults are unavailable
* Add tests for import..require fix when targeting CommonJS, AMD, and UMD modules
* fix failing tests
* improve import code fixes for UMD modules
- use default import under --allowSyntheticDefaultImports
- import..require support
- make make quick fix info match resulting import
- make diagnostics
* Address PR feedback:
- extract test for synethetic default imports into getAllowSyntheticDefaultImports in core.ts
- use getAllowSyntheticDefaultImports in checker.ts and importFixes.ts
- move compilerOptions to top level destructuring
* add tests
* remove `import =` quick fix and supporting code.
* update feature tests
* remove errant whitespace
* Consistently use "JSX Attribute" completion kind
* Update tests and fix bug
* Fix bug: In a JsxOpeningElement, if at an Identifier we are not at an attribute but at the tag itself.
If at a GreaterThanToken, we are about to fill in an attribute.
* Use documentation comments from inherited properties when @inheritDoc is present
The JSDoc `@ineheritDoc` [tag](http://usejsdoc.org/tags-inheritdoc.html)
"indicates that a symbol should inherit its documentation from its
parent class". In the case of a TypeScript file, this also includes
implemented interfaces and parent interfaces.
With this change, a class method or property (or an interface property)
with the `@inheritDoc` tag in its JSDoc comment will automatically use
the comments from its nearest ancestor that has no `@inheritDoc` tag.
To prevent breaking backwards compatibility,
`Symbol.getDocumentationComment` now accepts an optional `TypeChecker`
instance to support this feature.
fixes#8912
* Use ts.getJSDocTags as per @andy-ms 's recommendation
* Convert @inheritDoc tests to verify.quickInfoAt
* Concatenate inherited and local docs when @inheritDoc is present
* Make typeChecker param explicitly `TypeChecker | undefined`
* Re-accept baseline after switch to explicit `| undefined`
* Update APISample_jsodc.ts to match new getDocumentationComment signature
* Re-accept baselines after rebasing
* Instantiate contextual types while in an inferrential context
* Limit scope of instantiation to only when likely needed
* Still get aparent type
* Expand test
* Fix nit
* Handle JSX and array
* Tests for the JSX and Array cases
* After much deliberation and inspection, much simpler fix
After much deliberation and inspection, much simpler fix
Undo
Redo
* Revised emit for computed property names
* Fix downlevel name generation scopes
* Accept slightly more conservative baseline
* First feedback pass
* Reduce number of nonrequired variable declarations and assignments
* Remove side-effect-free identifier references
* skip partially emitted expressions
* Comments, move starsOnNewLine to emitNode
* Put expressions on newlines when inlined in class expressions for consistency
* Update new ref
* Fix typo in comment
* For getCompletionsAtPosition, require a flag to provide completions with code actions
* Change name
* Increase API version
* Update API baselines
* Add comment
* Update API baseline