CSS Modules: Extract Imports
Transforms:
:local(.continueButton) {
  composes: button from "library/button.css";
  color: green;
}
into:
:import("library/button.css") {
  button: __tmp_487387465fczSDGHSABb;
}
:local(.continueButton) {
  composes: __tmp_487387465fczSDGHSABb;
  color: green;
}
Specification
- Only a certain whitelist of properties are inspected. Currently, that whitelist is ['composes']alone.
- An extend-import has the following format:
composes: className [... className] from "path/to/file.css",  className [... className], className [... className] from global;
Options
- failOnWrongOrder- boolgenerates exception for unpredictable imports order.
.aa {
  composes: b from "./b.css";
  composes: c from "./c.css";
}
.bb {
  /* "b.css" should be before "c.css" in this case */
  composes: c from "./c.css";
  composes: b from "./b.css";
}
Building
npm install
npm test
License
ISC
With thanks
- Mark Dalgleish
- Tobias Koppers
- Guy Bedford
Glen Maddern, 2015.