tancredi/fantasticon

glob 8.x breaks Windows

XhmikosR opened this issue ยท 11 comments

On Windows, glob 8.x has changed how results are returned and fantasticon 2.0.0 is unusable.

> bootstrap-icons@1.10.2 icons-font
> fantasticon

No SVGs found in ./icons
ERROR: "icons-font" exited with 1.

I suggest that you either downgrade glob or normalize backslashes yourself. I personally just don't update glob to 8.x.

Confirmed, I got a "No SVGs found in xxx" error on Windows.
Version: 2.0.0

hapf commented

The bug is, that glob requires slashes, but path.join() creates backslashes on windows systems. In the file src/utils/assets.ts, function loadPaths(dir), create globPath as join(dir, **/*.${ASSETS_EXTENSION}).replace(/\\/g, '/'); and it should work.

The bug is, that glob requires slashes, but path.join() creates backslashes on windows systems. In the file src/utils/assets.ts, function loadPaths(dir), create globPath as join(dir, **/*.${ASSETS_EXTENSION}).replace(/\\/g, '/'); and it should work.

I just tested this, and it fixed the issue.

The same thing is happening to me. Downgrading the version to 1.2.3 helped temporaraly.

The bug is, that glob requires slashes, but path.join() creates backslashes on windows systems. In the file src/utils/assets.ts, function loadPaths(dir), create globPath as join(dir, **/*.${ASSETS_EXTENSION}).replace(/\\/g, '/'); and it should work.

I did the same! this works..

For those who want to downgrade glob but are struggling to do so (I definitely was!):

  1. Add overrides to your package.json
  "dependencies": {
    "fantasticon": "^2.0.0"
+  },
+  "overrides": {
+    "fantasticon": {
+      "glob": "7.2.0"
+   }
  }
  1. run npm uninstall fantasticon && npm install fantasticon

(According to npm/cli#4232 (comment) , you need to explicitly uninstall and reinstall fantasticon for the overrides to work

Followed same steps but still getting that error :/

For now i downgraded it to 1.2.3, and Since I was using global instance, I just installed it globally

npm i -g fantasticon@1.2.3

For anyone encountering this bug: you can try migrating to @twbs/fantasticon instead. The bootstrap team has forked fantasticon and worked around this issue. It seems like this original fantasticon package is no longer maintained. I migrated my project 2 months ago and it's been working well so far.

I was really hoping we could upstream our patches, since they are mostly trivial but improve things nevertheless (comparison). Unfortunately, last time I tried upstreaming the patches, I didn't succeed so I have to keep the fork around for the time being.

For now i downgraded it to 1.2.3, and Since I was using global instance, I just installed it globally

npm i -g fantasticon@1.2.3

this worked to me! thanks