# Migrering

Migrering för projekt som använder version 3 eller 4 av `@soleil/sv-gulp-build`.

> **Deprecated**
>
> Detta skript användes under en övergångsperiod från `@soleil/sv-gulp-build` och det är rekommenderat att starta skript direkt istället då detta paket inte kommer att underhållas.

1. Avinstallera det gamla byggskriptet och ta bort dess skript från `package.json`.

```sh
npm remove @soleil/sv-gulp-build
yarn remove @soleil/sv-gulp-build
```

**package.json**

```json
{
  "name": "projekt",
  "description": "Beskrivning av projekt",
  "private": true,
  "license": "UNLICENSED",
  "devDependencies": { ... },
  "scripts": {
    "gulp": "gulp --gulpfile node_modules/@soleil/sv-gulp-build/gulpfile.js --cwd ."
  }
}
```

2. Installera det nya projektskriptet:

```sh
npm i @soleil-se/sv-project-build --save-dev
yarn add @soleil-se/sv-project-build --dev
```

3. Lägg till skript i `package.json` för att starta projektskriptet:

**package.json**

```json
{
  "name": "projekt",
  "description": "Beskrivning av projekt",
  "private": true,
  "license": "UNLICENSED",
  "devDependencies": { ... },
  "scripts": {
    "watch": "sv-project-build"
  }
}
```

4. Används Sass?

```sh
npm i @soleil-se/sv-sass-build sass --save-dev
yarn add @soleil-se/sv-sass-build sass --dev
```

5. Används Less?

   * Då Less inte används i nya projekt finns det inget skript för detta.
   * Behöver ändå Less användas i projektet rekommenderas en `legacy` katalog med `@soleil/sv-gulp-build`.

6. Används ihopbyggda skriptmoduler?

   * Det finns inget skript för att bygga ihop skriptmoduler längre.\
     En skriptmodul som är så pass avancerad att den behöver byggas ihop borde vara en WebApp.\
     Skript som är för simpla för att motivera en WebApp laddas upp av `@soleil-se/sv-snippets-sync` och skrivs på standard Sitevision sätt.
   * Behöver ändå ihopbyggda skriptmoduler användas i projektet rekommenderas en `legacy` katalog med `@soleil/sv-gulp-build`.

7. Används global JavaScript?

```sh
npm i @soleil-se/sv-js-build --save-dev
yarn add @soleil-se/sv-js-build --dev
```

8. Används snippets?

```sh
npm i @soleil-se/sv-snippets-sync --save-dev
yarn add @soleil-se/sv-snippets-sync --dev
```

9. Används WebAppar eller RESTAppar?
   * Installation av `@soleil-se/app-build` sköts automatiskt när en förändring upptäcks i appar som är placerade enligt standardstrukturen.

Exempel package.json**

```json
{
  "name": "projekt",
  "description": "Beskrivning av projekt",
  "private": true,
  "license": "UNLICENSED",
  "devDependencies": {
    "@soleil-se/sv-js-build": "1.0.0",
    "@soleil-se/sv-project-build": "1.0.0",
    "@soleil-se/sv-sass-build": "1.0.0",
    "@soleil-se/sv-snippets-sync": "1.0.0",
    "sass": "^1.45.0"
  },
  "scripts": {
    "watch": "sv-project-build"
  }
}
```