Skip to content

Commit bf5a304

Browse files
committed
Merge branch 'main' into feat/javascript-requestsOptions
2 parents bebc94c + 272ebd3 commit bf5a304

File tree

40 files changed

+318
-118
lines changed

40 files changed

+318
-118
lines changed

.github/.cache_version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4
1+
6

.github/actions/setup/action.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ runs:
5858
echo "::set-output name=JS_CLIENT_CHANGED::$(git diff --shortstat $origin..HEAD -- clients/algoliasearch-client-javascript | wc -l)"
5959
echo "::set-output name=JS_ALGOLIASEARCH_CHANGED::$(git diff --shortstat $origin..HEAD -- clients/algoliasearch-client-javascript/packages/algoliasearch clients/algoliasearch-client-javascript/packages/client-search clients/algoliasearch-client-javascript/packages/client-analytics clients/algoliasearch-client-javascript/packages/client-personalization | wc -l)"
6060
echo "::set-output name=JS_COMMON_CHANGED::$(git diff --shortstat $origin..HEAD -- clients/algoliasearch-client-javascript/packages/client-common clients/algoliasearch-client-javascript/packages/requester-browser-xhr clients/algoliasearch-client-javascript/packages/requester-node-http | wc -l)"
61+
echo "::set-output name=JS_COMMON_TESTS_CHANGED::$(git diff --shortstat $origin..HEAD -- clients/algoliasearch-client-javascript/packages/client-common/src/__tests__ | wc -l)"
6162
echo "::set-output name=JS_TEMPLATE_CHANGED::$(git diff --shortstat $origin..HEAD -- templates/javascript | wc -l)"
6263
6364
echo "::set-output name=JAVA_CLIENT_CHANGED::$(git diff --shortstat $origin..HEAD -- clients/algoliasearch-client-java-2 | wc -l)"
@@ -208,6 +209,10 @@ outputs:
208209
description: The generated `client-php` matrix
209210
value: ${{ steps.php-matrix.outputs.MATRIX }}
210211

212+
RUN_JS_TESTS:
213+
description: Determine if the `client_javascript_tests` job should run
214+
value: ${{ steps.diff.outputs.JS_COMMON_TESTS_CHANGED > 0 }}
215+
211216
RUN_CTS:
212217
description: Determine if the `cts` job should run
213218
value: ${{

.github/workflows/check.yml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ jobs:
3636
RUN_JS: ${{ steps.setup.outputs.RUN_JS }}
3737
RUN_JS_ALGOLIASEARCH: ${{ steps.setup.outputs.RUN_JS_ALGOLIASEARCH }}
3838
RUN_JS_COMMON: ${{ steps.setup.outputs.RUN_JS_COMMON }}
39+
RUN_JS_TESTS: ${{ steps.setup.outputs.RUN_JS_TESTS }}
3940
JS_MATRIX: ${{ steps.setup.outputs.JS_MATRIX }}
4041

4142
RUN_JAVA: ${{ steps.setup.outputs.RUN_JAVA }}
@@ -299,6 +300,28 @@ jobs:
299300
if: steps.cache.outputs.cache-hit != 'true'
300301
run: yarn cli build clients php ${{ matrix.client.name }}
301302

303+
client_javascript_tests:
304+
runs-on: ubuntu-20.04
305+
timeout-minutes: 10
306+
needs:
307+
- client_javascript
308+
- client_javascript_algoliasearch
309+
if: |
310+
always() &&
311+
needs.setup.outputs.RUN_JS_TESTS == 'true' &&
312+
contains(needs.*.result, 'success') &&
313+
!contains(needs.*.result, 'failure')
314+
steps:
315+
- uses: actions/checkout@v2
316+
317+
- name: Restore cache
318+
uses: ./.github/actions/cache
319+
with:
320+
job: cts
321+
322+
- name: Run client-common tests
323+
run: yarn workspace @experimental-api-clients-automation/client-common test
324+
302325
cts:
303326
runs-on: ubuntu-20.04
304327
timeout-minutes: 20
@@ -320,6 +343,9 @@ jobs:
320343
with:
321344
job: cts
322345

346+
- name: Check JavaScript client size
347+
run: exit $(yarn workspace algoliasearch-client-javascript test:size | echo $?)
348+
323349
- name: Generate
324350
run: yarn cli cts generate
325351

@@ -334,7 +360,9 @@ jobs:
334360
codegen:
335361
runs-on: ubuntu-20.04
336362
timeout-minutes: 10
337-
needs: cts
363+
needs:
364+
- cts
365+
- client_javascript_tests
338366
if: |
339367
always() &&
340368
needs.setup.outputs.RUN_CODEGEN == 'true' &&

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ target
1717
**/.DS_Store
1818
.gradle
1919
build
20+
pom.xml
2021

2122
dist
2223

clients/algoliasearch-client-javascript/packages/client-abtesting/builds/browser.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@ import type {
22
Host,
33
Requester,
44
} from '@experimental-api-clients-automation/client-common';
5+
import {
6+
createMemoryCache,
7+
createFallbackableCache,
8+
createBrowserLocalStorageCache,
9+
} from '@experimental-api-clients-automation/client-common';
510
import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr';
611

7-
import { createAbtestingApi } from '../src/abtestingApi';
12+
import { createAbtestingApi, apiClientVersion } from '../src/abtestingApi';
813
import type { AbtestingApi, Region } from '../src/abtestingApi';
914

1015
export * from '../src/abtestingApi';
@@ -35,6 +40,14 @@ export function abtestingApi(
3540
requester: options?.requester ?? createXhrRequester(),
3641
userAgents: [{ segment: 'Browser' }],
3742
authMode: 'WithinQueryParameters',
43+
responsesCache: createMemoryCache(),
44+
requestsCache: createMemoryCache({ serializable: false }),
45+
hostsCache: createFallbackableCache({
46+
caches: [
47+
createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }),
48+
createMemoryCache(),
49+
],
50+
}),
3851
...options,
3952
});
4053
}

