[Feature] Yarn SDKs without contribution
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- javascript, typescript
- Domain
- developer-experience, tooling
Research direction
No implementation file or test is named. Start by reading the contributing guide and the current Yarn SDK approach, then determine how a user-provided package, paths, and VS Code configuration could be supported. Done means authors can generate SDKs without adding their packages to this repository, with documented behavior and tests.
Written by the indexing model from the issue text.
Description
- I'd be willing to implement this feature (contributing guide)
- This feature is important to have in this repository; a contrib plugin wouldn't do
Describe the user story
As a developer,
I want an API to generate Yarn SDKs,
So that my team and others don't need to contribute to Yarn.
Describe the solution you'd like
Right now, working with TypeScript or ESLint (as examples) in VS Code requires using Yarn SDKs to help resolve the locally installed packages. This is important as it allows users to control versions.
The current SDK approach makes sense, but it means that packages must be listed in this repo, and later updated if and when package structure changes. For authors of things like VS Code extensions - including possibly private/internal extensions - it would be great if they could use a solution where users instead provide instructions to the SDK package, for example:
# yarn dlx @yarnpkg/sdks
sdks create --package="@scope/package" --path="dist/api.js" --vscode="myExtension.packagePath"
This could be a JS API too, so that the extension could self-configure:
import { create } from '@yarnpkg/sdks';
create('@scope/package',
{ paths: ['dist/api.js', 'dist/advanced.js'] },
(sdkPath) => ({
vscode: {
"myExtension.packagePath": sdkPath + '/dist/api.js',
},
}),
);
The above are for example purposes and are not intended to be API proposals.
Describe the drawbacks of your solution
I realise that from a Yarn perspective, it's easier to manage changes when all of the code lives in this repo.
For VS Code extensions authors, this now puts the responsibility to support Yarn back onto them and their teams.
Describe alternatives you've considered
Authors can manually create SDK files.
- Dominant language
- TypeScript
- Stars
- 8.1k
- Forks
- 1.3k
- PR merge metrics
- No merged PRs in 30d
Contributor guide
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.
More from yarnpkg/berry
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
enhancement good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Similar issues
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
code-quality refactoring
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
vercel/react-tweet#225 ·