From ee1427620319e4067eb9f6ebf7e506b6192e1462 Mon Sep 17 00:00:00 2001 From: Alexandre Philibeaux Date: Fri, 18 Nov 2022 10:44:08 +0000 Subject: [PATCH 1/2] feat(eslint): disabled usage of export * --- packages/eslint-config-react/shared.js | 4 ++++ packages/use-i18n/src/index.ts | 4 ++-- packages/use-segment/src/index.ts | 7 ++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/eslint-config-react/shared.js b/packages/eslint-config-react/shared.js index de10083a2..664015c1a 100644 --- a/packages/eslint-config-react/shared.js +++ b/packages/eslint-config-react/shared.js @@ -47,6 +47,10 @@ module.exports = { '`with` is disallowed in strict mode because it makes code impossible to predict and optimize.', selector: 'WithStatement', }, + { + message: '`export *` is forbidden.', + selector: 'ExportAllDeclaration', + }, ], // This is to have a more breathable codebase 'padding-line-between-statements': [ diff --git a/packages/use-i18n/src/index.ts b/packages/use-i18n/src/index.ts index 2e0c103c4..65204412d 100644 --- a/packages/use-i18n/src/index.ts +++ b/packages/use-i18n/src/index.ts @@ -1,6 +1,6 @@ import I18nContextProvider from './usei18n' -export * from './usei18n' -export * from './types' +export { useI18n, useTranslation } from './usei18n' +export { TranslateFn, ScopedTranslateFn, ReactParamsObject } from './types' export default I18nContextProvider diff --git a/packages/use-segment/src/index.ts b/packages/use-segment/src/index.ts index d932e62d2..76e7fa5a4 100644 --- a/packages/use-segment/src/index.ts +++ b/packages/use-segment/src/index.ts @@ -1,5 +1,10 @@ import SegmentProvider from './useSegment' -export * from './useSegment' +export { + Analytics, + OnEventError, + SegmentProviderProps, + useSegment, +} from './useSegment' export default SegmentProvider From 5bfdf0c8048172ce3592e2f271ef2346fe0e3076 Mon Sep 17 00:00:00 2001 From: Alexandre Philibeaux Date: Fri, 18 Nov 2022 13:04:04 +0000 Subject: [PATCH 2/2] fix(export): correct type export --- packages/use-i18n/src/index.ts | 2 +- packages/use-segment/src/index.ts | 4 ++-- packages/use-segment/src/useSegment.tsx | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/use-i18n/src/index.ts b/packages/use-i18n/src/index.ts index 65204412d..2a55bf44f 100644 --- a/packages/use-i18n/src/index.ts +++ b/packages/use-i18n/src/index.ts @@ -1,6 +1,6 @@ import I18nContextProvider from './usei18n' export { useI18n, useTranslation } from './usei18n' -export { TranslateFn, ScopedTranslateFn, ReactParamsObject } from './types' +export type { TranslateFn, ScopedTranslateFn, ReactParamsObject } from './types' export default I18nContextProvider diff --git a/packages/use-segment/src/index.ts b/packages/use-segment/src/index.ts index 76e7fa5a4..85e1f4320 100644 --- a/packages/use-segment/src/index.ts +++ b/packages/use-segment/src/index.ts @@ -1,10 +1,10 @@ import SegmentProvider from './useSegment' -export { +export { useSegment } from './useSegment' +export type { Analytics, OnEventError, SegmentProviderProps, - useSegment, } from './useSegment' export default SegmentProvider diff --git a/packages/use-segment/src/useSegment.tsx b/packages/use-segment/src/useSegment.tsx index 67671eeb6..4ddda26d4 100644 --- a/packages/use-segment/src/useSegment.tsx +++ b/packages/use-segment/src/useSegment.tsx @@ -49,7 +49,7 @@ export type SegmentProviderProps = { children: ReactNode } -export { Analytics } +export type { Analytics } function SegmentProvider({ children,