Skip to content

Commit d76009d

Browse files
committed
fix: gen and build
1 parent fb8d939 commit d76009d

File tree

6 files changed

+79
-5
lines changed

6 files changed

+79
-5
lines changed

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' --scope '@algolia/advanced-personalization' --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/advanced-personalization' --scope '@algolia/abtesting' --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 $*",

clients/algoliasearch-client-javascript/yarn.lock

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,23 @@ __metadata:
55
version: 8
66
cacheKey: 10
77

8+
"@algolia/abtesting@workspace:packages/abtesting":
9+
version: 0.0.0-use.local
10+
resolution: "@algolia/abtesting@workspace:packages/abtesting"
11+
dependencies:
12+
"@algolia/client-common": "npm:5.30.0"
13+
"@algolia/requester-browser-xhr": "npm:5.30.0"
14+
"@algolia/requester-fetch": "npm:5.30.0"
15+
"@algolia/requester-node-http": "npm:5.30.0"
16+
"@arethetypeswrong/cli": "npm:0.18.2"
17+
"@types/node": "npm:22.15.34"
18+
publint: "npm:0.3.12"
19+
rollup: "npm:4.41.0"
20+
tsup: "npm:8.5.0"
21+
typescript: "npm:5.8.3"
22+
languageName: unknown
23+
linkType: soft
24+
825
"@algolia/advanced-personalization@workspace:packages/advanced-personalization":
926
version: 0.0.0-use.local
1027
resolution: "@algolia/advanced-personalization@workspace:packages/advanced-personalization"

config/clients.config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,8 @@
141141
{
142142
"name": "abtesting-v3",
143143
"output": "clients/algoliasearch-client-javascript/packages/abtesting",
144-
"isStandaloneClient": true
144+
"isStandaloneClient": true,
145+
"clientName": "abtesting"
145146
},
146147
{
147148
"name": "analytics",

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

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.algolia.codegen.exceptions.*;
44
import com.algolia.codegen.utils.*;
5+
import com.fasterxml.jackson.databind.JsonNode;
56
import io.swagger.v3.oas.models.OpenAPI;
67
import io.swagger.v3.oas.models.Operation;
78
import io.swagger.v3.oas.models.servers.Server;
@@ -28,7 +29,7 @@ public String getName() {
2829
public void processOpts() {
2930
super.processOpts();
3031

31-
CLIENT = Helpers.camelize((String) additionalProperties.get("client"));
32+
CLIENT = Helpers.camelize(getClientName((String) additionalProperties.get("client")));
3233
isAlgoliasearchClient = CLIENT.equals("algoliasearch");
3334

3435
// generator specific options
@@ -146,14 +147,31 @@ public static String getPackageName(String client) throws ConfigException {
146147
return output.substring(output.lastIndexOf("/") + 1);
147148
}
148149

150+
// Get the clientName from the clients.config.json
151+
public static String getClientName(String client) throws ConfigException {
152+
JsonNode clientName = StreamSupport.stream(
153+
Spliterators.spliteratorUnknownSize(Helpers.getClientConfig("javascript").get("clients").elements(), Spliterator.ORDERED),
154+
false
155+
)
156+
.filter(node -> node.get("name").asText().equals(client))
157+
.findFirst()
158+
.orElseThrow(() -> new ConfigException("Cannot find client " + client + " in config/clients.config.json"))
159+
.get("clientName");
160+
161+
if (clientName == null) {
162+
return client;
163+
}
164+
165+
return clientName.asText();
166+
}
167+
149168
/** Set default generator options */
150169
private void setDefaultGeneratorOptions() {
151170
String clientName = CLIENT + Helpers.API_SUFFIX;
152171
String packageName = getPackageName((String) additionalProperties.get("client"));
153172

154173
additionalProperties.put("apiName", CLIENT);
155-
// Just so the full client doesn't have the weird Full naming
156-
additionalProperties.put("clientName", CLIENT.contains("composition") ? "composition" + Helpers.API_SUFFIX : clientName);
174+
additionalProperties.put("clientName", clientName);
157175
additionalProperties.put("algoliaAgent", Helpers.capitalize(CLIENT));
158176
additionalProperties.put("is" + Helpers.capitalize(Helpers.camelize((String) additionalProperties.get("client"))) + "Client", true);
159177
additionalProperties.put("isSearchClient", CLIENT.equals("search") || isAlgoliasearchClient);
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import { abtestingClient } from '@algolia/abtesting';
2+
import { ApiError } from '@algolia/client-common';
3+
4+
const appId = process.env.ALGOLIA_APPLICATION_ID || '**** APP_ID *****';
5+
const apiKey = process.env.ALGOLIA_ANALYTICS_KEY || '**** ANALYTICS_API_KEY *****';
6+
7+
// Init client with appId and apiKey
8+
const client = abtestingClient(appId, apiKey, 'de');
9+
10+
async function testABTesting() {
11+
try {
12+
const res = await client.addABTests({
13+
endAt: '2022-02-01',
14+
name: 'testing',
15+
variants: [
16+
{
17+
index: 'test1',
18+
trafficPercentage: 30,
19+
},
20+
{
21+
index: 'test2',
22+
trafficPercentage: 50,
23+
},
24+
],
25+
});
26+
27+
console.log(`[OK]`, res);
28+
} catch (e) {
29+
if (e instanceof ApiError) {
30+
return console.log(`[${e.status}] ${e.message}`, e.stackTrace, e);
31+
}
32+
33+
console.log('[ERROR]', e);
34+
}
35+
}
36+
37+
testABTesting();

playground/javascript/node/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"start": "tsc && node --env-file=../../.env dist/$0.js"
88
},
99
"dependencies": {
10+
"@algolia/abtesting": "link:../../../clients/algoliasearch-client-javascript/packages/abtesting",
1011
"@algolia/advanced-personalization": "link:../../../clients/algoliasearch-client-javascript/packages/advanced-personalization",
1112
"@algolia/client-abtesting": "link:../../../clients/algoliasearch-client-javascript/packages/client-abtesting",
1213
"@algolia/client-analytics": "link:../../../clients/algoliasearch-client-javascript/packages/client-analytics",

0 commit comments

Comments
 (0)