@flemist/postcss-remove-global

0.1.6 • Public • Published

postcss-remove-global Build Status

PostCSS plugin to remove :global identifier from your stylesheet files.

Support three cases

  1. Remove :global as a single selector
:global {
    a { }
}
a { }
  1. Remove :global as part of a selector
.root :global .text { margin: 0 6px; }
.root .text { margin: 0 6px; }
  1. Remove :global(selector) as part of a selector
.root :global(#foo1337 .bar:hover) .text { margin: 0 6px; }
.root #foo1337 .bar:hover .text { margin: 0 6px; }
  1. Remove :global as part of params of @keyframe
@keyframes :global(zoomIn) { }
@keyframes zoomIn { }

Usage

Use with PostCSS API

const postcss = require('postcss')
const removeGlobal = require('postcss-remove-global')

const css = postcss()
  .use(removeGlobal())
  .process(':global { a {color: gray(85); background-color: gray(10%, .25)}}')
  .css
console.log('css = ', css)
//= 'a {color: gray(85); background-color: gray(10%, .25)}'

const css2 = postcss([removeGlobal])
  .process('.root :global .text { margin: 0 6px; }')
  .css
console.log('css2 = ', css2)
//= '.root .text { margin: 0 6px; }'

const css3 = postcss([removeGlobal])
  .process('@keyframes :global(zoomIn) { }')
  .css
console.log('css3 = ', css3)
//= '@keyframes zoomIn { }'

Reference:https://github.com/princetoad/try-postcss/blob/master/src/Plugin/plugin-remove-global.js

Use gulp task runner

gulp.task('global', () => {
  return gulp.src('assets/*.css')
    .pipe(postcss([removeGlobal]))
    .pipe(gulp.dest('build/'))
})

Reference:https://github.com/princetoad/try-postcss/blob/master/gulpfile.js

Package Sidebar

Install

npm i @flemist/postcss-remove-global

Weekly Downloads

1

Version

0.1.6

License

MIT

Unpacked Size

108 kB

Total Files

11

Last publish

Collaborators

  • nikolay_makhonin