next-css-json-loader

0.0.6 • Public • Published

next-css-json-loader

NPM version Downloads Build Status Dependency status Dev Dependency status Coverage Status

Installation

$ npm install --save-dev next-css-json-loader

Setup

First you will need to create a next.config.js file:

module.exports = {
  webpack: config => {
    config.module.rules.push({
      test: /\.css$/,
      loader: 'emit-file-loader',
      options: {
        name: 'dist/[path][name].[ext]',
      }
    }, {
      test: /\.css$/,
      loader: 'babel-loader!next-css-json-loader',
    });
    return config;
  },
};

Usage

After setting the project, you may import CSS files like so:

// .css files now conveniently expose all styles as js objects
import styles, {
  rule,
  media,
  keyframes,
  fontFace,
  charset,
  raw
} from 'some-package/foo.css';
 
// If you are using glamor, you can easily generate styles like so
import { css } from 'glamor';
const className = css(styles);
 
// Don't forget any custom fonts or animations :)
const fonts = fontFace.map(x => css.fontFace(x));
const animations = keyframes.reduce((a, [name, timeline]) => {
  a[name] = css.keyframe(timeline);
  return a;
}, {});
 

Shout out to next-style-loader for inspiration!

License

MIT License

Readme

Keywords

none

Package Sidebar

Install

npm i next-css-json-loader

Weekly Downloads

0

Version

0.0.6

License

MIT

Last publish

Collaborators

  • josiahsavary
  • jozanza