Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@igor-lemon/craco-antd-scss

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@igor-lemon/craco-antd-scss

Craco plugin for use SASS/SCSS in create-react-app projects

  • 1.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Craco Ant Design SCSS plugin

[![actions-workflow-test][actions-workflow-test-badge]][actions-workflow-test] [![release][release-badge]][release] [![license][license-badge]][license]

About

@igor-lemon/craco-antd-scss is a Craco plugin which allows you to use SASS/SCSS in your create-react-app ^5.0.0 projects with Ant Design.

The plugin based on @igor-lemon/antd-scss-theme-plugin and craco-less plugins.

Installation

If you don't have craco you should to install it before.
Then install @igor-lemon/craco-antd-scss:

$ yarn add @igor-lemon/craco-antd-scss --save-dev

# OR

$ npm i @igor-lemon/craco-antd-scss --save-dev

How to use

Create theme.scss. It's file where you can override antd variables.
And modify your craco.config.js config file.

const CracoAntSCSSPlugin = require('@igor-lemon/craco-antd-scss');

module.exports = {
  plugins: [
    { 
      plugin: CracoAntSCSSPlugin, 
      options: { theme: './path_to/theme.scss' }
    }
  ],
};

For example put into theme.scss next variables

$primary-color: #92021F;
$link-color: #D3840D;

The list of variables you can find here: https://github.com/ant-design/ant-design/blob/master/components/style/themes/default.less

Configuration options

theme

  • Required. The path to the file with the variables you want to override.

lessOptions

Custom Less options. https://webpack.js.org/loaders/less-loader/#options
Default:

{}

Set null if you don't want to apply @igor-lemon/antd-scss-theme-plugin to the Less loader.

sassOptions

Custom SASS/SCSS options. https://webpack.js.org/loaders/sass-loader/#options
Default:

{}

Set null if you don't want to apply @igor-lemon/antd-scss-theme-plugin to the Less loader.

babelImportOptions

Babel Import plugin options.
Default:

{
  libraryName: 'antd',
  libraryDirectory: 'lib',
  style: true
}

Additional Features

The plugin allows to use Ant Design variables in your SASS/SCSS files.
If you want to use it feature just import theme.scss

Example:

@import "./path_to/theme";

.wrapper {
  background-color: $body-background;
  margin: $margin-md;
}

The disadvantage of this approach is that the IDE and linters doesn't see the values of these variables. It may not be so convenient to use them.

My advice is to just overwrite the used variables in theme.scss and set sassOptions option to null, this will reduce the rebuilding time.

const CracoAntSCSSPlugin = require('@igor-lemon/craco-antd-scss');

module.exports = {
  plugins: [
    { 
      plugin: CracoAntSCSSPlugin, 
      options: {
        sassLoaderOptions: null,
        theme: './path_to/theme.scss'
      }
    }
  ],
};

License

MIT

FAQs

Package last updated on 14 Jun 2022

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc