Contributing to this repo

Pete Gonzalez edited this page Sep 11, 2018 · 4 revisions

Setting up your machine

  • NodeJS 8 or newer: We recommend to use nvm (for Mac/Linux) or nvm-windows (for Windows) so that you can easily switch between different NodeJS engine verisons. When installing NodeJS, make sure to first uninstall any previous versions and clean up their files. See FAQ: After installing Rush, why am I stilling see the old version? for more about this.

  • Visual Studio Code (recommended): You can use any editor, but we suggest VS Code. It's great!

  • Update your global packages: If you are using NPM, you would run these commands:

C:\>npm install -g npm    <-- optional, may require admin command prompt
C:\>npm install -g pnpm
C:\>npm install -g gulp
C:\>npm install -g @microsoft/rush

Building the projects

We use the Rush tool for building projects in the web-build-tools monorepo.

  1. Make sure you have the latest release of Rush:
C:\>npm install -g @microsoft/rush
  1. Clone the repo:
C:\Repos>git clone https://github.com/Microsoft/web-build-tools
  1. Use rush to install the package dependencies:
C:\Repos>cd web-build-tools
C:\Repos\web-build-tools>rush install
  1. Rebuild all the projects in the repo:
C:\Repos\web-build-tools>rush rebuild
  1. If you want to build just one project:
C:\Repos\web-build-tools>cd libraries\rush-core-library
C:\Repos\web-build-tools\libraries\rush-core-library>gulp

Important: You generally should not use the NPM tool when working in a Rush repo. See the Rush documentation for more information about this tool.

Submitting a Pull Request

We welcome contributions! To submit a feature for one of the web-build-tools projects:

  1. Fork the repo.
  2. Create a Git branch and commit your changes.
  3. If you modified any package.json files, run rush check to make sure the versions are consistent.
  4. Run rush change; if prompted, enter a change log message, and commit the files that get created.
  5. Create a pull request
  6. If your PR primarily affects a single project, add the project name as a prefix to your PR title. For example: "[api-extractor] Added a new API feature" or "[node-core-libary] Fixed a bug in the library".
  7. If the Travis build fails, examine the log files. Make sure you followed steps 3 and 4 above.

Someone should review your PR within a day or so. If nobody is responding, please contact the Rush developers via the web-build-tools Gitter community.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.