# NgxVectorComponents

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.1.0.

## Summary

Library generated in order to share code between projects in the Vector ecosystem. Any component, styling, injectable, useful class or other types of code that would need to be copied between projects should be added here to be shared, avoiding duplication and improving their maintainability.

# IMPORTANT

Any changes made to the library must be properly documented in the `CHANGELOG.md` file, using the proper semantic versioning as explained below:

Versions must be defined following the semantic versioning pattern, where the version number is divided into 3 segments, `major`, `minor` and `patch` versions, as in the example:

- `2.5.3`, where:
  - `3` = Patch (incremented when the new version is generated with FIXES only);
  - `5` = Minor (incremented when the new version receives NEW FEATURES);
  - `2` = Major (incremented when new version gets ANY BREAKING CHANGE).

Example of a breaking change: an `input` of some component has changed its typing or a change in behavior where it is necessary to make changes to the client code to continue working as expected).

- Always keep the `inputs`, `outputs` and `parameters` of exported components/methods with proper TYPE.
- 3 providers must be defined on the root level of the project: `environment`, `appName`, `menuOptions`. As shown below:

## Generating version

After documenting the changes made, use the semantic versioning criteria to define the new version number and add this number to the library's `CHANGELOG.md` and `package.json` in the `version` field.

## Build

After setting the version number in both files mentioned above: run `npm run build` in the root folder of the project, the command will generate the build of the library and place it in the `dist` folder of the root of the project.

## Publishing

After successfully building the library, enter the `dist` folder and run `npm publish`.