clients/algoliasearch-client-javascript/packages/client-abtesting/builds/node.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import type {
22
Host,
33
Requester,
44
} from '@experimental-api-clients-automation/client-common';
5+
import {
6+
createMemoryCache,
7+
createNullCache,
8+
} from '@experimental-api-clients-automation/client-common';
59
import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http';
610

711
import { createAbtestingApi } from '../src/abtestingApi';
@@ -34,6 +38,9 @@ export function abtestingApi(
3438
},
3539
requester: options?.requester ?? createHttpRequester(),
3640
userAgents: [{ segment: 'Node.js', version: process.versions.node }],
41+
responsesCache: createNullCache(),
42+
requestsCache: createNullCache(),
43+
hostsCache: createMemoryCache(),
3744
...options,
3845
});
3946
}

clients/algoliasearch-client-javascript/packages/client-abtesting/src/abtestingApi.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {
22
createAuth,
3-
createMemoryCache,
43
createTransporter,
54
getUserAgent,
65
} from '@experimental-api-clients-automation/client-common';
@@ -40,7 +39,9 @@ export function createAbtestingApi(
4039
const auth = createAuth(options.appId, options.apiKey, options.authMode);
4140
const transporter = createTransporter({
4241
hosts: options?.hosts ?? getDefaultHosts(options.region),
43-
hostsCache: createMemoryCache(),
42+
hostsCache: options.hostsCache,
43+
requestsCache: options.requestsCache,
44+
responsesCache: options.responsesCache,
4445
baseHeaders: {
4546
'content-type': 'application/x-www-form-urlencoded',
4647
...auth.headers(),

clients/algoliasearch-client-javascript/packages/client-analytics/builds/browser.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@ import type {
22
Host,
33
Requester,
44
} from '@experimental-api-clients-automation/client-common';
5+
import {
6+
createMemoryCache,
7+
createFallbackableCache,
8+
createBrowserLocalStorageCache,
9+
} from '@experimental-api-clients-automation/client-common';
510
import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr';
611

7-
import { createAnalyticsApi } from '../src/analyticsApi';
12+
import { createAnalyticsApi, apiClientVersion } from '../src/analyticsApi';
813
import type { AnalyticsApi, Region } from '../src/analyticsApi';
914

1015
export * from '../src/analyticsApi';
@@ -35,6 +40,14 @@ export function analyticsApi(
3540
requester: options?.requester ?? createXhrRequester(),
3641
userAgents: [{ segment: 'Browser' }],
3742
authMode: 'WithinQueryParameters',
43+
responsesCache: createMemoryCache(),
44+
requestsCache: createMemoryCache({ serializable: false }),
45+
hostsCache: createFallbackableCache({
46+
caches: [
47+
createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }),
48+
createMemoryCache(),
49+
],
50+
}),
3851
...options,
3952
});
4053
}

