|
5 | 5 | import io.swagger.v3.oas.models.OpenAPI; |
6 | 6 | import io.swagger.v3.oas.models.Operation; |
7 | 7 | import io.swagger.v3.oas.models.servers.Server; |
8 | | -import java.util.List; |
9 | | -import java.util.Map; |
10 | | -import java.util.Spliterator; |
11 | | -import java.util.Spliterators; |
| 8 | +import java.util.*; |
12 | 9 | import java.util.stream.StreamSupport; |
13 | 10 | import org.openapitools.codegen.CodegenOperation; |
14 | 11 | import org.openapitools.codegen.SupportingFile; |
@@ -151,33 +148,38 @@ public static String getPackageName(String client) throws ConfigException { |
151 | 148 | private void setDefaultGeneratorOptions() { |
152 | 149 | String clientName = CLIENT + Helpers.API_SUFFIX; |
153 | 150 | String packageName = getPackageName((String) additionalProperties.get("client")); |
| 151 | + List<String> clientList = Helpers.getClientListForLanguage("javascript"); |
| 152 | + clientList.removeIf(c -> c.equals("algoliasearch")); |
154 | 153 |
|
155 | 154 | additionalProperties.put("apiName", CLIENT); |
156 | 155 | additionalProperties.put("clientName", clientName); |
157 | 156 | additionalProperties.put("algoliaAgent", Helpers.capitalize(CLIENT)); |
158 | 157 | additionalProperties.put("isSearchClient", CLIENT.equals("search") || isAlgoliasearchClient); |
159 | 158 | additionalProperties.put("isIngestionClient", CLIENT.equals("ingestion")); |
160 | 159 | additionalProperties.put("isAlgoliasearchClient", isAlgoliasearchClient); |
161 | | - additionalProperties.put( |
162 | | - "isAvailableInAlgoliasearch", |
163 | | - CLIENT.equals("search") || |
164 | | - CLIENT.equals("recommend") || |
165 | | - CLIENT.equals("personalization") || |
166 | | - CLIENT.equals("analytics") || |
167 | | - CLIENT.equals("abtesting") |
168 | | - ); |
| 160 | + additionalProperties.put("isAvailableInAlgoliasearch", clientList.contains(CLIENT)); |
169 | 161 | additionalProperties.put("packageVersion", Helpers.getPackageJsonVersion(packageName)); |
170 | 162 | additionalProperties.put("packageName", packageName); |
171 | 163 | additionalProperties.put("npmPackageName", isAlgoliasearchClient ? packageName : "@algolia/" + packageName); |
172 | 164 | additionalProperties.put("nodeSearchHelpers", CLIENT.equals("search") || isAlgoliasearchClient); |
173 | 165 |
|
174 | 166 | if (isAlgoliasearchClient) { |
175 | | - // Files used to create the package.json of the algoliasearch package |
176 | | - additionalProperties.put("analyticsVersion", Helpers.getPackageJsonVersion("client-analytics")); |
177 | | - additionalProperties.put("abtestingVersion", Helpers.getPackageJsonVersion("client-abtesting")); |
178 | | - additionalProperties.put("personalizationVersion", Helpers.getPackageJsonVersion("client-personalization")); |
179 | | - additionalProperties.put("searchVersion", Helpers.getPackageJsonVersion("client-search")); |
180 | | - additionalProperties.put("recommendVersion", Helpers.getPackageJsonVersion("recommend")); |
| 167 | + var dependencies = new ArrayList<Map<String, Object>>(); |
| 168 | + List<Map<String, Object>> packages = Helpers.getClientConfigList("javascript", "clients"); |
| 169 | + for (Map<String, Object> pkg : packages) { |
| 170 | + String name = ((String) pkg.get("output")).replace("clients/algoliasearch-client-javascript/packages/", ""); |
| 171 | + if (name.equals("algoliasearch")) { |
| 172 | + continue; |
| 173 | + } |
| 174 | + |
| 175 | + var dependency = new HashMap<String, Object>(); |
| 176 | + dependency.put("name", name); |
| 177 | + dependency.put("package", "@algolia/" + name); |
| 178 | + dependency.put("version", Helpers.getPackageJsonVersion(name)); |
| 179 | + |
| 180 | + dependencies.add(dependency); |
| 181 | + } |
| 182 | + additionalProperties.put("dependencies", dependencies); |
181 | 183 |
|
182 | 184 | // Files used to generate the `lite` client |
183 | 185 | clientName = "lite" + Helpers.API_SUFFIX; |
|
0 commit comments