microsoft / microsoft/TypeScript-Website
@typescript/ata JSR registry support
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.6k
- Forks
- 1.5k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 7
Description
I understand this is not a critical issue. I've already tried to make some changes and open a PR but I think the issue might need some more thought put in.
I was trying to figure out a way to be able to allow imports of JSR packages in the monaco editor.
@typescript/ata relies on jsdelivr so the JSR packages aren't available there.
Issues I've encountered
1. Not clear how imports should work. In Deno it's possible to do it like this:
import { something } from 'jsr:@scope/package';
For Node, (https://jsr.io/docs/npm-compatibility), it's necessary to add a new registry https://npm.jsr.io/ and the name of the package gets transformed to
import {} from '@jsr/scope__package'
or packages.json can be updated like this:
// package.json
{
"type": "module",
"dependencies": {
- "@jsr/luca__cases": "1"
+ "@luca/cases": "npm:@jsr/luca__cases@1"
}
}
2. Where to import the files from
Initially I tried querying jsr.io directly: https://jsr.io/@luca/flag/meta.json
based on https://jsr.io/docs/api
Then I figured it'd be better to use the npm compatibility layer so I get well formed ESM instead of Typescript.
I've used things like https://npm.jsr.io/@jsr/tscu__dependent
The issue now is that I don't get access to specific files, but to a tarball of a specific version.
At this point it's not clear what solution should be correct.
I figured maybe I'll open a discussion on this.
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 by reviewing @typescript/ata and how it currently resolves imports through jsdelivr. Compare the JSR metadata API with the npm compatibility tarballs, using the Deno and Node import examples in the issue as requirements. Done means agreeing on and implementing a clear JSR import and file-resolution approach for Monaco.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100