Skip to content

Commit ab2dd02

Browse files
committed
fix(algolia): upgrade algoliasearch to v5
1 parent 93a5664 commit ab2dd02

File tree

9 files changed

+3503
-430
lines changed

9 files changed

+3503
-430
lines changed

.yarn/versions/58dc2ade.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
releases:
2+
"@yarnpkg/cli": patch
3+
"@yarnpkg/plugin-interactive-tools": minor
4+
"@yarnpkg/plugin-typescript": minor
5+
6+
declined:
7+
- "@yarnpkg/plugin-compat"
8+
- "@yarnpkg/plugin-constraints"
9+
- "@yarnpkg/plugin-dlx"
10+
- "@yarnpkg/plugin-essentials"
11+
- "@yarnpkg/plugin-init"
12+
- "@yarnpkg/plugin-nm"
13+
- "@yarnpkg/plugin-npm-cli"
14+
- "@yarnpkg/plugin-pack"
15+
- "@yarnpkg/plugin-patch"
16+
- "@yarnpkg/plugin-pnp"
17+
- "@yarnpkg/plugin-pnpm"
18+
- "@yarnpkg/plugin-stage"
19+
- "@yarnpkg/plugin-version"
20+
- "@yarnpkg/plugin-workspace-tools"
21+
- "@yarnpkg/builder"
22+
- "@yarnpkg/core"
23+
- "@yarnpkg/doctor"

