Skip to content

Commit

Permalink
Initial
Browse files Browse the repository at this point in the history
  • Loading branch information
bjornreppen committed Mar 20, 2020
1 parent bad3f50 commit e5ad363
Showing 1 changed file with 142 additions and 0 deletions.
142 changes: 142 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# Lastejobb

Kjører en sekvens med steg (`stages/`) i alfabetisk rekkefølge.

## Funksjoner

- Scanner katalogstruktur for steg
- Sorterer dem og kjører dem i sekvens, en etter en
- Dersom et skript returnerer feil stopper kjøringen, feilkoden returneres.
- Støttede filformater:
- .js: Javascript
- .sh: Unix shell script
- .sparql: SPARQL Protocol and RDF Query Language

## Kataloger

- `stages/download`: Script for å laste ned eksterne datafiler til `temp/`
- `stages/transform`: Script som produserer resultatet og legger det i `build/`
- `stages/deploy`: Script som publiserer resultat som ligger i `build/`
- `build`: Filene som kommer ut av lastejobben
- `temp`: Temporær lagring av nedlastede data og mellomformater

## Bruk

### Installere

```bash
npm run install
```

Laster ned avhengige biblioteker til `node_modules`.

### Download

```bash
npm run download
```

Laster ned eksterne avhengigheter som lastejobben er avhengig av for å produsere sitt resultat i "transform". Denne kjører stegene som ligger i `stages/download`. Nedlastede data lagres som en konvensjon i katalog `data`.

### Transform

```bash
npm run transform
```

Bruker allerede nedlastede data til å produsere sitt resultat. Denne brukes gjerne mens man utvikler så man slipper å laste ned data hver gang, og kan også brukes uten at man har tilgang til nett sålenge man har gjort `download` først. Denne kjører stegene som ligger i `stages/transform`

Sluttproduktet av transform skrives som en konvensjon til katalogen `build`.

### Build

```bash
npm run build
```

Kjører hele lastejobben, først `download`, så `transform`.

### Deploy

```bash
npm run deploy
```

Tar filene fra `build`-katalogen som er produsert i `build` eller `transform` og publiserer disse offentlig slik at andre lastejobber eller konsumenter kan nå dem uten å kjøre lastejobben.

## Lage en ny lastejobb

Hvis du ønsker å sette opp en ny lastejobb er en enkel måte å gjøre det på å lage en ny katalog for så å be lastejobb-modulen initialisere. Den oppretter et nytt git repo, lager package.json med script for å kjøre lastejobben, README-fil og eksempelsteg.

```bash
$ mkdir minlastejobb && cd minlastejobb
$ npx lastejobb init
npx: installed 35 in 2.808s
ℹlastejobb Initialiserer lastejobb +0ms
ℹlastejobb Initialize Git repo +1ms
ℹlastejobb Initialized empty Git repository in /home/b/minlastejobb/.git/ +7ms
ℹlastejobb Initialize npm project +1ms
ℹlastejobb Wrote to /home/b/minlastejobb/package.json: +163ms
ℹlastejobb Installing library lastejobb +0ms
ℹlastejobb + [email protected] +2s
ℹlastejobb added 35 packages from 37 contributors and audited 47 packages in 1.589s +1ms
ℹlastejobb found 0 vulnerabilities +0ms
ℹlastejobb Add scripts to package.json +0ms
ℹlastejobb Create index.js +1ms
ℹlastejobb Make directory stages +1ms
ℹlastejobb Make directory stages/download +0ms
ℹlastejobb Make directory stages/transform +1ms
ℹlastejobb Create stages/download/10_sample.js +0ms
ℹlastejobb Create stages/transform/10_sample.js +0ms
ℹlastejobb Create README.md +1ms
```

## API

### Lastejobb API

```bash
const lastejobb = require('lastejobb')
```

| Funksjon | Beskrivelse |
| -------------------- | ------------------------------------------------------------ |
| kjørLastejobberUnder | Kjører alle javascript i angitt katalog eller underkataloger |
| kjørLastejobb | Kjører 1 enkelt lastejobb spesifisert med filnavn |

### io

```bash
const {io} = require('lastejobb')
```

Funksjoner for å lese eller skrive til filer (typisk JSON, tekst eller binære filer)

Katalog for build output kan overstyres ved å sette environment variabel BUILD.

Se https://github.com/Artsdatabanken/lastejobb/blob/master/lib/io.js

### http

```bash
const {http} = require('lastejobb')
```

Funksjoner for å lese JSON eller binære filer fra web.

Se https://github.com/Artsdatabanken/lastejobb/blob/master/lib/http.js

### log

```bash
const {log} = require('lastejobb')
```

Slå på logging ved å sette environment variabel

- `export DEBUG=*` (Linux)
- `set DEBUG=*` (Windows)

Funksjoner for logging fra lastejobben

Se https://github.com/bjornreppen/log-less-fancy#readme

0 comments on commit e5ad363

Please sign in to comment.