clients/algoliasearch-client-javascript/packages/client-analytics/builds/node.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import type {
22
Host,
33
Requester,
44
} from '@experimental-api-clients-automation/client-common';
5+
import {
6+
createMemoryCache,
7+
createNullCache,
8+
} from '@experimental-api-clients-automation/client-common';
59
import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http';
610

711
import { createAnalyticsApi } from '../src/analyticsApi';
@@ -34,6 +38,9 @@ export function analyticsApi(
3438
},
3539
requester: options?.requester ?? createHttpRequester(),
3640
userAgents: [{ segment: 'Node.js', version: process.versions.node }],
41+
responsesCache: createNullCache(),
42+
requestsCache: createNullCache(),
43+
hostsCache: createMemoryCache(),
3744
...options,
3845
});
3946
}

clients/algoliasearch-client-javascript/packages/client-analytics/src/analyticsApi.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {
22
createAuth,
3-
createMemoryCache,
43
createTransporter,
54
getUserAgent,
65
} from '@experimental-api-clients-automation/client-common';
@@ -53,7 +52,9 @@ export function createAnalyticsApi(
5352
const auth = createAuth(options.appId, options.apiKey, options.authMode);
5453
const transporter = createTransporter({
5554
hosts: options?.hosts ?? getDefaultHosts(options.region),
56-
hostsCache: createMemoryCache(),
55+
hostsCache: options.hostsCache,
56+
requestsCache: options.requestsCache,
57+
responsesCache: options.responsesCache,
5758
baseHeaders: {
5859
'content-type': 'application/x-www-form-urlencoded',
5960
...auth.headers(),

clients/algoliasearch-client-javascript/packages/client-common/jest.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { Config } from '@jest/types';
22

33
const baseConfig: Config.InitialOptions = {
44
preset: 'ts-jest',
5-
roots: ['src/__tests__/cache'],
5+
roots: ['src/__tests__'],
66
};
77

88
const config: Config.InitialOptions = {

clients/algoliasearch-client-javascript/packages/client-insights/builds/browser.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@ import type {
22
Host,
33
Requester,
44
} from '@experimental-api-clients-automation/client-common';
5+
import {
6+
createMemoryCache,
7+
createFallbackableCache,
8+
createBrowserLocalStorageCache,
9+
} from '@experimental-api-clients-automation/client-common';
510
import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr';
611

7-
import { createInsightsApi } from '../src/insightsApi';
12+
import { createInsightsApi, apiClientVersion } from '../src/insightsApi';
813
import type { InsightsApi, Region } from '../src/insightsApi';
914

1015
export * from '../src/insightsApi';
@@ -35,6 +40,14 @@ export function insightsApi(
3540
requester: options?.requester ?? createXhrRequester(),
3641
userAgents: [{ segment: 'Browser' }],
3742
authMode: 'WithinQueryParameters',
43+
responsesCache: createMemoryCache(),
44+
requestsCache: createMemoryCache({ serializable: false }),
45+
hostsCache: createFallbackableCache({
46+
caches: [
47+
createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }),
48+
createMemoryCache(),
49+
],
50+
}),
3851
...options,
3952
});
4053
}

clients/algoliasearch-client-javascript/packages/client-insights/builds/node.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import type {
22
Host,
33
Requester,
44
} from '@experimental-api-clients-automation/client-common';
5+
import {
6+
createMemoryCache,
7+
createNullCache,
8+
} from '@experimental-api-clients-automation/client-common';
59
import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http';
610

711
import { createInsightsApi } from '../src/insightsApi';
@@ -34,6 +38,9 @@ export function insightsApi(
3438
},
3539
requester: options?.requester ?? createHttpRequester(),
3640
userAgents: [{ segment: 'Node.js', version: process.versions.node }],
41+
responsesCache: createNullCache(),
42+
requestsCache: createNullCache(),
43+
hostsCache: createMemoryCache(),
3744
...options,
3845
});
3946
}