packages/docusaurus/package.json

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
},
1111
"dependencies": {
1212
"@codesandbox/sandpack-react": "^1.15.0",
13-
"@docusaurus/core": "^3.4.0",
14-
"@docusaurus/mdx-loader": "^3.4.0",
15-
"@docusaurus/plugin-content-docs": "^3.4.0",
16-
"@docusaurus/preset-classic": "^3.4.0",
17-
"@docusaurus/theme-classic": "^3.4.0",
18-
"@docusaurus/theme-common": "^3.4.0",
13+
"@docusaurus/core": "^3.7.0",
14+
"@docusaurus/mdx-loader": "^3.7.0",
15+
"@docusaurus/plugin-content-docs": "^3.7.0",
16+
"@docusaurus/preset-classic": "^3.7.0",
17+
"@docusaurus/theme-classic": "^3.7.0",
18+
"@docusaurus/theme-common": "^3.7.0",
1919
"@fontsource/pt-sans": "^5.0.5",
2020
"@mdx-js/react": "^3.0.0",
2121
"@monaco-editor/react": "^4.4.6",
@@ -30,7 +30,7 @@
3030
"@yarnpkg/pnpify": "workspace:^",
3131
"@yarnpkg/sdks": "workspace:^",
3232
"@yarnpkg/shell": "workspace:^",
33-
"algoliasearch": "^4.14.2",
33+
"algoliasearch": "^5.19.0",
3434
"ansi-to-html": "^0.7.2",
3535
"clsx": "^1.2.1",
3636
"docusaurus-plugin-typedoc-api": "patch:docusaurus-plugin-typedoc-api@npm%3A4.2.0#~/.yarn/patches/docusaurus-plugin-typedoc-api-npm-4.2.0-fb78ec678c.patch",
@@ -52,8 +52,7 @@
5252
"prism-react-renderer": "^2.3.1",
5353
"react": "^18.2.0",
5454
"react-dom": "^18.2.0",
55-
"react-instantsearch-dom": "^6.36.0",
56-
"react-instantsearch-hooks-web": "^6.36.0",
55+
"react-instantsearch": "^7.15.1",
5756
"react-json-doc": "^2.3.4",
5857
"react-loading-skeleton": "^3.3.1",
5958
"react-modal": "^3.16.1",
@@ -79,8 +78,8 @@
7978
},
8079
"devDependencies": {
8180
"@docusaurus/module-type-aliases": "^3.4.0",
82-
"@docusaurus/tsconfig": "^3.4.0",
83-
"@docusaurus/types": "^3.4.0",
81+
"@docusaurus/tsconfig": "^3.7.0",
82+
"@docusaurus/types": "^3.7.0",
8483
"@types/dompurify": "^3",
8584
"@types/git-url-parse": "^9.0.0",
8685
"@types/lodash": "^4.14.136",
@@ -89,7 +88,6 @@
8988
"@types/mdast": "^4.0.3",
9089
"@types/node": "^18.19.15",
9190
"@types/react": "^18.2.54",
92-
"@types/react-instantsearch-dom": "^6",
9391
"@types/react-modal": "^3",
9492
"@types/react-virtualized": "^9",
9593
"@types/react-window": "^1",

packages/docusaurus/src/lib/searchClient.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import algoliasearch from 'algoliasearch/lite';
1+
import {liteClient as algoliasearch} from 'algoliasearch/lite';
22

33
// Note that the appId and appKey are specific to Yarn's website - please
44
// don't use them anywhere else without asking Algolia's permission

packages/docusaurus/src/pages/search.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import useDocusaurusContext from '@docusau
44
import {CodeIcon, FileDirectoryIcon} from '@primer/octicons-react';
55
import Layout from '@theme/Layout';
66
import clsx from 'clsx';
7-
import {InstantSearch, useHits, useSearchBox} from 'react-instantsearch-hooks-web';
7+
import {InstantSearch, useHits, useSearchBox} from 'react-instantsearch';
88
import Skeleton from 'react-loading-skeleton';
99
import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';
1010

@@ -61,9 +61,7 @@ function useHitsWithDefaults(query: string): Array<any> {
6161
const [defaults, setDefaults] = useState<Array<any> | null>(null);
6262

6363
useEffect(() => {
64-
searchClient.customRequest({method: `POST`, path: `/1/indexes/*/objects`}, {
65-
data: {requests: defaultRequests},
66-
}).then(({results}: any) => {
64+
searchClient.getObjects({requests: defaultRequests}).then(({results}: any) => {
6765
setDefaults(results);
6866
});
6967
}, []);

packages/plugin-interactive-tools/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
},
1010
"dependencies": {
1111
"@yarnpkg/libui": "workspace:^",
12-
"algoliasearch": "^4.2.0",
12+
"algoliasearch": "^5.19.0",
1313
"clipanion": "^4.0.0-rc.2",
1414
"diff": "^5.1.0",
1515
"ink": "^3.2.0",

packages/plugin-interactive-tools/sources/algolia.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1-
import algoliasearch from 'algoliasearch';
1+
import {algoliasearch} from 'algoliasearch';
22

33
const algolia = {
44
appId: `OFCNCOG2CU`,
55
apiKey: `6fe4476ee5a1832882e326b506d14126`,
66
indexName: `npm-search`,
77
};
88

9-
const client = algoliasearch(algolia.appId, algolia.apiKey).initIndex(
10-
algolia.indexName,
11-
);
9+
const client = algoliasearch(algolia.appId, algolia.apiKey);
1210

1311
export interface AlgoliaPackage {
1412
objectID: string;
@@ -34,9 +32,10 @@ export const search = async (
3432
query: string,
3533
page: number = 0,
3634
) => {
37-
const res = await client.search<AlgoliaPackage>(
38-
query,
39-
{
35+
const res = await client.searchSingleIndex<AlgoliaPackage>({
36+
indexName: algolia.indexName,
37+
searchParams: {
38+
query,
4039
analyticsTags: [`yarn-plugin-interactive-tools`],
4140
attributesToRetrieve: [
4241
`name`,
@@ -47,7 +46,8 @@ export const search = async (
4746
],
4847
page,
4948
hitsPerPage: 10,
50-
});
49+
},
50+
});
5151

5252
return res;
5353
};

packages/plugin-typescript/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"dependencies": {
1111
"@yarnpkg/fslib": "workspace:^",
1212
"@yarnpkg/plugin-pack": "workspace:^",
13-
"algoliasearch": "^4.2.0",
13+
"algoliasearch": "^5.19.0",
1414
"semver": "^7.1.2",
1515
"tslib": "^2.4.0"
1616
},
@@ -20,7 +20,7 @@
2020
"@yarnpkg/plugin-essentials": "workspace:^"
2121
},
2222
"devDependencies": {
23-
"@algolia/requester-common": "4.0.0-beta.14",
23+
"@algolia/client-common": "^5.19.0",
2424
"@types/semver": "^7.1.0",
2525
"@yarnpkg/builder": "workspace:^",
2626
"@yarnpkg/cli": "workspace:^",

packages/plugin-typescript/sources/typescriptUtils.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import {Request, Requester, Response} from '@algolia/requester-common';
2-
import {Configuration, Descriptor} from '@yarnpkg/core';
3-
import {httpUtils, structUtils} from '@yarnpkg/core';
4-
import algoliasearch from 'algoliasearch';
1+
import type {Request, Requester, Response} from '@algolia/client-common';
2+
import {Configuration, Descriptor} from '@yarnpkg/core';
3+
import {httpUtils, structUtils} from '@yarnpkg/core';
4+
import {algoliasearch} from 'algoliasearch';
55

66
// Note that the appId and appKey are specific to Yarn's plugin-typescript - please
77
// don't use them anywhere else without asking Algolia's permission
@@ -20,10 +20,9 @@ export const hasDefinitelyTyped = async (
2020
) => {
2121
const stringifiedIdent = structUtils.stringifyIdent(descriptor);
2222
const algoliaClient = createAlgoliaClient(configuration);
23-
const index = algoliaClient.initIndex(`npm-search`);
2423

2524
try {
26-
const packageInfo = await index.getObject<AlgoliaObj>(stringifiedIdent, {attributesToRetrieve: [`types`]});
25+
const packageInfo = await algoliaClient.getObject({indexName: `npm-search`, objectID: stringifiedIdent, attributesToRetrieve: [`types`]}) as AlgoliaObj;
2726

2827
return packageInfo.types?.ts === `definitely-typed`;
2928
} catch (_e) {

0 commit comments

Comments
 (0)