Skip to content

Commit

Permalink
CSS Next Support and Prefixing via postcss-preset-env #1
Browse files Browse the repository at this point in the history
  • Loading branch information
moonglum committed Jan 14, 2019
1 parent 68d25aa commit 60822a4
Show file tree
Hide file tree
Showing 7 changed files with 62 additions and 8 deletions.
26 changes: 19 additions & 7 deletions lib/make-postcss.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,28 @@
let path = require("path");
let postcss = require("postcss");
let atImport = require("postcss-import");
let { promisify } = require("faucet-pipeline-core/lib/util");
let postcssPresetEnv = require("postcss-preset-env");
let { repr, promisify } = require("faucet-pipeline-core/lib/util");
let readFile = promisify(require("fs").readFile);

module.exports = function(input, target, assetManager, sourcemaps, browsers) {
// if(browsers && browsers.length > 0) {
// let filepath = path.relative(assetManager.referenceDir, input);
// console.error(`compiling CSS ${repr(filepath)} for ${browsers.join(", ")}`);

let processor = postcss([
let plugins = [
atImport()
]);
];

if(browsers && browsers.length > 0) {
let filepath = path.relative(assetManager.referenceDir, input);
console.error(`compiling CSS ${repr(filepath)} for ${browsers.join(", ")}`);
plugins.push(postcssPresetEnv({
stage: 2, // maybe a little too unstable?
browsers: browsers,
autoprefixer: {
cascade: false // this disables weird indentation
}
}));
}

let processor = postcss(plugins);

let options = {
from: input,
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
"dependencies": {
"faucet-pipeline-core": "^1.0.0",
"postcss": "~7.0.11",
"postcss-import": "~12.0.1"
"postcss-import": "~12.0.1",
"postcss-preset-env": "^6.0.7"
},
"devDependencies": {
"eslint-config-fnd": "^1.6.0",
Expand Down
5 changes: 5 additions & 0 deletions test/run
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,9 @@ begin "$root/test_sourcemap"
assert_identical_sourcemap "./dist/bundle.css" "./expected.css" "./expected.css.map"
end

begin "$root/test_cssnext"
faucet
assert_identical "./dist/bundle.css" "./expected.css"
end

echo; echo "SUCCESS: all tests passed"
1 change: 1 addition & 0 deletions test/test_cssnext/.browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
IE 10
11 changes: 11 additions & 0 deletions test/test_cssnext/expected.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
:root {
--fontSize: 1rem;
}

body {
font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
font-size: 1rem;
font-size: var(--fontSize);
-ms-user-select: none;
user-select: none;
}
15 changes: 15 additions & 0 deletions test/test_cssnext/faucet.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
"use strict";
let path = require("path");

module.exports = {
css: [{
source: "./src/index.css",
target: "./dist/bundle.css"
}],
plugins: {
css: {
plugin: path.resolve("../.."),
bucket: "styles"
}
}
};
9 changes: 9 additions & 0 deletions test/test_cssnext/src/index.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
:root {
--fontSize: 1rem;
}

body {
font-family: system-ui;
font-size: var(--fontSize);
user-select: none;
}

0 comments on commit 60822a4

Please sign in to comment.