diff --git a/base.rollup.config.js b/base.rollup.config.js index 4bb7f5788..71ac2954e 100644 --- a/base.rollup.config.js +++ b/base.rollup.config.js @@ -1,6 +1,5 @@ import babel from '@rollup/plugin-babel'; import { nodeResolve } from '@rollup/plugin-node-resolve'; -import globals from 'rollup-plugin-node-globals'; import terser from '@rollup/plugin-terser'; import ts from 'rollup-plugin-typescript2'; @@ -271,11 +270,9 @@ export function buildConfigs(pkg) { input: baseConfig.input, external: [...baseConfig.external, ...baseConfig.dependencies], plugins: [ - globals({ - global: true, - }), nodeResolve({ preferBuiltins: true, + exportConditions: [isUmdBuild || isEsmBrowserBuild ? 'browser' : 'node'], }), ts({ check: checkForTypes, diff --git a/packages/algoliasearch/__tests__/algoliasearch.browser.test.ts b/packages/algoliasearch/__tests__/algoliasearch.browser.test.ts index 6e500a4fb..f45779b9b 100644 --- a/packages/algoliasearch/__tests__/algoliasearch.browser.test.ts +++ b/packages/algoliasearch/__tests__/algoliasearch.browser.test.ts @@ -145,10 +145,11 @@ describe('api', () => { }); it('default `init` clients to the root `algoliasearch` credentials', async () => { - const abtestingClient = client.initAbtesting(); - const analyticsClient = client.initAnalytics(); + const abtestingClient = client.initAbtesting({ options: { requester: echoRequester() } }); + const analyticsClient = client.initAnalytics({ options: { requester: echoRequester() } }); const personalizationClient = client.initPersonalization({ region: 'eu', + options: { requester: echoRequester() }, }); const res1 = (await abtestingClient.customGet({ @@ -185,15 +186,18 @@ describe('api', () => { const abtestingClient = client.initAbtesting({ appId: 'appId1', apiKey: 'apiKey1', + options: { requester: echoRequester() }, }); const analyticsClient = client.initAnalytics({ appId: 'appId2', apiKey: 'apiKey2', + options: { requester: echoRequester() }, }); const personalizationClient = client.initPersonalization({ appId: 'appId3', apiKey: 'apiKey3', region: 'eu', + options: { requester: echoRequester() }, }); const res1 = (await abtestingClient.customGet({ diff --git a/packages/algoliasearch/__tests__/algoliasearch.node.test.ts b/packages/algoliasearch/__tests__/algoliasearch.node.test.ts index 162d65233..42a6f38a3 100644 --- a/packages/algoliasearch/__tests__/algoliasearch.node.test.ts +++ b/packages/algoliasearch/__tests__/algoliasearch.node.test.ts @@ -144,10 +144,11 @@ describe('api', () => { }); it('default `init` clients to the root `algoliasearch` credentials', async () => { - const abtestingClient = client.initAbtesting(); - const analyticsClient = client.initAnalytics(); + const abtestingClient = client.initAbtesting({ options: { requester: echoRequester() } }); + const analyticsClient = client.initAnalytics({ options: { requester: echoRequester() } }); const personalizationClient = client.initPersonalization({ region: 'eu', + options: { requester: echoRequester() }, }); const res1 = (await abtestingClient.customGet({ @@ -184,15 +185,18 @@ describe('api', () => { const abtestingClient = client.initAbtesting({ appId: 'appId1', apiKey: 'apiKey1', + options: { requester: echoRequester() }, }); const analyticsClient = client.initAnalytics({ appId: 'appId2', apiKey: 'apiKey2', + options: { requester: echoRequester() }, }); const personalizationClient = client.initPersonalization({ appId: 'appId3', apiKey: 'apiKey3', region: 'eu', + options: { requester: echoRequester() }, }); const res1 = (await abtestingClient.customGet({ diff --git a/packages/algoliasearch/builds/browser.ts b/packages/algoliasearch/builds/browser.ts index 25ada6218..5cc045cbc 100644 --- a/packages/algoliasearch/builds/browser.ts +++ b/packages/algoliasearch/builds/browser.ts @@ -1,11 +1,10 @@ // Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT. -import type { AbtestingClient } from '@algolia/client-abtesting'; -import type { Region as AbtestingRegion } from '@algolia/client-abtesting/src/abtestingClient'; -import { createAbtestingClient, REGIONS as abtestingRegions } from '@algolia/client-abtesting/src/abtestingClient'; -import type { AnalyticsClient } from '@algolia/client-analytics'; -import { createAnalyticsClient, REGIONS as analyticsRegions } from '@algolia/client-analytics/src/analyticsClient'; -import type { Region as AnalyticsRegion } from '@algolia/client-analytics/src/analyticsClient'; +import type { AbtestingClient, Region as AbtestingRegion } from '@algolia/client-abtesting'; +import { abtestingClient } from '@algolia/client-abtesting'; +import type { AnalyticsClient, Region as AnalyticsRegion } from '@algolia/client-analytics'; +import { analyticsClient } from '@algolia/client-analytics'; +import type { ClientOptions } from '@algolia/client-common'; import { DEFAULT_CONNECT_TIMEOUT_BROWSER, DEFAULT_READ_TIMEOUT_BROWSER, @@ -14,16 +13,11 @@ import { createFallbackableCache, createMemoryCache, } from '@algolia/client-common'; -import type { ClientOptions, CreateClientOptions } from '@algolia/client-common'; -import type { PersonalizationClient } from '@algolia/client-personalization'; -import type { Region as PersonalizationRegion } from '@algolia/client-personalization/src/personalizationClient'; -import { - createPersonalizationClient, - REGIONS as personalizationRegions, -} from '@algolia/client-personalization/src/personalizationClient'; -import { createSearchClient, apiClientVersion as searchClientVersion } from '@algolia/client-search/src/searchClient'; +import type { PersonalizationClient, Region as PersonalizationRegion } from '@algolia/client-personalization'; +import { personalizationClient } from '@algolia/client-personalization'; +import { searchClient, apiClientVersion as searchClientVersion } from '@algolia/client-search'; import type { RecommendClient } from '@algolia/recommend'; -import { createRecommendClient } from '@algolia/recommend/src/recommendClient'; +import { recommendClient } from '@algolia/recommend'; import { createXhrRequester } from '@algolia/requester-browser-xhr'; import type { InitClientOptions, InitClientRegion } from './models'; @@ -46,83 +40,57 @@ export function algoliasearch(appId: string, apiKey: string, options?: ClientOpt if (!apiKey || typeof apiKey !== 'string') { throw new Error('`apiKey` is missing.'); } - const commonOptions: CreateClientOptions = { - apiKey, - appId, - timeouts: { - connect: DEFAULT_CONNECT_TIMEOUT_BROWSER, - read: DEFAULT_READ_TIMEOUT_BROWSER, - write: DEFAULT_WRITE_TIMEOUT_BROWSER, - }, - requester: createXhrRequester(), - algoliaAgents: [{ segment: 'Browser' }], - authMode: 'WithinQueryParameters', - responsesCache: createMemoryCache(), - requestsCache: createMemoryCache({ serializable: false }), - hostsCache: createFallbackableCache({ - caches: [createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), createMemoryCache()], - }), - ...options, - }; function initRecommend(initOptions: InitClientOptions = {}): RecommendClient { - return createRecommendClient({ - ...commonOptions, - ...initOptions.options, - ...initOptions, - }); + return recommendClient(initOptions.appId || appId, initOptions.apiKey || apiKey, initOptions.options); } function initAnalytics(initOptions: InitClientOptions & InitClientRegion = {}): AnalyticsClient { - if ( - initOptions.region && - (typeof initOptions.region !== 'string' || !analyticsRegions.includes(initOptions.region)) - ) { - throw new Error(`\`region\` must be one of the following: ${analyticsRegions.join(', ')}`); - } - - return createAnalyticsClient({ - ...commonOptions, - ...initOptions.options, - ...initOptions, - }); + return analyticsClient( + initOptions.appId || appId, + initOptions.apiKey || apiKey, + initOptions.region, + initOptions.options, + ); } function initAbtesting(initOptions: InitClientOptions & InitClientRegion = {}): AbtestingClient { - if ( - initOptions.region && - (typeof initOptions.region !== 'string' || !abtestingRegions.includes(initOptions.region)) - ) { - throw new Error(`\`region\` must be one of the following: ${abtestingRegions.join(', ')}`); - } - - return createAbtestingClient({ - ...commonOptions, - ...initOptions.options, - ...initOptions, - }); + return abtestingClient( + initOptions.appId || appId, + initOptions.apiKey || apiKey, + initOptions.region, + initOptions.options, + ); } function initPersonalization( initOptions: InitClientOptions & Required>, ): PersonalizationClient { - if ( - !initOptions.region || - (initOptions.region && - (typeof initOptions.region !== 'string' || !personalizationRegions.includes(initOptions.region))) - ) { - throw new Error(`\`region\` is required and must be one of the following: ${personalizationRegions.join(', ')}`); - } - - return createPersonalizationClient({ - ...commonOptions, - ...initOptions.options, - ...initOptions, - }); + return personalizationClient( + initOptions.appId || appId, + initOptions.apiKey || apiKey, + initOptions.region, + initOptions.options, + ); } return { - ...createSearchClient(commonOptions), + ...searchClient(appId, apiKey, { + timeouts: { + connect: DEFAULT_CONNECT_TIMEOUT_BROWSER, + read: DEFAULT_READ_TIMEOUT_BROWSER, + write: DEFAULT_WRITE_TIMEOUT_BROWSER, + }, + requester: createXhrRequester(), + algoliaAgents: [{ segment: 'Browser' }], + authMode: 'WithinQueryParameters', + responsesCache: createMemoryCache(), + requestsCache: createMemoryCache({ serializable: false }), + hostsCache: createFallbackableCache({ + caches: [createBrowserLocalStorageCache({ key: `${apiClientVersion}-${appId}` }), createMemoryCache()], + }), + ...options, + }), /** * Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system. */ diff --git a/packages/algoliasearch/builds/node.ts b/packages/algoliasearch/builds/node.ts index 57d5e07a4..981a5320c 100644 --- a/packages/algoliasearch/builds/node.ts +++ b/packages/algoliasearch/builds/node.ts @@ -2,12 +2,11 @@ import { createHmac } from 'node:crypto'; -import type { AbtestingClient } from '@algolia/client-abtesting'; -import type { Region as AbtestingRegion } from '@algolia/client-abtesting/src/abtestingClient'; -import { createAbtestingClient, REGIONS as abtestingRegions } from '@algolia/client-abtesting/src/abtestingClient'; -import type { AnalyticsClient } from '@algolia/client-analytics'; -import { createAnalyticsClient, REGIONS as analyticsRegions } from '@algolia/client-analytics/src/analyticsClient'; -import type { Region as AnalyticsRegion } from '@algolia/client-analytics/src/analyticsClient'; +import type { AbtestingClient, Region as AbtestingRegion } from '@algolia/client-abtesting'; +import { abtestingClient } from '@algolia/client-abtesting'; +import type { AnalyticsClient, Region as AnalyticsRegion } from '@algolia/client-analytics'; +import { analyticsClient } from '@algolia/client-analytics'; +import type { ClientOptions } from '@algolia/client-common'; import { DEFAULT_CONNECT_TIMEOUT_NODE, DEFAULT_READ_TIMEOUT_NODE, @@ -16,16 +15,11 @@ import { createNullCache, serializeQueryParameters, } from '@algolia/client-common'; -import type { ClientOptions, CreateClientOptions } from '@algolia/client-common'; -import type { PersonalizationClient } from '@algolia/client-personalization'; -import type { Region as PersonalizationRegion } from '@algolia/client-personalization/src/personalizationClient'; -import { - createPersonalizationClient, - REGIONS as personalizationRegions, -} from '@algolia/client-personalization/src/personalizationClient'; -import { createSearchClient, apiClientVersion as searchClientVersion } from '@algolia/client-search/src/searchClient'; +import type { PersonalizationClient, Region as PersonalizationRegion } from '@algolia/client-personalization'; +import { personalizationClient } from '@algolia/client-personalization'; +import { searchClient, apiClientVersion as searchClientVersion } from '@algolia/client-search'; import type { RecommendClient } from '@algolia/recommend'; -import { createRecommendClient } from '@algolia/recommend/src/recommendClient'; +import { recommendClient } from '@algolia/recommend'; import { createHttpRequester } from '@algolia/requester-node-http'; import type { @@ -53,80 +47,54 @@ export function algoliasearch(appId: string, apiKey: string, options?: ClientOpt if (!apiKey || typeof apiKey !== 'string') { throw new Error('`apiKey` is missing.'); } - const commonOptions: CreateClientOptions = { - apiKey, - appId, - timeouts: { - connect: DEFAULT_CONNECT_TIMEOUT_NODE, - read: DEFAULT_READ_TIMEOUT_NODE, - write: DEFAULT_WRITE_TIMEOUT_NODE, - }, - requester: createHttpRequester(), - algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }], - responsesCache: createNullCache(), - requestsCache: createNullCache(), - hostsCache: createMemoryCache(), - ...options, - }; function initRecommend(initOptions: InitClientOptions = {}): RecommendClient { - return createRecommendClient({ - ...commonOptions, - ...initOptions.options, - ...initOptions, - }); + return recommendClient(initOptions.appId || appId, initOptions.apiKey || apiKey, initOptions.options); } function initAnalytics(initOptions: InitClientOptions & InitClientRegion = {}): AnalyticsClient { - if ( - initOptions.region && - (typeof initOptions.region !== 'string' || !analyticsRegions.includes(initOptions.region)) - ) { - throw new Error(`\`region\` must be one of the following: ${analyticsRegions.join(', ')}`); - } - - return createAnalyticsClient({ - ...commonOptions, - ...initOptions.options, - ...initOptions, - }); + return analyticsClient( + initOptions.appId || appId, + initOptions.apiKey || apiKey, + initOptions.region, + initOptions.options, + ); } function initAbtesting(initOptions: InitClientOptions & InitClientRegion = {}): AbtestingClient { - if ( - initOptions.region && - (typeof initOptions.region !== 'string' || !abtestingRegions.includes(initOptions.region)) - ) { - throw new Error(`\`region\` must be one of the following: ${abtestingRegions.join(', ')}`); - } - - return createAbtestingClient({ - ...commonOptions, - ...initOptions.options, - ...initOptions, - }); + return abtestingClient( + initOptions.appId || appId, + initOptions.apiKey || apiKey, + initOptions.region, + initOptions.options, + ); } function initPersonalization( initOptions: InitClientOptions & Required>, ): PersonalizationClient { - if ( - !initOptions.region || - (initOptions.region && - (typeof initOptions.region !== 'string' || !personalizationRegions.includes(initOptions.region))) - ) { - throw new Error(`\`region\` is required and must be one of the following: ${personalizationRegions.join(', ')}`); - } - - return createPersonalizationClient({ - ...commonOptions, - ...initOptions.options, - ...initOptions, - }); + return personalizationClient( + initOptions.appId || appId, + initOptions.apiKey || apiKey, + initOptions.region, + initOptions.options, + ); } return { - ...createSearchClient(commonOptions), + ...searchClient(appId, apiKey, { + timeouts: { + connect: DEFAULT_CONNECT_TIMEOUT_NODE, + read: DEFAULT_READ_TIMEOUT_NODE, + write: DEFAULT_WRITE_TIMEOUT_NODE, + }, + requester: createHttpRequester(), + algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }], + responsesCache: createNullCache(), + requestsCache: createNullCache(), + hostsCache: createMemoryCache(), + ...options, + }), /** * Get the value of the `algoliaAgent`, used by our libraries internally and telemetry system. */ diff --git a/packages/algoliasearch/jest.config.cjs b/packages/algoliasearch/jest.config.cjs index 02c344743..0f867cf71 100644 --- a/packages/algoliasearch/jest.config.cjs +++ b/packages/algoliasearch/jest.config.cjs @@ -1,8 +1,24 @@ -/** @type {import('jest').Config} */ -module.exports = { +/** @type {import('jest').Config.InitialOptions} */ +const baseConfig = { + preset: 'ts-jest', roots: ['__tests__'], moduleDirectories: ['../../node_modules'], transform: { "\\.[jt]sx?$": "babel-jest", } }; +/** @type {import('jest').Config} */ +module.exports = { + projects: [ + { + ...baseConfig, + testEnvironment: 'jsdom', + testPathIgnorePatterns: [ '__tests__/algoliasearch.node.test.ts' ], + }, + { + ...baseConfig, + testEnvironment: 'node', + testPathIgnorePatterns: [ '__tests__/algoliasearch.browser.test.ts' ], + }, + ], +}; diff --git a/packages/algoliasearch/package.json b/packages/algoliasearch/package.json index 749e7d32a..fbff79d73 100644 --- a/packages/algoliasearch/package.json +++ b/packages/algoliasearch/package.json @@ -11,7 +11,6 @@ "type": "module", "exports": { ".": { - "types": "./index.d.ts", "node": { "import": "./dist/algoliasearch.esm.node.js", "module": "./dist/algoliasearch.esm.node.js", @@ -19,7 +18,7 @@ "default": "./dist/algoliasearch.cjs", "types": "./dist/algoliasearch/builds/node.d.ts" }, - "default": { + "browser": { "umd": "./dist/algoliasearch.umd.js", "module": "./dist/algoliasearch.esm.browser.js", "import": "./dist/algoliasearch.esm.browser.js", @@ -28,7 +27,6 @@ } }, "./lite": { - "types": "./lite.d.ts", "node": { "import": "./dist/lite/lite.esm.node.js", "module": "./dist/lite/lite.esm.node.js", @@ -36,7 +34,7 @@ "default": "./dist/lite/lite.cjs", "types": "./dist/lite/builds/node.d.ts" }, - "default": { + "browser": { "umd": "./dist/lite/lite.umd.js", "module": "./dist/lite/lite.esm.browser.js", "import": "./dist/lite/lite.esm.browser.js", diff --git a/packages/client-abtesting/package.json b/packages/client-abtesting/package.json index b40254eb7..f388bfff6 100644 --- a/packages/client-abtesting/package.json +++ b/packages/client-abtesting/package.json @@ -18,7 +18,7 @@ "default": "./dist/client-abtesting.cjs", "types": "./dist/builds/node.d.ts" }, - "default": { + "browser": { "umd": "./dist/client-abtesting.umd.js", "module": "./dist/client-abtesting.esm.browser.js", "import": "./dist/client-abtesting.esm.browser.js", diff --git a/packages/client-analytics/package.json b/packages/client-analytics/package.json index 787a409cd..d0d65fd94 100644 --- a/packages/client-analytics/package.json +++ b/packages/client-analytics/package.json @@ -18,7 +18,7 @@ "default": "./dist/client-analytics.cjs", "types": "./dist/builds/node.d.ts" }, - "default": { + "browser": { "umd": "./dist/client-analytics.umd.js", "module": "./dist/client-analytics.esm.browser.js", "import": "./dist/client-analytics.esm.browser.js", diff --git a/packages/client-insights/package.json b/packages/client-insights/package.json index b9375dd43..bbd0e3030 100644 --- a/packages/client-insights/package.json +++ b/packages/client-insights/package.json @@ -18,7 +18,7 @@ "default": "./dist/client-insights.cjs", "types": "./dist/builds/node.d.ts" }, - "default": { + "browser": { "umd": "./dist/client-insights.umd.js", "module": "./dist/client-insights.esm.browser.js", "import": "./dist/client-insights.esm.browser.js", diff --git a/packages/client-personalization/package.json b/packages/client-personalization/package.json index 74e0b18a4..22e1743dd 100644 --- a/packages/client-personalization/package.json +++ b/packages/client-personalization/package.json @@ -18,7 +18,7 @@ "default": "./dist/client-personalization.cjs", "types": "./dist/builds/node.d.ts" }, - "default": { + "browser": { "umd": "./dist/client-personalization.umd.js", "module": "./dist/client-personalization.esm.browser.js", "import": "./dist/client-personalization.esm.browser.js", diff --git a/packages/client-query-suggestions/package.json b/packages/client-query-suggestions/package.json index 039964462..bf4fc2837 100644 --- a/packages/client-query-suggestions/package.json +++ b/packages/client-query-suggestions/package.json @@ -18,7 +18,7 @@ "default": "./dist/client-query-suggestions.cjs", "types": "./dist/builds/node.d.ts" }, - "default": { + "browser": { "umd": "./dist/client-query-suggestions.umd.js", "module": "./dist/client-query-suggestions.esm.browser.js", "import": "./dist/client-query-suggestions.esm.browser.js", diff --git a/packages/client-search/package.json b/packages/client-search/package.json index 576458f4c..6b4e22278 100644 --- a/packages/client-search/package.json +++ b/packages/client-search/package.json @@ -18,7 +18,7 @@ "default": "./dist/client-search.cjs", "types": "./dist/builds/node.d.ts" }, - "default": { + "browser": { "umd": "./dist/client-search.umd.js", "module": "./dist/client-search.esm.browser.js", "import": "./dist/client-search.esm.browser.js", diff --git a/packages/client-usage/package.json b/packages/client-usage/package.json index 0fc7539e7..4922217a1 100644 --- a/packages/client-usage/package.json +++ b/packages/client-usage/package.json @@ -18,7 +18,7 @@ "default": "./dist/client-usage.cjs", "types": "./dist/builds/node.d.ts" }, - "default": { + "browser": { "umd": "./dist/client-usage.umd.js", "module": "./dist/client-usage.esm.browser.js", "import": "./dist/client-usage.esm.browser.js", diff --git a/packages/ingestion/package.json b/packages/ingestion/package.json index 86fb9d6c5..537f83009 100644 --- a/packages/ingestion/package.json +++ b/packages/ingestion/package.json @@ -18,7 +18,7 @@ "default": "./dist/ingestion.cjs", "types": "./dist/builds/node.d.ts" }, - "default": { + "browser": { "umd": "./dist/ingestion.umd.js", "module": "./dist/ingestion.esm.browser.js", "import": "./dist/ingestion.esm.browser.js", diff --git a/packages/monitoring/package.json b/packages/monitoring/package.json index 5561dae38..6bc693faa 100644 --- a/packages/monitoring/package.json +++ b/packages/monitoring/package.json @@ -18,7 +18,7 @@ "default": "./dist/monitoring.cjs", "types": "./dist/builds/node.d.ts" }, - "default": { + "browser": { "umd": "./dist/monitoring.umd.js", "module": "./dist/monitoring.esm.browser.js", "import": "./dist/monitoring.esm.browser.js", diff --git a/packages/recommend/package.json b/packages/recommend/package.json index a9cf98198..81a4604dd 100644 --- a/packages/recommend/package.json +++ b/packages/recommend/package.json @@ -18,7 +18,7 @@ "default": "./dist/recommend.cjs", "types": "./dist/builds/node.d.ts" }, - "default": { + "browser": { "umd": "./dist/recommend.umd.js", "module": "./dist/recommend.esm.browser.js", "import": "./dist/recommend.esm.browser.js", diff --git a/yarn.lock b/yarn.lock index 8d6ec74fa..8a5c1733f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -250,7 +250,19 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.4, @babel/generator@npm:^7.7.2": +"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.7.2": + version: 7.25.0 + resolution: "@babel/generator@npm:7.25.0" + dependencies: + "@babel/types": "npm:^7.25.0" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^2.5.1" + checksum: 10/de3ce2ae7aa0c9585260556ca5a81ce2ce6b8269e3260d7bb4e47a74661af715184ca6343e9906c22e4dd3eed5ce39977dfaf6cded4d2d8968fa096c7cf66697 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.25.4": version: 7.25.5 resolution: "@babel/generator@npm:7.25.5" dependencies: @@ -1583,7 +1595,18 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.4, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.25.2 + resolution: "@babel/types@npm:7.25.2" + dependencies: + "@babel/helper-string-parser": "npm:^7.24.8" + "@babel/helper-validator-identifier": "npm:^7.24.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10/ccf5399db1dcd6dd87b84a6f7bc8dd241e04a326f4f038c973c26ccb69cd360c8f2276603f584c58fd94da95229313060b27baceb0d9b18a435742d3f616afd1 + languageName: node + linkType: hard + +"@babel/types@npm:^7.25.4": version: 7.25.4 resolution: "@babel/types@npm:7.25.4" dependencies: