Socket
Socket
Sign inDemoInstall

gatsby-plugin-stylus-resources

Package Overview
Dependencies
4
Maintainers
1
Versions
45
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    gatsby-plugin-stylus-resources

Gatsby support for Stylus with resources (e.g. variables, mixins etc.)


Version published
Weekly downloads
70
decreased by-1.41%
Maintainers
1
Created
Weekly downloads
 

Changelog

Source

2.0.5 (2022-10-17)

Bug Fixes

  • 🐛 update dev dependencies (46ce342)
  • 🐛 update stylus and stylus-loader (111d08b)

Readme

Source

gatsby-plugin-stylus-resources

Provides drop-in support for Stylus with or without CSS Modules, with shared resources (e.g. variables, mixins etc.)

travis build travis build npm version

commitizen semantic-release prettier license

This is an extended version of gatsby-plugin-stylus.

The only difference is the use of sass-resources-loader so you can use your shared variables & mixins across all .styl files without manually importing them in each file.

Feel free to check out and run the example folder for detailed configuration.

Install

⚠️ BREAKING CHANGE : v2 uses stylus-loader@5.x.x which requires Webpack 5 minimun (included in Gatsby v3)

For Gatsby v3

npm i gatsby-plugin-stylus-resources -d

or

yarn add gatsby-plugin-stylus-resources -D

For Gatsby v2

npm i gatsby-plugin-stylus-resources@1.0.36 -d

or

yarn add gatsby-plugin-stylus-resources@1.0.36 -D

Usage

  1. Create your file (or files) with resources :

    /* styles/config/mixins.styl */
    
    flexbox($value = row)
        display: flex
        flex-direction: $value
    
    truncate($fontsize = 14px)
        flexbox()
        height: $fontsize + 4px
        white-space: nowrap
        overflow: hidden
        text-overflow: ellipsis
    
  2. Include the plugin in your gatsby-config.js file :

    /* gatsby-config.js */
    
    module.exports = {
      plugins: [
        {
          resolve: "gatsby-plugin-stylus-resources",
          options: {
            resources: ['./src/styles/config/mixins.styl', 'path/to/another/file.styl'],
          },
        },
      ],
    }
    

⚠️ Do not include anything that will be actually rendered in CSS, because it will be added to every imported .styl file.

Without CSS Modules

// in gatsby-config.js
plugins: [`gatsby-plugin-stylus-resources`]

With CSS Modules

Using CSS modules requires no additional configuration. Simply prepend .module to the extension. For example: App.styl -> App.module.styl. Any file with the module extension will use CSS modules.

With Stylus plugins

This plugin has the same API as stylus-loader, which means you can add stylus plugins with use:

// in gatsby-config.js
const rupture = require("rupture")

module.exports = {
  plugins: [
    {
      resolve: "gatsby-plugin-stylus-resources",
      options: {
        use: [rupture()],
      },
    },
  ],
}

PostCSS plugins

PostCSS is also included to handle some default optimizations like autoprefixing a and common cross-browser flexbox bugs. Normally you don't need to think about it, but if you'd prefer to add additional postprocessing to your Stylus output you can sepecify plugins in the plugin options

// in gatsby-config.js
plugins: [
  {
    resolve: `gatsby-plugin-stylus-resources`,
    options: {
      postCssPlugins: [somePostCssPlugin()],
    },
  },
]

Contributing

Contributions are welcome ! See contributing guidelines

License

MIT

Copyright (c) 2019 Jimmy Beldone

Keywords

FAQs

Last updated on 17 Oct 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc