#### Web components library

`@ema/components/dist/webcomponents.js`

- Reusable Web Components
- The web components are just standard HTML elements, so they work in any major framework or with no framework at all.
- In many cases, the components can be used as a drop in replacement for traditional frontend frameworks to build widgets, microapps, apps, etc.

#### Generic javascript library

`@ema/js-base/dist/lib/index`

- Javascript modules and classes library
- Shareable among all Javascript projects
- Config - api - translation - util etc.

Distribution: npm / http / https

Demo's and documentation

### Using the webcomponents library

#### Script tag

- Put the following script tag in the head of your index.html: `<script src='https://unpkg.com/@ema/js-base/dist/webcomponents.js'></script>`
- You can then use the webcomponents anywhere in your template, JSX, html etc.

#### Node Modules

- Run `npm install @ema/js-base --save`
- Put a script tag similar to this `<script src='node_modules/@ema/js-base/dist/webcomponents.js'></script>` in the head of your index.html
- Then you can use the webcomponents anywhere in your template, JSX, html etc

#### In a stencil-starter app

- Run `npm install @ema/js-base --save`
- Add an import to the npm packages `import '@ema/js-base';`
- Then you can use the webcomponents anywhere in your template, JSX, html etc

### Using the javascript modules library

- Run `npm install @ema/js-base --save`
- ES5 usage: `import { ConfigService, DomUtil } from '@ema/js-base/dist/lib/index'`
- ES6 usage: `import { ConfigService, DomUtil } from '@ema/js-base/dist/collection/index'`

### Dev: getting started

Clone the repo, then run:

    npm install
    npm start

To watch for file changes during develop, run:

    npm run dev

To build the components and classes for production, run:

    npm run build

To run the unit tests for the components and classes, run:

    npm test

Need help? Check out the Stencil docs here.