Skip to content

Latest commit

 

History

History
124 lines (94 loc) · 7.74 KB

README.md

File metadata and controls

124 lines (94 loc) · 7.74 KB

PWA Studio

CircleCI Coverage Status

Magento PWA Studio is a collection of tools that lets developers build complex Progressive Web Applications on top of Magento 2 stores.

Documentation

PWA Studio documentation site

Community Contributors

The PWA Studio project welcomes all codebase and documentation contributions. We would like to recognize the following community members for their efforts on improving the PWA Studio project:

mage2pratik-image vdiachenko-image jissereitsma-image rossmc-image
mage2pratik vdiachenko jissereitsma rossmc
bobmotor-image neeta-wagento-image mtbottens-image
bobmotor gavin2point0 neeta-wagento mtbottens
Jakhotiya-image JStein92-image bgkavinga-image philwinkle-image
Jakhotiya JStein92 bgkavinga philwinkle
bobbyshaw-image matthewhaworth-image shakyShane-image Igloczek-image
bobbyshaw matthewhaworth shakyShane Igloczek
mhhansen-image rowan-m-image artKozinets-image camdixon-image
mhhansen rowan-m artKozinets camdixon

For more information about contributing to this repository, see the Contribution guide.

About this repository

To ease local development, testing, and versioning, the PWA Studio project uses a monorepo, with package management orchestrated by lerna. All packages are versioned in a single repo, but released to npm as independent packages.

Packages

This repository includes the following packages:

Install project dependencies

Note: You must have a version of node.js >= 8.0.0, and a version of npm >= 5.0.0. The latest LTS versions of both are recommended.

Follow these steps to install the dependencies for all the packages in the project:

  1. Clone the repository
  2. Navigate to the root of the repository from the command line
  3. Run npm install
  4. Watch the bootstrapping take place.
  5. To run the Venia theme development experience, run npm run watch:venia from package root.
  6. To run the full PWA Studio deeloper experience, with Venia hot-reloading and concurrent Buildpack/Peregrine rebuilds, run npm run watch:all from package root.

Things not to do

When using a monorepo and lerna, it's important that you break some common habits that are common when developing front-end packages.

  • Do not run npm install to get node_modules up to date within any folder under packages/. Instead, run npm install in the root of the repo, which will ensure all package's dependencies are up-to-date.
  • When adding a new entry to devDependencies in a package's package.json, ask yourself whether that dependency will be used across multiple packages. If the answer is "yes," the dependency should instead be installed in the root package.json. This will speed up runs of lerna bootstrap.