npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

postcss-global-import

v1.0.6

Published

Post Css plugin for global import css.

Downloads

36,340

Readme

Postcss global import.

npm package build status

Installation

npm install --save postcss-global-import

Example

Having files foo.css:

.foo {
  color: green;
}

@media (min-width: 640px) {
  .foo {
    color: red
  }
}

And local.css:

@global-import "./foo.css";

/* Some Css */

We will get:

:global .foo {
  color: green;
}

@media (min-width: 640px) {
  :global .foo {
    color: red
  }
}

/* Some Css */

Options

sync

In case of sync enabled this plugin will be work synchronously. It's useful in case with usage css-modules-require-hook hook, which doesn't support async postcss plugins.

globalizeKeyframes

By default, postcss-global-import do nothing with keyframe names, because there is no way to escape animation name in animation-name or animation properties for plugin postcss-modules-local-by-default which currently using as dependency postcss-modules plugin. So, in other words, if you are using postcss-modules or postcss-modules-local-by-default plugins and turn on globalizeKeyframes option, following css would be not imported properly:

@keyframes myCoolAnimation {
}

.foo {
  animation: myCoolAnimation;
}

And animation property value myCoolAnimation will be renamed but keyframe name not:

@keyframes myCoolAnimation {
}

.foo {
  animation: _myCoolAnimation__7zliz_1;
}

Turn this option on only if you want import keyframes itself and there are no usage of these keyframes in imported file. In this case postcss-global-import plugin turns

@keyframes myCoolAnimation {
}

into

@keyframes :global(myCoolAnimation) {
}

This semantic for keyframe names is supported by postcss-modules-local-by-default. There is new postcss-icss-keyframes plugin (which is coming to replace postcss-modules-local-by-default along with postcss-icss-selectors) which currently doesn't support any mechanics for escaping keyframe names from renaming. PRs for both postcss-icss-keyframes and postcss-global-import are welcome.

Configuring Webpack

Basically only thing you should do is include this plugin to plugin list inside your postcss.config.js file and configure any postcss loader for your css files.