/pwa-studio

šŸ› Development tools to build, optimize and deploy Progressive Web Applications for Magento 2.

Primary LanguageJavaScriptOpen Software License 3.0OSL-3.0

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 facilitate local development, testing, and versioning, PWA Studio is structured as a monorepo using Yarn Workspaces. Packages in this repository are independently published to NPM; rather than installing pwa-studio as a dependency of your project, you should install just the individual packages your project needs.

Workspaces

This repository includes the following packages as workspaces:

Other packages

This repository also includes unpublished modules that are not managed by Yarn Workspaces. They are not configured as workspaces, so their dependencies are not hoisted and must be installed separately.

Quick setup

See the Venia storefront setup topic for instructions on installing this project's dependencies and running the Venia storefront on top of an existing Magento backend.

Troubleshooting

See our Troubleshooting guide if you run into any problems.

If you have an issue that cannot be resolved, please create an issue.

Tips

  • Don't run npm install! Since this project has been configured with Yarn Workspaces, run yarn install to properly install, hoist, and cross-link dependencies.
  • Don't check in package-lock.json. There is only one lockfile, yarn.lock, and it's in the root directory.
  • To add a dependency, use workspace commands (e.g., yarn workspace @magento/venia-concept add my-module). This will associate the dependency with the right package.
  • Before pushing a commit, yarn run prettier and yarn run lint to format and inspect the source code. (There is also a git hook that will do this automatically.)