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

jspm-loader-css

v1.1.0

Published

A CSS loader for JSPM. Install

Downloads

28

Readme

JSPM Loader: CSS

Join the chat at https://gitter.im/geelen/jspm-loader-css

An extensible CSS loader for JSPM.

Install the plugin and name it css locally

jspm install css=npm:jspm-loader-css

Load the styles by referencing them in your JS:

import from './styles.css!'

:local mode

The default CSS loader supports opt-in CSS Modules syntax. So, importing the following CSS file:

:local(.myComponent) {}

generates and loads the following CSS

._path_to_file__myComponent {}

and returns the mapping to JS for you to use in templates:

import styles from './styles.css!'
elem.innerHTML = `<div class="${styles.myComponent}"></div>`

For the full CSS Modules syntax, where everything is local by default, see the JSPM CSS Modules Loader project.

:export & :import

The loader also supports the CSS Modules Interchange Format.

Import path notation

The path you specify will be processed through SystemJS with your configuration.
For example, with the configuration below :

// Your config.js
System.config({
  paths: {
    "github:*": "jspm_packages/github/*",
    "~/*": "somewhere/*"
  }
}

You can write various import paths:

/* Your ike.icss */
.ike {
  composes: bounce animated from "https://github.jspm.io/daneden/[email protected]/animate.css";
  composes: bounce animated from "github:daneden/[email protected]/animate.css";
  composes: bounce animated from "~/animate.css";
}

Customize your own loader

You can customize this loader to meet your needs.

  1. Create a css.js file under your project folder next to config.js file.
  2. In the css.js file, include whatever postcss plugins you need:
  import { CSSLoader, Plugins } from 'jspm-loader-css'
  import vars from 'postcss-simple-vars' // you want to use this postcss plugin
  
const {fetch, bundle} = new CSSLoader([
  vars,
  Plugins.localByDefault,
  Plugins.extractImports,
  Plugins.scope,
  Plugins.autoprefixer()
], __moduleName);

export {fetch, bundle};
  ``` 
  
  Just make sure you have `Plugins.autoprefixer` passed to `new CSSLoader`, it's required.
  
3. Since you have had `jspm-loader-css` installed with `jspm install css=npm:jspm-loader-css`, now open `config.js` and replace line

  ```js
  "css": "npm:[email protected]"
  ```
  
  with:
  
  ```js
  "jspm-loader-css": "npm:[email protected]"
  ```
  
jspm will use what `css.js` exports as the default css loader.
  
You can also check [an example css.js file here](https://github.com/geelen/glenmaddern.com/blob/master/src/css.js "Customize your own jspm css loader").