Commit 2d88702c84070a0e25dd321ebe69227e78637e7a
begininngs of patchwork contribution guidelines
Matt McKegg committed on 4/3/2018, 1:44:43 AMParent: dd24bd09326e63d0e8ff74129b65f7356a8c2538
Files changed
contributing.md | added |
contributing.md | ||
---|---|---|
@@ -1,0 +1,17 @@ | ||
1 | +# Patchwork Contribution Guidelines | |
2 | + | |
3 | +Maintained by @mmckegg | |
4 | + | |
5 | +## Please ensure all submitted code conforms to [JavaScript Standard Style](https://standardjs.com/) | |
6 | + | |
7 | +You can run `npm test` or `npx standard` to run the linter. A lot of small issues can be automatically fixed using `npx standard --fix`. | |
8 | + | |
9 | +## Feel free to use [depject](https://github.com/depject/depject) inside of the Patchwork repo, but please don't merge in depject modules from other packages. | |
10 | + | |
11 | +[patchcore](https://github.com/ssbc/patchcore) and [patch-settings](https://github.com/mixmix/patch-settings) are the only external packages that [merge in depject modules](https://github.com/ssbc/patchwork/blob/master/main-window.js#L23) (and that is because of legacy reasons). Please don't treat this as best practice. | |
12 | + | |
13 | +I recommend doing as much as possible in the Patchwork repo rather than splitting into a bunch of modules. This makes it much easier to maintain and update the overall application. Only split things into modules that are clearly reusable components (algorithms, widgets, indexes) and use `require` to include them. | |
14 | + | |
15 | +_Originally depject was included in Patchwork to ease plugin creation, but I have realised since that this was not the best approach. When used across packages, it tends to create confusing hard to maintain APIs._ | |
16 | + | |
17 | +**Please consider depject deprecated in Patchwork!** It will be replaced with something else in the near future, and I want to keep as much of it contained in the main patchwork repo to assist with migration. |
Built with git-ssb-web