retail-ui icon indicating copy to clipboard operation
retail-ui copied to clipboard

[react-ui-validations] Нетипизированный импорт Тултипа IF-635

Open zhzz opened this issue 4 years ago • 0 comments

Импорт Тултипа в валидациях не типизирован и дальше реэкспортируется уже как any.

https://github.com/skbkontur/retail-ui/blob/72e9e50258bf2ea95e2ad83b39d339a76b81af68/packages/react-ui-validations/src/ReactUiDetection.ts#L11-L13

image

Можно попробовать переписать таким образом и заиспользовать алиасы через compilerOptions.paths в tsconfig.

import * as TooltipModule from "REACT_UI_PACKAGE/components/Tooltip";

interface JSModule<M> extends Object {
  __esModule?: boolean;
  default?: M;
}

const defaultOrNamed = <T extends JSModule<T[K]>, K extends keyof T>(
  module: T,
  component: K
): T[K] =>
  module && module.__esModule && module.default
    ? module.default
    : module[component];

export const Tooltip = defaultOrNamed(TooltipModule, "Tooltip");

Originally posted by @zhzz in https://github.com/skbkontur/retail-ui/issues/2151#issuecomment-703380405

zhzz avatar Oct 05 '20 05:10 zhzz