ebba-components-library

A library of components that can be used in EBBA applications.

Usage no npm install needed!

<script type="module">
  import ebbaComponentsLibrary from 'https://cdn.skypack.dev/ebba-components-library';
</script>

README

EBBA Components Library

A library of components that can be used in EBBA applications.

How to use

This part is aimed at people who want to use this package in their apps, using npm install.

Create a .npmrc file under the root directory of your app, same folder as package.json.
This will be a project-specific npm config file, add the registry inside the file as such:

@team-iron:registry=https://af.scania.com/artifactory/api/npm/EBBA-Bootstrap/

using the scope @team-iron makes NPM look at the private registry for this particular package. If you were to set the global registry without scope, all other npm install <package> would likely fail with a 404 code, due to them not being cached by the Artifactory registry.

Alternativly add the registry globally with the scope for @team-iron.

npm config set @team-iron:registry https://af.scania.com/artifactory/api/npm/team-iron/

Then you can run npm install --save @team-iron/ebba-components to install the package.

Development

The existing component library is named ebba-components.

Create a component

ng g c <component-name> --styleext=scss --project=ebba-components

Ensure that the generated component is added to the declarations and exports properties of the library module as well as the public_api.ts (if yo want to include the component as a grouped export).

Build & Package

You can build and package the library by running npm run package

Please note that there is an open issue with false positive error message when compiling the library with NGC, where it's complaining about unused types. This issue can be tracked at https://github.com/angular/angular/issues/21280. It has no impact on functionality.

Publish

Make sure you have set authentication to artifactory, if you don't have a account you need to order it from Scania OrderIT.

Authentication can be done by either using npm login after setting registry or adding your credentials to .npmrc (Warning! Don't push your credentials to git after!).
There's a guide on Artifactory under "Artifact Repository Browser" -> "Set Me Up" as well.

Make sure the package.json contains the publish config:

"publishConfig":{
    "registry":"https://af.scania.com/artifactory/api/npm/team-iron/"
}

You can package and publish the library with:

npm run publish