11 days ago
I've been trying to install a package called quill-delta-to-html. I tried to add variables to in my railway dashboard:
NODEFUNCTIONALLOW_EXTERNAL=quill-delta-to-html
but it looks like it doesn't work. The reason I need this package is that ClickUp api is giving me a RichText in quill delta format.
0 Replies
11 days ago
As answered through DMs, you'll need to install through NPM
https://www.npmjs.com/package/quill-delta-to-html
*I'm guessing that you're using nodejs
11 days ago
when opening that page there'll be a install command you can run
I tried adding the variable and chatgpt/gemini couldn't give me a working guide for that
11 days ago
but it is npm install quill-delta-to-html
11 days ago
on your terminal
11 days ago
oh you're on a n8n environment, sorry for that
11 days ago
so n8n needs that? to parse the quill format
11 days ago
chatgpt is also assuming what I was assuming, that you're on a normal nodejs project with access to the terminal (basically, writing your own code)
Ye but I told chatgpt I am on railway so it asked me to add some variables which I did but still didn't work
11 days ago
don't trust chatgpt with Railway, it always gives wrong answers
11 days ago
unfortunately I don't know how to proceed here as I'm unfamiliar with n8n but I would assume that it has someway of parsing that built-in, if not then you're unlucky here.
11 days ago
I see a way of implementing this: you could create a Railway function (Railway has a built-in AI) where n8n calls that function, the function parses it, and then you process the response in n8n.
11 days ago
The flow would look like:
Create an n8n node to call an external API/endpoint.
Create a function on Railway (https://docs.railway.com/reference/functions).
Use the Railway's AI and tell it to write a code where it uses
quill-delta-to-htmlpackage to parse an external payload through an API endpoint.Copy the public endpoint URL from that function and then use it in the first node we created.
11 days ago
that's steps you should follow, no AI at the moment can do that automatically.
11 days ago
looks right to me
11 days ago
There should be the "Apply Changes" popup. Also, make sure that you save the code by clicking the save button.

11 days ago
Yeah, feel free to do so
11 days ago
there should be an URL under the source code editor
11 days ago
and from the looks of it, it seems to just accept a JSON payload and parse it or under the property ops
{ "body": { "test": "test" }, "headers": { "accept": "application/json,text/html,application/xhtml+xml,application/xml,text/;q=0.9, image/;q=0.8, /;q=0.7" }, "method": "POST", "uri": "hidden", "gzip": true, "rejectUnauthorized": true, "followRedirect": true, "resolveWithFullResponse": true, "followAllRedirects": true, "timeout": 300000, "encoding": null, "json": false, "useStream": true }
11 days ago
sorry, it's under the /convert endpoint path
11 days ago
can you get me an example of a quill payload?
11 days ago
give me a minute to know how the library works
11 days ago
also, are you able to send me your quill payload + the source code for the function?
11 days ago
here please
```import { Hono } from "hono";
import { QuillDeltaToHtmlConverter } from "quill-delta-to-html";
const app = new Hono();
app.post("/convert", async (c) => {
try {
const payload = await c.req.json();
const converter = new QuillDeltaToHtmlConverter(payload.ops || [], {});
const html = converter.convert();
return c.json({
html: html,
success: true
});} catch (error) {
return c.json({
error: error instanceof Error ? error.message : "Unknown error",
success: false
}, 400);
}
});
Bun.serve({
port: Bun.env.PORT ?? 3000,
fetch: app.fetch
});```
11 days ago
Ok, I see the issue now
11 days ago
what are the options on Specify body?
11 days ago
No, the option input below it
11 days ago
Select the option Using JSON
11 days ago
Then, just pass the n8n template directly e.g. {{ $json.custom_fields <..> }}
11 days ago
try with the .toJsonString, if it still doesn't work remove it
11 days ago
but then you're passing the "quill-data" and all of that, I meant to only pass the template directly
11 days ago
by template I mean this: {{ $json.custom_fields[2].value_richtext.toJsonString() }}. Just fill that on the input and nothing else.
i take back everything I said about LLM taking human programmer jobs
11 days ago
Great to hear that 😅
Anyway, do you've any more questions?
11 days ago
Also, about your DMs, any particular reason why you would be migrating away from Railway?
11 days ago
That's not a problem, we would really like to keep you on Railway.
11 days ago
For example, you wouldn't be able to keep the support you had right now as a DigitalOcean customer.
11 days ago
Great to hear, let me know if you've any other issues! will be closing this thread
11 days ago
!s
Status changed to Solved passos • 11 days ago







