wasm-vips: Errors with vite
In dev mode
Failed to resolve entry for package "/Users/user/projects/astro-vips/node_modules/.vite/deps". The package may have incorrect main/module/exports specified in its package.json.
9:04:39 PM [vite] Internal server error: Failed to resolve entry for package "/Users/user/projects/astro-vips/node_modules/.vite/deps". The package may have incorrect main/module/exports specified in its package.json.
Plugin: vite:asset-import-meta-url
File: /Users/user/projects/astro-vips/node_modules/.vite/deps/wasm-vips.js?v=c3cd4bc3
at packageEntryFailure (file:///Users/user/projects/astro-vips/node_modules/vite/dist/node/chunks/dep-bb8a8339.js:28725:11)
at resolvePackageEntry (file:///Users/user/projects/astro-vips/node_modules/vite/dist/node/chunks/dep-bb8a8339.js:28722:5)
at tryCleanFsResolve (file:///Users/user/projects/astro-vips/node_modules/vite/dist/node/chunks/dep-bb8a8339.js:28381:28)
at tryFsResolve (file:///Users/user/projects/astro-vips/node_modules/vite/dist/node/chunks/dep-bb8a8339.js:28328:17)
at TransformContext.transform (file:///Users/user/projects/astro-vips/node_modules/vite/dist/node/chunks/dep-bb8a8339.js:43235:32)
at Object.transform (file:///Users/user/projects/astro-vips/node_modules/vite/dist/node/chunks/dep-bb8a8339.js:44352:62)
at async loadAndTransform (file:///Users/user/projects/astro-vips/node_modules/vite/dist/node/chunks/dep-bb8a8339.js:55026:29)
at async viteTransformMiddleware (file:///Users/user/projects/astro-vips/node_modules/vite/dist/node/chunks/dep-bb8a8339.js:64430:32)
09:07:28 PM [astro] Configuration updated. Restarting...
While dev mode starts to work with
optimizeDeps: {
exclude: ["wasm-vips"],
},
This causes errors in build
vite v4.5.0 building for production...
transforming (11) node_modules/react/cjs/react-jsx-runtime.production.min.jsUnexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:
(commonjs--resolver) resolveId "wasm-vips" "/Users/user/projects/astro-vips/src/components/VipsExample.tsx"
(vite:worker-import-meta-url) transform "/Users/user/projects/astro-vips/node_modules/wasm-vips/lib/vips-es6.js"
✓ 30 modules transformed.
✓ built in 526ms
file:///Users/user/projects/astro-vips/node_modules/rollup/dist/es/shared/node-entry.js:25902
reject(new Error(`Unexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:\n` +
^
Error: Unexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:
(commonjs--resolver) resolveId "./vips-es6.js" "/Users/user/projects/astro-vips/node_modules/wasm-vips/lib/vips-es6.worker.js"
(vite:worker-import-meta-url) transform "/Users/user/projects/astro-vips/node_modules/wasm-vips/lib/vips-es6.js"
at process.handleBeforeExit (file:///Users/user/projects/astro-vips/node_modules/rollup/dist/es/shared/node-entry.js:25902:28)
at Object.onceWrapper (node:events:629:26)
at process.emit (node:events:514:28) {
code: 'PLUGIN_ERROR',
plugin: 'commonjs--resolver',
hook: 'resolveId',
id: '/Users/user/projects/astro-vips/node_modules/wasm-vips/lib/vips-es6.js',
watchFiles: [
'\x00astro-entry:/Users/user/projects/astro-vips/src/components/VipsExample',
'/Users/user/projects/astro-vips/node_modules/@astrojs/react/client.js',
'/Users/user/projects/astro-vips/src/components/VipsExample.tsx',
'/Users/user/projects/astro-vips/node_modules/react/index.js',
'/Users/user/projects/astro-vips/node_modules/react-dom/client.js',
'/Users/user/projects/astro-vips/node_modules/@astrojs/react/static-html.js',
'/Users/user/projects/astro-vips/node_modules/react/cjs/react.production.min.js',
'/Users/user/projects/astro-vips/node_modules/react-dom/index.js',
'/Users/user/projects/astro-vips/package.json',
'/Users/user/projects/astro-vips/node_modules/react/jsx-runtime.js',
'/Users/user/projects/astro-vips/node_modules/wasm-vips/lib/vips-es6.js',
'\x00commonjsHelpers.js',
'\x00/Users/user/projects/astro-vips/node_modules/react/index.js?commonjs-module',
'\x00/Users/user/projects/astro-vips/node_modules/react/cjs/react.production.min.js?commonjs-proxy',
'\x00/Users/user/projects/astro-vips/node_modules/react/cjs/react.production.min.js?commonjs-exports',
'/Users/user/projects/astro-vips/node_modules/react-dom/cjs/react-dom.production.min.js',
'/Users/user/projects/astro-vips/node_modules/react/cjs/react-jsx-runtime.production.min.js',
'/Users/user/projects/astro-vips/node_modules/scheduler/index.js',
'\x00/Users/user/projects/astro-vips/node_modules/react/jsx-runtime.js?commonjs-module',
'\x00/Users/user/projects/astro-vips/node_modules/react/cjs/react-jsx-runtime.production.min.js?commonjs-proxy',
'\x00/Users/user/projects/astro-vips/node_modules/react/cjs/react-jsx-runtime.production.min.js?commonjs-exports',
'\x00/Users/user/projects/astro-vips/node_modules/react/index.js?commonjs-proxy',
'/Users/user/projects/astro-vips/node_modules/scheduler/cjs/scheduler.production.min.js',
'\x00/Users/user/projects/astro-vips/node_modules/react-dom/client.js?commonjs-exports',
'\x00/Users/user/projects/astro-vips/node_modules/react-dom/index.js?commonjs-proxy',
'\x00/Users/user/projects/astro-vips/node_modules/react-dom/index.js?commonjs-module',
'\x00/Users/user/projects/astro-vips/node_modules/react-dom/cjs/react-dom.production.min.js?commonjs-proxy',
'\x00/Users/user/projects/astro-vips/node_modules/react-dom/cjs/react-dom.production.min.js?commonjs-exports',
'\x00/Users/user/projects/astro-vips/node_modules/scheduler/index.js?commonjs-proxy',
'\x00/Users/user/projects/astro-vips/node_modules/scheduler/index.js?commonjs-module',
'\x00/Users/user/projects/astro-vips/node_modules/scheduler/cjs/scheduler.production.min.js?commonjs-proxy',
'\x00/Users/user/projects/astro-vips/node_modules/scheduler/cjs/scheduler.production.min.js?commonjs-exports'
]
}
I would love to use wasm-vips, I just need to figure out how to import and use it
About this issue
- Original URL
- State: closed
- Created 7 months ago
- Comments: 27 (9 by maintainers)
Issue https://github.com/vitejs/vite/issues/7015 is now fixed via PR https://github.com/vitejs/vite/pull/16103, which is included in Vite v5.1.6. This means that the previously mentioned workarounds are no longer needed. 🎉
Here’s a minimal working example: astro-vips.zip
Commit https://github.com/vitejs/vite/commit/4d1342ebe0969cbcfc9c6d7fc5347f85df07df7f introduces a new callback functionality to
build.assetsInlineLimit, enabling users to selectively opt-in or opt-out for inlining. This enhancement will be available in an upcoming version of Vite, alowing you to do this:I’ll close this as “won’t fix” for now, as there’s not much I can do for this. Please subscribe to https://github.com/vitejs/vite/issues/7015 for updates related to this.
@jlarmstrongiv This looks like a regression introduced in PR https://github.com/vitejs/vite/pull/15852, I recommend downgrading Vite to v5.1.7 for now.
I couldn’t get it work with those Rollup options either. Hopefully sometime in the future this can be controlled with the
?no-inlineor?inline=falsequery suffixes.The only two options I can think of to fix this are:
Access-Control-Allow-Origin: *HTTP header onvips-es6.js;vips-es6.js,vips.wasmandvips-es6.worker.jsin thepublicdirectory.