# @soleil-se/run

En samling av hjälpskript för att skapa appar, konfiguration och migrera.

```sh
npx @soleil-se/run
```

## Skapa app

Alias till `npm init @soleil-se/app`.

```sh
npx @soleil-se/run create-app
```

## Skapa byggkonfiguration

Alias till `npm init @soleil-se/build-config`.

```sh
npx @soleil-se/run create-build-config
```

## Installera stöd för enhetstestning med vitest

Ger stöd för att skriva enhetstester med hjälp av vitest. Stöd installeras för att testa dina javascript-filer inkluderat svelte-komponenter och server-side kod som använder Sitevision API. Sitevision API mockas.

Stödet kan installeras lokalt för en app men mer rekommenderat globalt för ett helt repo/projekt för att ge stöd för testning av alla appar i det repot.

Så stå endera i roten på repot/projektet eller appen för att installera.

```sh
npx @soleil-se/run create-test-config
```

## Migrera NPM

Migrerar paket och kodreferenser till `@soleil-se`-scopet.

> **Yarn**
>
> Om Yarn används som pakethanterare byt till npm innan du kör denna migrering.

```sh
npx @soleil-se/run migrate-npm
```

## Migrera Svelte 5

Uppdaterar paket, importer till paket och initiering av konfiguration till Svelte 5. För att migrera komponenter till Svelte 5, använd det officiella migrationsverktyget genom att köra `npx sv migrate svelte-5` eller migrera per komponent med Ctrl + Shift + P och “Svelte: Migrate Component to Svelte 5 Syntax” i VS Code.

```sh
npx @soleil-se/run migrate-svelte-5
```

## Skapa/uppdatera en ESLint och Prettier konfiguration

Alias till `npx @soleil-se/eslint-config@latest --setup`.

```sh
npx @soleil-se/run eslint
```

## Skapa/uppdatera en Stylelint konfiguration

Alias till `npx @soleil-se/stylelint-config@latest --setup`.

```sh
npx @soleil-se/run stylelint
```

## Jämföra installerade appversioner mot tillgängliga

Jämför de versioner för appar är aktuella i kodrepositoryt mot de aktiva versioner som kör i en Sitevisionmiljö och få rapport om avvikelser. Kontrollen körs mot den miljö som är aktiv enligt standard i `project.config` eller angivet med flagga `-env`.

```sh
npx @soleil-se/run install-check
```

### Installera i ett repo och exkludera appar

Det är möjligt att lägga till detta skript som en del av ett kundrepos tillgängliga skripts och då även exkludera valda appar som att inte rapporteras som oinstallerade. Detta kan vara användbart när ett repo till exempel används mot flera webbplatser.

Lägg till följande

**package.json**

```json
{
  "scripts": {
    "install-check": "npx @soleil-se/run install-check"
  }
}
```

Kontrollen kan sedan köras genom `npm run install-check` eller för att välja en specifik miljö `npm run install-check -- --env example-site`.

#### Exkludera appar

För att exkludera vissa appar specificera dessa under `installCheckExcludedApps`. Exempel:

**project\_config.json**

```json
{
  "env": {
    "example-site": {
      "name": "Exempelsajt",
      "host": "https://www.exempel.se/",
      "production": true,
      "installCheckExcludedApps": ["se.soleil.app1", "se.soleil.longNameApp2"]
    }
  }
}
```