Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/meilisearch-prototype-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: ['20', '22', '24']
node-version: ['22', '24']
name: integration-tests (Node.js ${{ matrix.node-version }})
steps:
- uses: actions/checkout@v6
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pre-release-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: ['20', '22', '24']
node-version: ['22', '24']
name: integration-tests (Node.js ${{ matrix.node-version }})
steps:
- uses: actions/checkout@v6
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: ['20', '22', '24']
node-version: ['22', '24']
name: integration-tests (Node.js ${{ matrix.node-version }})
steps:
- uses: actions/checkout@v6
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v18.20.2
24
16 changes: 6 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@
"type": "git",
"url": "https://github.com/meilisearch/meilisearch-js-plugins.git"
},
"workspaces": [
"packages/*",
"playgrounds/*"
],
"type": "module",
"scripts": {
"playground:vanilla": "turbo @meilisearch/vanilla-playground#dev",
Expand All @@ -26,11 +22,11 @@
"style": "pnpm fmt && pnpm lint",
"style:fix": "pnpm fmt:fix && pnpm lint:fix",
"build": "turbo build",
"test": "pnpm build && vitest run",
"test:watch": "pnpm build && vitest",
"test": "vitest run",
"test:watch": "vitest",
"instant-meilisearch:test:watch": "vitest --project \"@meilisearch/instant-meilisearch\"",
"autocomplete:test:watch": "vitest --project \"@meilisearch/autocomplete-client\"",
"test:types": "pnpm build && tsc --noEmit",
"test:types": "tsc",
"version-packages": "changeset version && turbo version",
"release": "pnpm build && changeset publish"
},
Expand Down Expand Up @@ -69,12 +65,12 @@
"react-router-dom": "7.13.2",
"search-insights": "2.17.3",
"turbo": "2.7.2",
"typescript": "5.7.3",
"typescript": "5.9.3",
"typescript-eslint": "8.58.0",
"vite": "8.0.3",
"vitest": "4.0.16",
"vitest": "4.1.2",
"vue": "3.5.25",
"vue-instantsearch": "4.22.6"
},
"packageManager": "pnpm@10.26.0"
"packageManager": "pnpm@10.33.0"
}
2 changes: 1 addition & 1 deletion packages/autocomplete-client/__tests__/test.utils.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { meilisearchAutocompleteClient } from '../src/index.js'
import { meilisearchAutocompleteClient } from '../src/index.ts'
import { meilisearch } from '@meilisearch/instant-meilisearch'

