Closed rzhw closed 4 years ago
If #17 is resolved, we'll start writing this:
Currently plugins are double-specified with their defs:
postcss_plugin( name = "list_selectors", node_require = "build_bazel_rules_postcss/examples/additional_outputs/list-selectors.js", srcs = [ "list-selectors.js", ], ) postcss_binary( name = "style_processed", src = "style.css", plugins = { ":list_selectors": "[{markdownDir: 'examples/additional_outputs'}]", }, additional_outputs = ["selectors.md"], deps = [ ":list_selectors", ], )
We could do one better by not needing to specify :list_selectors in the deps attribute:
:list_selectors
deps
postcss_plugin( name = "list_selectors", node_require = "build_bazel_rules_postcss/examples/additional_outputs/list-selectors.js", srcs = [ "list-selectors.js", ], ) postcss_binary( name = "style_processed", src = "style.css", plugins = { ":list_selectors": "[{markdownDir: 'examples/additional_outputs'}]", }, additional_outputs = ["selectors.md"], )
This would likewise apply for things we get from npm:
postcss_plugin( name = "autoprefixer", node_require = "autoprefixer", ) postcss_plugin( name = "unquote", node_require = "build_bazel_rules_postcss/examples/custom_plugin/unquote.js", srcs = [ "unquote.js", ], ) sass_binary( name = "style", src = "style.scss", output_style = "expanded", ) postcss_binary( name = "style_processed", src = ":style", plugins = { ":autoprefixer": "[{ browsers: '%s' }]" % AUTO_PREFIXER_BROWSERS, ":unquote": "", }, deps = [ ":unquote", "@npm//autoprefixer", ], )
Would become something like this:
postcss_plugin( name = "autoprefixer", node_require = "autoprefixer", deps = [ "@npm//autoprefixer", ], ) postcss_plugin( name = "unquote", node_require = "build_bazel_rules_postcss/examples/custom_plugin/unquote.js", srcs = [ "unquote.js", ], ) sass_binary( name = "style", src = "style.scss", output_style = "expanded", ) postcss_binary( name = "style_processed", src = ":style", plugins = { ":autoprefixer": "[{ browsers: '%s' }]" % AUTO_PREFIXER_BROWSERS, ":unquote": "", }, )
If #17 is resolved, we'll start writing this:Currently plugins are double-specified with their defs:
We could do one better by not needing to specify
:list_selectors
in thedeps
attribute:This would likewise apply for things we get from npm:
Would become something like this: