# @soleil-se/build-project

> **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 underhålls längre.

Spindeln i nätet för projekt med standardstruktur.

Startar övervakning av filer genom de skript som finns installerade i projektet och startar automatiskt skript i WebAppar och RESTAppar.

## Installation

```sh
npm install @soleil-se/build-project --save-dev
```

Lägg till följande skript i `package.json`

**package.json**

```json
{
  "scripts": {
    "watch": "build-project"
  }
}
```

Används Sass i projektet?

```sh
npm install @soleil-se/build-sass sass --save-dev
```

Används global JavaScript i projektet?

```sh
npm install @soleil-se/build-js --save-dev
```

Används snippets i projektet?

```sh
npm install @soleil-se/build-snippets --save-dev
```

## Struktur

Standardstruktur för ett projekt som använder `@soleil-se/build-project`.

Visa filstruktur**

* client\_src

  * js

    * bundle

      * index.js

    * vendor

      * index.js

  * sass

    * main.scss

* server\_src

  * api/

    * …

  * restapps

    * api/

      * …

    * apps

      * MyRestApp/

        * …

  * snippets/

    * …

  * webapps/

    * api/

      * …

    * apps

      * MyApp/

        * …

* package.json

* project\_config.json

* user\_config.json

## WebApps & RESTApps

När `@soleil-se/build-project` upptäcker en föränding i `src`, `config` eller `config_global` (även äldre katalogstrukturen med prefixet `app_xxx`) kommer appens lokala byggskript startas.

Skiptet som ska startas ställs in i `scripts.start` i `package.json`.

Om en WebApp eller RESTApp inte har ett byggskript installerat lokalt kommer [@soleil-se/build-app](/build/app/) installeras i appen och skript kommer skapas upp i `package.json`.

### `@soleil-se/build-app`

**package.json**

```json
{
  "scripts": {
    "build": "build-app build",
    "watch": "build-app watch",
    "deploy": "build-app deploy",
    // Detta skript kommer köras:
    "start": "build-app start"
  }
}
```

### `@soleil/webapp-build`

**package.json**

```json
{
  "scripts": {
    "gulp": "gulp --gulpfile node_modules/@soleil/webapp-build/gulpfile.js --cwd .",
    "watch": "yarn gulp",
    "build": "yarn gulp build",
    "deploy": "yarn gulp deploy",
    // Detta skript kommer köras:
    "start": "yarn gulp build default --series"
  }
}
```

### `@sitevision/sitevision-scripts`

**package.json**

```json
{
  "scripts": {
    "build": "sitevision-scripts build",
    "create-addon": "sitevision-scripts create-addon",
    "deploy-prod": "sitevision-scripts deploy-prod",
    "sign": "sitevision-scripts sign",
    "dev": "sitevision-scripts dev",
    "setup-dev-properties": "sitevision-scripts setup-dev-properties",
    "test": "sitevision-scripts test",
    // Detta skript kommer köras:
    "start": "sitevision-scripts dev"
  }
}
```