Deze website maakt gebruik van Astro, the all-in-one web framework designed for speed. Met de template AstroPaper. Hierbij horen packages die geupdate kunnen worden. Hoe doe je dat? Er is een Engelse uitleg van de ontwikkelaar van AstroPaper, hier een Nederlandse beknopte versie. Future-reference ;-)
Table of contents
Open Table of contents
Check voor updates
Voordat we gaan updaten moet je eerst weten of er wel dependencies/packages te updaten zijn. Daarvoor gebruiken we de npm-check-updates package. Er is een uitgebreid artikel hierover geschreven op freeCodeChamp dus we gaan niet diep in op de details. Meer een praktische, beknopte oplossing. Alles wat we doen is in PowerShell.
Eerst gaan we de npm-check-updates
installeren. Globally, dus niet specifiek in één folder.
npm install -g npm-check-updates
Voordat we gaan update is handig om te zien welke dependencies er überhaubt geupdate kunnen worden.
ncu
Krijg je nu een foutmelding te zien die hierop lijkt?
ncu : File C:\Users\user\AppData\Roaming\npm\ncu.ps1 cannot be loaded.
The file C:\Users\user\AppData\Roaming\npm\ncu.ps1 is not digitally
signed. You cannot run this script on the current system. For more
information about running scripts and setting execution policy, see
about_Execution_Policies at
https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ ncu
+ ~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
Door beveiligingsregels kun je het ncu
script niet uitvoeren. Het is mogelijk om nu globaal in te stellen dat je ongesigneerde scripts mag uitvoeren ten alle tijden, maar dat lijk mij kijkend naar security niet verstandig. Dus we gaan het zo instellen dat het alleen werkt in de huidige sessie van PowerShell. Sluit je de sessie af? Dan is alles weer terug naar normaal en zal ncu
niet meer werken.
PS C:\Users\user> Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
PS C:\Users\user> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Bypass
CurrentUser Undefined
LocalMachine Undefined
Zorg nu met cd
dat je met de PowerShell sessie “in” de folder zit waar je Astro website staat, waar het bestand package.json staat. En voer nu ncu
uit om uit te vinden wat er geupdate kan worden.
De verschillende kleuren laten zien wat voor versie update er is.
- Rood = major upgrade
- Cyaan = minor upgrade
- Groen = patch upgrade
Updaten van dependencies
Nu bekend is wat er geupdate kan worden gaan we de update uitvoeren. Gelukkig heeft ncu
zelf al aangegeven hoe we de dependencies kunnen updaten, met npm install
.
PS C:\Users\Astro\> npm install
> astro@2.3.0 prepare
> husky install
husky - Git hooks installed
added 22 packages, removed 31 packages, changed 33 packages, and audited 857 packages in 31s
270 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
De dependencies zijn allemaal succesvol geupdate. Controle kun je doen door nogmaals ncu
uit te voeren.
PS C:\Users\Astro> ncu
Checking C:\Users\Astro\package.json
[====================] 28/28 100%
All dependencies match the latest package versions :)
Update git
Nu alle dependencies geupdate zijn is het verstandig om ook de wijzigingen in package.json en package-lock.json te stagen en committen naar de git server, bijvoorbeeld GitHub. Deze stappen gaan we hier niet doorlopen. Er zijn online genoeg artikelen te vinden over de werking van git.