Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The kind of change this PR does introduce
Current behaviour
esm-debug will not work on most environments.
![Screenshot 2023-06-01 21 39 13](https://private-user-images.githubusercontent.com/876076/242771772-e725369f-2e73-43f4-9164-9c2eac360972.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjYwOTUwMzgsIm5iZiI6MTcyNjA5NDczOCwicGF0aCI6Ii84NzYwNzYvMjQyNzcxNzcyLWU3MjUzNjlmLTJlNzMtNDNmNC05MTY0LTljMmVhYzM2MDk3Mi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMVQyMjQ1MzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lZTg1MmU5ZDVhMTI1ZTYzYzM4ZWQ4NjEwMDQ1YTIwZmEyZDJmNWVlYTM3ZjUxMDIwZjdlMzA1MGNmODQyOWZhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.rjSkANfV5tUSwIHOnPxQKdXHzjeePPc4RjZoIqg_h9g)
This is a hidden problem in Vite, which uses the browser version from node_modules. The browser version has debug stripped, which is VERY undesirable as vite is primary used in dev, and in production a built version with debug code stripped out is compiled.
New behaviour
esm-debug will work when called directly in node or via unpkg.
Other information (e.g. related issues)
socketio/socket.io#4731
https://v2.vitejs.dev/config/#resolve-conditions
unpkg's
?module
still wont work due to debug not being an ESM package, and unpackage not supporting ESM packages that import CJS. A fine solution would be to wrap it ourselves. We could also import the global by path, but I don't think we can rely on ESM to localize the global.Confirmed working with:
import io from '../node_modules/socket.io-client/build/esm-debug/index.js'
import io from 'socket.io-client'
import io from 'socket.io-client'
// TS with esModuleInteropStackBlitz
Before PR:
After PR: