Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: update contributing docs #9758

Merged
merged 1 commit into from
Mar 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion contributing/become-a-contributor.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Become A Contributor

Anyone can contribute to EmberData. Contributing can be as simple as opening an issue or helping to track down the cause of one. Or as involved as contributing a fix, helping with routine maintenance, or implementing a big new feature.
Anyone can contribute to WarpDrive. Contributing can be as simple as opening an issue or helping to track down the cause of one. Or as involved as contributing a fix, helping with routine maintenance, or implementing a big new feature.

In addition to holding discussions on individual [issues](https://github.com/emberjs/data/issues)
or [RFCs](https://github.com/emberjs/rfcs/labels/T-ember-data), we coordinate work when needed in the `#dev-ember-data` channel on [Ember's Discord Server](https://discord.gg/zT3asNS).
Expand Down
2 changes: 1 addition & 1 deletion contributing/key-concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ const identifier = recordIdentifierFor(record);
unloadRecord(identifier);
```

Any identifier supplied by an EmberData API will always be the stable variant. APIs which are operating based on identity and which can reasonably presume that the data exists expect stable identifiers and should error if an unknown identifier is encountered to prevent potential system-correctness errors.
Any identifier supplied by a WarpDrive API will always be the stable variant. APIs which are operating based on identity and which can reasonably presume that the data exists expect stable identifiers and should error if an unknown identifier is encountered to prevent potential system-correctness errors.
6 changes: 3 additions & 3 deletions contributing/linking-to-applications.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#### Testing EmberData source directly in your Application
#### Testing WarpDrive source directly in your Application

You can use package linking to test checkouts of ember-data against your application locally. This applies to consuming ember-data directly within an ember application. It will not work in your application if you are consuming ember-data through an addon (transitive dependency problem). This approach also presumes consuming all of ember-data.
You can use package linking to test checkouts of WarpDrive against your application locally. This applies to consuming WarpDrive directly within an ember application. It will not work in your application if you are consuming WarpDrive through an addon (transitive dependency problem). This approach also presumes consuming all of WarpDrive.

1. clone this repository or another fork
2. install dependencies: `pnpm install`
Expand All @@ -14,4 +14,4 @@ If using `pnpm`

If you don't use pnpm in your application, using the appropriate `yarn link` and `npm link` commands within the respective directories for the project and your app may work.

Once you have linked EmberData to your application, you can run `ember serve` as usual in your application.
Once you have linked WarpDrive to your application, you can run `ember serve` as usual in your application.
8 changes: 5 additions & 3 deletions contributing/rfc-process.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
### Requesting Features or Deprecations

`ember-data` participates in the [RFC process (GitHub emberjs/rfcs)](https://github.com/emberjs/rfcs/).
While WarpDrive is universal in nature, its development is managed by the EmberJS community.

WarpDrive participates in the [RFC process (GitHub emberjs/rfcs)](https://github.com/emberjs/rfcs/).
Most changes to the public API including new features, changes in behavior, or deprecations require
community discussion and must go through this process.

Expand All @@ -20,12 +22,12 @@ are narrowly scoped with clear understanding of alternatives, drawbacks, and the
5. Open an [RFC issue](https://github.com/emberjs/rfcs/issues?q=is%3Aissue+is%3Aopen+label%3AT-ember-data)
to broaden and record the discussion if the idea needs more time for discussion and iteration.
- label your issue with `T-ember-data` (or ask someone in `#dev-ember-data` to add the label if you lack the permission)
- announce your issue in `#dev-ember-data` and anywhere else desired such as `#news-and-announcements` and `twitter`.
- announce your issue in `#dev-ember-data` and anywhere else desired such as `#news-and-announcements` and `bluesky`.
6. [Draft an RFC](https://github.com/emberjs/rfcs#what-the-process-is) and share it with those you have
been discussing the ideas with.
7. Publish your RFC by opening a PR to [emberjs/rfcs/](https://github.com/emberjs/rfcs/pulls?q=is%3Apr+is%3Aopen+label%3AT-ember-data)
- label your PR with `T-ember-data` (or ask someone in `#dev-ember-data` to add the label if you lack the permission)
- announce your PR in `#dev-ember-data` and anywhere else desired such as `#news-and-announcements` and `twitter`.
- announce your PR in `#dev-ember-data` and anywhere else desired such as `#news-and-announcements` and `bluesky`.
8. Attend weekly team meetings to discuss the RFC, continue iterating on the RFC, and help shepherd it to completion.
9. Build a proof-of-concept. Sometimes this is best if it occurs alongside drafting the RFC, as it often informs
the RFC design, known drawbacks, and alternatives. Often it will become incorporated in the final implementation.
Expand Down
6 changes: 5 additions & 1 deletion contributing/setting-up-the-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,13 @@ Currently the install command is also what builds all of the individual packages
## Create certificates

```sh
pnpx @warp-drive/holodeck ensure-cert
pnpm dlx @warp-drive/holodeck ensure-cert
```

## Building the project

The project's packages will build whenever `pnpm install` is run.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm intending to do a full rundown of "how to build, run and rebuild all the things" here but first I'm going to simplify the scripts to do so

## Run some commands

Generally test and lint commands can be found in the `"scripts"` section of the root `package.json` manifest. Individual packages or test packages have additional commands in the `"scripts"` section of their own `package.json` manifest as well.
Expand Down
8 changes: 5 additions & 3 deletions contributing/submitting-prs.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,17 @@ All PRs should have accompanying tests. For bug-fixes, this should include tests
the issue being fixed and test that the solution works.

- We do write tests for our deprecations and assertion messages, using the `assert.expectAssertion()` and `assert.expectDeprecation()` helpers.
- Because we run tests in both development and `production` environments, assertions, deprecations and warnings may be stripped out. To avoid tests on failing for your PR in production environments, use the `testInDebug` function instead of `qunit` `test` to skip them in production when appropriate.
- Because we run tests in both development and `production` environments, assertions, deprecations and warnings may be stripped out. To avoid tests of debug behaviors failing for your PR in production environments, use the `testInDebug` function instead of `qunit` `test` to skip them in production when appropriate.
- alternatively wrap specific assertions in `if (DEBUG)` or `if (PRODUCTION)`
- Update the documentation, examples, and guides when affected by your contribution

### Running Tests

- PRs will automatically run an extensive set of test scenarios for your work. In some cases a contributor
may need to approve the workflow run if this is your first contribution.
- `EmberData` is a collection of packages and comes with multiple test apps scoped to specific situations
or parts of the codebase we want to test. Tests live in the test applications in `<project>/tests`. These should look like familiar ember app/addon tests, and to run them from within a specific test app use `pnpm test` or `pnpm test --serve`. For additional test commands see the list
- `WarpDrive` is a collection of packages and comes with multiple test apps scoped to specific situations
or parts of the codebase we want to test. These test applications can be found in `<project>/tests`.
These should look like familiar ember app/addon tests, and to run them from within a specific test app use `pnpm test` or `pnpm test --serve`. For additional test commands see the list
of commands in the respective `package.json` files.

### Pull Request Titles
Expand Down
8 changes: 6 additions & 2 deletions packages/holodeck/server/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ async function getCertInfo() {
const KEY = Bun.file(KEY_PATH);

if (!(await CERT.exists()) || !(await KEY.exists())) {
throw new Error('SSL certificate or key not found, you may need to run `pnpx @warp-drive/holodeck ensure-cert`');
throw new Error(
'SSL certificate or key not found, you may need to run `pnpm dlx @warp-drive/holodeck ensure-cert`'
);
}

return {
Expand All @@ -54,7 +56,9 @@ async function getCertInfo() {
};
} else {
if (!fs.existsSync(CERT_PATH) || !fs.existsSync(KEY_PATH)) {
throw new Error('SSL certificate or key not found, you may need to run `pnpx @warp-drive/holodeck ensure-cert`');
throw new Error(
'SSL certificate or key not found, you may need to run `pnpm dlx @warp-drive/holodeck ensure-cert`'
);
}

return {
Expand Down
Loading