Skip to content

Plugin doesn't work with sass-loader v8 and above and less-loader v6 and aboveΒ #82

@nad182

Description

@nad182

Spend hours trying to get the plugin to work. Seems like sass-loader and less-loader both changed their options object shapes. I got to the bottom of the issue by exploring antdSassLoader.js and antdLEssLoader.js.

  1. antdSassLoader.js (the error was something like options has an unknown property 'importer')
    The issue there is that there is no importer prop in options anymore, it's in sassOptions. So should be something like this:
newOptions.sassOptions = {}
newOptions.sassOptions.importer = importer
  1. antdLEssLoader.js (the error was something like options has an unknown property 'modifyVars')
    The issue here is that modifyVars was moved inside lessOptions prop and you also must pass javascriptEnabled: true (without is the error you're getting is (Inline JavaScript is not enabled. Is it set in your options?) to lessOptions like this:
  const newOptions = _extends({}, options, {
    lessOptions: {
      modifyVars: _extends({}, themeModifyVars, options.modifyVars || {}), 
      javascriptEnabled: true
    }
  });

Without those changes, you're getting a bunch of different errors.

Screenshots of "successful" configs are attached.

Screen Shot 2020-07-28 at 12 20 33 AM

Screen Shot 2020-07-28 at 12 19 57 AM

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions