do not export types from 3rd party modules as 'type'#83803
Merged
mshustov merged 1 commit intoelastic:masterfrom Nov 20, 2020
Merged
do not export types from 3rd party modules as 'type'#83803mshustov merged 1 commit intoelastic:masterfrom
mshustov merged 1 commit intoelastic:masterfrom
Conversation
Contributor
|
Pinging @elastic/kibana-operations (Team:Operations) |
Contributor
|
Pinging @elastic/kibana-core (Team:Core) |
jbudz
approved these changes
Nov 19, 2020
spalger
approved these changes
Nov 19, 2020
|
|
||
| export type InjectedIntl = _InjectedIntl; | ||
| export type InjectedIntlProps = _InjectedIntlProps; | ||
| export type { InjectedIntl, InjectedIntlProps } from 'react-intl'; |
Contributor
There was a problem hiding this comment.
Wow, I can't rationalize how this is actually different from the previous code... This seems like a bug in TS and I'm glad you hear you plan to report it to the TS team... I'm shocked that you figured this out.
Contributor
💚 Build SucceededMetrics [docs]
To update your PR or re-run it, just comment with: |
2 tasks
Bamieh
approved these changes
Nov 20, 2020
mshustov
added a commit
to mshustov/kibana
that referenced
this pull request
Nov 20, 2020
gmmorris
added a commit
to gmmorris/kibana
that referenced
this pull request
Nov 20, 2020
* master: (38 commits) [ML] Data frame analytics: Adds functionality to map view (elastic#83710) Add usage collection for savedObject tagging (elastic#83160) [SECURITY_SOLUTION] 145: Advanced Policy Tests (elastic#82898) [APM] Service overview transactions table (elastic#83429) [ML] Fix Single Metric Viewer not loading if job is metric with no partition (elastic#83880) do not export types from 3rd party modules as 'type' (elastic#83803) [Fleet] Allow to send SETTINGS action (elastic#83707) Fixes Failing test: Chrome X-Pack UI Functional Tests.x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/details·ts - Actions and Triggers app Alert Details Alert Instances renders the active alert instances (elastic#83478) [Uptime]Reduce chart height on monitor detail page (elastic#83777) [APM] Prefer `APIReturnType` over `PromiseReturnType` (elastic#83843) [Observability] Fix telemetry for Observability Overview (elastic#83847) [Alerting] Adds generic UI for the definition of conditions for Action Groups (elastic#83278) ensure workload agg doesnt run until next interval when it fails (elastic#83632) [ILM] Policy form should not throw away data (elastic#83077) [Monitoring] Stop collecting Kibana Usage in bulkUploader (elastic#83546) [TSVB] fix wrong imports (elastic#83798) [APM] Correlations UI POC (elastic#82256) list all the refs in tsconfig.json (elastic#83678) Bump jest (and related packages) to v26.6.3 (elastic#83724) Functional tests - stabilize reporting tests for cloud execution (elastic#83787) ...
mshustov
added a commit
that referenced
this pull request
Nov 20, 2020
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem is reported in
#82300 (comment)
Output in the current configuration:
packages/kbn-i18n/target/types/react/index.d.ts
packages/kbn-test/target/types/jest/utils/enzyme_helpers.d.ts
Note that
InjectedIntltype is not imported from@kbn/i18n/react, but rather referenced by the value. I saw a similar problem reported in https://www.techatbloomberg.com/blog/10-insights-adopting-typescript-at-scale/It doesn't explain why we don't see any problems on
master, but on #82300 PRReactIntlcannot be inferred. Anyway, the global namespace is not something we want to rely on, so there are 2 options:typetointerfacefor both options the
InjectedIntlimported explicitly in the emittedd.tsfile:packages/kbn-test/target/types/jest/utils/enzyme_helpers.d.ts
As a follow up, I'm going to reproduce the problem on a smaller codebase and reach out the TS team. We might want to adopt Prefer interfaces eslint rule. It seems to be an approach recommended by TS team https://twitter.com/drosenwasser/status/1319205169918144513