From be8061c2a5782e192ac49306e65383d031ee0aa5 Mon Sep 17 00:00:00 2001 From: Elias Meire Date: Tue, 2 Sep 2025 05:48:43 +0200 Subject: [PATCH] feat: Add release and lint scripts to node CLI (#18935) --- packages/@n8n/create-node/README.md | 296 +++++++++++++++++- packages/@n8n/create-node/package.json | 2 +- packages/@n8n/node-cli/README.md | 265 ++++++++++++++-- packages/@n8n/node-cli/package.json | 2 +- packages/@n8n/node-cli/src/commands/build.ts | 39 +-- .../@n8n/node-cli/src/commands/dev/index.ts | 61 ++-- .../@n8n/node-cli/src/commands/dev/utils.ts | 39 --- packages/@n8n/node-cli/src/commands/lint.ts | 34 ++ .../@n8n/node-cli/src/commands/new/index.ts | 54 +++- .../@n8n/node-cli/src/commands/new/utils.ts | 4 +- .../@n8n/node-cli/src/commands/prerelease.ts | 22 ++ .../@n8n/node-cli/src/commands/release.ts | 52 +++ packages/@n8n/node-cli/src/index.ts | 6 + .../declarative/custom/template/package.json | 21 +- .../github-issues/template/package.json | 21 +- .../example/template/package.json | 21 +- .../templates/shared/default/.gitignore | 1 + .../templates/shared/default/CHANGELOG.md | 0 .../@n8n/node-cli/src/utils/child-process.ts | 82 +++++ packages/@n8n/node-cli/src/utils/git.ts | 6 + .../src/utils/package-manager.test.ts | 196 ++++++++++++ .../node-cli/src/utils/package-manager.ts | 60 ++-- packages/cli/package.json | 2 +- pnpm-lock.yaml | 6 +- 24 files changed, 1090 insertions(+), 202 deletions(-) create mode 100644 packages/@n8n/node-cli/src/commands/lint.ts create mode 100644 packages/@n8n/node-cli/src/commands/prerelease.ts create mode 100644 packages/@n8n/node-cli/src/commands/release.ts create mode 100644 packages/@n8n/node-cli/src/template/templates/shared/default/CHANGELOG.md create mode 100644 packages/@n8n/node-cli/src/utils/child-process.ts create mode 100644 packages/@n8n/node-cli/src/utils/package-manager.test.ts diff --git a/packages/@n8n/create-node/README.md b/packages/@n8n/create-node/README.md index f2918e668f..9f02fec7cf 100644 --- a/packages/@n8n/create-node/README.md +++ b/packages/@n8n/create-node/README.md @@ -1,13 +1,297 @@ # @n8n/create-node -Scaffold a new community n8n node +A powerful scaffolding tool to quickly create custom n8n community nodes with best practices built-in. -## Usage +## 🚀 Quick Start + +Create a new n8n node in seconds: ```bash -npm create @n8n/node -# or pnpm create @n8n/node -# or -yarn create @n8n/node ``` + +Follow the interactive prompts to configure your node, or specify options directly: + +```bash +pnpm create @n8n/node my-awesome-node --template declarative/custom +``` + +## 📋 Command Line Options + +```bash +pnpm create @n8n/node [NAME] [OPTIONS] +``` + +### Options + +| Flag | Description | +|------|-------------| +| `-f, --force` | Overwrite destination folder if it already exists | +| `--skip-install` | Skip automatic dependency installation | +| `--template