Comments (8)
I though about it too, but postcss-modules is used before concat, but cssnano works after concat :(. So it will works only if we concat files by postcss-import.
Anyway we should think about addition way. For example we use selectors rules to find isolation classes. Like we can use rule: 'bem'
and then .logo__name
and .menu__name
will be isolated.
But I think we should give a two ways. Result#messages
is useful too.
from postcss-modules.
@ben-eb also @Outpunk in on vacation right now (baby).So I think we should implement some logic in cssnano before postcss-modules fixes. I can help you with postcss-modules PR.
from postcss-modules.
We already have the additional way, the existing getJSON
function. I thought it might be nice to keep it all in a single PostCSS instance with, of course, the caveat that you have to use postcss-import. 😄
from postcss-modules.
We need result.messages
support for postcss-loader
. @Outpunk could you point me to where the mappings (JSON) are generated ? 😛
from postcss-modules.
@michael-ciniawsky Actually, the plugin uses css-modules-loader-core
's parser. So, we need to modify the parser to add the API.
https://github.com/css-modules/postcss-modules/blob/master/src/index.js#L82
https://github.com/css-modules/css-modules-loader-core/blob/master/src/parser.js
I'll be happy if you make a PR for this, because I have no time to make it.
from postcss-modules.
I'll be happy if you make a PR for this, because I have no time to make it.
Yep, of course 😛
css-loader-core/lib/parser.js
plugin( css, result ) {
return Promise.all( this.fetchAllImports( css ) )
.then( _ => this.linkImportedSymbols( css ) )
- .then( _ => this.extractExports ( css ) )
+ .then( _ => {
+ this.extractExports( css )
+ result.messages.push({ type: 'modules', modules: this.exportTokens })
+ })
}
?
from postcss-modules.
Looks awesome!
from postcss-modules.
👍 Would be awesome to access the mappings through result.messages! :)
from postcss-modules.
Related Issues (20)
- How to use postcss-modules in combination with css-loader modules? HOT 1
- Providing custom Loader implementation HOT 3
- Types of CSS modules HOT 3
- What can cause hashes generated by css-loader differ from the hashes generated by this plugin?
- Version 4.1.1 is missing the build directory HOT 2
- Expose importer in resolve method HOT 2
- Make this package browser friendly HOT 2
- Multiline comment in :global Sass declaration compiles incorrectly HOT 5
- Short class names in production HOT 1
- The published npm package contains `.vscode`
- 'Failed to obtain root' error on Windows HOT 1
- Please add missing tags HOT 1
- [Feature] Add ability to transform a selection of class names
- css-loader integration
- @value or composes using other modules bypasses other postcss plugins HOT 3
- Classes imported from another module have the wrong hash when imported file is changed
- how to make inline comment works in module.scss
- doesn't work with :is and :where clauses HOT 2
- Unable to use via ESM CDN like JSDelivr or JSPM
- passing strings to generateScopedName that can be problematic
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from postcss-modules.