UNPKG

ember-cli-file-saver

Version:

Provides file saving capability to an Ember CLI application.

50 lines (37 loc) 1.07 kB
/* eslint-env node */ 'use strict'; var path = require('path'); var Funnel = require('broccoli-funnel'); var MergeTrees = require('broccoli-merge-trees'); var map = require('broccoli-stew').map; module.exports = { name: 'ember-cli-file-saver', included() { this._super.included.apply(this, arguments); this.import('vendor/FileSaver.js', { type: 'vendor' }); this.import('vendor/jquery-ajax-arraybuffer.js', { type: 'vendor' }); this.import('vendor/file-saver.shim.js', { type: 'vendor', exports: { rison: ['default'] } }); }, treeForVendor(vendorTree) { var trees = []; var fileSaverPath = path.dirname(require.resolve('file-saver')); var fileSaverTree = new Funnel(fileSaverPath, { files: ['FileSaver.js'] }); fileSaverTree = map(fileSaverTree, (content) => `if (typeof FastBoot === 'undefined') { ${content} }`); if (vendorTree !== undefined) { trees.push(vendorTree); } trees.push(fileSaverTree); return new MergeTrees(trees); }, };