less / less.js

Less. The dynamic stylesheet language.
http://lesscss.org
Apache License 2.0
16.99k stars 3.41k forks source link

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

Open florinpavel22 opened 1 year ago

florinpavel22 commented 1 year ago

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:

matthew-dean commented 1 year ago

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