Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lifeart/ember-cli-fallback-builds

Modern/Legacy browsers support, having different js files
https://github.com/lifeart/ember-cli-fallback-builds

ember-addon ember-cli emberjs modern-browsers

Last synced: 5 days ago
JSON representation

Modern/Legacy browsers support, having different js files

Awesome Lists containing this project

README

        

ember-cli-fallback-builds
==============================================================================

[![Greenkeeper badge](https://badges.greenkeeper.io/lifeart/ember-cli-fallback-builds.svg)](https://greenkeeper.io/)

This addon allow to have 2 builds (bundles) (for modern and legacy browsers) in one time.

(module, nomodule)

[Modern Script Loading](https://jasonformat.com/modern-script-loading/)

[Pre-RFC: Generate and serve ES2015 assets](https://github.com/emberjs/rfcs/issues/383)

Alternatives:
* [ember-cli-babel-polyfills](https://github.com/pzuraq/ember-cli-babel-polyfills) [difference](https://github.com/lifeart/ember-cli-fallback-builds/issues/3)

Compatibility
------------------------------------------------------------------------------

* Ember.js v2.18 or above
* Ember CLI v2.13 or above
* Node.js v8 or above

Installation
------------------------------------------------------------------------------

```
ember install ember-cli-fallback-builds
```

Usage
------------------------------------------------------------------------------

Configure your `config/targets.js`:
```
process.env.BUILD_TARGET = LEGACY | MODERN
```

Example:

`config/targets.js`
```js
const browsers = [
'last 1 Chrome versions'
];

const isFallback = process.env.BUILD_TARGET === 'LEGACY';

if (isFallback) {
browsers.push('ie 11');
}

module.exports = {
browsers
};
```

run:
```
ember build:fallback --prod
```

check `index.html`

`dist/index.html` before:

```html


```

after:

```html



```

new files: `vendor.fb.js`, `dummy.fb.js` - legacy js bundles (for older browsers)

modern browser will load `script[type="module"]`, older - `script[nomodule]`

done!

Contributing
------------------------------------------------------------------------------

See the [Contributing](CONTRIBUTING.md) guide for details.

License
------------------------------------------------------------------------------

This project is licensed under the [MIT License](LICENSE.md).