mirror of
https://github.com/Redocly/redoc.git
synced 2026-03-06 12:31:17 +03:00
2.5 KiB
2.5 KiB
ReDoc Contributing Guide
Hi! We're really excited that you are interested in contributing to ReDoc. This is the wrong place to do that if you don't work at Bandwidth :). Please contribute to Redocly/redoc instead.
Development Setup
You will need Node.js at v12.0.0+.
After cloning the repo, run:
$ npm install # or npm
Commonly used NPM scripts
# dev-server, watch and auto reload playground
$ npm start
# start playground app in production environment
$ npm run start:prod
# runt tslint
$ npm run lint
# try autofix tslint issues
$ npm run lint -- --fix
# run unit tests
$ npm run unit
# run e2e tests
$ npm run e2e
# Make sure you have created bundle before running e2e test
# E.g. run `npm run bundle` and wait for the finishing process.
# open cypress UI to debug e2e test
$ npm run cy:open
# run the unit tests (includes linting and license checks)
$ npm test
# prepare bundles
$ npm run bundle
# format the code using prettier
$ npm run prettier
# auto-generate changelog
$ npm run changelog
There are some other scripts available in the scripts section of the package.json file.
Project Structure
-
benchmark: contains basic perf benchmark. Not fully ready yet -
demo: contains project demo with demo specs and HMR playground used in developmentdemo/playground: HMR Playground used in development
-
docs: contains extra docs (linked from README.md) -
e2e: contains e2e tests. The e2e tests are written and run with Cypress. -
src: contains the source code. The codebase is written in Typescript. CSS styles are managed with Styled components. State is managed by MobXsrc/common-elements: contains common Styled elements or components used in multiple placessrc/components: contains main visual componentssrc/services: contains different services used by ReDoc including MobX storessrc/services/models: contains classes for OpenAPI entities (e.g. Response, Operations, etc)src/types: contains extra typescript typings including OpenAPI doc typingssrc/utils: utility functionssrc/styled-components.ts: - reexports styled-components with proper typescript annotations using themesrc/theme.ts: - default theme (colors, fonts, etc) used by all the components