forked from CenterForOpenScience/ember-osf-preprints
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathember-cli-build.js
119 lines (109 loc) · 4.63 KB
/
ember-cli-build.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/*jshint node:true*/
/* global require, module */
var path = require('path');
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
module.exports = function(defaults) {
var config = require('./config/environment')(process.env.EMBER_ENV);
// Reference: https://github.com/travis-ci/travis-web/blob/master/ember-cli-build.js
var app = new EmberApp(defaults, {
sourcemaps: {
enabled: true,
extensions: ['js']
},
vendorFiles: {
// next line is needed to prevent ember-cli to load
// handlebars (it happens automatically in 0.1.x)
'handlebars.js': {production: null},
[process.env.EMBER_ENV !== 'development' ? 'ember.js' : '']: null,
[process.env.EMBER_ENV !== 'development' ? 'jquery.js' : '']: null,
},
'ember-bootstrap': {
importBootstrapCSS: false
},
sassOptions: {
includePaths: [
'node_modules/ember-osf/addon/styles',
'bower_components/bootstrap-sass/assets/stylesheets',
'bower_components/osf-style/sass',
'bower_components/hint.css'
]
},
inlineContent: {
raven: {
enabled: process.env.EMBER_ENV !== 'development',
content: `
<script src="https://cdn.ravenjs.com/3.5.1/ember/raven.min.js"></script>
<script>Raven.config("${config.sentryDSN}", {}).install();</script>`
},
cdn: {
enabled: process.env.EMBER_ENV !== 'development',
content: `
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/ember.js/2.7.1/ember.prod.js"></script>`
}
},
postcssOptions: {
compile: {
enabled: false
},
filter: {
enabled: true,
plugins: [{
module: require('autoprefixer'),
options: {
browsers: ['last 4 versions'],
cascade: false
}
}, {
// Wrap progid declarations with double-quotes
module: require('postcss').plugin('progid-wrapper', () => {
return css =>
css.walkDecls(declaration => {
if (declaration.value.startsWith('progid')) {
return declaration.value = `"${declaration.value}"`;
}
});
})
}]
}
},
// bable options included to fix issue with testing discover controller
// http://stackoverflow.com/questions/32231773/ember-tests-passing-in-chrome-not-in-phantomjs
babel: {
optional: ['es6.spec.symbols'],
includePolyfill: true
}
});
// 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.
// osf-style
app.import(path.join(app.bowerDirectory, 'osf-style/vendor/prism/prism.css'));
app.import(path.join(app.bowerDirectory, 'osf-style/page.css'));
app.import(path.join(app.bowerDirectory, 'osf-style/css/base.css'));
app.import(path.join(app.bowerDirectory, 'osf-style/img/cos-white2.png'), {
destDir: 'img'
});
// app.import('bower_components/dropzone/dist/dropzone.js');
app.import({
development: path.join(app.bowerDirectory, 'dropzone/dist/dropzone.css'),
production: path.join(app.bowerDirectory, 'dropzone/dist/min/dropzone.min.css')
});
app.import(path.join(app.bowerDirectory, 'jquery.tagsinput/src/jquery.tagsinput.js'));
app.import({
development: path.join(app.bowerDirectory, 'hint.css/hint.css'),
production: path.join(app.bowerDirectory, 'hint.css/hint.css')
});
// Import component styles from addon
app.import('vendor/assets/ember-osf.css');
return app.toTree();
};