meilisearch / meilisearch-js

JavaScript client for the Meilisearch API

Home Page:https://www.meilisearch.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error `"createHmac" is not exported by "__vite-browser-external"` when building for production

flexchar opened this issue · comments

commented

Description
I migrated from Algolia's client to Meilisearch. I am unable to build the project for production using vite build.

Current behavior

RollupError: node_modules/meilisearch/dist/bundles/meilisearch.esm.js (1:9): "createHmac" is not exported by "__vite-browser-external", imported by "node_modules/meilisearch/dist/bundles/meilisearch.esm.js".

Screenshots or Logs

vite v5.2.11 building for production...
[plugin:vite:resolve] [plugin vite:resolve] Module "crypto" has been externalized for browser compatibility, imported by "/Users/luke/dev/pos-vts/node_modules/meilisearch/dist/bundles/meilisearch.esm.js". See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
✓ 244 modules transformed.
x Build failed in 559ms
error during build:
RollupError: node_modules/meilisearch/dist/bundles/meilisearch.esm.js (1:9): "createHmac" is not exported by "__vite-browser-external", imported by "node_modules/meilisearch/dist/bundles/meilisearch.esm.js".
file: /Users/luke/dev/pos-vts/node_modules/meilisearch/dist/bundles/meilisearch.esm.js:1:9
1: import { createHmac } from 'crypto';
            ^
2: 
3: // Type definitions for meilisearch
    at getRollupError (file:///Users/luke/dev/pos-vts/node_modules/rollup/dist/es/shared/parseAst.js:394:41)
    at error (file:///Users/luke/dev/pos-vts/node_modules/rollup/dist/es/shared/parseAst.js:390:42)
    at Module.error (file:///Users/luke/dev/pos-vts/node_modules/rollup/dist/es/shared/node-entry.js:13855:16)
    at Module.traceVariable (file:///Users/luke/dev/pos-vts/node_modules/rollup/dist/es/shared/node-entry.js:14303:29)
    at ModuleScope.findVariable (file:///Users/luke/dev/pos-vts/node_modules/rollup/dist/es/shared/node-entry.js:11984:39)
    at FunctionScope.findVariable (file:///Users/luke/dev/pos-vts/node_modules/rollup/dist/es/shared/node-entry.js:7432:38)
    at FunctionBodyScope.findVariable (file:///Users/luke/dev/pos-vts/node_modules/rollup/dist/es/shared/node-entry.js:7432:38)
    at Identifier.bind (file:///Users/luke/dev/pos-vts/node_modules/rollup/dist/es/shared/node-entry.js:6908:40)
    at CallExpression.bind (file:///Users/luke/dev/pos-vts/node_modules/rollup/dist/es/shared/node-entry.js:4775:23)
    at CallExpression.bind (file:///Users/luke/dev/pos-vts/node_modules/rollup/dist/es/shared/node-entry.js:9135:15)

Environment (please complete the following information): (all latest versions)

  • vue-instantsearch@4.16.2
  • @meilisearch/instant-meilisearch@0.18.0
  • Vue 3 for a simple one page SPA
  • Node 22.0.0
  • Darwin Kernel Version 23.4.0 (Mac)
commented

Now that I see, this would probably fit best here: https://github.com/meilisearch/meilisearch-js-plugins/issues :)

commented

After applying the same to my project as seen here, the issue was relieved. meilisearch/meilisearch-js-plugins@7b5b003