JonasKruckenberg / imagetools

Load and transform images using a toolbox :toolbox: of custom import directives!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Upgrading Vite-imagetools 5.0.8 throws an error from 4.x version

raul782 opened this issue · comments

When updating vite-imagetools to 5.0.8, trying to build a qwik project fails.
Here is the error:

npm run build.types
npm run build.client
npm run build.server
npm run lint


> qwind@0.113.0 build.client
> vite build

✘ [ERROR] "vite-imagetools" resolved to an ESM file. ESM file cannot be loaded by `require`. See http://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only for more details. [plugin externalize-deps]

    node_modules/esbuild/lib/main.js:1373:27:
      1373 │         let result = await callback({
           ╵                            ^

    at file:///Users/raul/var/www/foss/qwind/node_modules/vite/dist/node/chunks/dep-df561101.js:66190:35
    at requestCallbacks.on-resolve (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:1373:28)
    at handleRequest (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:729:19)
    at handleIncomingPacket (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:755:7)
    at Socket.readFromStdout (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:679:7)
    at Socket.emit (node:events:513:28)
    at addChunk (node:internal/streams/readable:324:12)
    at readableAddChunk (node:internal/streams/readable:297:9)
    at Readable.push (node:internal/streams/readable:234:10)
    at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)

  This error came from the "onResolve" callback registered here:

    node_modules/esbuild/lib/main.js:1292:20:
      1292 │       let promise = setup({
           ╵                     ^

    at setup (file:///Users/raul/var/www/foss/qwind/node_modules/vite/dist/node/chunks/dep-df561101.js:66158:27)
    at handlePlugins (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:1292:21)
    at buildOrContextImpl (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:978:5)
    at Object.buildOrContext (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:786:5)
    at /Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:2177:15
    at new Promise (<anonymous>)
    at Object.build (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:2176:25)
    at build (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:2025:51)
    at bundleConfigFile (file:///Users/raul/var/www/foss/qwind/node_modules/vite/dist/node/chunks/dep-df561101.js:66109:26)

  The plugin "externalize-deps" was triggered by this import

    vite.config.ts:7:25:
      7 │ import {imagetools} from "vite-imagetools";
        ╵                          ~~~~~~~~~~~~~~~~~

failed to load config from /Users/raul/var/www/foss/qwind/vite.config.ts
error during build:
Error: Build failed with 1 error:
node_modules/esbuild/lib/main.js:1373:27: ERROR: [plugin: externalize-deps] "vite-imagetools" resolved to an ESM file. ESM file cannot be loaded by `require`. See http://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only for more details.
    at failureErrorWithLog (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:1649:15)
    at /Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:1058:25
    at runOnEndCallbacks (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:1484:45)
    at buildResponseToResult (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:1056:7)
    at /Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:1085:16
    at responseCallbacks.<computed> (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:703:9)
    at handleIncomingPacket (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:762:9)
    at Socket.readFromStdout (/Users/raul/var/www/foss/qwind/node_modules/esbuild/lib/main.js:679:7)
    at Socket.emit (node:events:513:28)
    at addChunk (node:internal/streams/readable:324:12)

You can reproduce by cloning this fork of the original repo
https://github.com/raul782/qwind/tree/imagetools-bug

npm run build

Following the recommendation to rename the config file to vite.config.mts, only makes the exception be thrown later in the compilation process.
I understand that this newer version dropped support for CJS, but I don't see why the plugin externalize-app enters into play after the upgrade. It seems similar to this issue that was closed

Nvm 😞 I was missing adding package.json type: module and fix my postcss.config.mjs to ESM format