Skip to content
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

[LabKey CI] Replace GraalJS-based Markdown implementation with commonmark-java #6230

Open
16 tasks done
labkey-adam opened this issue Jan 17, 2025 · 2 comments
Open
16 tasks done
Assignees

Comments

@labkey-adam
Copy link
Contributor

labkey-adam commented Jan 17, 2025

Using GraalJS to execute a JavaScript implementation of Markdown is an unnecessarily unwieldy rendering approach. GraalJS adds 60MB of code to our distributions and presents deployment problems since it includes some native code. commonmark-java provides a native Java implementation of the Commonmark standard Markdown specification) that is highly compatible with our GraalJS implementation, much simpler to integrate (no pooling and no exceptions at webapp reload), and 1/300 the size. It also includes an extension mechanism allowing us to extend and customize the implementation.

@labkey-adam labkey-adam self-assigned this Jan 17, 2025
@labkey-adam labkey-adam changed the title [CI] Replace GraalJS-based Markdown implementation with commonmark-java [LabKey CI] Replace GraalJS-based Markdown implementation with commonmark-java Jan 17, 2025
@labkey-jeckels
Copy link
Contributor

@labkey-mohara the Graal guidance at https://www.labkey.org/Documentation/wiki-page.view?name=trouble#graal can disappear as of this change

@labkey-mohara
Copy link

I've run through the markdown formatting we document, and tried a variety of messages to confirm the new implementation is consistent with the previous, plus the nifty new heading anchors make it much more likely we'll start using it for more docs.

If there's a test list to run through that I didn't find, let me know - otherwise I'm calling it manual tested and it's on the backlog for updating docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants