Skip to content

Commit

Permalink
chore: scaffold additional contributing materials (#8963)
Browse files Browse the repository at this point in the history
* chore: scaffold additional contributing materials

* more scaffolding
  • Loading branch information
runspired authored Oct 7, 2023
1 parent ca41e2d commit d885d62
Show file tree
Hide file tree
Showing 5 changed files with 116 additions and 0 deletions.
Binary file added contributing/assets/ember-data-architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions contributing/become-a-contributor.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,11 @@ Anyone can contribute to EmberData. Contributing can be as simple as opening an

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).

### 🔗 Next Steps

- [Setting Up The Project](./setting-up-the-project.md)
- [Project Architecture](./project-architecture.md)
- [Key Concepts](./key-concepts.md)
- [Terminology](./terminology.md)
- [RFC Process](./rfc-process.md)
4 changes: 4 additions & 0 deletions contributing/project-architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## Architectural Diagram

<img src="./assets/ember-data-architecture.png">

39 changes: 39 additions & 0 deletions contributing/setting-up-the-project.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Setting Up The Project

1. Setup Volta

If you are not already using [⚡️ volta](https://volta.sh/) or have a version older than `1.1.1` you will want to begin by [installing it](https://docs.volta.sh/guide/getting-started).

For package management, the project uses [PNPM](https://pnpm.io/).

Volta will manage `node` and `pnpm` versions for you, but for [PNPM there is one more step](https://docs.volta.sh/advanced/pnpm):

To your shell profile you will want to add the following.

```sh
export VOLTA_FEATURE_PNPM=1;
```

> **Note** if you have previously installed pnpm globally via other means you should uninstall it from all other locations first. You may also need to uninstall nvm or other node version managers if they turn out to conflict.
2. Clone the repository

```sh
git clone git@github.com:emberjs/data.git
```

3. Install the project dependencies

```sh
cd data && pnpm install
```

Currently the install command is also what builds all of the individual packages in the monorepo and hardlinks them together, so if making changes to one package that need to be used by another you will need to rerun `pnpm install` for the changes to be picked up.

4. 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.

Any command in script can be run using `pnpm` from the directory of that manifest. For instance, to run linting from the root: `pnpm lint:js`

Github Actions workflows will generally use these same commands.
65 changes: 65 additions & 0 deletions contributing/terminology.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Terminology

- [Builder](#builder)
- [Cache](#cache)
- [Collections](#collections)
- [Derivations](#derivations)
- [Document](#document)
- [Fields](#fields)
- [Handler](#handler)
- [Identifier](#identifier)
- [Presentation](#presentation)
- [Record](#record)
- [Relationships](#relationships)
- [Request](#request)
- [Resource](#resource)
- [Schema](#schema)
- [Store](#store)

**Legacy Glossery**

- [Adapter](#adapter)
- [Model](#model)
- [Serializer](#serializer)

## Definitions

These are presented in "mental model" order as opposed to alphabetical order.

### Request

### Builder

### Handler

### Document

### Resource

### Identifier

### Fields

### Collections

### Relationships

### Derivations

### Cache

### Presentation

### Schema

### Store

### Record

## Legacy Terminology

### Model

### Adapter

### Serializer

0 comments on commit d885d62

Please sign in to comment.