diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c291d1f7dfbb943d34f09d1ae2983045724291bd..84a46444dfc356f35cabb2b9c6f4c1059bdaa748 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,10 +11,10 @@ fixing small typos or simple bugs. To effectively work on the project the following tools are required: -* `Git` -* `Node.js` or another npm client -* an IDE capable of working with JavaScript, TypeScript and CSS. [VS Code](https://code.visualstudio.com/) is one option. -* Java Runtime Environment, minimum JRE8 +* [Git](https://git-scm.com) +* [Node.js](https://nodejs.org/en/) or another npm client +* a code editor. [VSCode](https://code.visualstudio.com/) is a popular option. +* [Java Runtime Environment](https://www.java.com/en/download/manual.jsp), minimum JRE8 ### Setting everything up @@ -22,12 +22,15 @@ To effectively work on the project the following tools are required: 1. Navigate to the `fc-pregmod` root directory. * Windows: Open the cmd/Powershell and execute `cd C:\path\to\project\fc-pregmod` * GNU/Linux: Open a terminal and execute `cd /path/to/project/fc-pregmod/`. -2. Run `npm install` -3. Open the directory in your preferred IDE -4. Configure your IDE to use ESLint. -5. Recommended extensions for VSCode: - * [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - * [GitLens — Git supercharged](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens). +2. Run `npm install` in your terminal +3. Open the directory in your preferred editor + +* Make sure you have an extension for ESlint installed to catch formatting errors + +Recommended extensions for VSCode: + +* [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) +* [GitLens — Git supercharged](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens). ## Compiling @@ -35,22 +38,11 @@ While you can compile it like usual (`compile.bat`/`compile.sh`/`make`), there i source maps for easier debugging. Other than that there are no differences between compiling for development or compiling for playing the game. -# Code - ## Code style Generally the code style is based on our `.eslintrc.json`. If your IDE has an auto format feature it can often read the rules from `.eslintrc.json`. -### Important Rules - -* use spaces after commas -* do not omit semicolons -* no empty blocks -* don't pad blocks with blank lines -* prefer strict equality/inequality -* etc. - ### Documentation It's a good idea to provide meaningful documentation for new functions and classes where possible. We follow @@ -141,6 +133,7 @@ const foo = { New code should generally get organized into the `App` namespace. See [fc-js-init.js](js/002-config/fc-js-init.js) for a rough outline. ## JavaScript Features + * Generally, we're currently targeting ECMAScript 2021. * It's not 2010 anymore and we don't try to support Internet Explorer or anything stupid like that. * use `let`/`const` rather than `var` @@ -182,11 +175,12 @@ errors, it's not totally clean as is and there are a few false positives. * `resources/` contains various [art related files](resources/ReadmeBeforeAddingArt.md). ### External Programs + * `docker/` contains Docker files from which the docker containers for GitLabs CI are created. * `FCHost/` contains the sources for [FCHost](FCHost/documentation_FCHost.md). * `saveTools/` contains tools for [editing save files](saveTools/README.md). -# Further Reading +## Further Reading ## Wiki Files