The main repository

The main ScandiPWA repository scandipwa/scandipwa is a mono-repository, containing multiple NPM packages in the packages directory. They are managed by Lerna.

└── 📁  packages
   ├── 📁 scandipwa # theme sources
   ├── 📁 m2-theme # for building a magento2 theme
   ├── 📁 bundle-analyzer
   ├── 📁 router # the frontend routing mechanism
   └── 📁 framework

Lerna is symlinking packages between each other, which means if one NPM package contains a dependency on some other NPM package and there is a version of that package locally, it will be used instead of the one stored in the remote NPM package registry.

The main development happens in the packages/scandipwa folder, this folder structure is matching the folder structure of any other ScandiPWA project, please see below for more details.

What is the directory structure?

The Composer packages

ScandiPWA extends Magento 2 BE in many different places. Almost in every aspect! We do it to ensure consistency and provide new features before the Magneto team does it, this allows us to have the broadest feature support.

ScandiPWA GitHub organization contains more than 65 repositories, where most of them are Magento 2 modules that were previously used or are used by ScandiPWA / ScandiPWA OS extensions.