diff --git a/clients/algoliasearch-client-javascript/package.json b/clients/algoliasearch-client-javascript/package.json index 0f30418bb1b..2f5f52d941c 100644 --- a/clients/algoliasearch-client-javascript/package.json +++ b/clients/algoliasearch-client-javascript/package.json @@ -6,8 +6,7 @@ "packages/*" ], "scripts": { - "build:all": "lerna run build --include-dependencies", - "build:many": "lerna run build --scope 'algoliasearch' --scope '@algolia/requester-testing' --scope '@algolia/logger-console' --scope ${0:-'{@algolia/*,algoliasearch}'} --include-dependencies", + "build": "lerna run build --scope '@algolia/requester-testing' --scope '@algolia/logger-console' --scope 'algoliasearch' --include-dependencies", "clean": "lerna run clean", "release:bump": "lerna version ${0:-patch} --no-changelog --no-git-tag-version --no-push --exact --force-publish --yes", "release:publish": "tsc --project scripts/tsconfig.json && node scripts/dist/scripts/publish.js", diff --git a/clients/algoliasearch-client-javascript/tsconfig.json b/clients/algoliasearch-client-javascript/tsconfig.json index aae5dfad482..c5d1e1c9145 100644 --- a/clients/algoliasearch-client-javascript/tsconfig.json +++ b/clients/algoliasearch-client-javascript/tsconfig.json @@ -1,6 +1,7 @@ { "compilerOptions": { "allowJs": false, + "verbatimModuleSyntax": true, "allowSyntheticDefaultImports": true, "declaration": true, "esModuleInterop": true, diff --git a/scripts/buildLanguages.ts b/scripts/buildLanguages.ts index c6927c30ced..5c90d36e3c9 100644 --- a/scripts/buildLanguages.ts +++ b/scripts/buildLanguages.ts @@ -48,10 +48,7 @@ async function buildLanguage(language: Language, gens: Generator[], buildType: B case 'javascript': await run('YARN_ENABLE_IMMUTABLE_INSTALLS=false yarn install', { cwd, language }); if (buildType === 'client') { - const packageNames = gens.map(({ additionalProperties: { packageName } }) => - packageName === 'algoliasearch' ? packageName : `@algolia/${packageName}`, - ); - await run(`yarn build:many '{${packageNames.join(',')},}'`, { cwd, language }); + await run(`yarn build`, { cwd, language }); break; } diff --git a/scripts/ci/githubActions/createMatrix.ts b/scripts/ci/githubActions/createMatrix.ts index f85a5636fb2..ad662d695af 100644 --- a/scripts/ci/githubActions/createMatrix.ts +++ b/scripts/ci/githubActions/createMatrix.ts @@ -112,14 +112,7 @@ async function createClientMatrix(baseBranch: string): Promise { languageMatrix.testsToStore = `${languageMatrix.testsToStore} ${testsRootFolder}/build.gradle`; break; case 'javascript': - const packageNames = matrix[language].toRun.map((client) => { - const packageName = GENERATORS[`${language}-${client}`].additionalProperties.packageName; - - // `algoliasearch` is not preceded by `@algolia` - return client === 'algoliasearch' ? packageName : `@algolia/${packageName}`; - }); - - languageMatrix.buildCommand = `cd ${matrix[language].path} && yarn build:many '{${packageNames.join(',')},}'`; + languageMatrix.buildCommand = `cd ${matrix[language].path} && yarn build`; languageMatrix.testsToStore = `${languageMatrix.testsToStore} ${testsRootFolder}/package.json`; setOutput('JAVASCRIPT_DATA', JSON.stringify(languageMatrix)); diff --git a/templates/javascript/clients/algoliasearch/builds/models.mustache b/templates/javascript/clients/algoliasearch/builds/models.mustache index 0532b2f2150..16a1de871a4 100644 --- a/templates/javascript/clients/algoliasearch/builds/models.mustache +++ b/templates/javascript/clients/algoliasearch/builds/models.mustache @@ -98,10 +98,10 @@ import type { Widgets, } from '@algolia/client-search'; import { apiClientVersion } from '@algolia/client-search'; -import { +import type { Status, } from '@algolia/client-abtesting'; -import { +import type { EventType, } from '@algolia/client-personalization'; @@ -113,7 +113,7 @@ export * from '{{{dependencyPackage}}}'; {{/dependencies}} export * from '@algolia/client-search'; -export { +export type { Action, AdvancedSyntaxFeatures, AlternativesAsExact, diff --git a/templates/javascript/clients/client/api/operation/legacySearchCompatible/imports.mustache b/templates/javascript/clients/client/api/operation/legacySearchCompatible/imports.mustache index 76818bc8daa..0367a961964 100644 --- a/templates/javascript/clients/client/api/operation/legacySearchCompatible/imports.mustache +++ b/templates/javascript/clients/client/api/operation/legacySearchCompatible/imports.mustache @@ -1,3 +1,3 @@ import type { SearchForFacetsOptions } from './searchForFacetsOptions'; import type { SearchForHitsOptions } from './searchForHitsOptions'; -import { SearchParamsObject } from './searchParamsObject'; \ No newline at end of file +import type { SearchParamsObject } from './searchParamsObject'; \ No newline at end of file diff --git a/templates/javascript/clients/client/builds/definition.mustache b/templates/javascript/clients/client/builds/definition.mustache index 31312f3ab1c..81372582d7e 100644 --- a/templates/javascript/clients/client/builds/definition.mustache +++ b/templates/javascript/clients/client/builds/definition.mustache @@ -1,31 +1,33 @@ import { createXhrRequester } from '@algolia/requester-browser-xhr'; import { createHttpRequester } from '@algolia/requester-node-http'; import { createFetchRequester } from '@algolia/requester-fetch'; -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'; +import { createNullLogger, createMemoryCache, createFallbackableCache, createBrowserLocalStorageCache, createNullCache, 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'; + +import type { ClientOptions } from '@algolia/client-common'; import { create{{#lambda.titlecase}}{{clientName}}{{/lambda.titlecase}}, apiClientVersion } from '../src/{{clientName}}'; {{#hasRegionalHost}} -import { Region, REGIONS, RegionOptions } from '../src/{{clientName}}'; +import { REGIONS } from '../src/{{clientName}}'; +import type { Region, RegionOptions } from '../src/{{clientName}}'; + +export type { Region, RegionOptions } from '../src/{{clientName}}'; {{/hasRegionalHost}} {{! We don't use `export *` to prevent exposing the factory, to avoid confusion for the user }} export { apiClientVersion, - {{#hasRegionalHost}} - Region, - RegionOptions, - {{/hasRegionalHost}} {{#isIngestionClient}} isOnDemandTrigger, isScheduleTrigger, isSubscriptionTrigger, {{/isIngestionClient}} } from '../src/{{clientName}}'; + export * from '../model'; {{#isSearchClient}} -import { GenerateSecuredApiKeyOptions, GetSecuredApiKeyRemainingValidityOptions, SearchClientNodeHelpers } from '../model'; +import type { GenerateSecuredApiKeyOptions, GetSecuredApiKeyRemainingValidityOptions, SearchClientNodeHelpers } from '../model'; {{/isSearchClient}} {{#nodeSearchHelpers}} diff --git a/templates/javascript/clients/client/model/clientMethodProps.mustache b/templates/javascript/clients/client/model/clientMethodProps.mustache index 9ecab5aaa51..4bd1efde65a 100644 --- a/templates/javascript/clients/client/model/clientMethodProps.mustache +++ b/templates/javascript/clients/client/model/clientMethodProps.mustache @@ -3,7 +3,7 @@ {{#apiInfo.apis.0}} {{#imports}} -import { {{classname}} } from '{{filename}}'; +import type { {{classname}} } from '{{filename}}'; {{/imports}} {{! Imports for the legacy search method signature }}