New Strategic Initiative on Primordials
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 694
- Forks
- 142
- PR merge metrics
- No merged PRs in 30d
Description
Primordials are a way we use to add robustness to certain areas in our code and there has been a lot of debate about whether or not the issues they create regarding performance and ease of contribution are worth it in different contexts.
Context: https://github.com/nodejs/TSC/issues/1438 https://github.com/nodejs/node/issues/18795
I'd like to proposes a (ideally short lived) new strategic initiative around deciding their status in the project.
I'm happy to drive this as a strategic initiative if there is interest from the TSC with the following format:
- We (all members invited) will meet a few times to write use cases and then derive tests from those use cases that will run during CI to enforce we don't break any primordials guarantees (e.g exit handler) . We will try to keep the scope small.
- We will add a warning to the docs outlining the robustness model regarding primordials and what guarantees Node makes. We will make a recommendation and an official "Node wants X" for TC39 discussion.
- We will recommend where to enforce primordials and where not to enforce them and what the PR flow around them should be.
- The TSC will approve every step above either by consensus (good) or by vote (bad).
- All this should happen in the timespan of a month or two, ideally. We rush nothing, hear everyone out and adapt/amend when needed.
I would really like it if collaborators who have spent a lot of time thinking about this participate, namely @aduh95 , @ronag @joyeecheung and @anonrig but there are a lot of others here like @isaacs and @ljharb that are welcome too weigh in and participate.
I think our opinions don't differ that much honestly and I think once we iron out the specifics we can come to a good resolution.
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.
Research direction
Start by reading the linked TSC issue 1438 and Node issue 18795, then review the discussion here to understand the existing primordials guarantees and disagreements. The work would be complete when the TSC has approved the use cases and CI tests, documentation guidance, enforcement recommendations, and TC39 position described in the proposal.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- developer-experience, documentation, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100