Skip to content

KarlGe/next-linaria

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Next.js + Linaria

Adds Linaria to built-in CSS support in Next.js.

The version 1.0.0 and above only works with linaria@3. If you need support for linaria@2, please use version 0.11.0 of this package.

The version 0.11.0 of this package requires [email protected] or above.

For [email protected] use version 0.10.0 of this package.

This module is intended to be used with Next.js built-in CSS support (https://nextjs.org/docs/basic-features/built-in-css-support) and probably will not work with custom CSS handling.

Installation

npm install --save next-linaria linaria

or

yarn add next-linaria linaria

Usage

Create a next.config.js in your project

// next.config.js
const withLinaria = require('next-linaria');
module.exports = withLinaria({
  /* config options here */
});

Linaria options

// next.config.js
const withLinaria = require('next-linaria');
module.exports = withLinaria({
  linaria: {
    /* linaria options here */
  },
});

Configuring Next.js

Optionally you can add your custom Next.js configuration as parameter

// next.config.js
const withLinaria = require('next-linaria');
module.exports = withLinaria({
  webpack(config, options) {
    return config;
  },
});

Transpiling Linaria files from node_modules

By default this package will ignore all of node_modules by default.

If you have a package inside of node_modules with Linaria files that you would like to transpile, you need to add the package to the rules array of the Linaria config

Keep in mind that this overrides Linaria's default rules, so you will want to make sure you add

// next.config.js
const withLinaria = require('next-linaria');
module.exports = withLinaria({
  linaria: {
    rules: [
      {
        action: require('@linaria/shaker').default,
      },
      {
        test: /node_modules[\/\\](?!\@example\\package)/,
        action: 'ignore',
      },
    ],
    /* other linaria options here */
  },
});

This can be used in combination with https://github.com/martpie/next-transpile-modules to transpile the rest of the package if necessary

License

The MIT License (MIT)

About

Linaria support for Next.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%