Skip to content

import.meta.resolve is broken in vite-node, despite working in node #6953

@GauBen

Description

@GauBen

Describe the bug

Given an index.mjs file with the following line of code:

console.log(import.meta.resolve("./index.mjs"));

It works properly when running node index.mjs, but throws an error when running in vite-node npx vite-node index.mjs: TypeError: __vite_ssr_import_meta__.resolve is not a function

Reproduction

  1. mkdir repro && cd $_
  2. echo 'console.log(import.meta.resolve("./index.mjs"));' > index.mjs
  3. node index.mjs will print file://.../repro/index.mjs
  4. npx vite-node index.mjs will print
Need to install the following packages:
vite-node@2.1.5
Ok to proceed? (y)

/home/gautier/repro/index.mjs:1
'use strict';async (__vite_ssr_import__,__vite_ssr_dynamic_import__,__vite_ssr_exports__,__vite_ssr_exportAll__,__vite_ssr_import_meta__,require,exports,module,__filename,__dirname)=>{{console.log(__vite_ssr_import_meta__.resolve("./index.mjs"));

                                                                                                      ^

TypeError: __vite_ssr_import_meta__.resolve is not a function
    at /home/gautier/repro/index.mjs:1:25
    at ViteNodeRunner.runModule (file:///home/gautier/.npm/_npx/f2342a4b64a2bc92/node_modules/vite-node/dist/client.mjs:399:11)
    at ViteNodeRunner.directRequest (file:///home/gautier/.npm/_npx/f2342a4b64a2bc92/node_modules/vite-node/dist/client.mjs:381:16)
    at ViteNodeRunner.cachedRequest (file:///home/gautier/.npm/_npx/f2342a4b64a2bc92/node_modules/vite-node/dist/client.mjs:206:14)
    at ViteNodeRunner.executeFile (file:///home/gautier/.npm/_npx/f2342a4b64a2bc92/node_modules/vite-node/dist/client.mjs:169:12)
    at CAC.run (file:///home/gautier/.npm/_npx/f2342a4b64a2bc92/node_modules/vite-node/dist/cli.mjs:99:5)

Node.js v20.18.0

System Info

System:
    OS: Linux 5.15 Ubuntu 24.04.1 LTS 24.04.1 LTS (Noble Numbat)
    CPU: (16) x64 AMD Ryzen 7 4800HS with Radeon Graphics
    Memory: 3.52 GB / 7.47 GB
    Container: Yes
    Shell: 5.9 - /home/linuxbrew/.linuxbrew/bin/zsh
  Binaries:
    Node: 20.18.0 - ~/.pkgx/nodejs.org/v20.18.0/bin/node
    npm: 10.9.1 - ~/.pkgx/npmjs.com/v10.9.1/bin/npm
    vite-node: 2.1.5

Used Package Manager

npm

Validations

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