Skip to content

Commit 9699607

Browse files
authored
Merge 7eb0d5f into 007fbe1
2 parents 007fbe1 + 7eb0d5f commit 9699607

File tree

12 files changed

+67
-33
lines changed

12 files changed

+67
-33
lines changed

clients/algoliasearch-client-javascript/README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,11 @@ Without a package manager
4747
Add the following JavaScript snippet to the <head> of your website:
4848

4949
```html
50-
<script src="https://cdn.jsdelivr.net/npm/algoliasearch/dist/algoliasearch.umd.min.js"></script>
50+
// for the full client
51+
<script src="https://cdn.jsdelivr.net/npm/algoliasearch/dist/algoliasearch.umd.js"></script>
52+
53+
// for the lite client
54+
<script src="https://cdn.jsdelivr.net/npm/algoliasearch/dist/lite/builds/browser.umd.js"></script>
5155
```
5256

5357
You can now import the Algolia API client in your project and play with it.
@@ -63,7 +67,7 @@ import { liteClient } from 'algoliasearch/lite';
6367
const client = liteClient('YOUR_APP_ID', 'YOUR_API_KEY');
6468
```
6569

66-
For full documentation, visit the **[Algolia JavaScript API Client](https://www.algolia.com/doc/libraries/javascript/)**.
70+
For full documentation, visit the **[Algolia JavaScript API Client](https://www.algolia.com/doc/libraries/javascript/v5/methods/search/)**.
6771

6872
## ❓ Troubleshooting
6973

generators/src/main/java/com/algolia/codegen/AlgoliaJavascriptGenerator.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,14 +148,23 @@ public static String getPackageName(String client) throws ConfigException {
148148

149149
/** Set default generator options */
150150
private void setDefaultGeneratorOptions() {
151-
String apiName = CLIENT + Helpers.API_SUFFIX;
151+
String clientName = CLIENT + Helpers.API_SUFFIX;
152152
String packageName = getPackageName((String) additionalProperties.get("client"));
153153

154-
additionalProperties.put("apiName", apiName);
154+
additionalProperties.put("apiName", CLIENT);
155+
additionalProperties.put("clientName", clientName);
155156
additionalProperties.put("algoliaAgent", Helpers.capitalize(CLIENT));
156157
additionalProperties.put("isSearchClient", CLIENT.equals("search") || isAlgoliasearchClient);
157158
additionalProperties.put("isIngestionClient", CLIENT.equals("ingestion"));
158159
additionalProperties.put("isAlgoliasearchClient", isAlgoliasearchClient);
160+
additionalProperties.put(
161+
"isAvailableInAlgoliasearch",
162+
CLIENT.equals("search") ||
163+
CLIENT.equals("recommend") ||
164+
CLIENT.equals("personalization") ||
165+
CLIENT.equals("analytics") ||
166+
CLIENT.equals("abtesting")
167+
);
159168
additionalProperties.put("packageVersion", Helpers.getPackageJsonVersion(packageName));
160169
additionalProperties.put("packageName", packageName);
161170
additionalProperties.put("npmPackageName", isAlgoliasearchClient ? packageName : "@algolia/" + packageName);
@@ -170,8 +179,9 @@ private void setDefaultGeneratorOptions() {
170179
additionalProperties.put("recommendVersion", Helpers.getPackageJsonVersion("recommend"));
171180

172181
// Files used to generate the `lite` client
173-
apiName = "lite" + Helpers.API_SUFFIX;
174-
additionalProperties.put("apiName", apiName);
182+
clientName = "lite" + Helpers.API_SUFFIX;
183+
additionalProperties.put("apiName", "search");
184+
additionalProperties.put("clientName", clientName);
175185
additionalProperties.put("algoliaAgent", "Lite");
176186
}
177187
}

templates/javascript/clients/README.mustache

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,45 +32,65 @@
3232

3333
## 💡 Getting Started
3434

35-
To get started, you first need to install {{npmPackageName}} (or any other available API client package).
35+
{{#isAvailableInAlgoliasearch}}
36+
> [!TIP]
37+
> This API client is already a dependency of [the algoliasearch client](https://www.npmjs.com/package/algoliasearch), you don't need to manually install `{{{npmPackageName}}}` if you already have `algoliasearch` installed.
38+
{{/isAvailableInAlgoliasearch}}
3639

40+
To get started, you first need to install {{npmPackageName}} (or any other available API client package).
3741
All of our clients comes with type definition, and are available for both browser and node environments.
3842

43+
### With a package manager
44+
45+
3946
```bash
40-
yarn add {{npmPackageName}}
47+
yarn add {{npmPackageName}}@{{{packageVersion}}}
48+
# or
49+
npm install {{npmPackageName}}@{{{packageVersion}}}
4150
# or
42-
npm install {{npmPackageName}}
51+
pnpm add {{npmPackageName}}@{{{packageVersion}}}
4352
```
4453

45-
Without a package manager
54+
### Without a package manager
4655

4756
Add the following JavaScript snippet to the <head> of your website:
4857

4958
```html
50-
<script src="https://cdn.jsdelivr.net/npm/algoliasearch/dist/{{packageName}}.umd.min.js"></script>
59+
{{#isAlgoliasearchClient}}
60+
// for the full client
61+
<script src="https://cdn.jsdelivr.net/npm/algoliasearch@{{{packageVersion}}}/dist/algoliasearch.umd.js"></script>
62+
63+
// for the lite client
64+
<script src="https://cdn.jsdelivr.net/npm/algoliasearch@{{{packageVersion}}}/dist/lite/builds/browser.umd.js"></script>
65+
{{/isAlgoliasearchClient}}
66+
{{^isAlgoliasearchClient}}
67+
<script src="https://cdn.jsdelivr.net/npm/{{{npmPackageName}}}@{{{packageVersion}}}/dist/builds/browser.umd.js"></script>
68+
{{/isAlgoliasearchClient}}
5169
```
5270

71+
### Usage
72+
5373
You can now import the Algolia API client in your project and play with it.
5474

5575
```js
5676
{{^isAlgoliasearchClient}}
57-
import { {{apiName}} } from '{{npmPackageName}}';
77+
import { {{clientName}} } from '{{npmPackageName}}';
5878

59-
const client = {{apiName}}('YOUR_APP_ID', 'YOUR_API_KEY');
79+
const client = {{clientName}}('YOUR_APP_ID', 'YOUR_API_KEY');
6080
{{/isAlgoliasearchClient}}
6181
{{#isAlgoliasearchClient}}
6282
import { algoliasearch } from '{{npmPackageName}}';
6383

6484
const client = algoliasearch('YOUR_APP_ID', 'YOUR_API_KEY');
6585

6686
// or with the lite client
67-
import { {{apiName}} } from '{{npmPackageName}}/lite';
87+
import { {{clientName}} } from '{{npmPackageName}}/lite';
6888

69-
const client = {{apiName}}('YOUR_APP_ID', 'YOUR_API_KEY');
89+
const client = {{clientName}}('YOUR_APP_ID', 'YOUR_API_KEY');
7090
{{/isAlgoliasearchClient}}
7191
```
7292

73-
For full documentation, visit the **[Algolia JavaScript API Client](https://www.algolia.com/doc/libraries/javascript/)**.
93+
For full documentation, visit the **[Algolia JavaScript API Client](https://www.algolia.com/doc/libraries/javascript/v5/methods/{{#lambda.kebabcase}}{{apiName}}{{/lambda.kebabcase}}/)**.
7494

7595
## ❓ Troubleshooting
7696

templates/javascript/clients/api-single.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export const apiClientVersion = '{{packageVersion}}';
1313
{{/isIngestionClient}}
1414

1515
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
16-
export function create{{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}}({
16+
export function create{{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}}({
1717
appId: appIdOption,
1818
apiKey: apiKeyOption,
1919
authMode,

templates/javascript/clients/client/builds/browser.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// {{{generationBanner}}}
22

3-
export type {{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}} = ReturnType<typeof create{{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}}>;
3+
export type {{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}} = ReturnType<typeof create{{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}}>;
44

55
{{> client/builds/definition}}
6-
return create{{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}}({
6+
return create{{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}}({
77
appId,
88
apiKey,{{#hasRegionalHost}}region,{{/hasRegionalHost}}
99
timeouts: {

templates/javascript/clients/client/builds/definition.mustache

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import { createHttpRequester } from '@algolia/requester-node-http';
33
import { createFetchRequester } from '@algolia/requester-fetch';
44
import { createNullLogger, createMemoryCache, createFallbackableCache, createBrowserLocalStorageCache, createNullCache, ClientOptions, serializeQueryParameters, DEFAULT_CONNECT_TIMEOUT_NODE, DEFAULT_READ_TIMEOUT_NODE, DEFAULT_WRITE_TIMEOUT_NODE, DEFAULT_CONNECT_TIMEOUT_BROWSER, DEFAULT_READ_TIMEOUT_BROWSER, DEFAULT_WRITE_TIMEOUT_BROWSER } from '@algolia/client-common';
55

6-
import { create{{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}}, apiClientVersion } from '../src/{{apiName}}';
6+
import { create{{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}}, apiClientVersion } from '../src/{{clientName}}';
77

88
{{#hasRegionalHost}}
9-
import { Region, REGIONS } from '../src/{{apiName}}';
9+
import { Region, REGIONS } from '../src/{{clientName}}';
1010
{{/hasRegionalHost}}
1111

1212
{{! We don't use `export *` to prevent exposing the factory, to avoid confusion for the user }}
@@ -20,7 +20,7 @@ export {
2020
isScheduleTrigger,
2121
isSubscriptionTrigger,
2222
{{/isIngestionClient}}
23-
} from '../src/{{apiName}}';
23+
} from '../src/{{clientName}}';
2424
export * from '../model';
2525

2626
{{#isSearchClient}}
@@ -32,11 +32,11 @@ import {createHmac} from 'node:crypto';
3232
{{/nodeSearchHelpers}}
3333

3434
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
35-
export function {{apiName}}(
35+
export function {{clientName}}(
3636
appId: string,
3737
apiKey: string,{{#hasRegionalHost}}region{{#fallbackToAliasHost}}?{{/fallbackToAliasHost}}: Region,{{/hasRegionalHost}}
3838
options?: ClientOptions
39-
): {{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}} {
39+
): {{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}} {
4040
if (!appId || typeof appId !== 'string') {
4141
throw new Error("`appId` is missing.");
4242
}

templates/javascript/clients/client/builds/fetch.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// {{{generationBanner}}}
22

3-
export type {{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}} = ReturnType<typeof create{{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}}>{{#nodeSearchHelpers}} & SearchClientNodeHelpers{{/nodeSearchHelpers}};
3+
export type {{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}} = ReturnType<typeof create{{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}}>{{#nodeSearchHelpers}} & SearchClientNodeHelpers{{/nodeSearchHelpers}};
44

55
{{> client/builds/definition}}
66
return {
7-
...create{{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}}({
7+
...create{{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}}({
88
appId,
99
apiKey,{{#hasRegionalHost}}region,{{/hasRegionalHost}}
1010
timeouts: {

templates/javascript/clients/client/builds/liteNode.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// {{{generationBanner}}}
22

3-
export type {{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}} = ReturnType<typeof create{{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}}>;
3+
export type {{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}} = ReturnType<typeof create{{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}}>;
44

55
{{> client/builds/definition}}
6-
return create{{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}}({
6+
return create{{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}}({
77
appId,
88
apiKey,{{#hasRegionalHost}}region,{{/hasRegionalHost}}
99
timeouts: {

templates/javascript/clients/client/builds/node.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// {{{generationBanner}}}
22

3-
export type {{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}} = ReturnType<typeof create{{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}}>{{#nodeSearchHelpers}} & SearchClientNodeHelpers{{/nodeSearchHelpers}};
3+
export type {{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}} = ReturnType<typeof create{{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}}>{{#nodeSearchHelpers}} & SearchClientNodeHelpers{{/nodeSearchHelpers}};
44

55
{{> client/builds/definition}}
66
return {
7-
...create{{#lambda.titlecase}}{{apiName}}{{/lambda.titlecase}}({
7+
...create{{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}}({
88
appId,
99
apiKey,{{#hasRegionalHost}}region,{{/hasRegionalHost}}
1010
timeouts: {

templates/javascript/clients/rollup.config.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export default [
1818
['lite']: 'lite',
1919
{{/isAlgoliasearchClient}}
2020
{{^isAlgoliasearchClient}}
21-
['{{apiName}}']: '{{apiName}}',
21+
['{{clientName}}']: '{{clientName}}',
2222
{{/isAlgoliasearchClient}}
2323
},
2424
},

templates/javascript/clients/tsup.config.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ const nodeConfigs: Options[] = [
6767
const browserOptions: Options = {
6868
...getBaseBrowserOptions(pkg, __dirname),
6969
{{^isAlgoliasearchClient}}
70-
globalName: '{{apiName}}',
70+
globalName: '{{clientName}}',
7171
{{/isAlgoliasearchClient}}
7272
{{#isAlgoliasearchClient}}
7373
globalName: 'lite',

templates/kotlin/README.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ var response = client.search(
114114
println(response)
115115
```
116116

117-
For full documentation, visit the **[Algolia Kotlin API Client](https://www.algolia.com/doc/libraries/kotlin/)**.
117+
For full documentation, visit the **[Algolia Kotlin API Client](https://www.algolia.com/doc/libraries/kotlin/v3/)**.
118118

119119
## ❓ Troubleshooting
120120

0 commit comments

Comments
 (0)