UNPKG

ember-intl

Version:

Ember toolbox for internationalization.

58 lines (45 loc) 2.04 kB
/* jshint node: true */ 'use strict'; process.chdir(__dirname); /** * Packaging was dervived from the work of by: * https://github.com/ef4/liquid-fire/tree/master/packaging * Full credit to Edward Faulkner (https://github.com/ef4) * and the rest of the liquid-fire team */ var uglify = require('broccoli-uglify-js'); var mergeTrees = require('broccoli-merge-trees'); var pickFiles = require('broccoli-static-compiler'); var compileES6 = require('broccoli-es6-concatenator'); var es3Safe = require('broccoli-es3-safe-recast'); var Funnel = require('broccoli-funnel'); var registry = require('./registry'); var wrap = require('./wrap'); var emberAppend = new Funnel('.', { include: [/^ember-append\.js$/] }); var appTree = pickFiles('../app', { srcDir: '/', destDir: 'app' }); var addonTree = pickFiles('../addon', { srcDir: '/', destDir: 'ember-intl' }); var loader = pickFiles('../bower_components', { srcDir: '/loader.js', destDir: '/' }); var precompiled = mergeTrees([addonTree, appTree]); var registrations = registry(pickFiles(precompiled, { srcDir: '/app', destDir: '/', outputPrefix: 'app' })); var jsTree = mergeTrees([emberAppend, mergeTrees([precompiled, registrations, loader])]); var compiled = es3Safe(wrap(compileES6(jsTree, { wrapInEval: false, loaderFile: 'loader.js', outputFile: '/ember-intl.js', inputFiles: ['ember-intl/index.js', 'app/**/*.js'], ignoredModules: ['ember', 'ember-intl'], legacyFilesToAppend: ['registry-output.js', 'ember-append.js'] }))); var minified = uglify(es3Safe(wrap(compileES6(jsTree, { wrapInEval: false, loaderFile: 'loader.js', outputFile: '/ember-intl.min.js', inputFiles: ['ember-intl/index.js', 'app/**/*.js'], ignoredModules: ['ember', 'ember-intl'], legacyFilesToAppend: ['registry-output.js', 'ember-append.js'] })))); module.exports = mergeTrees([minified, compiled]);