n8n-nodes-deno-code

0.4.0 • Public • Published

n8n-nodes-deno-code

cover.png

This is an n8n community node. It lets you use Deno in your n8n workflows.

Deno is the open-source JavaScript runtime for the modern web. Built on web standards with zero-config TypeScript, unmatched security, and a complete built-in toolchain, Deno is the easiest, most productive way to JavaScript.

n8n is a fair-code licensed workflow automation platform.

Installation
Operations
Compatibility
Usage
Resources

Installation

Follow the installation guide in the n8n community nodes documentation.

Operations

  • Execute TypeScript code in Deno runtime
  • Allows you to import any of thousands of Deno and npm libraries
  • Support modes like in Code node: "Run Once for All Items" or "Run Once for Each Item"
  • Support Sequential or Parallel execution for input items
  • Support Deno Permissions

Compatibility

  • Tested against n8n version: 1.37.3
  • Tested against Deno version: 1.42.4

Docker

Deno code Node does not work in the original n8nio/n8n - Docker Image.

The libraries required for Deno need to be installed in the container.

This can be done as follows: Dockerfile. The source of the solution: Deno Alpine Dockerfile.

ARG N8N_VERSION

FROM gcr.io/distroless/cc as cc

FROM n8nio/n8n:${N8N_VERSION}

USER root

# from: https://github.com/denoland/deno_docker/blob/4d61d7da8e7350ee31862d1a5e6268993f4dd1ff/alpine.dockerfile#L22
COPY --from=cc --chown=root:root --chmod=755 /lib/*-linux-gnu/* /usr/local/lib/
COPY --from=cc --chown=root:root --chmod=755 /lib/ld-linux-* /lib/

RUN mkdir -p /lib64 \
    && ln -sf /usr/local/lib/ld-linux-* /lib64/ \
    && rm -f /usr/local/lib/libgcc_s.so.1

ENV LD_LIBRARY_PATH="/usr/local/lib"

USER node

Usage

Generate id with nanoid | Deno

const { nanoid } = await import("https://deno.land/x/nanoid@v3.0.0/mod.ts");

return {
  id: nanoid()
}

use_nanoid.png

Slugify blog title with slug | Deno

const { slug } = await import("https://deno.land/x/slug@v1.1.0/mod.ts");

return {
  ...$json,
  slug: slug($json.title),
}

use_slug.png

Generate mock data with deno_mock | Deno

const Mock = (await import("https://deno.land/x/deno_mock@v2.0.0/mod.ts")).default;

var tpl = {
  "list|1-4": [{
    "id|+1": 1,
    "email": "@EMAIL",
  }],
};

return Mock.mock(tpl).list;

use_deno_mock.png

Resources

Package Sidebar

Install

npm i n8n-nodes-deno-code

Weekly Downloads

142

Version

0.4.0

License

MIT

Unpacked Size

21.4 kB

Total Files

5

Last publish

Collaborators

  • chudnyi