* Improve checking of `in` operator
* Accept new baselines
* Add tests
* Delete old and accept new baselines
* Disallow right operand of type '{}'
* Accept new baselines
* Support number and symbol literals
* Add tests
* Disallow {} typed right operand only in strictNullChecks mode
* Accept new baselines
* Detect {} resulting from intersections
* Accept new baselines
* Don't attempt to reduce intersections with Record<K, unknown>
* Accept new baselines
* Return undefined instead of unknownSymbol from getGlobalRecordSymbol()
* don't elide imports in JS files
* WIP: get rid of caching of resolved symbol, add transform tests
* get rid of caching only for resolver functions
* use getReferencedSymbol instead of getReferencedValueSymbol in module transform
* WIP: add reportErrors flag to resolveName
* Import transformations now work correctly
* don't emit diagnostics when looking up referenced symbol
* small fixes and get rid of unnecessary comments
* update tests
* clean up
* CR: use nameNotFoundMessage to decide whether to report errors in resolveName
* WIP
* implement typequery contains reference check + tests
* add unit test
* fix unit test
* use symbols in scope to check type query type parameter references
* remove comment on unit test
* remove comment
* use isNodeDescendantOf implementation to check scoping
* CR: small fixes
* treat the different kinds of type parameter declarations
* undo test change
* added object name to TS2571, 2531, 2532 and 2533
* updated localized diagnostic messages
* updated baseline to fit diagnostic message change
* Revert "updated localized diagnostic messages"
This reverts commit 738cf094bdb4a1f07d74f90747afe00366549300.
* specialized the error to EntityNameExpression
* updated baseline to fit new changes
* added multiline undefined access test
* added TS18049 - value cannot be used here
* adjusted baseline
* corrected a small linting issue
* Update error numbers after merge from main
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* Add test for node16 resolution with package json lookup making casing incorrect
* Handle more places where package direcroy is converted to canonical file path
* Remove unnecessary parameter
* Dont store name unnecessarily in the watchers
* Polled watches and not files
* Use fs events as default watching
* Some refactoring
* Make single per directory native watchers now that we are using it as default
* Rename
* Comment
* Defer distributing index over generic object types
* Only check if the index type should be deferred for intersection types
* Add an additional test case
* Add test to show how scope messes with casing
* Do not canonicalize the file names when getting absolute paths
Fixes#50544
* Unnecessary exports
* Add test for self referencing package
* Fix self reference package with casing
* Retain name and propertyName in declaration emit copies of binding patterns if property name is a keyword
* Accept baselines
* Remove out of date file
* Optimize substitution type infrastructure
* Accept new baselines
* Preserve instantiated substitution types for type variables
* Restrictive type parameters should have no constraint
* Fix issues from top100 test run
* Accept new baselines
* feat(7481): add explicit type compatibility check with 'satisfies' expression
* Add failing test for lack of intersectioned contextual type
* Implement the behavior
* Add test corresponding to the 'if'
* Add test based on defined scenarios
* remove isExpression in favor of using type casting
* move tests from compiler to conformance folder
* update baseline
* add missing contextFlags argument
* use asserted type
* accept baseline
Co-authored-by: Ryan Cavanaugh <ryanca@microsoft.com>
* jsdocPropertyDescription
* jsdocPropertyDescription
* jsdocPropertyDescription
* Fixes#47933
* added additional test
* added additional example
* fixed bug
* changed function to only grab the literal type
* added additional condition for literals and symbols
* added additional test cases
* Update src/services/symbolDisplay.ts
Co-authored-by: Andrew Branch <andrewbranch@users.noreply.github.com>
* addressed PR review
* addressed new PR review
Co-authored-by: Danay Fernandez Alfonso <t-danayf@microsoft.com>
Co-authored-by: Andrew Branch <andrewbranch@users.noreply.github.com>
* fix(50375): preserve enum-named properties
* add AllowComputedPropertyEnums option
* use bit shifting
* rename AllowComputedPropertyEnum -> WriteComputedProps
* mark WriteComputedProps as internal
* mark symbolToNode as internal
* Swap `forEachChild` to use an array of functions instead of a `switch` statement.
* Let's see if 'new' changes anything.
* Co-locate each assignment into `forEachChildTable`.
* Try `push`ing undefined to create a packed Array.
* Try using an unconditional no-op function.
* `forEach` -> `forEachChildIn`
* Remove the optional chain if we are pre-filling with no-ops.
* Grab function directly to avoid possible `.call` overhead from downlevel emit.
* Swap to object literal.
* Lints and formatting.
* Change type of deprecated 'decorators' property
* fix 'Invalid Arguments' error for create/update constructor in factory
* Update deprecation comments
* Make 'decorators' optional and 'undefined'
* Rename '_decorators' to 'illegalDecorators'
* Update baselines