Skip to content

Commit 6422c3e

Browse files
committed
manually run postcss and add it to vendor
1 parent bb187a0 commit 6422c3e

File tree

5 files changed

+45
-87
lines changed

5 files changed

+45
-87
lines changed

addon/styles/helpers/index.css

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
@import 'unstyled.css';
2-
@import 'embed.css';
3-
@import 'flex.css';
4-
@import 'margin.css';
5-
@import 'padding.css';
6-
@import 'rounded.css';
1+
@import 'helpers/unstyled.css';
2+
@import 'helpers/embed.css';
3+
@import 'helpers/flex.css';
4+
@import 'helpers/margin.css';
5+
@import 'helpers/padding.css';
6+
@import 'helpers/rounded.css';
77

88
.img-fluid {
99
width: 100%;

ember-cli-build.js

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
'use strict';
22
const EmberAddon = require('ember-cli/lib/broccoli/ember-addon');
33

4-
const CssImport = require('postcss-import')
5-
const PresetEnv = require('postcss-preset-env');
6-
74
module.exports = function(defaults) {
85
let app = new EmberAddon(defaults, {
96
fingerprint: {
@@ -18,21 +15,6 @@ module.exports = function(defaults) {
1815
'tests/dummy/public'
1916
]
2017
},
21-
postcssOptions: {
22-
compile: {
23-
enabled: true,
24-
plugins: [
25-
{ module: CssImport },
26-
{
27-
module: PresetEnv,
28-
options: {
29-
stage: 3,
30-
features: { 'nesting-rules': true }
31-
}
32-
}
33-
]
34-
}
35-
},
3618
// required until https://github.com/ember-cli/ember-cli/issues/8448 is fixed
3719
'ember-prism': {
3820
components: [

index.js

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,16 @@ const path = require('path');
55
const CssImport = require('postcss-import');
66
const PresetEnv = require('postcss-preset-env');
77

8+
const broccoliPostCSS = require('broccoli-postcss')
9+
const mergeTrees = require('broccoli-merge-trees');
10+
const funnel = require('broccoli-funnel');
11+
const get = require('lodash.get');
12+
const { join } = require('path');
13+
814
module.exports = {
915
name: require('./package').name,
1016

1117
options: {
12-
postcssOptions: {
13-
compile: {
14-
enabled: true,
15-
plugins: [
16-
{ module: CssImport },
17-
{
18-
module: PresetEnv,
19-
options: {
20-
stage: 3,
21-
features: { 'nesting-rules': true }
22-
}
23-
}
24-
]
25-
}
26-
},
27-
2818
svgJar: {
2919
sourceDirs: [
3020
'public/images/icons',
@@ -34,6 +24,36 @@ module.exports = {
3424
},
3525
},
3626

27+
treeForAddon() {
28+
var tree = this._super(...arguments);
29+
30+
const addonWithoutStyles = funnel(tree, {
31+
exclude: ['**/*.css'],
32+
});
33+
34+
const addonStyles = funnel(tree, {
35+
include: ['**/*.css']
36+
});
37+
38+
// I don't know exactly why targets is private so I am using `get()` to make
39+
// sure that it isn't missing
40+
let overrideBrowserslist = get(this, 'app.project._targets.browsers');
41+
42+
let processedStyles = broccoliPostCSS(addonStyles, {
43+
plugins: [
44+
CssImport({
45+
path: join(__dirname, 'addon', 'styles'),
46+
}),
47+
PresetEnv({
48+
stage: 3,
49+
features: { 'nesting-rules': true },
50+
overrideBrowserslist,
51+
})
52+
]});
53+
54+
return mergeTrees([addonWithoutStyles, processedStyles]);
55+
},
56+
3757
treeForPublic: function() {
3858
return new Funnel(path.join(this.root, 'public'));
3959
},

package-lock.json

Lines changed: 1 addition & 46 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,13 @@
2929
"@ember/render-modifiers": "^1.0.0",
3030
"broccoli-funnel": "^2.0.1",
3131
"broccoli-merge-trees": "^3.0.1",
32+
"broccoli-postcss": "^5.0.0",
3233
"ember-angle-bracket-invocation-polyfill": "^2.0.2",
3334
"ember-cli-babel": "^7.7.3",
3435
"ember-cli-htmlbars": "^3.0.1",
35-
"ember-cli-postcss": "^4.2.0",
3636
"ember-svg-jar": "^1.2.2",
3737
"ember-truth-helpers": "^2.1.0",
38+
"lodash.get": "^4.4.2",
3839
"normalize.css": "^8.0.1",
3940
"postcss-import": "^12.0.1",
4041
"postcss-preset-env": "^6.6.0",

0 commit comments

Comments
 (0)