0

Since 2 months that my auto-import doesn't work on nvim-cmp. Today I want to fix this :

  • Auto-import work on full TS projects
  • Doesn't work on this hybrid project
  • Below you can find the TSServer error, Babel config, JSConfig, TSConfig

Thank for the person who can help me .

LSP Log :

{  
message = "[tsserver] [tsserver] [Trace  - 13:38:16.483] <main> 
Response received: completionInfo (689). 
Request took 432 ms. 
Success: false . 
Message: Error processing request. Debug Failure. False expression: Expected the specifier to be a default export
Error: Debug Failure. False expression: Expected the specifier to be a default export
    at /Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:131559:26
    at Object.firstDefined (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:222:26)
    at getNameForExportDefault (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:131553:42)
    at getDefaultExportInfoWorker (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:131533:20)
    at getDefaultExportInfoWorker (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:131543:24)
    at getDefaultLikeExportInfo (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:131514:20)
    at /Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:131487:35
    at /Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:131437:133
    at forEachExternalModule (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:131458:17)
    at forEachExternalModuleToImportFrom (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:131437:9)
    at Object.getExportInfoMap (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:131482:13)
    at collectAutoImports (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:135713:37)
    at getGlobalCompletions (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:135620:17)
    at tryGetGlobalSymbols (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:135518:25)
    at getCompletionData (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:135262:22)
    at Object.getCompletionsAtPosition (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:133845:34)
    at Object.getCompletionsAtPosition (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:167309:35)
    at Session.getCompletions (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:179441:64)
    at Session.handlers.ts.Map.ts.getEntries._a.<computed> (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:178114:61)
    at /Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:180174:96
    at Session.executeWithRequestId (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:180165:28)
    at Session.executeCommand (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:180174:41)
    at Session.onMessage (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:180202:35)
    at Interface.<anonymous> (/Volumes/Dev/project/node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/lib/tsserver.js:184338:31)
    at Interface.emit (node:events:527:28)
    at [_onLine] [as _onLine] (node:internal/readline/interface:424:12)
    at [_normalWrite] [as _normalWrite] (node:internal/readline/interface:613:59)
    at Socket.ondata (node:internal/readline/interface:251:23)
    at Socket.emit (node:events:527:28)
    at addChunk (node:internal/streams/readable:324:12)
    at readableAddChunk (node:internal/streams/readable:297:9)
    at Readable.push (node:internal/streams/readable:234:10)
    at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)",  type = 4
}

babel.config.js :

module.exports = api => {
  const development =
    !process.env.NODE_ENV || process.env.NODE_ENV === 'development'
  const web = api.caller(caller => !!(caller && caller?.target === 'web'))

  return {
    targets: !web
      ? { node: 'current' }
      : '> 1%, last 2 versions, Firefox ESR, not IE > 0, not IE_Mob > 0',
    presets: [
      '@babel/preset-typescript',
      [
        '@babel/preset-react',
        {
          runtime: 'automatic',
          importSource: '@emotion/react',
          development,
        },
      ],
      [
        '@babel/preset-env',
        {
          useBuiltIns: web ? 'usage' : undefined,
          corejs: web ? '3.25.3' : false,
        },
      ],
    ],
    plugins: [
      development && 'react-refresh/babel',
      '@babel/plugin-transform-runtime',
      [
        'module-resolver',
        { root: ['./src'], extensions: ['.js', '.ts', '.tsx', '.json'] },
      ],
      [
        '@emotion',
        {
          labelFormat: '[filename]--[local]',
          sourceMap: !process.env.DISABLE_EMOTION_SOURCEMAPS,
        },
      ],
    ].filter(Boolean),
  }
}

jsconfig.json

{
  "compilerOptions": {
    "target": "ES6",
    "baseUrl": ".",
    "checkJs": true
  },
  "include": ["src/**/*"]
}

tsconfig.json

{
  "compilerOptions": {
    "noEmit": true,
    "lib": ["es2022", "dom"],
    "module": "commonjs",
    "target": "es2022",
    "jsx": "react-jsx",
    "jsxImportSource": "@emotion/react",
    "allowJs": true,
    "strict": true,
    "esModuleInterop": true,
    "resolveJsonModule": true,
    "skipLibCheck": true,
    "moduleResolution": "node",
    "baseUrl": "."
  },
  "include": [
    "**/*.ts",
    "**/*.tsx",
    "**/.playwright/**/*.ts",
    ".storybook/**/*.ts",
    ".storybook/**/*.tsx",
    "emotion.d.ts",
    "global.d.ts",
    "e2e/playwright.d.ts",
    ".jest/setupTests.ts"
  ]
}
Dorian Maliszewski
  • 821
  • 1
  • 10
  • 14

0 Answers0