css-modules / postcss-icss-values

Pass arbitrary constants between your module files
MIT License
203 stars 18 forks source link

Import order is incorrect #3

Closed sokra closed 8 years ago

sokra commented 8 years ago
@value def as aaa from './file1';
@value def as bbb from './file2';

generates this ICSS:

:export {
  aaa: i__const_aaa_1;
  bbb: i__const_bbb_2;
}
:import('./file2') {
  i__const_bbb_2: def;
}
:import('./file1') {
  i__const_aaa_1: def;
}

but should instead generate the imports in the correct order:

(Also moved :export after :import blocks, because it make more sense, but this is not the orginal issue)

:import('./file1') {
  i__const_aaa_1: def;
}
:import('./file2') {
  i__const_bbb_2: def;
}
:export {
  aaa: i__const_aaa_1;
  bbb: i__const_bbb_2;
}

This is important because import order defines order of css rules.