clients/algoliasearch-client-javascript/packages/client-insights/src/insightsApi.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {
22
createAuth,
3-
createMemoryCache,
43
createTransporter,
54
getUserAgent,
65
} from '@experimental-api-clients-automation/client-common';
@@ -38,7 +37,9 @@ export function createInsightsApi(
3837
const auth = createAuth(options.appId, options.apiKey, options.authMode);
3938
const transporter = createTransporter({
4039
hosts: options?.hosts ?? getDefaultHosts(options.region),
41-
hostsCache: createMemoryCache(),
40+
hostsCache: options.hostsCache,
41+
requestsCache: options.requestsCache,
42+
responsesCache: options.responsesCache,
4243
baseHeaders: {
4344
'content-type': 'application/x-www-form-urlencoded',
4445
...auth.headers(),

clients/algoliasearch-client-javascript/packages/client-personalization/builds/browser.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,17 @@ import type {
22
Host,
33
Requester,
44
} from '@experimental-api-clients-automation/client-common';
5+
import {
6+
createMemoryCache,
7+
createFallbackableCache,
8+
createBrowserLocalStorageCache,
9+
} from '@experimental-api-clients-automation/client-common';
510
import { createXhrRequester } from '@experimental-api-clients-automation/requester-browser-xhr';
611

7-
import { createPersonalizationApi } from '../src/personalizationApi';
12+
import {
13+
createPersonalizationApi,
14+
apiClientVersion,
15+
} from '../src/personalizationApi';
816
import type { PersonalizationApi, Region } from '../src/personalizationApi';
917

1018
export * from '../src/personalizationApi';
@@ -39,6 +47,14 @@ export function personalizationApi(
3947
requester: options?.requester ?? createXhrRequester(),
4048
userAgents: [{ segment: 'Browser' }],
4149
authMode: 'WithinQueryParameters',
50+
responsesCache: createMemoryCache(),
51+
requestsCache: createMemoryCache({ serializable: false }),
52+
hostsCache: createFallbackableCache({
53+
caches: [
54+
createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }),
55+
createMemoryCache(),
56+
],
57+
}),
4258
...options,
4359
});
4460
}

clients/algoliasearch-client-javascript/packages/client-personalization/builds/node.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import type {
22
Host,
33
Requester,
44
} from '@experimental-api-clients-automation/client-common';
5+
import {
6+
createMemoryCache,
7+
createNullCache,
8+
} from '@experimental-api-clients-automation/client-common';
59
import { createHttpRequester } from '@experimental-api-clients-automation/requester-node-http';
610

711
import { createPersonalizationApi } from '../src/personalizationApi';
@@ -38,6 +42,9 @@ export function personalizationApi(
3842
},
3943
requester: options?.requester ?? createHttpRequester(),
4044
userAgents: [{ segment: 'Node.js', version: process.versions.node }],
45+
responsesCache: createNullCache(),
46+
requestsCache: createNullCache(),
47+
hostsCache: createMemoryCache(),
4148
...options,
4249
});
4350
}

clients/algoliasearch-client-javascript/packages/client-personalization/src/personalizationApi.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {
22
createAuth,
3-
createMemoryCache,
43
createTransporter,
54
getUserAgent,
65
} from '@experimental-api-clients-automation/client-common';
@@ -38,7 +37,9 @@ export function createPersonalizationApi(
3837
const auth = createAuth(options.appId, options.apiKey, options.authMode);
3938
const transporter = createTransporter({
4039
hosts: options?.hosts ?? getDefaultHosts(options.region),
41-
hostsCache: createMemoryCache(),
40+
hostsCache: options.hostsCache,
41+
requestsCache: options.requestsCache,
42+
responsesCache: options.responsesCache,
4243
baseHeaders: {
4344
'content-type': 'application/x-www-form-urlencoded',
4445
...auth.headers(),

0 commit comments

Comments
 (0)