* add tests but not baselines or fixes
* Update original change
Still probably wrong; probably doesn't even compile beacuse I'm just
typing on my laptop.
* fix error code ok
* notes to self
* Error: property is specified more than once via spread
* make jsx tests stricter
* update semicolon error message
* use ?. because it is great
* use maybeTypeOfKind in new code
* restore jsx error
* add tests
* Obey the excludeArgument parameter when checking JSX signature validity
* Fix conditional type extending any contextual types and accept baselines
* use flag check to also drop unknown from comparison for the same reason
* Slight refinement - make an intersection to ensure parameter constraints flow through contextual types when instantiated
* Format ternary more nicely
* Unify JSX Call Checking Codepaths
* Add tests for fixed issues
* Fix lint, move all error checking into the only-run-once resolveSignature call
* Remove unused (unreachable?) code path
* Consolidate a little more duplicated logic into signature checking
* Fix#19775 a bit more
* Cosmetic changes from CR
* Skip IntrinsicAttributes elaboration in JSX errors
Do not issue an error message for a source type that comes from JSX
attributes and a target type that is an intersection containing
IntrinsicAttributes or IntrinsicClassAttributes. This will make error
messages simpler and less confusing.
Note:
1. There will always be elaboration under the skipped message, so this
won't elide errors completely.
2. Rarely (once in the tests) the intersection type will have more that
one non-Intrinsic* member. However, these additional members don't
provide useful information either, so it's fine to skip them.
* Add test of IntrinsicAttributes error
* Fix indentation in test
* Add support for per-file jsx pragmas
* Add error for using jsx factory pragma with fragments
* More tests, use different regex class for pragma capture
* Unify all pragma parsing machinery
* Fix JSX contextual types to not eagerly become apparent
* Apply changes from code review, unify common code
* Fix jsx children contextual typing
* Light code review feedback
* Use fillMissingTypeArguments
* Accept nonliteral jsx child type
* Add test for the fillMissingTypeArguments case
Previously, the code didn't account for the fact that spreading a union
creates a union. In fact, before Decemeber, spreading a union in JSX
didn't create a union.
Now the check for properties of the spread type uses
`getPropertiesOfType`, which works with unions, instead of accessing the
`properties` property directly.
* Bring jsx type resolution inline with normal objects, move jsx attribute property ignorign into relationship check
* Improved errors and reordered members
* Always use inferrential mode for jsx pass
* Add some missing skipLibChecks
* New check mode instead of odd type mapper
* Do not enable object literal freshness checks on jsx spreads
* Fix minor style nits
* Update order of type for test
* Accept corrected baseline
* Add skip lib check to many tests, do not include unit test duration in profiler duration
* Add a few more skipLibCheck flags
* A few more
* Add more skip lib check flags