ember-cli ES6 module shim for momentjs and moment timezone within your Ember applications. It will also conditionally bundle in specific locale/timezone data for those concerned about payload size.
ember install ember-cli-moment-shim
import moment from 'moment';
- ES6 accessible module for moment
- Trim your build sizes by bundling locale & timezone data through simple configuration
- FastBoot support
// config.environment.js
module.exports = function(environment) {
return {
moment: {
// Options:
// 'all' - all years, all timezones
// 'subset' - subset of the timezone data to cover 2010-2020 (or 2012-2022 as of 0.5.12). all timezones.
// 'none' - no data, just timezone API
includeTimezone: 'all'
}
};
}
// config.environment.js
module.exports = function(environment) {
return {
moment: {
// To cherry-pick specific locale support into your application.
// Full list of locales: https://github.com/moment/moment/tree/master/locale
includeLocales: ['es', 'fr-ca']
}
};
NOTE: English is bundled automatically – no need to add en
in includeLocales
// config.environment.js
module.exports = function(environment) {
return {
moment: {
includeLocales: true
}
};
// app/routes/applicaton.js
import moment from 'moment';
export default Ember.Route.extend({
beforeModel() {
// sets the application locale to Spanish
moment.locale('es');
}
});
// config.environment.js
module.exports = function(environment) {
return {
moment: {
// This will output _all_ locale scripts to assets/moment-locales
// this option does not respect includeLocales
localeOutputPath: 'assets/moment-locales'
}
};
The feature set for i18n support within moment can be found here: http://momentjs.com/docs/#/i18n/
ember-cli-moment-shim shims is MIT Licensed.