p5.js-web-editor/developer_docs/development.md

2.4 KiB

Development

A guide for adding code to this project.

Installation

Follow the installation guide.

Tests

To run the test suite simply run npm test (after installing dependencies with npm install)

A sample unit test could be found here: Nav.test.jsx.

Design

Technologies Used

MERN stack - MongoDB, Express, React/Redux, and Node.

  • For a reference to the file structure format this project is using, please look at the Mern Starter.

  • This project does not use CSS Modules, styled-components, or other CSS-in-JS libraries, but uses Sass. BEM guidelines and naming conventions are followed.

  • For common and reusable styles, write OOSCSS (Object-Oriented SCSS) with placeholders and mixins. For organizing styles, follow the 7-1 Pattern for Sass.

  • We're using ES6 and transpiling to ES5 using Babel.

  • For reference to the JavaScript style guide, see the Airbnb Style Guide, React ESLint Plugin.

  • The ESLint configuration is based on a few popular React/Redux boilerplates. Open to suggestions on this. If in development, you're getting annoyed with ESLint, you can temporarily remove the eslint-loader it from webpack/config.dev.js in the JavaScript loader, or disable any line from eslint by commenting at the end of the line // eslint-disable-line.

  • Jest for unit tests and snapshot testing along with Enzyme for testing React.