@@ -15,16 +15,17 @@ struct CliArgs {
1515 #[ clap( short, long) ]
1616 minify : bool ,
1717 /// Enable parsing CSS nesting
18- #[ clap( short , long) ]
18+ #[ clap( long) ]
1919 nesting : bool ,
20- /// Enable CSS modules in output
21- #[ clap( short, long, group = "css_modules" ) ]
22- css_modules : bool ,
23- /// Default: <output_file>.json
24- #[ clap( long, requires = "css_modules" ) ]
25- css_modules_output_file : Option < String > ,
20+ /// Enable parsing custom media queries
21+ #[ clap( long) ]
22+ custom_media : bool ,
23+ /// Enable CSS modules in output.
24+ /// If no filename is provided, <output_file>.json will be used.
25+ #[ clap( long, group = "css_modules" , requires = "output_file" ) ]
26+ css_modules : Option < Option < String > > ,
2627 /// Enable sourcemap, at <output_file>.map
27- #[ clap( short , long, requires = "output_file" ) ]
28+ #[ clap( long, requires = "output_file" ) ]
2829 sourcemap : bool ,
2930}
3031
@@ -53,7 +54,8 @@ pub fn main() -> Result<(), std::io::Error> {
5354 & source,
5455 ParserOptions {
5556 nesting : cli_args. nesting ,
56- css_modules : cli_args. css_modules ,
57+ css_modules : cli_args. css_modules . is_some ( ) ,
58+ custom_media : cli_args. custom_media ,
5759 ..ParserOptions :: default ( )
5860 } ,
5961 )
@@ -105,21 +107,19 @@ pub fn main() -> Result<(), std::io::Error> {
105107
106108 fs:: write ( output_file, code. as_bytes ( ) ) ?;
107109
108- if cli_args. css_modules {
109- let css_modules_filename = cli_args
110- . css_modules_output_file
111- . unwrap_or ( infer_css_modules_filename ( & output_file) ?) ;
110+ if let Some ( css_modules) = cli_args. css_modules {
111+ let css_modules_filename = if let Some ( name) = css_modules {
112+ name
113+ } else {
114+ infer_css_modules_filename ( & output_file) ?
115+ } ;
112116 if let Some ( exports) = res. exports {
113117 let css_modules_json = serde_json:: to_string ( & exports) ?;
114118 fs:: write ( css_modules_filename, css_modules_json) ?;
115119 }
116120 }
117121 } else {
118122 println ! ( "{}" , res. code) ;
119- if cli_args. css_modules {
120- let css_modules_json = serde_json:: to_string ( & res. exports ) ?;
121- println ! ( "{}" , css_modules_json) ;
122- }
123123 }
124124
125125 Ok ( ( ) )
0 commit comments