dqbd / tiktoken

JS port and JS/WASM bindings for openai/tiktoken
MIT License
705 stars 53 forks source link

ERROR: No loader is configured for ".wasm" files: node_modules/.pnpm/@dqbd+tiktoken@1.0.7/node_modules/@dqbd/tiktoken/tiktoken_bg.wasm #38

Closed yhmjSky closed 1 year ago

yhmjSky commented 1 year ago

I am using @sveltejs/adapter-cloudflare whit tiktoken, I get the following error when I build it:

> Using @sveltejs/adapter-cloudflare
X [ERROR] No loader is configured for ".wasm" files: node_modules/.pnpm/@dqbd+tiktoken@1.0.7/node_modules/@dqbd/tiktoken/tiktoken_bg.wasm

    node_modules/.pnpm/@dqbd+tiktoken@1.0.7/node_modules/@dqbd/tiktoken/tiktoken.js:1:22:
      1 │ import * as wasm from "./tiktoken_bg.wasm";
        ╵                       ~~~~~~~~~~~~~~~~~~~~
Error: Build failed with 1 error:
node_modules/.pnpm/@dqbd+tiktoken@1.0.7/node_modules/@dqbd/tiktoken/tiktoken.js:1:22: ERROR: No loader is configured for ".wasm" files: node_modules/.pnpm/@dqbd+tiktoken@1.0.7/node_modules/@dqbd/tiktoken/tiktoken_bg.wasm
    at failureErrorWithLog (D:\WebStormProjects\somedemo2\my-app\node_modules\.pnpm\esbuild@0.16.17\node_modules\esbuild\lib\main.js:1604:15)
    at D:\WebStormProjects\somedemo2\my-app\node_modules\.pnpm\esbuild@0.16.17\node_modules\esbuild\lib\main.js:1056:28
    at D:\WebStormProjects\somedemo2\my-app\node_modules\.pnpm\esbuild@0.16.17\node_modules\esbuild\lib\main.js:1001:67
    at buildResponseToResult (D:\WebStormProjects\somedemo2\my-app\node_modules\.pnpm\esbuild@0.16.17\node_modules\esbuild\lib\main.js:1054:7)
    at D:\WebStormProjects\somedemo2\my-app\node_modules\.pnpm\esbuild@0.16.17\node_modules\esbuild\lib\main.js:1166:14
    at responseCallbacks.<computed> (D:\WebStormProjects\somedemo2\my-app\node_modules\.pnpm\esbuild@0.16.17\node_modules\esbuild\lib\main.js:701:9)
    at handleIncomingPacket (D:\WebStormProjects\somedemo2\my-app\node_modules\.pnpm\esbuild@0.16.17\node_modules\esbuild\lib\main.js:756:9)
    at Socket.readFromStdout (D:\WebStormProjects\somedemo2\my-app\node_modules\.pnpm\esbuild@0.16.17\node_modules\esbuild\lib\main.js:677:7)
    at Socket.emit (node:events:513:28)
    at addChunk (node:internal/streams/readable:324:12)
 ELIFECYCLE  Command failed with exit code 1.

This is my "vite.config.js"

import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vitest/config';
import wasm from 'vite-plugin-wasm';
import topLevelAwait from 'vite-plugin-top-level-await'

export default defineConfig({
    plugins: [sveltekit(), wasm(), topLevelAwait({
        promiseExportName: '__tla',
        promiseImportName: i => `__tla_${i}`
    })],

    test: {
        include: ['src/**/*.{test,spec}.{js,ts}']
    }
});

Interestingly, I moved it from node_modules to my root directory, build done! do you have any ideas?

yhmjSky commented 1 year ago

It should be a bug with the cloudflare-adapter and may be fixed in the next version

dqbd commented 1 year ago

Hi @yhmjSky!

Sorry for the delay and thank you for the investigation! In the meantime, consider using js-tiktoken instead, which is a pure JS port of tiktoken.