ember-cli-webcomponents-bundler

1.2.0 • Public • Published

ember-cli-webcomponents-bundler

Build Status GitHub version NPM version Dependency Status codecov Greenkeeper badge Ember Observer Score

Information

NPM

Allows to use Web Components using ES6 modules in an Ember application.

Installation

ember install ember-cli-webcomponents-bundler

Usage

The addon options can be configured in config/environment.js.

Example config:

'ember-cli-webcomponents-bundler': {
  modules: true,
  entrypointPaths: [
    'lib/path-one',
    'lib/path-two'
  ]
}

A file named module-imports.js (default value) should exist inside each entry point path with the imports to be bundled. The file name can be configured in entrypointFileName option.

Example entrypoint:

// file: lib/path-one/module-imports.js
import './components/some-component/some-component';
import './components/another-component/another-component';

Output

A bundled file will be generated for each of the entrypointPaths in the directory with the name of the entry point path. For example, the bundle for lib/path-one will be saved in dist/assets/path-one/bundle.js.

Both, the bundle name and the output path can be configured by setting them as outputFileName and outputPath respectively.

Options

entrypointFileName

type: String
default: module-imports.js

Name of the file used as entry point for ES modules inside each entry point path.

outputFileName

type: String
default: bundle.js

Name of the generated bundle for each entry point path.

outputPath

type: String
default: assets

Path where the generated bundle will be saved inside the dist folder.

minify

type: Boolean
default: false (true in production env)

Minifies the bundle.

modules

type: Boolean
default: false

Generates two bundles: one for browsers with ES6 modules support and another for the rest of browsers using the build presets of the app.targets.

entrypointPaths

type: Array
default: []

List of paths where the addon will search for an entry point to generate its corresponding bundle.

autoImport

type: Boolean
default: true

Writes the script tags for the bundle(s) in index.html. You can disable this option if you want to import the scripts on demand.

When this option is set to false, webcomponents.js polyfill is not included in vendor.js, so you must import it explicitly before the bundle.

importStyles

type: Boolean
default: false

Allows to import css files in components.

Example:

import styles from './some-component.css';

The imported files exports the styles in a template literal that can be interpolated in the component's template. The processed styles are transformed with Autoprefixer using the hosting app targets configured in config/targets.js.

dedupe

type: Array
default: []

Module names that should be resolved from the app node_modules instead of another packages requiring them. Helps to prevent bundling the same package multiple times if package is imported from dependencies.

Example:

'ember-cli-webcomponents-bundler': {
  modules: true,
  entrypointPaths: [
    'lib/path-one'
  ],
  dedupe: ['lit-element', 'moment']
}

Contribute

If you want to contribute to this addon, please read the CONTRIBUTING.md.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See the list of contributors who participated in this project.

License

This project is licensed under the MIT License.

Package Sidebar

Install

npm i ember-cli-webcomponents-bundler

Weekly Downloads

0

Version

1.2.0

License

MIT

Unpacked Size

19 kB

Total Files

10

Last publish

Collaborators

  • bbvaengineer