inertia icon indicating copy to clipboard operation
inertia copied to clipboard

TypeScript types are not exported properly

Open irshadahmad21 opened this issue 1 year ago • 0 comments

Versions:

  • @inertiajs/core version:1.0.14
  • @inertiajs/react version: 1.0.14

Describe the problem:

When importing types in a project with NodeNext as module and moduleResolution in tsconfig.json, the types are not being resolved properly because.

Steps to reproduce:

// tsconfig.json
{
  "compilerOptions": {
    "module": "NodeNext",
    "moduleResolution": "NodeNext",
    "strict": true
  }
}

// app.ts
import { VisitOptions } from '@inertiajs/core';

Error:

Screenshot 2024-02-10 at 9 29 18 PM
Module '"@inertiajs/core"' has no exported member 'VisitOptions'.

Similarly, there are other such errors for all the types when strict model is enabled in tsconfig.json

Screenshot 2024-02-10 at 9 27 48 PM
  • "Parameter 'title' implicitly has an 'any' type."
  • "Binding element 'el' implicitly has an 'any' type."
  • "Binding element 'App' implicitly has an 'any' type."
  • "Binding element 'props' implicitly has an 'any' type."
  • "Parameter 'name' implicitly has an 'any' type."

Reason

arethetypeswrong correctly points out the problems with the exported types

"@inertiajs/core""@inertiajs/core/server"
node10
node16 (from CJS) ⚠️ ESM (dynamic import only)
🚭 Unexpected module syntax
🥴 Internal resolution error (6)
⚠️ ESM (dynamic import only)
❗️ Incorrect default export
🚭 Unexpected module syntax
🥴 Internal resolution error
node16 (from ESM) 🥴 Internal resolution error (6)🥴 Internal resolution error
bundler
"@inertiajs/react""@inertiajs/react/server"
node10
node16 (from CJS) ⚠️ ESM (dynamic import only)
🚭 Unexpected module syntax
🥴 Internal resolution error (6)
⚠️ ESM (dynamic import only)
❗️ Incorrect default export
🚭 Unexpected module syntax
node16 (from ESM) 🥴 Internal resolution error (6)✅ (ESM)
bundler

irshadahmad21 avatar Feb 10 '24 16:02 irshadahmad21