Skip to content

Latest commit

 

History

History
118 lines (72 loc) · 5.51 KB

contributing.md

File metadata and controls

118 lines (72 loc) · 5.51 KB

Contributing to PWABuilder

PWABuilder was founded by Microsoft as a community guided, open source project to help move PWA adoption forward. We want to make sure that as the project evolves, it remains simple to get started, maintain, and improve.

Many of the guidelines of this document are focused on promoting this sustainable simplicity.

Quick tech overview

PWABuilder is built with the following tech stack:

It is helpful to be familiar with these technologies before contributing.

Get started developing

Prerequisites

At a minimum, you will need the following things properly installed on your computer to get started:

To run e2e test coverage and build your changes (in production mode) you must also install:

Installation

  • git clone <repository-url> this repository
  • navigate inside the new directory
  • npm install

Running in Development mode

Run tests on your (development mode) contributions

Running Unit Test Coverage

  • npm test

Running e2e Test Coverage

  • npm install selenium-standalone@latest -g only once
  • selenium-standalone install only once
  • npm run e2e

The Java JDK must be installed to perform these commands.

Run & build the production code

Production mode requires the same prerequisites and installation steps as development mode above.

However, production mode has a different build process outlined below:

  • npm run build (builds and compiles the production code)

Docker must be installed to perform the above command.

  • npm start (doesn't compile the code)

Frequently Asked Questions

Who can contribute?

Anyone who wants to be part of bringing PWAs to the web can contribute to PWABuilder! Skill level doesn't matter. All contributions big and small help us out. We have reviewers who can help you through the process the first few times.

Why does Microsoft need contributors?

PWABuilder was founded by Microsoft, but it's only moved forward because of the community's help. We open-sourced this because Microsoft wants to support the cross-platform development ecosystem and work with the community to direct the future of PWAs.

What kind of contributions is PWABuilder seeking?

No contribution is too small or too big. Bigger tasks take longer to review while smaller ones get feedback more quickly. Most contributors start with a small update, a bug fix, or docs improvement, and then move on to bigger tasks as they gain more familiarity with PWABuilder.

Where should I start contributing?

PWABuilder is split into multiple repositories. We recommend you get started with the following repos:

What should I check before submitting a pull request?

For every contribution, you must:

If adding a new feature, you should open an issue with us on the main PWABuilder repo on Github (https://github.com/pwa-builder/PWABuilder) before you start coding.

Once you have opened your PR, feel free to add a reviewer (Github should recommend people on the team). When the PR has been reviewed and is good to go, a team member will merge it.

After my pull request gets merged, when does it become part of a PWABuilder release?

We will usually add fixes in the next planned release, but sometimes it makes sense to add a contribution in a later update to ensure the quality and performance of the next release.

Found bugs?

If you find a bug, you can help us by submitting an issue. Even better, you can submit a Pull Request with a fix.

Have other questions?

Please do not open issues for general support questions and keep our GitHub issues for bug reports and feature requests. There is a much better chance of getting your question answered on StackOverflow where questions should be tagged with pwabuilder

Special thanks

This contributing doc was inspired by our friends' version at the Windows Community Toolkit. thank you!