Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
def4380
Install [email protected] and fix type errors
Strift Jan 15, 2025
0173d9c
Remove type: module
Strift Jan 15, 2025
9fdc1d9
Fix typescript build
Strift Jan 15, 2025
cc2ba74
Fix typescript build
Strift Jan 15, 2025
92d3d2c
Fix typescript build
Strift Jan 16, 2025
77a0f86
Fix Rollup UMD build
Strift Jan 16, 2025
2e7bd0b
Fix Rollup UMD build
Strift Jan 16, 2025
c6f8b81
Add comments
Strift Jan 16, 2025
11ad60e
Fix test runner
Strift Jan 16, 2025
476f5aa
Got tests running with ESM code
Strift Jan 16, 2025
b84fa2e
Fix types issues
Strift Jan 17, 2025
89bc820
Improve tests by mocking only the multiSearch function
Strift Jan 17, 2025
98495b5
Cleanup
Strift Jan 17, 2025
2456c43
Revert Rollup configuration
Strift Jan 17, 2025
ea8f387
Update deps to v0.48.1
Strift Jan 17, 2025
58a57a6
Update autocomplete-client jest config
Strift Jan 17, 2025
7be408d
Cleanup
Strift Jan 17, 2025
0657bf7
Lint
Strift Jan 17, 2025
d836195
Fix Node.js env
Strift Jan 17, 2025
747cdf9
Update JS playground
Strift Jan 17, 2025
4c9da11
Update geo javascript playground
Strift Jan 17, 2025
a3f5410
Update local react playground
Strift Jan 17, 2025
6782bd1
Update local react playground
Strift Jan 17, 2025
1140b3c
Ignore setup.js linting
Strift Jan 17, 2025
f82e23d
Update cypress config to work with vite
Strift Jan 17, 2025
fe6be47
Use ES module in autocomplete playground
Strift Jan 17, 2025
45da57d
Rename eslint config to cjs
Strift Jan 17, 2025
6b6e33e
Rename eslint config
Strift Jan 17, 2025
cb85465
Update workflow
Strift Jan 17, 2025
1af2f7b
Revert workflow changes
Strift Jan 17, 2025
25e1fbe
Bump meilisearch-js to v0.48.2
Strift Jan 20, 2025
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
45 changes: 28 additions & 17 deletions packages/autocomplete-client/jest.config.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,45 @@
const ignoreFiles = ['<rootDir>(/.*)*/assets', 'test.utils']
/** @type {import('ts-jest').JestConfigWithTsJest} **/
const baseConfig = {
coveragePathIgnorePatterns: ['<rootDir>(/.*)*/assets/'],
testPathIgnorePatterns: ['<rootDir>(/.*)*/assets', 'test.utils'],
setupFilesAfterEnv: ['@testing-library/jest-dom/extend-expect'],
// Transform all JS and TS files with `ts-jest`
transform: {
'^.+.(ts|js)?$': [
'ts-jest',
{
// use ESM because we're loading the ESM build of `meilisearch-js`
useESM: true,
},
],
},
// Allow `ts-jest` to resolve relative JS imports, e.g., `./folder/index.js`
// See https://github.com/kulshekhar/ts-jest/issues/1057
moduleNameMapper: {
'(.+)\\.js': '$1',
},
// Treat TS as ESM. JS is automatically treated as ESM
// if package.json has `"type": "module"`
extensionsToTreatAsEsm: ['.ts'],
}

module.exports = {
/** @type {import('ts-jest').JestConfigWithTsJest} **/
export default {
verbose: true,
watchPlugins: [
'jest-watch-typeahead/filename',
'jest-watch-typeahead/testname',
],
collectCoverage: true,
setupFilesAfterEnv: ['@testing-library/jest-dom/extend-expect'],
projects: [
{
globals: {
'ts-jest': { tsconfig: 'tsconfig.test.json' },
fetch: globalThis.fetch,
},
preset: 'ts-jest',
...baseConfig,
displayName: 'dom',
testPathIgnorePatterns: [...ignoreFiles],
coveragePathIgnorePatterns: ['<rootDir>(/.*)*/assets/'],
},
{
globals: {
'ts-jest': { tsconfig: 'tsconfig.test.json' },
fetch: globalThis.fetch,
},
preset: 'ts-jest',
...baseConfig,
displayName: 'node',
testEnvironment: 'node',
coveragePathIgnorePatterns: ['<rootDir>(/.*)*/assets/'],
testPathIgnorePatterns: [...ignoreFiles],
},
],
}
7 changes: 4 additions & 3 deletions packages/autocomplete-client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"test:types": "yarn tsc",
"version": "node scripts/update_version.js"
},
"type": "module",
"main": "./dist/autocomplete-client.umd.js",
"module": "./dist/autocomplete-client.esm.js",
"browser": "./dist/autocomplete-client.umd.js",
Expand Down Expand Up @@ -56,13 +57,13 @@
"@babel/preset-env": "^7.20.2",
"@rollup/plugin-commonjs": "^17.1.0",
"@rollup/plugin-node-resolve": "^11.2.0",
"@types/jest": "^27.0.2",
"@types/jest": "^29.5.14",
"babel-jest": "^27.2.2",
"concurrently": "^7.1.0",
"cssnano": "^4.1.10",
"eslint-config-meilisearch": "*",
"instantsearch.js": "^4.56.2",
"jest": "^27.2.2",
"jest": "^29.7.0",
"jest-watch-typeahead": "^0.6.3",
"regenerator-runtime": "^0.13.7",
"rollup": "^2.79.2",
Expand All @@ -71,7 +72,7 @@
"rollup-plugin-terser": "^7.0.0",
"rollup-plugin-typescript2": "^0.32.1",
"shx": "^0.3.4",
"ts-jest": "^27.0.7",
"ts-jest": "^29.2.5",
"tslib": "^2.6.1",
"typescript": "^4.9.3"
}
Expand Down
12 changes: 0 additions & 12 deletions packages/instant-meilisearch/.babelrc

