diff --git a/.changeset/sharp-beds-lie.md b/.changeset/sharp-beds-lie.md new file mode 100644 index 00000000..4d3ac5f6 --- /dev/null +++ b/.changeset/sharp-beds-lie.md @@ -0,0 +1,23 @@ +--- +"@meilisearch/instant-meilisearch": minor +--- + +- exposed created `MeiliSearch` instance +- re-exported all of `"meilisearch"` package + +These improvements make it so that no separate `"meilisearch"` package +has to be installed in order to use its exports directly. This +way a single `MeiliSearch` instance can be re-used, and we can potentially +save on bundle size by avoiding a separate different version installation of +`"meilisearch"`. + +```typescript +import { instantMeiliSearch, meilisearch } from '@meilisearch/instant-meilisearch' +// re-exported "meilisearch" ^ + +const { + meiliSearchInstance, + // ^ re-usable MeiliSearch instance + searchClient +} = instantMeiliSearch(/*...*/) +``` diff --git a/packages/instant-meilisearch/src/client/instant-meilisearch-client.ts b/packages/instant-meilisearch/src/client/instant-meilisearch-client.ts index fa864daa..0d1e44a0 100644 --- a/packages/instant-meilisearch/src/client/instant-meilisearch-client.ts +++ b/packages/instant-meilisearch/src/client/instant-meilisearch-client.ts @@ -79,7 +79,9 @@ export function instantMeiliSearch( const instantMeilisearchConfig = getInstantMeilisearchConfig( instantMeiliSearchOptions ) + return { + meiliSearchInstance: meilisearchClient, setMeiliSearchParams: (params): void => { const { meiliSearchParams } = instantMeiliSearchOptions instantMeiliSearchOptions.meiliSearchParams = diff --git a/packages/instant-meilisearch/src/index.ts b/packages/instant-meilisearch/src/index.ts index edfed4a6..2b1d1a7a 100644 --- a/packages/instant-meilisearch/src/index.ts +++ b/packages/instant-meilisearch/src/index.ts @@ -1,2 +1,3 @@ export * from './client' export * from './types' +export * as meilisearch from 'meilisearch' diff --git a/packages/instant-meilisearch/src/types/types.ts b/packages/instant-meilisearch/src/types/types.ts index 22bdeffc..4aea43d2 100644 --- a/packages/instant-meilisearch/src/types/types.ts +++ b/packages/instant-meilisearch/src/types/types.ts @@ -7,6 +7,7 @@ import type { MultiSearchQuery as MeiliSearchMultiSearchParams, MultiSearchResult, Config as MeilisearchConfig, + MeiliSearch, } from 'meilisearch' // Turns readonly types into mutable ones @@ -127,6 +128,7 @@ export type InstantMeiliSearchInstance = SearchClient & { } export type InstantMeiliSearchObject = { + meiliSearchInstance: MeiliSearch setMeiliSearchParams: (params: OverridableMeiliSearchSearchParameters) => void searchClient: InstantMeiliSearchInstance }