#Generate Types not working without file extension

1 messages · Page 1 of 1 (latest)

wintry tundra
#

I've found i cannot generate types unless I add .ts to the end of every import and replace '@/' with './' in the path, e.g.

import { Media } from '@/collections/Media'; fails
import { Media } from './collections/Media.ts'; works

error like this:

> cross-env NODE_OPTIONS=--no-deprecation payload generate:types

(node:49056) ExperimentalWarning: Type Stripping is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)

node:internal/process/promises:394
    triggerUncaughtException(err, true /* fromPromise */);
    ^
Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/jj/GitHub/payload-project/apps/app/access/isMediaEditor' imported from /Users/jj/GitHub/payload-project/apps/app/collections/Media.ts
    at finalizeResolution (node:internal/modules/esm/resolve:275:11)
    at moduleResolve (node:internal/modules/esm/resolve:860:10)
    at defaultResolve (node:internal/modules/esm/resolve:984:11)
    at nextResolve (node:internal/modules/esm/hooks:748:28)
    at resolve (file:///Users/jj/GitHub/payload-project/node_modules/.pnpm/[email protected]/node_modules/tsx/dist/esm/index.mjs?1737637147220:2:4365)
    at nextResolve (node:internal/modules/esm/hooks:748:28)
    at Hooks.resolve (node:internal/modules/esm/hooks:240:30)
    at handleMessage (node:internal/modules/esm/worker:199:24)
    at Immediate.checkForMessages (node:internal/modules/esm/worker:141:28)
    at process.processImmediate (node:internal/timers:511:21) {
  code: 'ERR_MODULE_NOT_FOUND',
  url: 'file:///Users/jj/GitHub/payload-project/apps/app/access/isMediaEditor'
}

Hoping it's something simple. Payload was added to my existing nextjs app with latest version yesterday with npx create-payload-app

vagrant linden
#

Have you set the package.json type as module and does your tsconfig.json include a reference to paths like

"compilerOptions": {
  "paths": {
      "@/*": [
        "./src/*"
      ],
      "@payload-config": [
        "src/payload.config.ts"
      ],
      "@payload-types": [
        "src/payload-types.ts"
      ]
}
`
wintry tundra
#

It was setting package.json to a module... thanks