-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
ember-cli-build.js
60 lines (51 loc) · 1.54 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
'use strict';
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
const mergeTrees = require('broccoli-merge-trees');
const funnel = require('broccoli-funnel');
const { readdirSync } = require('fs');
function buildRedirects() {
const redirects = [];
const rfcs = readdirSync('rfcs/text');
for (let filename of rfcs) {
const match = filename.match(/(\d+)-.*/);
const number = parseInt(match[1]);
redirects.push(
`/number/${number} /id/${filename.replace(/\.md$/, '')} 301!`
);
}
return redirects;
}
module.exports = function (defaults) {
let app = new EmberApp(defaults, {
rfcProcess: {
textLocation: 'rfcs',
},
trees: {
public: mergeTrees([
'public',
funnel('rfcs/images', {
destDir: 'images',
}),
]),
},
fingerprint: {
extensions: ['js', 'css', 'map'],
},
'ember-cli-netlify': {
redirects: buildRedirects(),
},
});
// 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.
return app.toTree();
};