Skip to content

Nuxt 3.16.0 alias not generated in tsconfig.server.json #31325

@claytonchew

Description

@claytonchew

Environment

  • Operating System: Linux
  • Node Version: v20.9.0
  • Nuxt Version: 3.16.0
  • CLI Version: 3.22.5
  • Nitro Version: 2.11.5
  • Package Manager: yarn@1.22.19
  • Builder: -
  • User Config: compatibilityDate, devtools, alias
  • Runtime Modules: -
  • Build Modules: -

Reproduction

https://codesandbox.io/p/sandbox/intelligent-cartwright-7gf5kh

Describe the bug

Example alias

import { fileURLToPath } from 'url';

export default defineNuxtConfig({
  // ...
  alias: {
    '#external': fileURLToPath(new URL('./external', import.meta.url)),
  },
});

.nuxt/tsconfig.json

"compilerOptions": {
    "paths": {
       ...
      "#external": [
        "../external"
      ],
      "#external/*": [
        "../external/*"
      ],
   ...

.nuxt/tsconfig.server.json

"compilerOptions": {
    "paths": {
        ... 👈 #external path not generated

However, #external/* resolvable in both dev mode and build.

Additional context

⚠️ Current workaround:

import { fileURLToPath } from 'url';

export default defineNuxtConfig({
  // ...

  alias: {
    '#external': fileURLToPath(new URL('./external', import.meta.url)),
  },

  nitro: {
    typescript: {
      tsConfig: {
        compilerOptions: {
          // 👇 manually adds path
          paths: {
            "#external": [
              fileURLToPath(new URL("./external", import.meta.url)),
            ],
            "#external/*": [
              fileURLToPath(new URL("./external", import.meta.url)) + "/*",
            ],
          }
        }
      }
    },
  }
});

Logs

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions