bundlejs icon indicating copy to clipboard operation
bundlejs copied to clipboard

Generates an incorrect URL for a Redux Toolkit nested entry point

Open markerikson opened this issue 2 years ago • 3 comments

I'm trying to bundle this set of exports:

export { configureStore } from "@reduxjs/toolkit";
export {createApi} from "@reduxjs/toolkit/query/react";
export { Provider } from "react-redux";

It downloads React-Redux okay, but fails to download the RTK /query/react entry point, because it's generating a wrong version URL (1.0.0, when the current version is 1.9.5):

✘ [ERROR] Do not know how to load path: http-url:https://unpkg.com/@reduxjs/[email protected]/dist/query/react/rtk-query-react.esm.js


/input.ts:2:24:

      2 │ export {createApi} from "@reduxjs/toolkit/query/react";
        ╵                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

markerikson avatar Aug 18 '23 17:08 markerikson

This is an issue with the package.json of @reduxjs/toolkit

https://unpkg.com/@reduxjs/[email protected]/query/react/package.json

{
    "name": "@reduxjs/toolkit-query-react",
    "version": "1.0.0",
    "description": "",
    "main": "../../dist/query/react/index.js",
    "module": "../../dist/query/react/rtk-query-react.esm.js",
    "unpkg": "../../dist/query/react/rtk-query-react.umd.min.js",
    "author": "Mark Erikson <[email protected]>",
    "license": "MIT",
    "types": "../../dist/query/react/index.d.ts",
    "sideEffects": false
}

The version mismatch confuses bundlejs, I'm thinking about what the best solution for this would be? 🤔

okikio avatar Oct 31 '23 16:10 okikio

Hmm. Yeah, part of the problem here is that this is actually all one package, with multiple entry points. That package.json file only exists so that alternate entry points work with Node's existing resolution algorithm.

The version numbers in those are pretty irrelevant, but technically I could update those as part of the build process, I guess.

RTK 2.0 has proper ESM and package.exports support, so that should improve things.

But, both these attempts error in different ways:

export { configureStore } from "@reduxjs/[email protected]";
export {createApi} from "@reduxjs/[email protected]/query/react";
// or
// export {createApi} from "@reduxjs/toolkit/query/[email protected]";
export { Provider } from "react-redux";

markerikson avatar Oct 31 '23 17:10 markerikson

I'll look into way to fix that behavior so it still bundles

okikio avatar Oct 31 '23 17:10 okikio

Hi, this looks like it's still an issue. Any chance it could be looked at? Thanks!

markerikson avatar Jun 27 '24 16:06 markerikson

Sorry, about that, this should now be fixed, please give it a try

Note: I still need to apply the fix to the API

okikio avatar Jun 28 '24 08:06 okikio

Awesome, that works now - thank you!

image

markerikson avatar Jun 28 '24 16:06 markerikson