forked from rust-lang/crates.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathember-cli-build.js
56 lines (47 loc) · 1.37 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
'use strict';
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
const { USE_EMBROIDER } = process.env;
module.exports = function (defaults) {
let env = EmberApp.env();
let isProd = env === 'production';
let app = new EmberApp(defaults, {
autoImport: {
webpack: {
devtool: isProd ? 'source-map' : 'eval-source-map',
externals: {
// prevent Chart.js from bundling Moment.js
moment: 'moment',
},
},
},
babel: {
plugins: [require.resolve('ember-auto-import/babel-plugin')],
},
'ember-fetch': {
preferNative: true,
},
cssModules: {
extension: 'module.css',
plugins: {
before: [require('postcss-nested')],
},
},
fingerprint: {
extensions: ['js', 'css', 'png', 'jpg', 'gif', 'map', 'svg', 'ttf', 'woff', 'woff2'],
},
sourcemaps: {
enabled: true,
extensions: ['js'],
},
});
app.import('node_modules/normalize.css/normalize.css', { prepend: true });
app.import('vendor/qunit.css', { type: 'test' });
if (USE_EMBROIDER) {
const { Webpack } = require('@embroider/webpack');
return require('@embroider/compat').compatBuild(app, Webpack, {
// see https://github.com/embroider-build/embroider/issues/823
compatAdapters: new Map([['ember-get-config', null]]),
});
}
return app.toTree();
};