
# @eui/tools

## Packages

### Build package

```sh
eui-scripts build-package <package-name>

# Build a package but **first** its dependencies
eui-scripts build-package <package-name> --deps

# Build a package and send report to Slack
eui-scripts build-package <package-name> --slackReport

# Customize Slack end-point and channel
eui-scripts build-package <package-name> --slackEndPoint /my-new-end-point --slackChannel #my-channel

```

### Build the dependencies of package
If you have several packages, if you want to test 1 package you need to have its dependencies built. This is what this command is for (so run it before testing the package).

```sh
eui-scripts build-deps <package-name>
```


### Test package

```sh
eui-scripts test-package <package-name>

# or with watch
eui-scripts test-package <package-name> --watch
```

### Publish package

```sh
eui-scripts publish <package-name>

# to a specific registry
eui-scripts publish <package-name> --registry=http://my-new-registry.com

# to an alias declared in .euirc.json
eui-scripts publish <package-name> --<registry-alias>

# with Slack Repport
eui-scripts publish <package-name> --slackReport

# Custom Slack end-point & channel
eui-scripts publish <package-name> --slackEndPoint /my-new-end-point --slackChannel #my-channel
```

### Clean package

```sh
eui-scripts clean-package <package-name>
```

### Build all packages

```sh
eui-scripts build-all
```

### Clean all packages

```sh
eui-scripts clean-all
```

### Publish all packages

```sh
eui-scripts publish-all

# to a specific registry
eui-scripts publish-all --registry=http://my-new-registry

# to an alias declared in .euirc.json
eui-scripts publish-all --<registry-alias>
```

## App Container

### Generate translation

Load the translations located in the packages "/assets/i18n/" folder and generate 1 compiled file with all of the translations.

```sh
# You need to provide **scopes**
eui-scripts generate-translations --scopes=opsys,opsys-ui,cc

# Or you can pass packages directly
eui-scripts generate-translations --packages=@opsys-ui/something,@cc/something-else

# Languages (default: ["en", "fr"])
# You can specify the languages
eui-scripts generate-translations --scopes=opsys --langs=en,fr,es,de

# The "root" folder where 'node_modules" is relative to, is by default the process.cwd()
# You can override it passing a --target argument
eui-scripts generate-translations --scopes=opsys --target=src/main/angular

# The destination where the generate files will be saved is "src/assets/i18n-compiled"
# relative to the root folder. You can change it providing a --folder argument
# Be careful that this folder will be removed on each generation so make sure it does not contain
# any other files.
eui-scripts generate-translations --scopes=opsys --folder=src/assets/here-better
```

### Extract Versions of dependencies

Read the packages versions in the _node_modules_ folder for the specified scopes.

```sh
# IMPORTANT:
# This script will replace this line:
# "export const VERSIONS = {}"
# in a "src/config/index.ts" file relative to the root.
# You then need to have this file in your project with the specified line of code.

eui-scripts extract-deps-versions --scopes=opsys,opsys-ui,eui

# The "root" folder where the "index.ts" file is relative to, is by default the process.cwd()
# You can override it passing a --target argument
eui-scripts extract-deps-versions --scopes=opsys,eui --target=src/main/angular
```
