Skip to content

Commit 3994f53

Browse files
benamibBilel Benamirashortcuts
authored
feat(clients): add new realtime-personalization api (#4613)
Co-authored-by: Bilel Benamira <bilel.benamira@algolia.com> Co-authored-by: shortcuts <vannicattec@gmail.com>
1 parent d33037a commit 3994f53

File tree

30 files changed

+422
-101
lines changed

30 files changed

+422
-101
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
targets:
2+
$default:
3+
builders:
4+
json_serializable:
5+
options:
6+
any_map: false
7+
checked: true
8+
create_factory: true
9+
create_to_json: true
10+
disallow_unrecognized_keys: false
11+
explicit_to_json: true
12+
field_rename: none
13+
ignore_unannotated: false
14+
include_if_null: false
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

clients/algoliasearch-client-javascript/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"packages/*"
88
],
99
"scripts": {
10-
"build": "lerna run build --skip-nx-cache --scope '@algolia/requester-testing' --scope '@algolia/logger-console' --scope 'algoliasearch' --scope '@algolia/client-composition' --scope '@algolia/composition' --include-dependencies",
10+
"build": "lerna run build --skip-nx-cache --scope '@algolia/requester-testing' --scope '@algolia/logger-console' --scope 'algoliasearch' --scope '@algolia/client-composition' --scope '@algolia/composition' --scope '@algolia/client-realtime-personalization' --include-dependencies",
1111
"clean": "lerna run clean",
1212
"release:publish": "tsc --project scripts/tsconfig.json && node scripts/dist/publish.js",
1313
"test": "lerna run test $*",
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
{
2+
"version": "0.0.1-alpha.0",
3+
"repository": {
4+
"type": "git",
5+
"url": "git+https://github.com/algolia/algoliasearch-client-javascript.git"
6+
},
7+
"homepage": "https://github.com/algolia/algoliasearch-client-javascript/packages/client-realtime-personalization#readme",
8+
"type": "module",
9+
"license": "MIT",
10+
"author": "Algolia",
11+
"scripts": {
12+
"build": "yarn clean && yarn tsup && yarn rollup -c rollup.config.js",
13+
"clean": "rm -rf ./dist || true",
14+
"test:bundle": "publint . && attw --pack ."
15+
},
16+
"name": "@algolia/client-realtime-personalization",
17+
"description": "JavaScript client for client-realtime-personalization",
18+
"exports": {
19+
".": {
20+
"node": {
21+
"types": {
22+
"import": "./dist/node.d.ts",
23+
"module": "./dist/node.d.ts",
24+
"require": "./dist/node.d.cts"
25+
},
26+
"import": "./dist/builds/node.js",
27+
"module": "./dist/builds/node.js",
28+
"require": "./dist/builds/node.cjs"
29+
},
30+
"worker": {
31+
"types": "./dist/worker.d.ts",
32+
"default": "./dist/builds/worker.js"
33+
},
34+
"default": {
35+
"types": "./dist/browser.d.ts",
36+
"module": "./dist/builds/browser.js",
37+
"import": "./dist/builds/browser.js",
38+
"default": "./dist/builds/browser.umd.js"
39+
}
40+
},
41+
"./dist/builds/*": "./dist/builds/*.js"
42+
},
43+
"jsdelivr": "./dist/builds/browser.umd.js",
44+
"unpkg": "./dist/builds/browser.umd.js",
45+
"react-native": "./dist/builds/browser.js",
46+
"files": [
47+
"dist",
48+
"index.js",
49+
"index.d.ts"
50+
],
51+
"dependencies": {
52+
"@algolia/client-common": "5.22.0",
53+
"@algolia/requester-browser-xhr": "5.22.0",
54+
"@algolia/requester-fetch": "5.22.0",
55+
"@algolia/requester-node-http": "5.22.0"
56+
},
57+
"devDependencies": {
58+
"@arethetypeswrong/cli": "0.17.4",
59+
"@types/node": "22.13.11",
60+
"publint": "0.3.9",
61+
"rollup": "4.36.0",
62+
"tsup": "8.4.0",
63+
"typescript": "5.7.3"
64+
},
65+
"engines": {
66+
"node": ">= 14.0.0"
67+
}
68+
}

clients/algoliasearch-client-javascript/yarn.lock

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,23 @@ __metadata:
122122
languageName: unknown
123123
linkType: soft
124124

125+
"@algolia/client-realtime-personalization@workspace:packages/client-realtime-personalization":
126+
version: 0.0.0-use.local
127+
resolution: "@algolia/client-realtime-personalization@workspace:packages/client-realtime-personalization"
128+
dependencies:
129+
"@algolia/client-common": "npm:5.22.0"
130+
"@algolia/requester-browser-xhr": "npm:5.22.0"
131+
"@algolia/requester-fetch": "npm:5.22.0"
132+
"@algolia/requester-node-http": "npm:5.22.0"
133+
"@arethetypeswrong/cli": "npm:0.17.4"
134+
"@types/node": "npm:22.13.11"
135+
publint: "npm:0.3.9"
136+
rollup: "npm:4.36.0"
137+
tsup: "npm:8.4.0"
138+
typescript: "npm:5.7.3"
139+
languageName: unknown
140+
linkType: soft
141+
125142
"@algolia/client-search@npm:5.22.0, @algolia/client-search@workspace:packages/client-search":
126143
version: 0.0.0-use.local
127144
resolution: "@algolia/client-search@workspace:packages/client-search"

config/clients.config.json

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"personalization",
1111
"query-suggestions",
1212
"recommend",
13-
"search"
13+
"search",
14+
"realtime-personalization"
1415
],
1516
"folder": "clients/algoliasearch-client-csharp",
1617
"gitRepoId": "algoliasearch-client-csharp",
@@ -48,6 +49,10 @@
4849
{
4950
"name": "search",
5051
"output": "clients/algoliasearch-client-dart/packages/client_search"
52+
},
53+
{
54+
"name": "realtime-personalization",
55+
"output": "clients/algoliasearch-client-dart/packages/client_realtime_personalization"
5156
}
5257
],
5358
"folder": "clients/algoliasearch-client-dart",
@@ -76,7 +81,8 @@
7681
"personalization",
7782
"query-suggestions",
7883
"recommend",
79-
"search"
84+
"search",
85+
"realtime-personalization"
8086
],
8187
"folder": "clients/algoliasearch-client-go",
8288
"gitRepoId": "algoliasearch-client-go",
@@ -104,7 +110,8 @@
104110
"personalization",
105111
"query-suggestions",
106112
"recommend",
107-
"search"
113+
"search",
114+
"realtime-personalization"
108115
],
109116
"folder": "clients/algoliasearch-client-java",
110117
"gitRepoId": "algoliasearch-client-java",
@@ -176,6 +183,10 @@
176183
{
177184
"name": "composition-full",
178185
"output": "clients/algoliasearch-client-javascript/packages/client-composition"
186+
},
187+
{
188+
"name": "realtime-personalization",
189+
"output": "clients/algoliasearch-client-javascript/packages/client-realtime-personalization"
179190
}
180191
],
181192
"folder": "clients/algoliasearch-client-javascript",
@@ -203,7 +214,8 @@
203214
"personalization",
204215
"query-suggestions",
205216
"recommend",
206-
"search"
217+
"search",
218+
"realtime-personalization"
207219
],
208220
"folder": "clients/algoliasearch-client-kotlin",
209221
"gitRepoId": "algoliasearch-client-kotlin",
@@ -231,7 +243,8 @@
231243
"personalization",
232244
"query-suggestions",
233245
"recommend",
234-
"search"
246+
"search",
247+
"realtime-personalization"
235248
],
236249
"folder": "clients/algoliasearch-client-php",
237250
"gitRepoId": "algoliasearch-client-php",
@@ -259,7 +272,8 @@
259272
"personalization",
260273
"query-suggestions",
261274
"recommend",
262-
"search"
275+
"search",
276+
"realtime-personalization"
263277
],
264278
"folder": "clients/algoliasearch-client-python",
265279
"gitRepoId": "algoliasearch-client-python",
@@ -294,7 +308,8 @@
294308
"personalization",
295309
"query-suggestions",
296310
"recommend",
297-
"search"
311+
"search",
312+
"realtime-personalization"
298313
],
299314
"folder": "clients/algoliasearch-client-ruby",
300315
"gitRepoId": "algoliasearch-client-ruby",
@@ -322,7 +337,8 @@
322337
"personalization",
323338
"query-suggestions",
324339
"recommend",
325-
"search"
340+
"search",
341+
"realtime-personalization"
326342
],
327343
"folder": "clients/algoliasearch-client-scala",
328344
"gitRepoId": "algoliasearch-client-scala",
@@ -349,7 +365,8 @@
349365
"personalization",
350366
"query-suggestions",
351367
"recommend",
352-
"search"
368+
"search",
369+
"realtime-personalization"
353370
],
354371
"folder": "clients/algoliasearch-client-swift",
355372
"gitRepoId": "algoliasearch-client-swift",

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ public String getName() {
2828
public void processOpts() {
2929
String client = (String) additionalProperties.get("client");
3030

31-
additionalProperties.put("packageName", client.equals("query-suggestions") ? "suggestions" : client);
31+
additionalProperties.put("packageName", client.equals("query-suggestions") ? "suggestions" : Helpers.camelize(client));
3232
additionalProperties.put("enumClassPrefix", true);
33-
additionalProperties.put("is" + Helpers.capitalize(Helpers.camelize((String) additionalProperties.get("client"))) + "Client", true);
33+
additionalProperties.put("is" + Helpers.capitalize(Helpers.camelize(client)) + "Client", true);
3434

3535
String outputFolder = "algolia" + File.separator + client;
3636
setOutputDir(getOutputDir() + File.separator + outputFolder);

generators/src/main/java/com/algolia/codegen/cts/AlgoliaCTSGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public Map<String, Object> postProcessSupportingFileData(Map<String, Object> obj
145145
// We can put whatever we want in the bundle, and it will be accessible in the template
146146
bundle.put("mode", mode);
147147
bundle.put("is" + Helpers.capitalize(Helpers.camelize(client)) + "Client", true);
148-
bundle.put("isStandaloneClient", client.contains("search") || client.contains("composition"));
148+
bundle.put("isStandaloneClient", client.contains("search") || client.contains("composition") || client.contains("realtime"));
149149
bundle.put("isSearchClient", client.contains("search")); // just so algoliasearch is treated as a search client too
150150
bundle.put("client", Helpers.createClientName(importClientName, language) + "Client");
151151
bundle.put("clientPrefix", Helpers.createClientName(importClientName, language));

generators/src/main/java/com/algolia/codegen/cts/manager/GoCTSManager.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,13 @@ public String getClient() {
2323

2424
@Override
2525
public void addDataToBundle(Map<String, Object> bundle) throws GeneratorException {
26-
Object clientPrefix = bundle.get("clientPrefix");
26+
String clientPrefix = (String) bundle.get("clientPrefix");
2727
bundle.put("clientName", Helpers.toPascalCase(this.client));
2828

2929
if (clientPrefix.equals("query-suggestions")) {
3030
bundle.put("clientPrefix", "suggestions");
31+
} else {
32+
bundle.put("clientPrefix", Helpers.camelize(clientPrefix));
3133
}
3234

3335
bundle.put("clientImport", clientPrefix);

0 commit comments

Comments
 (0)