Add single-click startup with devcontainers

This commit is contained in:
Kevin Today 2025-07-03 19:11:21 -03:00
commit b368b1dc8f
4 changed files with 5015 additions and 8 deletions

View file

@ -0,0 +1,22 @@
{
"name": "n8n Fitbit Node Development",
"image": "mcr.microsoft.com/devcontainers/javascript-node:20",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/git:1": {},
"ghcr.io/devcontainers/features/github-cli:1": {},
"ghcr.io/devcontainers-extra/features/n8n:1": {}
},
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.vscode-typescript-next",
"esbenp.prettier-vscode",
"ms-vscode.vscode-eslint"
]
}
},
"forwardPorts": [3000, 5678],
"postCreateCommand": "bash start-n8n-with-custom-node.sh",
"remoteUser": "node"
}

4962
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,19 +1,19 @@
{ {
"name": "n8n-nodes-<...>", "name": "n8n-nodes-TODO-YOUR-NODE-HERE",
"version": "0.1.0", "version": "0.1.0",
"description": "", "description": "TODO YOUR DESCRIPTION HERE",
"keywords": [ "keywords": [
"n8n-community-node-package" "n8n-community-node-package"
], ],
"license": "MIT", "license": "MIT",
"homepage": "", "homepage": "TODO",
"author": { "author": {
"name": "", "name": "TODO",
"email": "" "email": "TODO"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/<...>/n8n-nodes-<...>.git" "url": "https://github.com/TODO/n8n-nodes-TODO.git"
}, },
"engines": { "engines": {
"node": ">=20.15" "node": ">=20.15"
@ -25,7 +25,8 @@
"format": "prettier nodes credentials --write", "format": "prettier nodes credentials --write",
"lint": "eslint nodes credentials package.json", "lint": "eslint nodes credentials package.json",
"lintfix": "eslint nodes credentials package.json --fix", "lintfix": "eslint nodes credentials package.json --fix",
"prepublishOnly": "npm run build && npm run lint -c .eslintrc.prepublish.js nodes credentials package.json" "prepublishOnly": "npm run build && npm run lint -c .eslintrc.prepublish.js nodes credentials package.json",
"getPackageName": "echo ${npm_package_name}"
}, },
"files": [ "files": [
"dist" "dist"
@ -52,4 +53,4 @@
"peerDependencies": { "peerDependencies": {
"n8n-workflow": "*" "n8n-workflow": "*"
} }
} }

22
start-n8n-with-custom-node.sh Executable file
View file

@ -0,0 +1,22 @@
#!/bin/bash
set -e
set -x
N8N_NODES_DIR=~/.n8n/custom
# Build the node
npm install
npm run lint
npm run build
npm link
package_name="$(npm run getPackageName -s)"
mkdir -p "${N8N_NODES_DIR}"
cd "${N8N_NODES_DIR}"
# Link the custom node into n8n
npm link "${package_name}"
# Start the server
n8n