From 5fc5f4fd7dbbaef4fb193c8adf5f1b8e22fd7bbf Mon Sep 17 00:00:00 2001 From: Dhaya <154633+dhayab@users.noreply.github.com> Date: Tue, 26 Mar 2024 16:09:28 +0100 Subject: [PATCH] fix(recommend): export recommend methods to use them in algoliasearch (#1512) --- .circleci/config.yml | 3 +++ package.json | 1 + packages/algoliasearch/package.json | 3 +++ packages/algoliasearch/test/module/is-cjs-module.cjs | 9 +++++++++ packages/algoliasearch/test/module/is-es-module.mjs | 8 ++++++++ packages/recommend/src/builds/browser.ts | 1 + packages/recommend/src/builds/node.ts | 1 + 7 files changed, 26 insertions(+) create mode 100644 packages/algoliasearch/test/module/is-cjs-module.cjs create mode 100644 packages/algoliasearch/test/module/is-es-module.mjs diff --git a/.circleci/config.yml b/.circleci/config.yml index 50cc68a31..6aedc134f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -45,6 +45,9 @@ jobs: - run: name: Build command: yarn build + - run: + name: Test exports + command: yarn test:exports - run: name: Test size command: yarn test:build-size diff --git a/package.json b/package.json index 7f9d1f68e..928811b22 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "test:browser-locally": "yarn setup:browser && ./scripts/prepare-test-browser.sh && wdio ./wdio.local.conf.js", "test:build-declarations": "node --max-old-space-size=4096 scripts/test-build-declarations.js", "test:build-size": "bundlesize", + "test:exports": "lerna run test:exports", "test:lint": "eslint . --ext .js,.ts", "test:locally": "lerna clean --yes && yarn lint && yarn test:types && yarn test:unit", "test:types": "yarn tsc", diff --git a/packages/algoliasearch/package.json b/packages/algoliasearch/package.json index 3566b6034..ec39cf2f1 100644 --- a/packages/algoliasearch/package.json +++ b/packages/algoliasearch/package.json @@ -24,6 +24,9 @@ "lite.js", "lite.d.ts" ], + "scripts": { + "test:exports": "node --experimental-modules test/module/is-es-module.mjs && node test/module/is-cjs-module.cjs" + }, "dependencies": { "@algolia/cache-browser-local-storage": "4.23.0", "@algolia/cache-common": "4.23.0", diff --git a/packages/algoliasearch/test/module/is-cjs-module.cjs b/packages/algoliasearch/test/module/is-cjs-module.cjs new file mode 100644 index 000000000..373aef9f9 --- /dev/null +++ b/packages/algoliasearch/test/module/is-cjs-module.cjs @@ -0,0 +1,9 @@ +/* eslint-disable import/no-commonjs */ +/* eslint-disable no-console */ +const algoliasearch = require('algoliasearch'); +const assert = require('assert'); + +assert.ok(algoliasearch); +assert.doesNotThrow(() => algoliasearch('..', '..')); + +console.log('algoliasearch is valid CJS'); diff --git a/packages/algoliasearch/test/module/is-es-module.mjs b/packages/algoliasearch/test/module/is-es-module.mjs new file mode 100644 index 000000000..2764deb40 --- /dev/null +++ b/packages/algoliasearch/test/module/is-es-module.mjs @@ -0,0 +1,8 @@ +/* eslint-disable no-console */ +import algoliasearch from 'algoliasearch'; +import assert from 'assert'; + +assert.ok(algoliasearch); +assert.doesNotThrow(() => algoliasearch('..', '..')); + +console.log('algoliasearch is valid ESM'); diff --git a/packages/recommend/src/builds/browser.ts b/packages/recommend/src/builds/browser.ts index a792941f2..94511e90f 100644 --- a/packages/recommend/src/builds/browser.ts +++ b/packages/recommend/src/builds/browser.ts @@ -68,4 +68,5 @@ recommend.version = version; export type RecommendClient = WithRecommendMethods; +export * from '../methods'; export * from '../types'; diff --git a/packages/recommend/src/builds/node.ts b/packages/recommend/src/builds/node.ts index 61f514d3e..de792e209 100644 --- a/packages/recommend/src/builds/node.ts +++ b/packages/recommend/src/builds/node.ts @@ -62,4 +62,5 @@ recommend.version = version; export type RecommendClient = WithRecommendMethods & Destroyable; +export * from '../methods'; export * from '../types';