patorjk / figlet.js

A FIG Driver written in JavaScript which aims to fully implement the FIGfont spec.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unknown error

reazn opened this issue · comments

commented

Im getting an "UNKNOWN" errorno -4094
Code:

    figlet("Test", function(err, data) {
        if (err) {
            console.log(err);
            return;
        }
        message.channel.send('```' + data + '```')
    })```

Error:
`{ [Error: UNKNOWN: unknown error, open '//../fonts/Standard.flf']
  errno: -4094,
  code: 'UNKNOWN',
  syscall: 'open',
  path: '//../fonts/Standard.flf' }
`

That path looks a little odd. I don't get that on my end, but I've updated the code so that kind of path should never arise. I've pushed a new version. If you update to v1.2.2, do you still get that error?

commented

I have updated figlet but it's now trying to get the font from my E: drive?

{ [Error: ENOENT: no such file or directory, open 'E:\fonts\Standard.flf']
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'E:\\fonts\\Standard.flf' }

Couple questions:

  • what directory are you running from?
  • what OS are you using?
  • what is the full path of the Figlet.js lib that’s running?
  • is the lib installed for a local project or globally?
  • where is node installed and what version of node are you using?
commented

Directory: E:
OS: Windows 10
Path: E:\Discord\SupremeBotty\node_modules\figlet\lib
Installed: Local
Node: v10.15.3

I wonder if this is a Windows path issue. Can you modify the node_modules/figlet/lib/node-figlet.js file and then on line 9 add:

console.log(__dirname);
console.log(fontDir);
console.log( path.join(__dirname, “../fonts/“);
console.log( path.join(__dirname, ‘..’, ‘fonts’); // I’m on mobile, you may have to fix the quotes

My guess is the last one should print out the correct path, if so, I’ll do another update.

Looked into the issue for him, he was using it along side webpack.

Fixed it by the following to the webpack config
node: { __dirname: false }

commented

I wouldn't exactly say that's a fix...

{ [Error: ENOENT: no such file or directory, open 'E:\Discord\SupremeBotty\fonts\Standard.flf']
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'E:\\Discord\\SupremeBotty\\fonts\\Standard.flf' }

Wait, is this being transpiled? If so, it probably is a Webpack config error of some sort, or at least a problem how the code is being transpiled. __dirname should resolve to "your-app/node_modules/figlet/lib/", and it's joined with "../fonts", which gives the directory to the fonts folder.

Another option may be to use the new "importable-fonts" that I added to the project. I haven't yet tested these, which is why it's not advertised. However, I'm adding them for use in front-end apps that get transpiled. The fonts are actually there, and I envision them being used like this:

import standard from 'figlet/importable-fonts/Standard.js'
figlet.parseFont('Standard', standard);
figlet.text('test', {
    font: 'Standard',
}, function(err, data) {
    console.log(data);
});

Though again, I haven't tested these yet due to some computer issues I'm having.

commented

Thanks for the alternative but for some reason, the new figlet update seems to be infinitely indexing my WebStorm on the huge amount of fonts it has, It seems to be happening on to a friend also.

The fonts folder has 287 files, the new importable-fonts folder also has 287 files. That doesn't seem like it should cause such a problem.

commented

I'm not sure why it is, but it is.

I'm not familiar with WebStorm, but you may try marking the directory like shown here: https://stackoverflow.com/questions/36676075/webstorm-11-infinite-indexing-with-angular2

commented

That alternative you suggested has not worked very well. It makes the text move slightly off Image, It works fine when I manually put the .flf into a new fonts folder in my projects directory (because of the path error mentioned previously) but the parsefont thing really messes up the font for me.

Hi,
same problem here with intellij 2019.1 : infinite indexing with figlet/lib directory :'(

commented

@cyberbobjr I have a hacky fix for it, Just delete all the fonts and importable-fonts you don't use and it should fix the indexing. https://github.com/REAZN/figlet.js