Skip to content

Update AstroPaper dependencies

Posted on:14 augustus 2023 at 19:31

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.

NCU Command in PowerShell

De verschillende kleuren laten zien wat voor versie update er is.

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.