-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathember-cli-build.js
61 lines (52 loc) · 1.68 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
/* eslint-env node */
const { resolve } = require('path');
const EmberAddon = require('ember-cli/lib/broccoli/ember-addon');
const postcssParser = require('postcss-scss');
const tailwind = require('tailwindcss');
const sass = require('@mozaic-ds/postcss-sass');
const autoprefixer = require('autoprefixer');
const colorModFunctions = require('@alexlafroscia/postcss-color-mod-function');
const TAILWIND_CONFIG_PATH = require.resolve('./tailwind.config');
function createPlugins({ tailwindConfigPath = TAILWIND_CONFIG_PATH, sassOptions = {} } = {}) {
return [sass(sassOptions), tailwind(tailwindConfigPath), colorModFunctions(), autoprefixer()];
}
const isProductionLikeBuild =
process.env.EMBER_ENV !== 'development' && process.env.EMBER_ENV !== 'test';
module.exports = function (defaults) {
const app = new EmberAddon(defaults, {
// Add options here
autoImport: {
webpack: {
node: {
global: true,
},
},
},
fingerprint: {
enabled: isProductionLikeBuild,
},
svgJar: {
strategy: 'inline',
sourceDirs: ['public/assets/images/icons'],
viewer: {
enabled: true,
},
},
postcssOptions: {
compile: {
extension: 'scss',
parser: postcssParser,
plugins: createPlugins({
tailwindConfigPath: resolve(__dirname, 'tailwind.config.js'),
}),
},
},
});
/*
This build file specifies the options for the dummy test app of this
addon, located in `/tests/dummy`
This build file does *not* influence how the addon or the app using it
behave. You most likely want to be modifying `./index.js` or app's build file
*/
return app.toTree();
};