Description
As much as we appreciate the pain points CSS Modules are solving, we’ve made a decision not to use them in this project. You can see some discussion on this in #90.
However Webpack currently lets you use custom :local
syntax to “enable” them in regular CSS files. We don’t want people to do this because this limits our ability to add more CSS tools or migrate from Webpack to other bundlers in the future.
This is why we should enforce that people don’t use :local
syntax. Otherwise we’ll just randomly break their apps when we change something in how we handle CSS. This won’t be fun, and people will blame us for that even though we explicitly do not support this feature.
Luckily, it is easy to fix. We should write a custom lint rule with ERROR
level that is triggered on a statement like this:
import styles from './styles.css';
This, however, should work fine:
import './styles.css';
This semi-enforces that you don’t use CSS Modules because we just don’t support them. We can ensure your CSS stays reasonably portable in case we want to change the underlying architecture.
Reference on writing ESLint rules: http://eslint.org/docs/developer-guide/working-with-rules.
If you want to work on this, please write here so we don’t have multiple people doing it at the same time.