-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
Labels
Description
- Review the documentation: https://docs.sentry.io/
- Search for existing issues: https://github.com/getsentry/sentry-javascript/issues
- Use the latest release: https://github.com/getsentry/sentry-javascript/releases
- N/A - Provide a link to the affected event from your Sentry account
Relates to PR #3077
Package + Version
-
@sentry/browser -
@sentry/node -
raven-js -
raven-node(raven for node) - other:
Version:
5.29.0
Description
Sentry must be imported using import * as Sentry instead of import Sentry in order to work.
With the esModuleInterop compiler option enabled, TypeScript does not complain about import Sentry.
(With the option off, TS recognizes that the module does not have a default import and forbids import Sentry)
This appears to be because the Sentry index.js module declares __esModule: true but does not actually have a value for the default export:
// import Sentry from "@sentry/node" - transpiled
node_1 = tslib_1.__importDefault(node_1);
//tslib
__importDefault = function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};Can the library be updated so the default import works as TypeScript thinks it does?
This is only an issue when the esModuleInterop setting is on, but it's a pretty valuable setting and a dangerous mistake
for the developer.
// Either
// vv - Can this be added?
exports.default = exports;
// Or
// vv - Can this be removed? Though it would make the `import *` less efficient.
Object.defineProperty(exports, "__esModule", { value: true });
Thanks!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Fields
Give feedbackNo fields configured for issues without a type.
Projects
Status
No status
Status
No status
Status
No status