|
2 | 2 |
|
3 | 3 | If you'd like to contribute to Pattern Lab Node, please do so! There is always a lot of ground to cover and something for your wheelhouse.
|
4 | 4 |
|
5 |
| -No pull request is too small. Check out any [up for grabs issues](https://github.com/pattern-lab/patternlab-node/labels/up%20for%20grabs) as a good way to get your feet wet, or add some more unit tests. |
| 5 | +No pull request is too small. Check out any [help wanted 🆘](https://github.com/pattern-lab/patternlab-node/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted+%3Asos%3A%22) or [good first issues 🎓](https://github.com/pattern-lab/patternlab-node/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue+%3Amortar_board%3A%22)as a good way to get your feet wet, or add some more unit tests. |
| 6 | + |
| 7 | +## Prerequisites |
| 8 | + |
| 9 | +To get started, you'll need Node 8 or higher. Managing Node with [nvm](https://github.com/creationix/nvm) is recommended. Once installed, you can target the version of Node we specify within the [`.nvmrc`](https://github.com/pattern-lab/patternlab-node/blob/master/.nvmrc) file. |
| 10 | + |
| 11 | +```sh |
| 12 | +nvm install <<version>> |
| 13 | +nvm use <<version>> |
| 14 | +``` |
6 | 15 |
|
7 | 16 | ## Developing Locally
|
8 | 17 |
|
9 |
| -The best way to make changes to the Pattern Lab Node core and test them is through your existing edition. |
| 18 | +The best way to make changes to the Pattern Lab Node core and test them is through an edition. |
10 | 19 |
|
11 | 20 | * Fork this repository on Github.
|
| 21 | +* `npm install && npm run bootstrap` |
12 | 22 | * Create a new branch in your fork and push your changes in that fork.
|
13 |
| -* `npm install` |
14 |
| -* `npm link` |
15 |
| -* `cd /path/to/your/edition` |
16 |
| -* `npm link patternlab-node` |
| 23 | +* `cd packages/edition-node` |
| 24 | +* Test your changes with the edition's api |
| 25 | +
|
| 26 | +### Cold start testing |
| 27 | +
|
| 28 | +To ensure that developers can bootstrap the repo from a fresh clone, do this in your working copy: |
| 29 | +
|
| 30 | +```sh |
| 31 | +git reset --hard && git clean -dfx && npm install && npm run bootstrap |
| 32 | +``` |
| 33 | +
|
| 34 | +This ensures that any changes you've made will still result in a clean and functional developer experience. **Note**: be sure you've committed any outstanding work before doing this -- it will blow away whatever's still outstanding, including anything staged but not commited. |
17 | 35 |
|
18 | 36 | ## Guidelines
|
19 | 37 |
|
20 | 38 | * _ALWAYS_ submit pull requests against the [dev branch](https://github.com/pattern-lab/patternlab-node/tree/dev). If this does not occur, I will first, try to redirect you gently, second, attempt to redirect the target branch myself, thirdly, port over your contribution manually if time allows, and/or lastly, close your pull request. If you have a major feature to stabilize over time, talk to @bmuenzenmeyer via an issue about making a dedicated `feature-branch`
|
21 | 39 | * Keep your pull requests concise and limited to **ONE** substantive change at a time. This makes reviewing and testing so much easier.
|
22 | 40 | * Commits should reference the issue you are adressing. For any Pull Request that you send, use the template provided.
|
23 | 41 | * Commits are best formatted using the [conventional commits pattern](https://conventionalcommits.org/).
|
24 |
| -* If you can, add some unit tests using the existing patterns in the `./test` directory |
| 42 | +* If you can, add some unit tests using the existing patterns in the `.packages/core/test` directory |
25 | 43 | * Large enhancements should begin with opening an issue. This will result in a more systematic way for us to review your contribution and determine if a [specifcation discussion](https://github.com/pattern-lab/the-spec/issues) needs to occur.
|
26 | 44 | * Mention the issue number in commits, so anyone can see to which issue your changes belong to. For instance:
|
27 |
| - * `#123 Fix resolving patterns in pattern_hunter` |
28 |
| - * `Feature #42: improve improbability drive` |
| 45 | + * `fix(get): Resolve patterns correctly` |
| 46 | + * `feat(version): Add ability to ask for version statically` |
29 | 47 |
|
30 | 48 | ## Coding style
|
31 | 49 |
|
|
0 commit comments