decide.nolog.cz/Brocfile.js
jelhan ab4f88dd7f Fix: handling of different timezones
There were some timezone issues especially concerning daylight saving time (DST).
We should not rely on timezone offset since this will change due to DST.
Instead determine the users timezone (using jsTimezoneDetect therefore) and
then using this via moment-timezone.

This commit changes poll model. It drops timezoneOffset and adds timezone as a new property.
It's not tested yet against polls created before without timezone property. This has to be done before merge.

Also we should consider using ember-moment template helpers instead of our own formatted-date helper.
2015-07-15 16:20:24 +02:00

101 lines
2.9 KiB
JavaScript

/* global require, module */
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var pickFiles = require('broccoli-static-compiler');
var trees = [];
var app = new EmberApp({
'buildInfoOptions': {
'metaTemplate': 'version={VERSION}-{COMMIT}'
},
// do not fingerprint webshim
'fingerprint': {
'exclude': ['assets/shims']
},
'ember-moment': {
'includeTimezone': 'all'
}
});
// Use `app.import` to add additional libraries to the generated
// output files.
//
// If you need to use different assets in different
// environments, specify an object as the first parameter. That
// object's keys should be the environment name and the values
// should be the asset to use in that environment.
//
// If the library that you are including contains AMD or ES6
// modules that you would like to import into your application
// please specify an object with the list of modules as keys
// along with the exports of each module as its value.
app.import({
development: 'bower_components/bootstrap/dist/js/bootstrap.js',
production: 'bower_components/bootstrap/dist/js/bootstrap.min.js'
});
app.import({
development: 'bower_components/bootstrap/dist/css/bootstrap.css',
production: 'bower_components/bootstrap/dist/css/bootstrap.min.css'
});
if (app.env === 'development' || app.env === 'test') {
app.import('bower_components/bootstrap/dist/css/bootstrap.css.map', {
destDir: 'assets'
});
}
// include bootstrap fonts in dist
trees.push(
pickFiles('bower_components/bootstrap/dist/fonts', {
srcDir: '/',
destDir: '/fonts'
})
);
app.import('bower_components/bootstrap-datepicker/js/bootstrap-datepicker.js');
app.import('bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.de.js');
app.import('bower_components/ember-i18n/lib/i18n.js');
app.import('bower_components/ember-i18n/lib/i18n-plurals.js');
app.import({
development: 'bower_components/floatThead/dist/jquery.floatThead.js',
production: 'bower_components/floatThead/dist/jquery.floatThead.min.js'
});
app.import({
development: 'bower_components/webshim/js-webshim/dev/polyfiller.js',
production: 'bower_components/webshim/js-webshim/minified/polyfiller.js'
});
app.import('bower_components/sjcl/sjcl.js');
app.import('bower_components/modernizr/modernizr.js');
app.import('bower_components/jstimezonedetect/jstz.js');
// moment locales aren't imported by ember-moment
app.import('bower_components/moment/min/locales.min.js');
// include webshim files into dist
trees.push(
pickFiles('bower_components/webshim/js-webshim/minified/shims', {
srcDir: '/',
destDir: '/assets/shims'
})
);
// include dummy data into dist if environment is development or test
if (app.env === 'development' || app.env === 'test') {
trees.push(
pickFiles('server/dummy', {
srcDir: '/',
destDir: '/data'
})
);
}
trees.push(app.toTree());
var mergeTrees = require('broccoli-merge-trees');
module.exports = mergeTrees(trees);