less.js icon indicating copy to clipboard operation
less.js copied to clipboard

Importing less files from a third party library crashes the build.

Open florinpavel22 opened this issue 3 years ago • 1 comments

To reproduce:

  1. Create a new project folder.
  2. Run npm init -y.
  3. Install less and swiper.
  4. Create a main.less file in the root/src folder.
  5. Create a build script that runs lessc (src/)main.less output/styles.css.

Add these lines in the main.less file.

@import (less) 'swiper/less';
@import (less) 'swiper/less/navigation';
@import (less) 'swiper/less/pagination';

Current behavior: The build script fails with the following error.

FileError: 'swiper/less' wasn't found. Tried - path\swiper-package\swiper\less.less,path\swiper-package\swiper\less.less,npm://swiper\less,npm://swiper\less.less,swiper\less.less in path\swiper-package\main.less on line 1, column 1:
1 @import (less) 'swiper/less';

Expected behavior:

Should have outputted the CSS. Not sure if this is because swiper is using exports in their package.json file. From reports I heard at work, this works fine on Mac.

Environment information:

  • less version: 4.1.3
  • nodejs version: 16.15.0
  • operating system: Windows 10/11 x64

florinpavel22 avatar Sep 14 '22 11:09 florinpavel22

Sounds like it could be an issue with node_modules path resolving on Windows. Can you create an example repo?

matthew-dean avatar Apr 01 '23 16:04 matthew-dean