Skip to content

Commit a1b192c

Browse files
committed
feat(javascript): assert algoliasearch bundle
1 parent 681658d commit a1b192c

File tree

8 files changed

+27
-111
lines changed

8 files changed

+27
-111
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,14 +165,15 @@ private void setDefaultGeneratorOptions() {
165165
List<Map<String, Object>> packages = Helpers.getClientConfigList("javascript", "clients");
166166
for (Map<String, Object> pkg : packages) {
167167
String name = ((String) pkg.get("output")).replace("clients/algoliasearch-client-javascript/packages/", "");
168-
if (name.contains("search")) {
168+
if (name.contains("algoliasearch")) {
169169
continue;
170170
}
171171

172172
var dependency = new HashMap<String, Object>();
173173
dependency.put("dependencyName", Helpers.createClientName((String) pkg.get("name"), "javascript"));
174174
dependency.put("dependencyPackage", "@algolia/" + name);
175175
dependency.put("dependencyVersion", Helpers.getPackageJsonVersion(name));
176+
dependency.put("withInitMethod", !name.contains("search"));
176177
dependency.put(
177178
"dependencyHasRegionalHosts",
178179
!name.contains("search") && !name.contains("recommend") && !name.contains("monitoring")
@@ -181,7 +182,6 @@ private void setDefaultGeneratorOptions() {
181182
dependencies.add(dependency);
182183
}
183184
additionalProperties.put("dependencies", dependencies);
184-
additionalProperties.put("searchVersion", Helpers.getPackageJsonVersion("client-search"));
185185

186186
// Files used to generate the `lite` client
187187
clientName = "lite" + Helpers.API_SUFFIX;

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

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.algolia.codegen.AlgoliaJavascriptGenerator;
44
import com.algolia.codegen.exceptions.GeneratorException;
55
import com.algolia.codegen.utils.*;
6-
import com.fasterxml.jackson.databind.JsonNode;
76
import java.util.*;
87
import org.openapitools.codegen.SupportingFile;
98

@@ -45,27 +44,7 @@ public void addSnippetsSupportingFiles(List<SupportingFile> supportingFiles, Str
4544
@Override
4645
public void addDataToBundle(Map<String, Object> bundle) throws GeneratorException {
4746
bundle.put("utilsPackageVersion", Helpers.getPackageJsonVersion("client-common"));
48-
49-
List<Map<String, String>> clients = new ArrayList<>();
50-
String importName = "";
51-
52-
Iterator<JsonNode> clientIterator = Helpers.getClientConfig("javascript").get("clients").elements();
53-
while (clientIterator.hasNext()) {
54-
JsonNode c = clientIterator.next();
55-
String output = c.get("output").asText();
56-
String packageName = output.substring(output.lastIndexOf("/") + 1);
57-
if (!packageName.equals("algoliasearch")) {
58-
packageName = "@algolia/" + packageName;
59-
}
60-
61-
clients.add(Map.of("packageName", packageName, "packagePath", "link:../../../" + output.replace("#{cwd}/", "")));
62-
63-
if (c.get("name").asText().equals(client)) {
64-
importName = packageName.replace("algoliasearch", "algoliasearch/lite");
65-
}
66-
}
67-
68-
bundle.put("packageDependencies", clients);
69-
bundle.put("import", importName);
47+
bundle.put("algoliasearchVersion", Helpers.getPackageJsonVersion("algoliasearch"));
48+
bundle.put("initMethod", "init" + Helpers.capitalize(Helpers.camelize(client)));
7049
}
7150
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"build": "yarn build:eslint && yarn scripts:build",
1515
"build:eslint": "yarn workspace eslint-plugin-automation-custom build && yarn install",
1616
"clean": "rm -rf **/dist **/build **/.build **/node_modules **/.gradle **/vendor **/bin **/obj **/__pycache__ || true",
17-
"cli": "yarn workspace scripts start",
17+
"cli": "cd scripts && yarn build:cli && yarn start",
1818
"docker:setup": "./scripts/docker/setup.sh",
1919
"fix:json": "eslint --ext=json . --fix",
2020
"fix:mustache": "eslint --ext=mustache templates/**/tests/ --fix",

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

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

33
import type { ClientOptions } from '@algolia/client-common';
4-
import type { SearchClient } from '@algolia/client-search';
5-
import { searchClient } from '@algolia/client-search';
64

75
{{#dependencies}}
86
import { {{{dependencyName}}}Client } from '{{{dependencyPackage}}}';
@@ -23,7 +21,9 @@ export * from './models';
2321

2422
export type Algoliasearch = SearchClient & {
2523
{{#dependencies}}
24+
{{#withInitMethod}}
2625
init{{#lambda.titlecase}}{{{dependencyName}}}{{/lambda.titlecase}}: (initOptions: InitClientOptions {{#dependencyHasRegionalHosts}}& {{#lambda.titlecase}}{{{dependencyName}}}RegionOptions{{/lambda.titlecase}}{{/dependencyHasRegionalHosts}}) => {{#lambda.titlecase}}{{{dependencyName}}}{{/lambda.titlecase}}Client;
26+
{{/withInitMethod}}
2727
{{/dependencies}}
2828
};
2929

@@ -49,9 +49,11 @@ export function algoliasearch(appId: string, apiKey: string, options?: ClientOpt
4949
},
5050

5151
{{#dependencies}}
52+
{{#withInitMethod}}
5253
init{{#lambda.titlecase}}{{{dependencyName}}}{{/lambda.titlecase}}: (initOptions: InitClientOptions {{#dependencyHasRegionalHosts}}& {{#lambda.titlecase}}{{{dependencyName}}}RegionOptions{{/lambda.titlecase}}{{/dependencyHasRegionalHosts}}): {{#lambda.titlecase}}{{{dependencyName}}}{{/lambda.titlecase}}Client => {
5354
return {{{dependencyName}}}Client(initOptions.appId || appId, initOptions.apiKey || apiKey, {{#dependencyHasRegionalHosts}}initOptions.region,{{/dependencyHasRegionalHosts}}initOptions.options);
5455
},
56+
{{/withInitMethod}}
5557

5658
{{/dependencies}}
5759
}

templates/javascript/clients/package.mustache

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,6 @@
123123
{{#dependencies}}
124124
"{{{dependencyPackage}}}": "{{{dependencyVersion}}}",
125125
{{/dependencies}}
126-
"@algolia/client-search": "{{searchVersion}}",
127126
"@algolia/client-common": "{{utilsPackageVersion}}",
128127
"@algolia/requester-browser-xhr": "{{utilsPackageVersion}}",
129128
"@algolia/requester-node-http": "{{utilsPackageVersion}}",

templates/javascript/tests/package.mustache

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
"test": "tsc --noEmit && vitest run"
66
},
77
"dependencies": {
8-
{{#packageDependencies}}
9-
"{{{packageName}}}": "{{{packagePath}}}",
10-
{{/packageDependencies}}
8+
"algoliasearch": "link:../../../clients/algoliasearch-client-javascript/packages/algoliasearch",
119
"@algolia/client-common": "link:../../../clients/algoliasearch-client-javascript/packages/client-common",
1210
"@algolia/requester-testing": "link:../../../clients/algoliasearch-client-javascript/packages/requester-testing"
1311
},

templates/javascript/tests/requests/requests.mustache

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
// {{generationBanner}}
22
import { describe, test, expect } from 'vitest';
33

4-
import { {{client}} } from '{{{import}}}';
4+
import { algoliasearch } from 'algoliasearch';
55
import { nodeEchoRequester } from '@algolia/requester-testing';
66
import type { EchoResponse } from '@algolia/requester-testing';
77
import type { RequestOptions } from '@algolia/client-common';
88

99
const appId = process.env.ALGOLIA_APPLICATION_ID || 'test_app_id';
1010
const apiKey = process.env.ALGOLIA_SEARCH_KEY || 'test_api_key';
1111

12-
const client = {{client}}(appId, apiKey, {{#hasRegionalHost}}'{{{defaultRegion}}}', {{/hasRegionalHost}}{ requester: nodeEchoRequester() });
12+
const algoliasearchClient = algoliasearch(appId, apiKey);
13+
const client = algoliasearchClient.{{{initMethod}}}({ {{#hasRegionalHost}}region:'{{{defaultRegion}}}',{{/hasRegionalHost}} options: { requester: nodeEchoRequester() }});
1314

1415
{{#blocksRequests}}
1516
describe('{{operationId}}', () => {

tests/output/javascript/yarn.lock

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

8-
"@algolia/client-abtesting@link:../../../clients/algoliasearch-client-javascript/packages/client-abtesting::locator=javascript-tests%40workspace%3A.":
9-
version: 0.0.0-use.local
10-
resolution: "@algolia/client-abtesting@link:../../../clients/algoliasearch-client-javascript/packages/client-abtesting::locator=javascript-tests%40workspace%3A."
11-
languageName: node
12-
linkType: soft
13-
14-
"@algolia/client-analytics@link:../../../clients/algoliasearch-client-javascript/packages/client-analytics::locator=javascript-tests%40workspace%3A.":
15-
version: 0.0.0-use.local
16-
resolution: "@algolia/client-analytics@link:../../../clients/algoliasearch-client-javascript/packages/client-analytics::locator=javascript-tests%40workspace%3A."
17-
languageName: node
18-
linkType: soft
19-
208
"@algolia/client-common@link:../../../clients/algoliasearch-client-javascript/packages/client-common::locator=javascript-tests%40workspace%3A.":
219
version: 0.0.0-use.local
2210
resolution: "@algolia/client-common@link:../../../clients/algoliasearch-client-javascript/packages/client-common::locator=javascript-tests%40workspace%3A."
2311
languageName: node
2412
linkType: soft
2513

26-
"@algolia/client-insights@link:../../../clients/algoliasearch-client-javascript/packages/client-insights::locator=javascript-tests%40workspace%3A.":
27-
version: 0.0.0-use.local
28-
resolution: "@algolia/client-insights@link:../../../clients/algoliasearch-client-javascript/packages/client-insights::locator=javascript-tests%40workspace%3A."
29-
languageName: node
30-
linkType: soft
31-
32-
"@algolia/client-personalization@link:../../../clients/algoliasearch-client-javascript/packages/client-personalization::locator=javascript-tests%40workspace%3A.":
33-
version: 0.0.0-use.local
34-
resolution: "@algolia/client-personalization@link:../../../clients/algoliasearch-client-javascript/packages/client-personalization::locator=javascript-tests%40workspace%3A."
35-
languageName: node
36-
linkType: soft
37-
38-
"@algolia/client-query-suggestions@link:../../../clients/algoliasearch-client-javascript/packages/client-query-suggestions::locator=javascript-tests%40workspace%3A.":
39-
version: 0.0.0-use.local
40-
resolution: "@algolia/client-query-suggestions@link:../../../clients/algoliasearch-client-javascript/packages/client-query-suggestions::locator=javascript-tests%40workspace%3A."
41-
languageName: node
42-
linkType: soft
43-
44-
"@algolia/client-search@link:../../../clients/algoliasearch-client-javascript/packages/client-search::locator=javascript-tests%40workspace%3A.":
45-
version: 0.0.0-use.local
46-
resolution: "@algolia/client-search@link:../../../clients/algoliasearch-client-javascript/packages/client-search::locator=javascript-tests%40workspace%3A."
47-
languageName: node
48-
linkType: soft
49-
50-
"@algolia/ingestion@link:../../../clients/algoliasearch-client-javascript/packages/ingestion::locator=javascript-tests%40workspace%3A.":
51-
version: 0.0.0-use.local
52-
resolution: "@algolia/ingestion@link:../../../clients/algoliasearch-client-javascript/packages/ingestion::locator=javascript-tests%40workspace%3A."
53-
languageName: node
54-
linkType: soft
55-
56-
"@algolia/monitoring@link:../../../clients/algoliasearch-client-javascript/packages/monitoring::locator=javascript-tests%40workspace%3A.":
57-
version: 0.0.0-use.local
58-
resolution: "@algolia/monitoring@link:../../../clients/algoliasearch-client-javascript/packages/monitoring::locator=javascript-tests%40workspace%3A."
59-
languageName: node
60-
linkType: soft
61-
62-
"@algolia/recommend@link:../../../clients/algoliasearch-client-javascript/packages/recommend::locator=javascript-tests%40workspace%3A.":
63-
version: 0.0.0-use.local
64-
resolution: "@algolia/recommend@link:../../../clients/algoliasearch-client-javascript/packages/recommend::locator=javascript-tests%40workspace%3A."
65-
languageName: node
66-
linkType: soft
67-
6814
"@algolia/requester-testing@link:../../../clients/algoliasearch-client-javascript/packages/requester-testing::locator=javascript-tests%40workspace%3A.":
6915
version: 0.0.0-use.local
7016
resolution: "@algolia/requester-testing@link:../../../clients/algoliasearch-client-javascript/packages/requester-testing::locator=javascript-tests%40workspace%3A."
@@ -408,12 +354,12 @@ __metadata:
408354
languageName: node
409355
linkType: hard
410356

411-
"@types/node@npm:22.7.4":
412-
version: 22.7.4
413-
resolution: "@types/node@npm:22.7.4"
357+
"@types/node@npm:22.7.5":
358+
version: 22.7.5
359+
resolution: "@types/node@npm:22.7.5"
414360
dependencies:
415361
undici-types: "npm:~6.19.2"
416-
checksum: 10/19ddab80c4eba2253c855ed67c9bbc47417183049d01e59010a738bd80d47338bab79fd1f44ae51516bd63a1db4bf21ddb38b16bf6401a2e93252068ec52e88b
362+
checksum: 10/e8ba102f8c1aa7623787d625389be68d64e54fcbb76d41f6c2c64e8cf4c9f4a2370e7ef5e5f1732f3c57529d3d26afdcb2edc0101c5e413a79081449825c57ac
417363
languageName: node
418364
linkType: hard
419365

@@ -1029,21 +975,12 @@ __metadata:
1029975
version: 0.0.0-use.local
1030976
resolution: "javascript-tests@workspace:."
1031977
dependencies:
1032-
"@algolia/client-abtesting": "link:../../../clients/algoliasearch-client-javascript/packages/client-abtesting"
1033-
"@algolia/client-analytics": "link:../../../clients/algoliasearch-client-javascript/packages/client-analytics"
1034978
"@algolia/client-common": "link:../../../clients/algoliasearch-client-javascript/packages/client-common"
1035-
"@algolia/client-insights": "link:../../../clients/algoliasearch-client-javascript/packages/client-insights"
1036-
"@algolia/client-personalization": "link:../../../clients/algoliasearch-client-javascript/packages/client-personalization"
1037-
"@algolia/client-query-suggestions": "link:../../../clients/algoliasearch-client-javascript/packages/client-query-suggestions"
1038-
"@algolia/client-search": "link:../../../clients/algoliasearch-client-javascript/packages/client-search"
1039-
"@algolia/ingestion": "link:../../../clients/algoliasearch-client-javascript/packages/ingestion"
1040-
"@algolia/monitoring": "link:../../../clients/algoliasearch-client-javascript/packages/monitoring"
1041-
"@algolia/recommend": "link:../../../clients/algoliasearch-client-javascript/packages/recommend"
1042979
"@algolia/requester-testing": "link:../../../clients/algoliasearch-client-javascript/packages/requester-testing"
1043-
"@types/node": "npm:22.7.4"
980+
"@types/node": "npm:22.7.5"
1044981
algoliasearch: "link:../../../clients/algoliasearch-client-javascript/packages/algoliasearch"
1045982
dotenv: "npm:16.4.5"
1046-
typescript: "npm:5.6.2"
983+
typescript: "npm:5.6.3"
1047984
vitest: "npm:2.1.2"
1048985
languageName: unknown
1049986
linkType: soft
@@ -1608,23 +1545,23 @@ __metadata:
16081545
languageName: node
16091546
linkType: hard
16101547

1611-
"typescript@npm:5.6.2":
1612-
version: 5.6.2
1613-
resolution: "typescript@npm:5.6.2"
1548+
"typescript@npm:5.6.3":
1549+
version: 5.6.3
1550+
resolution: "typescript@npm:5.6.3"
16141551
bin:
16151552
tsc: bin/tsc
16161553
tsserver: bin/tsserver
1617-
checksum: 10/f95365d4898f357823e93d334ecda9fcade54f009b397c7d05b7621cd9e865981033cf89ccde0f3e3a7b73b1fdbae18e92bc77db237b43e912f053fef0f9a53b
1554+
checksum: 10/c328e418e124b500908781d9f7b9b93cf08b66bf5936d94332b463822eea2f4e62973bfb3b8a745fdc038785cb66cf59d1092bac3ec2ac6a3e5854687f7833f1
16181555
languageName: node
16191556
linkType: hard
16201557

1621-
"typescript@patch:typescript@npm%3A5.6.2#optional!builtin<compat/typescript>":
1622-
version: 5.6.2
1623-
resolution: "typescript@patch:typescript@npm%3A5.6.2#optional!builtin<compat/typescript>::version=5.6.2&hash=b45daf"
1558+
"typescript@patch:typescript@npm%3A5.6.3#optional!builtin<compat/typescript>":
1559+
version: 5.6.3
1560+
resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin<compat/typescript>::version=5.6.3&hash=b45daf"
16241561
bin:
16251562
tsc: bin/tsc
16261563
tsserver: bin/tsserver
1627-
checksum: 10/060a7349adf698477b411be4ace470aee6c2c1bd99917fdf5d33697c17ec55c64fe724eb10399387530b50e9913b41528dd8bfcca0a5fc8f8bac63fbb4580a2e
1564+
checksum: 10/dc4bec403cd33a204b655b1152a096a08e7bad2c931cb59ef8ff26b6f2aa541bf98f09fc157958a60c921b1983a8dde9a85b692f9de60fa8f574fd131e3ae4dd
16281565
languageName: node
16291566
linkType: hard
16301567

0 commit comments

Comments
 (0)