# Contribution Guide PWA

1: Issue erstellen
Jede Änderung am Code und jeder Pull Request muss einem Issue zugeordnet werden können. Die dabei erstellte Issue ID wird für die folgenden Schritte benötigt.

2: Fork (opens new window) des hubble Repositorys (opens new window) auf eigenen Github Account erstellen.

3: Setup NuxtJs

npx create-nuxt-app <PROJECT-NAME>
1

4: Neuen Fork lokal klonen

cd <PROJECT-NAME>
mkdir modules
cd modules
git clone https://github.com/<YOUR-ACCOUNT-NAME>/hubble-frontend-pwa.git
1
2
3
4

5: Modul in NuxtJs registrieren

// ~/package.json
"dependencies": { 
    "@hubblecommerce/hubble": "file:modules/hubble-frontend-pwa/@hubblecommerce/hubble"
}
1
2
3
4
// ~/nuxt.config.js
buildModules: [
    ['@hubblecommerce/hubble']
],

hubble: {
    apiType: process.env.API_TYPE
},
1
2
3
4
5
6
7
8

6: Dependencies installieren und Projekt starten

npm install
npm run dev
1
2

7: Tracken des original Repositories als Remote des Forks
Ist insbesondere für die Zukunft wichtig, um den Fork aktuell zu dem originalen Repository (upstream) zu halten.

git remote add --track master upstream https://github.com/hubblecommerce/hubble-frontend-pwa.git
git fetch upstream
1
2

8: Neuen Branch für das Issue auf Basis des Upstream master Branches erstellen

git checkout -b issue#<NUM> upstream/master
1

9: Änderungen am Code in Fork Repository einchecken (Issue ID angeben)

git add .
git commit -m "issue#<NUM> my detailed commit message"
git push -u origin issue#<NUM>
1
2
3

10: Pull Request
Auf Pull requests von hubble (opens new window) gehen. Dort sollte jetzt ein automatischer Vorschlag von Github zu sehen sein, einen neuen Pull Request aus dem erstellten Branch issue#<NUM> zu machen.
Wichtig! Als Base Branch nicht master sondern dev angeben.