const dataset = [
Expand Down
19 changes: 10 additions & 9 deletions packages/autocomplete-client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,25 @@
"version": "0.7.0",
"description": "The search client to use Meilisearch with autocomplete.js.",
"homepage": "https://github.com/meilisearch/meilisearch-js-plugins/tree/main/packages/autocomplete-client",
"publishConfig": {
"access": "public"
},
"scripts": {
"build": "vite build && tsc -p tsconfig.json",
"version": "node scripts/update_version.cjs"
},
"type": "module",
"types": "./dist/types/index.d.ts",
"main": "./dist/umd/index.min.js",
"exports": {
".": {
"types": "./dist/types/index.d.ts",
"import": "./dist/esm/index.js",
"default": "./dist/umd/index.min.js"
".": "./src/index.ts"
},
"publishConfig": {
"access": "public",
"exports": {
".": "./dist/index.js",
"./package.json": "./package.json"
}
},
"sideEffects": false,
"engines": {
"node": "^20.19.0 || >=22.12.0"
},
"bugs": {
"url": "https://github.com/meilisearch/meilisearch-js-plugins/issues"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { describe, test, expect } from 'vitest'
import {
getItemAnalyticsMetadata,
type MeilisearchAutocompleteItem,
} from '../analytics.js'
} from '../analytics.ts'
import type { MeilisearchSearchMetadata } from '@meilisearch/instant-meilisearch'

describe('getItemAnalyticsMetadata', () => {
Expand Down
2 changes: 1 addition & 1 deletion packages/autocomplete-client/src/analytics/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export * from './analytics.js'
export * from './analytics.ts'
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { PACKAGE_VERSION } from '../package-version.js'
import { createSearchClient } from './createSearchClient.js'
import pkg from '../../package.json' with { type: 'json' }
import { createSearchClient } from './createSearchClient.ts'

/** Create searchClient instance for autocomplete */
const userAgent = `Meilisearch autocomplete-client (v${PACKAGE_VERSION})`
const userAgent = `Meilisearch autocomplete-client (v${pkg.version})`
export const meilisearchAutocompleteClient = createSearchClient({ userAgent })
4 changes: 2 additions & 2 deletions packages/autocomplete-client/src/client/createSearchClient.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { instantMeiliSearch } from '@meilisearch/instant-meilisearch'
import type { SearchClient } from '../types/SearchClient.js'
import type { ClientConfig } from '../types/ClientConfig.js'
import type { SearchClient } from '../types/SearchClient.ts'
import type { ClientConfig } from '../types/ClientConfig.ts'

export const concatUserAgents = (clientAgents: string[]): string[] => {
return clientAgents.concat(clientAgents.filter((agent) => agent))
Expand Down
4 changes: 2 additions & 2 deletions packages/autocomplete-client/src/client/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
export * from './autocompleteSearchClient.js'
export * from './createSearchClient.js'
export * from './autocompleteSearchClient.ts'
export * from './createSearchClient.ts'
8 changes: 4 additions & 4 deletions packages/autocomplete-client/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export * from '@meilisearch/instant-meilisearch'
export * from './client/index.js'
export * from './requesters/index.js'
export * from './search/index.js'
export * from './analytics/index.js'
export * from './client/index.ts'
export * from './requesters/index.ts'
export * from './search/index.ts'
export * from './analytics/index.ts'
1 change: 0 additions & 1 deletion packages/autocomplete-client/src/package-version.ts

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { describe, test, expect } from 'vitest'
import { getMeilisearchResults } from '../index.js'
import { searchClient } from '../../../__tests__/test.utils.js'
import { getMeilisearchResults } from '../index.ts'
import { searchClient } from '../../../__tests__/test.utils.ts'

describe('getMeilisearchResults', () => {
test('the the fields in the returned description object', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { fetchMeilisearchResults } from '../search/index.js'
import { fetchMeilisearchResults } from '../search/index.ts'

import { createRequester } from './createRequester.js'
import { createRequester } from './createRequester.ts'

export const createMeilisearchRequester = createRequester(
(params) => fetchMeilisearchResults(params),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { fetchMeilisearchResults } from '../search/index.js'
import { fetchMeilisearchResults } from '../search/index.ts'
import type {
AlgoliaMultipleQueriesQuery,
AlgoliaSearchResponse,
AlgoliaSearchForFacetValuesResponse,
} from '@meilisearch/instant-meilisearch'
import type { SearchClient as MeilisearchClient } from '../types/SearchClient.js'
import type { SearchClient as MeilisearchClient } from '../types/SearchClient.ts'

// All types copied from: autocomplete/packages/autocomplete-preset-algolia/src/requester/createRequester.ts
// As most of the types are not exported and we need to be able to provide our own Fetcher
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createMeilisearchRequester } from './createMeilisearchRequester.js'
import { createMeilisearchRequester } from './createMeilisearchRequester.ts'

/** Retrieves Meilisearch results from multiple indexes. */
export const getMeilisearchResults = createMeilisearchRequester({
Expand Down
6 changes: 3 additions & 3 deletions packages/autocomplete-client/src/requesters/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export * from './createMeilisearchRequester.js'
export * from './createRequester.js'
export * from './getMeilisearchResults.js'
export * from './createMeilisearchRequester.ts'
export * from './createRequester.ts'
export * from './getMeilisearchResults.ts'
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { describe, beforeAll, test, expect, afterAll } from 'vitest'
import { fetchMeilisearchResults } from '../fetchMeilisearchResults.js'
import { fetchMeilisearchResults } from '../fetchMeilisearchResults.ts'
import {
searchClient,
MOVIES,
meilisearchClient,
} from '../../../__tests__/test.utils.js'
} from '../../../__tests__/test.utils.ts'

type Movie = (typeof MOVIES)[number]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ import {
HIGHLIGHT_PRE_TAG,
HIGHLIGHT_POST_TAG,
HITS_PER_PAGE,
} from '../constants/index.js'
import type { SearchClient as MeilisearchSearchClient } from '../types/SearchClient.js'
import type { HighlightResult } from 'algoliasearch-helper/types/algoliasearch.js'
} from '../constants/index.ts'
import type { SearchClient as MeilisearchSearchClient } from '../types/SearchClient.ts'
import type { HighlightResult } from 'algoliasearch-helper/types/algoliasearch.ts'

interface SearchParams {
/** The initialized Meilisearch search client. */
Expand Down
2 changes: 1 addition & 1 deletion packages/autocomplete-client/src/search/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export * from './fetchMeilisearchResults.js'
export * from './fetchMeilisearchResults.ts'
2 changes: 1 addition & 1 deletion packages/autocomplete-client/src/types/ClientConfig.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { instantMeiliSearch } from '@meilisearch/instant-meilisearch'
import type { MeilisearchOptions } from './MeilisearchOptions.js'
import type { MeilisearchOptions } from './MeilisearchOptions.ts'

export type InstantMeilisearch = typeof instantMeiliSearch
export type MeilisearchURL = Parameters<InstantMeilisearch>[0]
Expand Down
7 changes: 5 additions & 2 deletions packages/autocomplete-client/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "./dist/esm",
"declarationDir": "dist/types"
"noEmit": false,
"declaration": true,
"emitDeclarationOnly": true,
"declarationMap": true,
"declarationDir": "./dist/"
},
"include": ["src/**/*.ts"],
"exclude": ["src/**/*.test.ts"]
Expand Down
44 changes: 7 additions & 37 deletions packages/autocomplete-client/vite.config.ts
Original file line number Diff line number Diff line change
@@ -1,45 +1,15 @@
import { defineProject } from 'vitest/config'
import pkg from './package.json' with { type: 'json' }
/// <reference types="vitest/config" />
import { defineConfig } from 'vite'
import tsconfig from '../../tsconfig.json' with { type: 'json' }

const globalVarName = pkg.name
.substring(pkg.name.lastIndexOf('/') + 1)
.replace(/-./g, (x) => x[1].toUpperCase())

export default defineProject({
export default defineConfig({
build: {
sourcemap: true,
target: 'es6',
target: tsconfig.compilerOptions.target,
lib: {
entry: 'src/index.ts',
name: globalVarName,
formats: ['umd'],
fileName: (format, entryName) => {
switch (format) {
case 'umd':
return `umd/${entryName}.min.js`
default:
throw new Error(`unsupported format ${format}`)
}
},
},
rollupOptions: {
external: ['instant-meilisearch'],
output: {
globals: {
// Map the external 'instant-meilisearch' import to 'instantMeilisearch' global variable,
// i.e. the package name defined in instant-meilisearch's build config
'instant-meilisearch': 'instantMeilisearch',
},
// the following code enables Vite in UMD mode to extend the global object with all of
// the exports, and not just a property of it ( https://github.com/vitejs/vite/issues/11624 )
footer: `(function () {
if (typeof self !== "undefined") {
var clonedGlobal = Object.assign({}, self.${globalVarName});
delete clonedGlobal.default;
Object.assign(self, clonedGlobal);
}
})();`,
},
formats: ['es'],
fileName: 'index',
},
},
test: {
Expand Down
2 changes: 1 addition & 1 deletion packages/instant-meilisearch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ The search client returns `MeilisearchSearchResponse` which extends the standard

```ts
import { instantMeiliSearch, getAnalyticsMetadata } from '@meilisearch/instant-meilisearch'
import instantsearch from 'instantsearch.js'
import instantsearch from 'instantsearch.ts'

const { searchClient } = instantMeiliSearch(
'https://ms-adf78ae33284-106.lon.meilisearch.io',
Expand Down
2 changes: 1 addition & 1 deletion packages/instant-meilisearch/__tests__/assets/utils.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { instantMeiliSearch } from '../../src/index.js'
import { instantMeiliSearch } from '../../src/index.ts'
import { MeiliSearch } from 'meilisearch'

const HOST = 'http://localhost:7700'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
dataset,
type Movies,
meilisearchClient,
} from './assets/utils.js'
} from './assets/utils.ts'

describe('Instant Meilisearch Browser test', () => {
beforeAll(async () => {
Expand All @@ -24,7 +24,7 @@ describe('Instant Meilisearch Browser test', () => {
},
])

const hit = <Movies>response.results[0].hits[0]
const hit = response.results[0].hits[0] as Movies
expect(hit.id).not.toBeDefined()
expect(hit.overview).not.toBeDefined()
expect(hit.genres).not.toBeDefined()
Expand All @@ -43,7 +43,7 @@ describe('Instant Meilisearch Browser test', () => {
},
])

const hit = <Movies>response.results[0].hits[0]
const hit = response.results[0].hits[0] as Movies
expect(hit.id).not.toBeDefined()
expect(hit.overview).not.toBeDefined()
expect(hit.genres).not.toBeDefined()
Expand All @@ -63,7 +63,7 @@ describe('Instant Meilisearch Browser test', () => {
},
])

const hit = <Movies>response.results[0].hits[0]
const hit = response.results[0].hits[0] as Movies
expect(hit._highlightResult?.id).toBeDefined()
expect(hit._highlightResult?.overview).toBeDefined()
expect(hit._highlightResult?.genres).toBeDefined()
Expand All @@ -83,7 +83,7 @@ describe('Instant Meilisearch Browser test', () => {
},
])

const hit = <Movies>response.results[0].hits[0]
const hit = response.results[0].hits[0] as Movies
expect(hit.title).toEqual('Ariel')
expect(hit.id).not.toBeDefined()
expect(hit.overview).not.toBeDefined()
Expand All @@ -103,7 +103,7 @@ describe('Instant Meilisearch Browser test', () => {
},
])

const hit = <Movies>response.results[0].hits[0]
const hit = response.results[0].hits[0] as Movies
expect(hit.title).toEqual('Ariel')
expect(hit._highlightResult).toBeDefined()
expect(hit.id).toBeDefined()
Expand Down Expand Up @@ -131,7 +131,7 @@ describe('Instant Meilisearch Browser test', () => {
},
])

const hit = <Movies>response.results[0].hits[0]
const hit = response.results[0].hits[0] as Movies
expect(hit.title).toEqual('Ariel')
expect(hit._highlightResult?.id).toBeDefined()
expect(hit._highlightResult?.overview).toBeDefined()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { describe, beforeAll, test, expect, vi } from 'vitest'
import { instantMeiliSearch } from '../src/index.js'
import { meilisearchClient, dataset } from './assets/utils.js'
import { instantMeiliSearch } from '../src/index.ts'
import { meilisearchClient, dataset } from './assets/utils.ts'

describe('Custom HTTP client tests', () => {
beforeAll(async () => {
Expand Down
Loading
Loading