blitz-js / blitz-js/babel-plugin-superjson-next

Doesn't work with superjson@2

Open
#145 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
124
Forks
15
PR merge metrics
No merged PRs in 30d

Description

When I upgraded superjson to version 2.0.0 and ran the `next build` command, I got the following error:

```
info - Collecting page data ...Error [ERR_REQUIRE_ESM]: require() of ES Module C:\Users\mongolyy\repos\next-app\node_modules\superjson\dist\index.js from C:\Users\mongolyy\repos\next-app\node_modules\babel-plugin-superjson-next\dist\tools.js not supported.
Instead change the require of index.js in C:\Users\mongolyy\repos\next-app\node_modules\babel-plugin-superjson-next\dist\tools.js to a dynamic import() which is available in all CommonJS modules.
at Object. (C:\Users\mongolyy\repos\next-app\node_modules\babel-plugin-superjson-next\dist\tools.js:64:19)
at Object. (C:\Users\mongolyy\repos\next-app\node_modules\babel-plugin-superjson-next\tools.js:1:18)
at 1421 (C:\Users\mongolyy\repos\next-app\.next\server\pages\cart.js:701:18)
at __webpack_require__ (C:\Users\mongolyy\repos\next-app\.next\server\webpack-runtime.js:25:42)
at C:\Users\mongolyy\repos\next-app\.next\server\pages\cart.js:66:91
at __webpack_require__.a (C:\Users\mongolyy\repos\next-app\.next\server\webpack-runtime.js:89:13)
at 8285 (C:\Users\mongolyy\repos\next-app\.next\server\pages\cart.js:60:21)
at __webpack_require__ (C:\Users\mongolyy\repos\next-app\.next\server\webpack-runtime.js:25:42)
at C:\Users\mongolyy\repos\next-app\.next\server\pages\cart.js:18:83
at __webpack_require__.a (C:\Users\mongolyy\repos\next-app\.next\server\webpack-runtime.js:89:13)
at 4411 (C:\Users\mongolyy\repos\next-app\.next\server\pages\cart.js:11:21)
at __webpack_require__ (C:\Users\mongolyy\repos\next-app\.next\server\webpack-runtime.js:25:42)
at __webpack_exec__ (C:\Users\mongolyy\repos\next-app\.next\server\pages\cart.js:914:39)
at C:\Users\mongolyy\repos\next-app\.next\server\pages\cart.js:915:85
at __webpack_require__.X (C:\Users\mongolyy\repos\next-app\.next\server\webpack-runtime.js:177:21)
at C:\Users\mongolyy\repos\next-app\.next\server\pages\cart.js:915:47
at Object. (C:\Users\mongolyy\repos\next-app\.next\server\pages\cart.js:918:3)
at requirePage (C:\Users\mongolyy\repos\next-app\node_modules\next\dist\server\require.js:156:12)
at C:\Users\mongolyy\repos\next-app\node_modules\next\dist\server\load-components.js:68:84
at async loadComponentsImpl (C:\Users\mongolyy\repos\next-app\node_modules\next\dist\server\load-components.js:68:26)
at async C:\Users\mongolyy\repos\next-app\node_modules\next\dist\build\utils.js:1002:32
at async Span.traceAsyncFn (C:\Users\mongolyy\repos\next-app\node_modules\next\dist\trace\trace.js:103:20) {
code: 'ERR_REQUIRE_ESM'
}
```

I think this is due to superjson becoming ES Module in 2.0.0.

### Environement

- Next.js version: 13.3.4
- superjson version: 2.0.0
- babel-plugin-superjson-next version: 0.4.4

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the failure with superjson 2.0.0 by running next build in a Next.js 13.3.4 project. Start at babel-plugin-superjson-next/dist/tools.js, where the stack trace shows the CommonJS require, and trace how the plugin loads superjson. Done means the build completes without ERR_REQUIRE_ESM while using the reported versions.

Written by the indexing model from the issue text.

Assessment

Tech stack
babel, next.js, typescript
Domain
build-system, tooling, web-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.