reactjs - regeneratorRuntime er ikke definert rete.js


Vel, jeg er i stand til å finne en løsning på problemet mitt. Jeg prøver å bruke Rete.js i Next.js med Typescript. Jeg ser følgende feil:

regeneratorRuntime er ikke definert

Her er mine konfigurasjoner

package.json

"dependencies": {
    "@types/next": "^9.0.0",
    "@types/react": "^16.9.19",
    "next": "^9.2.1",
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "rete": "^1.4.3-rc.1",
    "rete-area-plugin": "^0.2.1",
    "rete-connection-plugin": "^0.9.0",
    "rete-dock-plugin": "^0.2.1",
    "rete-react-render-plugin": "^0.2.0"
  },
"devDependencies": {
    "@babel/plugin-transform-runtime": "^7.8.3",
    "@types/node": "^13.7.1",
    "typescript": "^3.7.5"
  }
}

tsconfig.json

{
  "compilerOptions": {
    "allowJs": true,
    "allowSyntheticDefaultImports": true,
    "jsx": "preserve",
    "lib": [
      "dom",
      "es2017"
    ],
    "module": "esnext",
    "moduleResolution": "node",
    "noEmit": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "preserveConstEnums": true,
    "removeComments": false,
    "skipLibCheck": true,
    "sourceMap": true,
    "strict": true,
    "target": "esnext",
    "forceConsistentCasingInFileNames": true,
    "esModuleInterop": true,
    "resolveJsonModule": true,
    "isolatedModules": true
  },
  "exclude": [
    "node_modules"
  ],
  "include": [
    "next-env.d.ts",
    "**/*.ts",
    "**/*.tsx"
  ]
}

.babelrc

{
    "presets": ["next/babel"],
    "plugins": [
        [
          "@babel/plugin-transform-runtime",
          {
            "absoluteRuntime": false,
            "corejs": false,
            "helpers": true,
            "regenerator": true,
            "useESModules": false,
            "version": "7.0.0-beta.0"
          }
        ]
    ]
 }

Jeg har også prøvd å installere core-js og regenerator-runtime og prøvd det som:

import "core-js/stable";
import "regenerator-runtime/runtime";

Men ingenting fungerte for meg. Kan du foreslå noe som kan løse problemet mitt.

Svar #1

Det er ikke nødvendig å ha core-js og regenerator-runtime installert. @babel/plugin-transform-runtime gir kjøretiden som kreves. Jeg manglet bare en grunnleggende ting, nemlig å ikke legge til @babel/preset-env. Jeg antok at next/babel inkluderer alt som kreves for .babelrc-filen, men det var ikke tilfelle. Her er den endelige .babelrc-filen som fungerte for meg.

{
    "presets": [
        "@babel/preset-env",
        "next/babel"
      ],
      "plugins": [
        ["@babel/plugin-transform-runtime"]
      ]     
}