-
Notifications
You must be signed in to change notification settings - Fork 250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BSD Support #603
Comments
Unfortunately, Mermaid currently only works in a browser environment (see mermaid-js/mermaid#3650), so we need a library like puppeteer to automatically run a browser. We could replace puppeteer with a library like Playwright, but:
From doing a quick search, it might be possible to run Puppeteer on any already downloaded version of Chromium compiled for FreeBSD/OpenBSD. You should just be able to install with the This is essentially what we do on Alpine Linux, which doesn't use glibc. To be honest, I don't really blame puppeteer developers for not officially supporting BSD. With Cirrus CI limiting free usage, there isn't really a free CI service that has any BSD hosts (unless you count MacOS as BSD). |
@aloisklink I see, this is complex due to Mermaid's requirement to generate output in a browser environment. OpenBSD does provide chromedriver in it's ports tree, if this is any help. Also, pyppeteer works fine, just not puppeteer. As mentioned previously, I personally reached out to the puppeteer development team upon receiving the dreaded, 'unsupported OS system' error message. To which I inquired if OpenBSD was at any way supported at all? The head developer immediately closed the issue out with the comment, "Isn't that what the message says? Unsupported.", without providing any explanation, insight as to why, or opportunity for further dialogue. So, I tried. If you need someone to run tests or look into anything further let me know, but as for now, I am satisfied with explanation and support received. Cheers. |
Is your feature request related to a problem? Please describe.
Mermaid-Cli does not work under BSD, this is because it uses puppeteer as a dependency. The developer of Puppeteer refuses to support BSD, and he isn't even nice about it.
Describe the solution you'd like
I am not sure what feature puppeteer is used for, but it would nice if either a different library could be used, or the feature using puppeteer could be disabled during the build process to provide support.
The text was updated successfully, but these errors were encountered: