Wrong exports in tslib
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1.3k
- Forks
- 145
- PR merge metrics
- No merged PRs in 30d
Description
I think the "import" specifier in the exports section should also point to ES6 Version:
https://github.com/microsoft/tslib/blob/481d35218af580ec37a6a8f6b836b80cb1a245b3/package.json#L32
see spec:
https://nodejs.org/api/packages.html#approach-1-use-an-es-module-wrapper
Node.js implements the following conditions:
"import" - matches when the package is loaded via import or import(), or via any top-level import or resolve operation by the ECMAScript module loader. Applies regardless of the module format of the target file. Always mutually exclusive with "require".
"require" - matches when the package is loaded via require(). The referenced file should be loadable with require() although the condition matches regardless of the module format of the target file. Expected formats include CommonJS, JSON, and native addons but not ES modules as require() doesn't support them. Always mutually exclusive with "import".
"node" - matches for any Node.js environment. Can be a CommonJS or ES module file. This condition should always come after "import" or "require".
"node-addons" - similar to "node" and matches for any Node.js environment. This condition can be used to provide an entry point which uses native C++ addons as opposed to an entry point which is more universal and doesn't rely on native addons. This condition can be disabled via the --no-addons flag.
"default" - the generic fallback that always matches. Can be a CommonJS or ES module file. This condition should always come last.
so there is no "module" specifier, but it is often used, I know. But if I want to import acording to spec, my site would load the one with "import" and then it would fail cause this is not usable by imports
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the exports section at the linked package.json line and read Node.js's package exports conditions specification. Check how the import condition currently resolves versus the ES6 version, then verify that an import-based consumer loads the intended file without failing. Done means the exports mapping follows the stated import and require behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100