Utvikling
Denne siden samler utvikleroppsett, build-kommandoer og nyttige debug-verktøy.
Krav
- Node.js og
npm git- Python og
piphvis du skal bygge eller serve MkDocs
Kom i gang
git clone https://github.com/MathiasDevelopes/inskewl.git
cd inskewl
npm install
Bygg userscriptet
npm run build
Den ferdige userscript-filen legges i:
dist/inskewl.user.js
Utviklingsmodus
npm run dev
Dette starter Rollup i watch-modus, slik at userscriptet bygges på nytt når kildekoden endres.
Dokumentasjon
Installer Python-avhengigheter først:
python -m pip install -r requirements.txt
Kjør dokumentasjonen lokalt:
npm run docs:serve
Bygg dokumentasjonen strengt:
npm run docs:build
Testing av API-schemas
Hvis VIS endrer API-et sitt, kan Zod-schemaene feile. Prosjektet eksponerer derfor en testfunksjon i nettleseren.
- Logg inn på VIS InSchool.
- Åpne utviklerverktøyet i nettleseren.
- Gå til Console.
- Kjør:
testAllApiSchemas()
Kommandoen tester kjente API-endepunkter og skriver resultatet i konsollen.
Runtime debug-info
Prosjektet eksponerer også en enkel diagnosefunksjon i nettleseren. Den kan
brukes ved teknisk feilsøking for å kontrollere hvilken versjon av userscriptet
som kjører, om siden er en gyldig VIS-tenant, og hvilken skole-/innloggingsinfo
login-page-endepunktet returnerer.
- Logg inn på VIS InSchool.
- Åpne utviklerverktøyet i nettleseren.
- Gå til Console.
- Kjør:
debugInfo()
Funksjonen skriver resultatet i konsollen. Hvis login-page-kallet feiler,
logges feilen sammen med resten av diagnoseinformasjonen.
Metadata for CI-builds
Builden kan overstyre deler av userscript-metablocken med miljøvariabler. Dette brukes for CI og release-builds uten å endre meta.json.
| Variabel | Brukes til | Standardverdi |
|---|---|---|
BUILD_VERSION |
Setter @version i userscriptet |
version fra package.json |
UPDATE_URL |
Setter @updateURL i userscriptet |
Verdien fra meta.json |
DOWNLOAD_URL |
Setter @downloadURL i userscriptet |
Verdien fra UPDATE_URL, ellers meta.json |
Eksempel:
BUILD_VERSION=1.1.3-dev.abc1234 \
UPDATE_URL=https://mathiasdevelopes.github.io/inskewl/dev/inskewl.user.js \
npm run build