This file was deleted.

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'
import { instantMeiliSearch } from '../../src/index.js'
import { MeiliSearch } from 'meilisearch'

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

describe('Instant Meilisearch Browser test', () => {
beforeAll(async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { instantMeiliSearch } from '../src'
import { meilisearchClient, dataset } from './assets/utils'
import { instantMeiliSearch } from '../src/index.js'
import { meilisearchClient, dataset } from './assets/utils.js'
import { jest } from '@jest/globals'

describe('Custom HTTP client tests', () => {
beforeAll(async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { instantMeiliSearch } from '../src'
import { Movies, meilisearchClient } from './assets/utils'
import { instantMeiliSearch } from '../src/index.js'
import { Movies, meilisearchClient } from './assets/utils.js'
import movies from './assets/movies.json'
import games from './assets/games.json'

Expand Down
2 changes: 1 addition & 1 deletion packages/instant-meilisearch/__tests__/facet-stats.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { searchClient, dataset, meilisearchClient } from './assets/utils'
import { searchClient, dataset, meilisearchClient } from './assets/utils.js'

describe('Facet stats tests', () => {
beforeAll(async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { searchClient, dataset, meilisearchClient } from './assets/utils'
import { searchClient, dataset, meilisearchClient } from './assets/utils.js'

describe('Instant Meilisearch Browser test', () => {
beforeAll(async () => {
Expand Down
2 changes: 1 addition & 1 deletion packages/instant-meilisearch/__tests__/filter.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {
dataset,
Movies,
meilisearchClient,
} from './assets/utils'
} from './assets/utils.js'

describe('Instant Meilisearch Browser test', () => {
beforeAll(async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { dataset, meilisearchClient, HOST, API_KEY } from './assets/utils'
import { instantMeiliSearch } from '../src'
import { dataset, meilisearchClient, HOST, API_KEY } from './assets/utils.js'
import { instantMeiliSearch } from '../src/index.js'

describe('Default facet distribution', () => {
beforeAll(async () => {
Expand Down
2 changes: 1 addition & 1 deletion packages/instant-meilisearch/__tests__/geosearch.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {
geoDataset,
City,
meilisearchClient,
} from './assets/utils'
} from './assets/utils.js'

describe('Instant Meilisearch Browser test', () => {
beforeAll(async () => {
Expand Down
2 changes: 1 addition & 1 deletion packages/instant-meilisearch/__tests__/highlight.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {
dataset,
Movies,
meilisearchClient,
} from './assets/utils'
} from './assets/utils.js'

describe('Highlight Browser test', () => {
beforeAll(async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { instantMeiliSearch } from '../src'
import { instantMeiliSearch } from '../src/index.js'

describe('InstantMeiliSearch instantiation', () => {
test('instantiation with required params returns InstantMeiliSearchInstance', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { instantMeiliSearch } from '../src'
import { Movies, meilisearchClient } from './assets/utils'
import { instantMeiliSearch } from '../src/index.js'
import { Movies, meilisearchClient } from './assets/utils.js'
import movies from './assets/movies.json'
import games from './assets/games.json'

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { instantMeiliSearch } from '../src'
import { dataset, meilisearchClient, Movies } from './assets/utils'
import { instantMeiliSearch } from '../src/index.js'
import { dataset, meilisearchClient, Movies } from './assets/utils.js'

describe('InstantMeiliSearch overridden parameters', () => {
beforeAll(async () => {
Expand Down
2 changes: 1 addition & 1 deletion packages/instant-meilisearch/__tests__/pagination.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {
dataset,
Movies,
meilisearchClient,
} from './assets/utils'
} from './assets/utils.js'

describe('Pagination browser test', () => {
beforeAll(async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { instantMeiliSearch } from '../src'
import { dataset, Movies, meilisearchClient } from './assets/utils'
import { instantMeiliSearch } from '../src/index.js'
import { dataset, Movies, meilisearchClient } from './assets/utils.js'

describe('Pagination browser test', () => {
beforeAll(async () => {
Expand Down
68 changes: 18 additions & 50 deletions packages/instant-meilisearch/__tests__/search-resolver.test.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
import { Movies } from './assets/utils'
import { instantMeiliSearch } from '../src'
import { MeiliSearch } from 'meilisearch'
import { mocked } from 'ts-jest/utils'
import { PACKAGE_VERSION } from '../src/package-version'
import { MeiliSearchMultiSearchParams } from '../src/types'

jest.mock('meilisearch')
import { Movies } from './assets/utils.js'
import { instantMeiliSearch } from '../src/index.js'
import { MeiliSearch, MultiSearchParams } from 'meilisearch'
import { MeiliSearchMultiSearchParams } from '../src/types/index.js'
import { jest } from '@jest/globals'

export const searchResponse = {
hits: [],
Expand All @@ -17,22 +14,19 @@ export const searchResponse = {
exhaustiveNbHits: false,
}

// Mocking of Meilisearch package
const mockedMeilisearch = mocked(MeiliSearch, true)
const mockedMultiSearch = jest.fn((request) => {
const response = request.queries.map((req: MeiliSearchMultiSearchParams) => ({
...searchResponse,
indexUid: req.indexUid,
}))
return {
results: response,
}
})

mockedMeilisearch.mockReturnValue({
// @ts-ignore
multiSearch: mockedMultiSearch,
})
const mockedMultiSearch = jest
.spyOn(MeiliSearch.prototype, 'multiSearch')
.mockImplementation((request: MultiSearchParams) => {
const response = request.queries.map(
(req: MeiliSearchMultiSearchParams) => ({
...searchResponse,
indexUid: req.indexUid,
})
)
return Promise.resolve({
results: response,
})
})

describe('Cached search tests', () => {
afterEach(() => {
Expand All @@ -50,11 +44,6 @@ describe('Cached search tests', () => {
await searchClient.search<Movies>([searchParameters])
await searchClient.search<Movies>([searchParameters])

expect(mockedMeilisearch).toHaveBeenCalledWith({
host: 'http://localhost:7700',
apiKey: '',
clientAgents: [`Meilisearch instant-meilisearch (v${PACKAGE_VERSION})`],
})
expect(mockedMultiSearch).toHaveBeenCalledTimes(2)
})

Expand All @@ -76,11 +65,6 @@ describe('Cached search tests', () => {
await searchClient.search<Movies>([searchParameters1])
await searchClient.search<Movies>([searchParameters2])

expect(mockedMeilisearch).toHaveBeenCalledWith({
host: 'http://localhost:7700',
apiKey: '',
clientAgents: [`Meilisearch instant-meilisearch (v${PACKAGE_VERSION})`],
})
expect(mockedMultiSearch).toHaveBeenCalledTimes(3)
})

Expand All @@ -103,11 +87,6 @@ describe('Cached search tests', () => {
await searchClient.search<Movies>([searchParameters2])
await searchClient.search<Movies>([searchParameters1])

expect(mockedMeilisearch).toHaveBeenCalledWith({
host: 'http://localhost:7700',
apiKey: '',
clientAgents: [`Meilisearch instant-meilisearch (v${PACKAGE_VERSION})`],
})
expect(mockedMultiSearch).toHaveBeenCalledTimes(3)
})

Expand All @@ -131,11 +110,6 @@ describe('Cached search tests', () => {
await searchClient.search<Movies>([searchParameters1])
await searchClient.search<Movies>([searchParameters2])

expect(mockedMeilisearch).toHaveBeenCalledWith({
host: 'http://localhost:7700',
apiKey: '',
clientAgents: [`Meilisearch instant-meilisearch (v${PACKAGE_VERSION})`],
})
expect(mockedMultiSearch).toHaveBeenCalledTimes(3)
})

Expand Down Expand Up @@ -167,12 +141,6 @@ describe('Cached search tests', () => {
await searchClient.search<Movies>(searchParameters1)
await searchClient.search<Movies>([searchParameters2])

expect(mockedMeilisearch).toHaveBeenCalledWith({
host: 'http://localhost:7700',
apiKey: '',
clientAgents: [`Meilisearch instant-meilisearch (v${PACKAGE_VERSION})`],
})

expect(mockedMultiSearch).toHaveBeenCalledTimes(3)
})
})
2 changes: 1 addition & 1 deletion packages/instant-meilisearch/__tests__/snippets.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {
dataset,
Movies,
meilisearchClient,
} from './assets/utils'
} from './assets/utils.js'

describe('Snippet Browser test', () => {
beforeAll(async () => {
Expand Down
5 changes: 3 additions & 2 deletions packages/instant-meilisearch/__tests__/sort.test.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { instantMeiliSearch } from '../src/index.js'

Check warning on line 1 in packages/instant-meilisearch/__tests__/sort.test.ts

View workflow job for this annotation

GitHub Actions / style-check

'instantMeiliSearch' is defined but never used. Allowed unused vars must match /^_/u
import {
searchClient,
dataset,
Movies,
meilisearchClient,
} from './assets/utils'
} from './assets/utils.js'

import { splitSortString } from '../src/contexts/sort-context'
import { splitSortString } from '../src/contexts/sort-context.js'

describe('Sort browser test', () => {
beforeAll(async () => {
Expand Down
Loading
Loading