Skip to content

Conversation

@sapphi-red
Copy link
Member

Description

This bug only happens with pnpm dev.
pnpm dev externalizes dependencies instead of bundling them.

Here we are using the named export: convertSourceMap.mapFileCommentRegex.

import * as convertSourceMap from 'convert-source-map'

code = code.replace(convertSourceMap.mapFileCommentRegex, blankReplacer)

But because convert-source-map uses a uncommon notation, Node.js fails to detect this named export.
As a result, in build, rollup achieves to handle this, and in dev, convertSourceMap.mapFileCommentRegex becomes undefined.
https://github.com/thlorenz/convert-source-map/blob/46c2b78aa56d25a77d3ea237051aeb5d9e7f750c/index.js#L11-L16

Then this line will be .replace(undefined, blankReplacer) and breaks @vite/client.

Additional context


What is the purpose of this pull request?

  • Bug fix
  • New Feature
  • Documentation update
  • Other

Before submitting the PR, please make sure you do the following

  • Read the Contributing Guidelines.
  • Read the Pull Request Guidelines and follow the Commit Convention.
  • Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
  • Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
  • Ideally, include relevant tests that fail without this PR but pass with it.

@sapphi-red sapphi-red added bug p1-chore Doesn't change code behavior (priority) labels Oct 31, 2022
@patak-dev patak-dev merged commit 1358a3c into vitejs:main Oct 31, 2022
@sapphi-red sapphi-red deleted the chore/fix-dev branch October 31, 2022 16:17
@sapphi-red sapphi-red mentioned this pull request Nov 4, 2022
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

p1-chore Doesn't change code behavior (priority)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants