mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
fix(hooks): correct named exports and add TypeScript configuration
- Fixed index.ts to use named exports instead of default imports (all hooks use named exports) - Added tsconfig.json for proper TypeScript configuration - Renamed INTEGRATION_EXAMPLES.ts to .tsx (JSX file) - Configured tsconfig to only type-check core production hooks The 104 production-ready hooks now export correctly as named exports from @metabuilder/hooks. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,7 +12,7 @@ export { useStorageSettingsHandlers } from './useStorageSettingsHandlers'
|
|||||||
export { useStorageSwitchHandlers } from './useStorageSwitchHandlers'
|
export { useStorageSwitchHandlers } from './useStorageSwitchHandlers'
|
||||||
export { useFaviconDesigner } from './useFaviconDesigner'
|
export { useFaviconDesigner } from './useFaviconDesigner'
|
||||||
export { useDragResize } from './useDragResize'
|
export { useDragResize } from './useDragResize'
|
||||||
export { default as useGithubBuildStatus } from './use-github-build-status'
|
export { useGithubBuildStatus } from './use-github-build-status'
|
||||||
|
|
||||||
// Data structure hooks (5 new)
|
// Data structure hooks (5 new)
|
||||||
export { useSet } from './useSet'
|
export { useSet } from './useSet'
|
||||||
@@ -35,60 +35,60 @@ export { useCheckbox } from './useCheckbox'
|
|||||||
export { useSelect } from './useSelect'
|
export { useSelect } from './useSelect'
|
||||||
export { useFieldArray } from './useFieldArray'
|
export { useFieldArray } from './useFieldArray'
|
||||||
|
|
||||||
// DOM & event hooks (4 new)
|
// DOM & event hooks (7 new)
|
||||||
export { useWindowSize } from './useWindowSize'
|
export { useWindowSize } from './useWindowSize'
|
||||||
export { useLocalStorage } from './useLocalStorage'
|
export { useLocalStorage } from './useLocalStorage'
|
||||||
export { useMediaQuery } from './useMediaQuery'
|
export { useMediaQuery } from './useMediaQuery'
|
||||||
export { default as useKeyboardShortcuts } from './useKeyboardShortcuts'
|
export { useKeyboardShortcuts } from './useKeyboardShortcuts'
|
||||||
export { default as useClickOutside } from './useClickOutside'
|
export { useClickOutside } from './useClickOutside'
|
||||||
export { default as useHotkeys } from './useHotkeys'
|
export { useHotkeys } from './useHotkeys'
|
||||||
export { default as useEventListener } from './useEventListener'
|
export { useEventListener } from './useEventListener'
|
||||||
|
|
||||||
// Pagination & data hooks (4 new)
|
// Pagination & data hooks (5 new)
|
||||||
export { default as usePagination } from './usePagination'
|
export { usePagination } from './usePagination'
|
||||||
export { default as useSortable } from './useSortable'
|
export { useSortable } from './useSortable'
|
||||||
export { default as useFilter } from './useFilter'
|
export { useFilter } from './useFilter'
|
||||||
export { default as useSearch } from './useSearch'
|
export { useSearch } from './useSearch'
|
||||||
export { default as useSort } from './useSort'
|
export { useSort } from './useSort'
|
||||||
|
|
||||||
// Utility hooks (30+ new)
|
// Utility hooks (30+ new)
|
||||||
export { default as useCounter } from './useCounter'
|
export { useCounter } from './useCounter'
|
||||||
export { default as useDebugInfo } from './useDebugInfo'
|
export { useDebugInfo } from './useDebugInfo'
|
||||||
export { default as useMountEffect } from './useMountEffect'
|
export { useMountEffect } from './useMountEffect'
|
||||||
export { default as useUnmountEffect } from './useMountEffect'
|
export { useMountEffect as useUnmountEffect } from './useMountEffect'
|
||||||
export { default as useTimeout } from './useTimeout'
|
export { useTimeout } from './useTimeout'
|
||||||
export { default as useInterval } from './useInterval'
|
export { useInterval } from './useInterval'
|
||||||
export { default as useNotification } from './useNotification'
|
export { useNotification } from './useNotification'
|
||||||
export { default as useGeolocation } from './useGeolocation'
|
export { useGeolocation } from './useGeolocation'
|
||||||
export { default as useClipboard } from './useClipboard'
|
export { useClipboard } from './useClipboard'
|
||||||
export { default as useLocalStorageState } from './useLocalStorageState'
|
export { useLocalStorageState } from './useLocalStorageState'
|
||||||
export { default as useSessionStorageState } from './useSessionStorageState'
|
export { useSessionStorageState } from './useSessionStorageState'
|
||||||
export { default as useOrientation } from './useOrientation'
|
export { useOrientation } from './useOrientation'
|
||||||
export { default as useFocus } from './useFocus'
|
export { useFocus } from './useFocus'
|
||||||
export { default as useHover } from './useHover'
|
export { useHover } from './useHover'
|
||||||
export { default as useActive } from './useActive'
|
export { useActive } from './useActive'
|
||||||
export { default as useFetch } from './useFetch'
|
export { useFetch } from './useFetch'
|
||||||
export { default as useRefresh } from './useRefresh'
|
export { useRefresh } from './useRefresh'
|
||||||
export { default as useRender } from './useRender'
|
export { useRender } from './useRender'
|
||||||
export { default as useMounted } from './useMounted'
|
export { useMounted } from './useMounted'
|
||||||
export { default as useScrollPosition } from './useScrollPosition'
|
export { useScrollPosition } from './useScrollPosition'
|
||||||
export { default as useScroll } from './useScroll'
|
export { useScroll } from './useScroll'
|
||||||
export { default as usePreviousValue } from './usePreviousValue'
|
export { usePreviousValue } from './usePreviousValue'
|
||||||
export { default as usePromise } from './usePromise'
|
export { usePromise } from './usePromise'
|
||||||
export { default as useValueRef } from './useValueRef'
|
export { useValueRef } from './useValueRef'
|
||||||
export { default as useUpdateEffect } from './useUpdateEffect'
|
export { useUpdateEffect } from './useUpdateEffect'
|
||||||
export { default as useDifferent } from './useDifferent'
|
export { useDifferent } from './useDifferent'
|
||||||
export { default as useChange } from './useChange'
|
export { useChange } from './useChange'
|
||||||
export { default as useDefaults } from './useDefaults'
|
export { useDefaults } from './useDefaults'
|
||||||
export { default as useFirstEffect } from './useFirstEffect'
|
export { useFirstEffect } from './useFirstEffect'
|
||||||
export { default as useEventCallback } from './useEventCallback'
|
export { useEventCallback } from './useEventCallback'
|
||||||
export { default as useId } from './useId'
|
export { useId } from './useId'
|
||||||
export { default as usePatch } from './usePatch'
|
export { usePatch } from './usePatch'
|
||||||
export { default as useDeepComparison } from './useDeepComparison'
|
export { useDeepComparison } from './useDeepComparison'
|
||||||
export { default as useForceUpdate } from './useForceUpdate'
|
export { useForceUpdate } from './useForceUpdate'
|
||||||
export { default as useDecrement } from './useDecrement'
|
export { useDecrement } from './useDecrement'
|
||||||
export { default as useIncrement } from './useIncrement'
|
export { useIncrement } from './useIncrement'
|
||||||
export { default as useAsyncCallback } from './useAsyncCallback'
|
export { useAsyncCallback } from './useAsyncCallback'
|
||||||
|
|
||||||
// App utilities
|
// App utilities
|
||||||
export { useAppDispatch, useAppSelector, createAppStore } from './hooks'
|
export { useAppDispatch, useAppSelector, createAppStore } from './hooks'
|
||||||
|
|||||||
40
hooks/tsconfig.json
Normal file
40
hooks/tsconfig.json
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"rootDir": ".",
|
||||||
|
"outDir": "dist",
|
||||||
|
"declaration": true,
|
||||||
|
"declarationMap": true,
|
||||||
|
"sourceMap": true,
|
||||||
|
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
||||||
|
"target": "ES2020",
|
||||||
|
"module": "ESNext",
|
||||||
|
"moduleResolution": "bundler",
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"strict": false,
|
||||||
|
"noImplicitAny": false,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"allowSyntheticDefaultImports": true,
|
||||||
|
"jsx": "react-jsx"
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"use*.ts",
|
||||||
|
"use*.tsx",
|
||||||
|
"index.ts"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"node_modules",
|
||||||
|
"dist",
|
||||||
|
"**/*.test.ts",
|
||||||
|
"**/*.test.tsx",
|
||||||
|
"*.tsx",
|
||||||
|
"hooks.ts",
|
||||||
|
"I18nNavigation.ts",
|
||||||
|
"ToastContext.tsx",
|
||||||
|
"SnippetManagerRedux.test.tsx",
|
||||||
|
"SnippetToolbar.test.tsx",
|
||||||
|
"FormControl.tsx",
|
||||||
|
"RadioGroup.tsx",
|
||||||
|
"ToggleButton.tsx"
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user