ci: Update Turbo config and GH actions (#17595)

This commit is contained in:
shortstacked
2025-07-28 10:07:28 +01:00
committed by GitHub
parent edeb8ef8a4
commit 49a52a1150
48 changed files with 88 additions and 528 deletions

View File

@@ -16,20 +16,10 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
- name: Setup Node.js
uses: n8n-io/n8n/.github/actions/setup-nodejs-blacksmith@f5fbbbe0a28a886451c886cac6b49192a39b0eea # v1.104.1
with:
node-version: 22.x
- name: Setup corepack and pnpm
run: |
npm i -g corepack@0.33
corepack enable
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build relevant packages
run: pnpm build:nodes
build-command: turbo build --filter=*nodes*
- run: npm install --prefix=.github/scripts --no-package-lock

View File

@@ -14,23 +14,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Check out branch
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22.x
- name: Setup corepack and pnpm
run: |
npm i -g corepack@0.33
corepack enable
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Validate PR title
id: validate_pr_title
uses: n8n-io/validate-n8n-pull-request-title@c97ff722ac14ee0bda73766473bba764445db805 # v2.2.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -6,64 +6,24 @@ on:
- master
jobs:
install-and-build:
runs-on: blacksmith-2vcpu-ubuntu-2204
env:
NODE_OPTIONS: '--max-old-space-size=4096'
timeout-minutes: 10
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: useblacksmith/setup-node@65c6ca86fdeb0ab3d85e78f57e4f6a7e4780b391 # v5
with:
node-version: 22.x
- name: Setup corepack and pnpm
run: |
npm i -g corepack@0.33
corepack enable
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Setup build cache
uses: useblacksmith/caching-for-turbo@bafb57e7ebdbf1185762286ec94d24648cd3938a # v1
- name: Build
run: pnpm build
- name: Cache build artifacts
uses: useblacksmith/cache/save@c5fe29eb0efdf1cf4186b9f7fcbbcbc0cf025662 # v5
with:
path: ./packages/**/dist
key: ${{ github.sha }}-base:build
unit-test:
name: Unit tests
uses: ./.github/workflows/units-tests-reusable.yml
needs: install-and-build
strategy:
matrix:
node-version: [20.x, 22.x, 24.x]
with:
ref: ${{ inputs.branch }}
nodeVersion: ${{ matrix.node-version }}
cacheKey: ${{ github.sha }}-base:build
collectCoverage: ${{ matrix.node-version == '22.x' }}
ignoreTurboCache: ${{ matrix.node-version == '22.x' }}
skipFrontendTests: ${{ matrix.node-version != '22.x' }}
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
lint:
name: Lint
uses: ./.github/workflows/linting-reusable.yml
needs: install-and-build
with:
ref: ${{ inputs.branch }}
cacheKey: ${{ github.sha }}-base:build
notify-on-failure:
name: Notify Slack on failure

View File

@@ -21,41 +21,13 @@ concurrency:
group: db-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: false
env:
NODE_OPTIONS: '--max-old-space-size=4096'
jobs:
build:
name: Install & Build
runs-on: ubuntu-latest
if: github.event_name != 'pull_request_review' || startsWith(github.event.pull_request.base.ref, 'release/')
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22.x
- name: Setup corepack and pnpm
run: |
npm i -g corepack@0.33
corepack enable
- run: pnpm install --frozen-lockfile
- name: Setup build cache
uses: rharkor/caching-for-turbo@439abec0d28d21b192fa8817b744ffdf1ee5ac0d # v1.5
- name: Build
run: pnpm build
- name: Cache build artifacts
uses: actions/cache/save@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ./packages/**/dist
key: ${{ github.sha }}:db-tests
sqlite-pooled:
name: SQLite Pooled
runs-on: ubuntu-latest
needs: build
runs-on: blacksmith-2vcpu-ubuntu-2204
timeout-minutes: 20
env:
DB_TYPE: sqlite
@@ -63,25 +35,8 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22.x
- name: Setup corepack and pnpm
run: |
npm i -g corepack@0.33
corepack enable
- run: pnpm install --frozen-lockfile
- name: Setup build cache
uses: rharkor/caching-for-turbo@439abec0d28d21b192fa8817b744ffdf1ee5ac0d # v1.5
- name: Restore cached build artifacts
uses: actions/cache/restore@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ./packages/**/dist
key: ${{ github.sha }}:db-tests
- name: Setup and Build
uses: n8n-io/n8n/.github/actions/setup-nodejs-blacksmith@f5fbbbe0a28a886451c886cac6b49192a39b0eea # v1.104.1
- name: Test SQLite Pooled
working-directory: packages/cli
@@ -89,33 +44,15 @@ jobs:
mariadb:
name: MariaDB
runs-on: ubuntu-latest
needs: build
runs-on: blacksmith-2vcpu-ubuntu-2204
timeout-minutes: 20
env:
DB_MYSQLDB_PASSWORD: password
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22.x
- name: Setup corepack and pnpm
run: |
npm i -g corepack@0.33
corepack enable
- run: pnpm install --frozen-lockfile
- name: Setup build cache
uses: rharkor/caching-for-turbo@439abec0d28d21b192fa8817b744ffdf1ee5ac0d # v1.5
- name: Restore cached build artifacts
uses: actions/cache/restore@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ./packages/**/dist
key: ${{ github.sha }}:db-tests
- name: Setup and Build
uses: n8n-io/n8n/.github/actions/setup-nodejs-blacksmith@f5fbbbe0a28a886451c886cac6b49192a39b0eea # v1.104.1
- name: Start MariaDB
uses: isbang/compose-action@802a148945af6399a338c7906c267331b39a71af # v2.0.0
@@ -130,8 +67,7 @@ jobs:
mysql:
name: MySQL (${{ matrix.service-name }})
runs-on: ubuntu-latest
needs: build
runs-on: blacksmith-2vcpu-ubuntu-2204
timeout-minutes: 20
strategy:
matrix:
@@ -141,25 +77,8 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22.x
- name: Setup corepack and pnpm
run: |
npm i -g corepack@0.33
corepack enable
- run: pnpm install --frozen-lockfile
- name: Setup build cache
uses: rharkor/caching-for-turbo@439abec0d28d21b192fa8817b744ffdf1ee5ac0d # v1.5
- name: Restore cached build artifacts
uses: actions/cache/restore@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ./packages/**/dist
key: ${{ github.sha }}:db-tests
- name: Setup and Build
uses: n8n-io/n8n/.github/actions/setup-nodejs-blacksmith@f5fbbbe0a28a886451c886cac6b49192a39b0eea # v1.104.1
- name: Start MySQL
uses: isbang/compose-action@802a148945af6399a338c7906c267331b39a71af # v2.0.0
@@ -174,8 +93,7 @@ jobs:
postgres:
name: Postgres
runs-on: ubuntu-latest
needs: build
runs-on: blacksmith-2vcpu-ubuntu-2204
timeout-minutes: 20
env:
DB_POSTGRESDB_PASSWORD: password
@@ -183,25 +101,8 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22.x
- name: Setup corepack and pnpm
run: |
npm i -g corepack@0.33
corepack enable
- run: pnpm install --frozen-lockfile
- name: Setup build cache
uses: rharkor/caching-for-turbo@439abec0d28d21b192fa8817b744ffdf1ee5ac0d # v1.5
- name: Restore cached build artifacts
uses: actions/cache/restore@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ./packages/**/dist
key: ${{ github.sha }}:db-tests
- name: Setup and Build
uses: n8n-io/n8n/.github/actions/setup-nodejs-blacksmith@f5fbbbe0a28a886451c886cac6b49192a39b0eea # v1.104.1
- name: Start Postgres
uses: isbang/compose-action@802a148945af6399a338c7906c267331b39a71af # v2.0.0

View File

@@ -31,14 +31,10 @@ jobs:
- packages/@n8n/codemirror-lang/**
- .bundlemonrc.json
- .github/workflows/ci-pull-requests.yml
- name: Setup and Build
uses: n8n-io/n8n/.github/actions/setup-nodejs-blacksmith@f5fbbbe0a28a886451c886cac6b49192a39b0eea # v1.104.1
- name: Setup Environment and Build Project
uses: ./.github/actions/setup-and-build
with:
node-version: 22.x
enable-caching: true
- name: Run formatcheck
- name: Run format check
run: pnpm format:check
- name: Run typecheck
@@ -89,7 +85,6 @@ jobs:
needs: install-and-build
with:
ref: refs/pull/${{ github.event.pull_request.number }}/merge
cacheKey: ${{ github.sha }}-base:build
collectCoverage: true
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -100,4 +95,3 @@ jobs:
needs: install-and-build
with:
ref: refs/pull/${{ github.event.pull_request.number }}/merge
cacheKey: ${{ github.sha }}-base:build

View File

@@ -166,26 +166,10 @@ jobs:
with:
fetch-depth: 0
- name: Setup pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
- name: Setup and Build
uses: n8n-io/n8n/.github/actions/setup-nodejs-blacksmith@f5fbbbe0a28a886451c886cac6b49192a39b0eea # v1.104.1
with:
run_install: false
- name: Setup Node.js
uses: useblacksmith/setup-node@65c6ca86fdeb0ab3d85e78f57e4f6a7e4780b391 # v5.0.4
with:
node-version: 22.x
- name: Install dependencies
run: pnpm install --frozen-lockfile
shell: bash
- name: Configure Turborepo Cache
uses: useblacksmith/caching-for-turbo@bafb57e7ebdbf1185762286ec94d24648cd3938a # v1
- name: Build n8n for Docker
run: pnpm build:n8n
shell: bash
build-command: pnpm build:n8n
- name: Determine Docker tags
id: determine-tags

View File

@@ -1,70 +0,0 @@
name: Debug Flaky E2E Test
on:
workflow_dispatch:
inputs:
test_name:
description: 'The name of the test to filter.'
required: true
type: string
burn_count:
description: 'Number of times to run the test.'
required: false
type: number
default: 50
branch:
description: 'Optional: GitHub branch, tag, or SHA to test. Defaults to the branch selected in UI.'
required: false
type: string
jobs:
debug-test:
runs-on: blacksmith-4vcpu-ubuntu-2204
timeout-minutes: 60
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.event.inputs.branch }}
- name: Setup PNPM
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22.x
cache: 'pnpm'
- name: Cache build artifacts
id: cache-build-artifacts
uses: useblacksmith/cache@c5fe29eb0efdf1cf4186b9f7fcbbcbc0cf025662 # v5.0.2
with:
path: |
/home/runner/.cache/Cypress
./packages/**/dist
key: ${{ github.ref }}-${{ github.sha }}-debug-build
restore-keys: |
${{ github.ref }}-debug-build-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build application
if: steps.cache-build-artifacts.outputs.cache-hit != 'true'
run: pnpm build
- name: Cypress install
if: steps.cache-build-artifacts.outputs.cache-hit != 'true'
working-directory: cypress
run: pnpm cypress:install
- name: Run Flaky Debug Command
env:
TEST_NAME: ${{ github.event.inputs.test_name }}
BURN_COUNT: ${{ github.event.inputs.burn_count }}
NODE_OPTIONS: --dns-result-order=ipv4first
E2E_TESTS: true
SHELL: /bin/sh
run: pnpm run debug:flaky:e2e "${{ env.TEST_NAME }}" "${{ env.BURN_COUNT }}"

View File

@@ -13,11 +13,6 @@ on:
required: false
type: string
default: 22.x
cacheKey:
description: Cache key for modules and build artifacts.
required: false
type: string
default: ''
jobs:
lint:
@@ -28,21 +23,8 @@ jobs:
with:
ref: ${{ inputs.ref }}
- name: Setup Environment
uses: n8n-io/n8n/.github/actions/setup-and-build@7e870b8f7f5a39bb8bf82d1f42b6d44febc0082c # v1.100.1
- name: Build and Test
uses: n8n-io/n8n/.github/actions/setup-nodejs-blacksmith@f5fbbbe0a28a886451c886cac6b49192a39b0eea # v1.104.1
with:
build-command: pnpm lint
node-version: ${{ inputs.nodeVersion }}
enable-caching: true
skip-build: ${{ inputs.cacheKey != '' }}
- name: Lint Backend
run: pnpm lint:backend
- name: Lint Nodes
run: pnpm lint:nodes
- name: Lint Frontend
run: pnpm lint:frontend
- name: Lint Testing
run: pnpm lint:testing

View File

@@ -13,23 +13,10 @@ on:
required: false
type: string
default: 22.x
cacheKey:
description: Cache key for modules and build artifacts.
required: false
default: ''
type: string
collectCoverage:
required: false
default: false
type: boolean
ignoreTurboCache:
required: false
default: false
type: boolean
skipFrontendTests:
required: false
default: false
type: boolean
secrets:
CODECOV_TOKEN:
description: 'Codecov upload token.'
@@ -40,36 +27,17 @@ jobs:
name: Unit tests
runs-on: blacksmith-4vcpu-ubuntu-2204
env:
TURBO_FORCE: ${{ inputs.ignoreTurboCache }}
COVERAGE_ENABLED: ${{ inputs.collectCoverage }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref }}
- name: Setup Environment and Build Project
uses: n8n-io/n8n/.github/actions/setup-and-build@7e870b8f7f5a39bb8bf82d1f42b6d44febc0082c # v1.100.1
- name: Build and Test
uses: n8n-io/n8n/.github/actions/setup-nodejs-blacksmith@f5fbbbe0a28a886451c886cac6b49192a39b0eea # v1.104.1
with:
build-command: pnpm test:ci
node-version: ${{ inputs.nodeVersion }}
skip-build: ${{ inputs.cacheKey != '' }}
- name: Restore cached build artifacts only
if: ${{ inputs.cacheKey != '' }}
uses: useblacksmith/cache/restore@c5fe29eb0efdf1cf4186b9f7fcbbcbc0cf025662 # v5.0.2
with:
path: ./packages/**/dist
key: ${{ inputs.cacheKey }}
fail-on-cache-miss: true
- name: Test Backend
run: pnpm test:backend
- name: Test Nodes
run: pnpm test:nodes
- name: Test Frontend
if: ${{ !inputs.skipFrontendTests }}
run: pnpm test:frontend
- name: Upload test results to Codecov
if: ${{ !cancelled() }}

1
.gitignore vendored
View File

@@ -33,5 +33,4 @@ test-results/
compiled_app_output
trivy_report*
compiled
jest.config.js
packages/cli/src/modules/my-feature

View File

@@ -11,7 +11,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"develop": "cd ..; pnpm dev:e2e:server",
"start": "cd ..; pnpm start"
},

View File

@@ -11,9 +11,6 @@
"prepare": "node scripts/prepare.mjs",
"preinstall": "node scripts/block-npm-install.js",
"build": "turbo run build",
"build:backend": "turbo run build:backend",
"build:frontend": "turbo run build:frontend",
"build:nodes": "turbo run build:nodes",
"build:n8n": "node scripts/build-n8n.mjs",
"build:deploy": "node scripts/build-n8n.mjs",
"build:docker": "node scripts/build-n8n.mjs && node scripts/dockerize-n8n.mjs",
@@ -28,16 +25,13 @@
"dev:e2e": "cd cypress && pnpm run test:e2e:dev",
"debug:flaky:e2e": "cd cypress && pnpm run test:flaky",
"dev:e2e:server": "run-p start dev:fe:editor",
"clean": "turbo run clean --parallel",
"clean": "turbo run clean",
"reset": "node scripts/ensure-zx.mjs && zx scripts/reset.mjs",
"format": "turbo run format && node scripts/format.mjs",
"format:check": "turbo run format:check",
"lint": "turbo run lint",
"lintfix": "turbo run lintfix",
"lint:backend": "turbo run lint:backend",
"lint:nodes": "turbo run lint:nodes",
"lint:frontend": "turbo run lint:frontend",
"lint:testing": "turbo run lint:testing",
"lint:affected": "turbo run lint --affected",
"lint:fix": "turbo run lint:fix",
"optimize-svg": "find ./packages -name '*.svg' ! -name 'pipedrive.svg' -print0 | xargs -0 -P16 -L20 npx svgo",
"setup-backend-module": "node scripts/ensure-zx.mjs && zx scripts/backend-module/setup.mjs",
"start": "run-script-os",
@@ -45,12 +39,11 @@
"start:tunnel": "./packages/cli/bin/n8n start --tunnel",
"start:windows": "cd packages/cli/bin && n8n",
"test": "JEST_JUNIT_CLASSNAME={filepath} turbo run test",
"test:backend": "turbo run test:backend --concurrency=1",
"test:frontend": "turbo run test:frontend --concurrency=1",
"test:nodes": "turbo run test:nodes --concurrency=1",
"test:ci": "turbo run test --continue --concurrency=1",
"test:affected": "turbo run test --affected --concurrency=1",
"test:with:docker": "pnpm --filter=n8n-playwright run test:standard",
"test:show:report": "pnpm --filter=n8n-playwright exec playwright show-report",
"watch": "turbo run watch --parallel",
"watch": "turbo run watch",
"webhook": "./packages/cli/bin/n8n webhook",
"worker": "./packages/cli/bin/n8n worker"
},

View File

@@ -0,0 +1,2 @@
/** @type {import('jest').Config} */
module.exports = require('../../../jest.config');

View File

@@ -11,7 +11,7 @@
"test:coverage": "jest --coverage",
"test:watch": "jest --watch",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc-watch -p tsconfig.build.json --onCompilationComplete \"tsc-alias -p tsconfig.build.json\"",
"deps:graph": "madge src/index.ts --image deps-graph.svg",
"deps:graph:service": "madge src/ai-workflow-builder-agent.service.ts --image deps-service.svg",

View File

@@ -11,7 +11,8 @@
"paths": {
"@/*": ["./*"]
},
"tsBuildInfoFile": "dist/typecheck.tsbuildinfo"
"tsBuildInfoFile": "dist/typecheck.tsbuildinfo",
"types": ["node", "jest"]
},
"include": ["src/**/*.ts", "test/**/*.ts", "evaluations/**/*.ts"]
}

View File

@@ -9,7 +9,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc -p tsconfig.build.json --watch",
"test": "jest",
"test:dev": "jest --watch"

View File

@@ -9,7 +9,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc -p tsconfig.build.json --watch",
"test": "jest",
"test:dev": "jest --watch"

View File

@@ -9,10 +9,10 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc -p tsconfig.build.json --watch",
"test": "jest",
"test:dev": "jest --watch"
"test": "echo \"WARNING: no test specified\" && exit 0",
"test:dev": "echo \"WARNING: no test specified\" && exit 0"
},
"main": "dist/index.js",
"module": "src/index.ts",

View File

@@ -8,9 +8,9 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"start": "./bin/n8n-benchmark",
"test": "echo \"Error: no test specified\" && exit 1",
"test": "echo \"WARNING: no test specified\" && exit 0",
"typecheck": "tsc --noEmit",
"benchmark": "zx scripts/run.mjs",
"benchmark-in-cloud": "pnpm benchmark --env cloud",

View File

@@ -9,7 +9,7 @@
"format": "biome format --write src test",
"format:check": "biome ci src test",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc -p tsconfig.build.json --watch",
"test": "jest",
"test:dev": "jest --watch"

View File

@@ -23,7 +23,7 @@
"build": "tsc -p tsconfig.build.json",
"test": "jest",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"format": "biome format --write src test",
"format:check": "biome ci src test"
},

View File

@@ -9,7 +9,7 @@
"format": "biome format --write src test",
"format:check": "biome ci src test",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc -p tsconfig.build.json --watch",
"test": "jest",
"test:dev": "jest --watch"

View File

@@ -9,7 +9,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc -p tsconfig.build.json --watch"
},
"main": "dist/index.js",

View File

@@ -9,7 +9,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc -p tsconfig.build.json --watch",
"test": "jest",
"test:dev": "jest --watch"

View File

@@ -9,7 +9,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc -p tsconfig.build.json --watch",
"test": "jest",
"test:dev": "jest --watch"

View File

@@ -9,7 +9,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc -p tsconfig.build.json --watch",
"test": "jest",
"test:dev": "jest --watch"

View File

@@ -9,10 +9,10 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc -p tsconfig.build.json --watch",
"test": "jest",
"test:dev": "jest --watch"
"test": "echo \"WARNING: no test specified\" && exit 0",
"test:dev": "echo \"WARNING: no test specified\" && exit 0"
},
"main": "dist/index.js",
"module": "src/index.ts",

View File

@@ -9,7 +9,7 @@
"format": "biome format --write src test",
"format:check": "biome ci src test",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc -p tsconfig.build.json --watch",
"test": "vitest run",
"test:dev": "vitest --silent=false"

View File

@@ -22,7 +22,7 @@
"format": "biome format --write src",
"format:check": "biome ci src",
"lint": "eslint src --quiet",
"lintfix": "eslint src --fix",
"lint:fix": "eslint src --fix",
"build:types": "tsc -p tsconfig.types.json",
"build:cjs": "tsc -p tsconfig.cjs.json && node postcjs.cjs",
"build:esm": "tsc -p tsconfig.esm.json && node postesm.cjs",

View File

@@ -13,7 +13,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint nodes credentials utils --quiet",
"lintfix": "eslint nodes credentials utils --fix",
"lint:fix": "eslint nodes credentials utils --fix",
"watch": "tsup --watch nodes --watch credentials --watch utils --watch types --tsconfig tsconfig.build.json --onSuccess \"node ./scripts/post-build.js\"",
"test": "jest",
"test:dev": "jest --watch"

View File

@@ -9,7 +9,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc -p tsconfig.build.json --watch",
"test": "jest",
"test:dev": "jest --watch"

View File

@@ -12,7 +12,7 @@
"test": "jest",
"test:watch": "jest --watch",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc-watch -p tsconfig.build.json --onCompilationComplete \"tsc-alias -p tsconfig.build.json\""
},
"main": "dist/start.js",

View File

@@ -25,7 +25,7 @@
"test": "vitest run",
"test:dev": "vitest --silent=false",
"lint": "eslint src --quiet",
"lintfix": "eslint src --fix",
"lint:fix": "eslint src --fix",
"format": "biome format --write . && prettier --write . --ignore-path ../../../.prettierignore",
"format:check": "biome ci . && prettier --check . --ignore-path ../../../.prettierignore"
},

View File

@@ -16,7 +16,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"start": "run-script-os",
"start:default": "cd bin && ./n8n",
"start:windows": "cd bin && n8n",

View File

@@ -17,7 +17,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"lint:fix": "eslint . --fix",
"watch": "tsc-watch -p tsconfig.build.json --onCompilationComplete \"tsc-alias -p tsconfig.build.json\"",
"test": "jest",
"test:dev": "jest --watch"

View File

@@ -11,7 +11,7 @@
"test": "vitest run",
"typecheck": "vue-tsc --noEmit",
"lint": "eslint src --quiet",
"lintfix": "eslint src --fix",
"lint:fix": "eslint src --fix",
"format": "biome format --write src .storybook && prettier --write src/ --ignore-path ../../../../.prettierignore",
"format:check": "biome ci src .storybook && prettier --check src/ --ignore-path ../../../../.prettierignore",
"storybook": "storybook dev -p 6006 --no-open",

View File

@@ -20,7 +20,7 @@
"test": "vitest run",
"test:dev": "vitest --silent=false",
"lint": "eslint src --quiet",
"lintfix": "eslint src --fix",
"lint:fix": "eslint src --fix",
"format": "biome format --write . && prettier --write . --ignore-path ../../../../.prettierignore",
"format:check": "biome ci . && prettier --check . --ignore-path ../../../../.prettierignore"
},

View File

@@ -18,7 +18,7 @@
"format": "biome format --write . && prettier --write . --ignore-path ../../../../.prettierignore",
"format:check": "biome ci . && prettier --check . --ignore-path ../../../../.prettierignore",
"lint": "eslint src --quiet",
"lintfix": "eslint src --fix"
"lint:fix": "eslint src --fix"
},
"devDependencies": {
"@n8n/eslint-config": "workspace:*",

View File

@@ -28,7 +28,7 @@
"test": "vitest run",
"test:dev": "vitest --silent=false",
"lint": "eslint src --quiet",
"lintfix": "eslint src --fix",
"lint:fix": "eslint src --fix",
"format": "biome format --write . && prettier --write . --ignore-path ../../../../.prettierignore",
"format:check": "biome ci . && prettier --check . --ignore-path ../../../../.prettierignore"
},

View File

@@ -28,7 +28,7 @@
"test": "vitest run",
"test:dev": "vitest --silent=false",
"lint": "eslint src --quiet",
"lintfix": "eslint src --fix",
"lint:fix": "eslint src --fix",
"format": "biome format --write . && prettier --write . --ignore-path ../../../../.prettierignore",
"format:check": "biome ci . && prettier --check . --ignore-path ../../../../.prettierignore"
},

View File

@@ -28,7 +28,7 @@
"test": "vitest run",
"test:dev": "vitest --silent=false",
"lint": "eslint src --quiet",
"lintfix": "eslint src --fix",
"lint:fix": "eslint src --fix",
"format": "biome format --write . && prettier --write . --ignore-path ../../../../.prettierignore",
"format:check": "biome ci . && prettier --check . --ignore-path ../../../../.prettierignore"
},

View File

@@ -11,7 +11,7 @@
"typecheck:watch": "vue-tsc --watch --noEmit",
"dev": "pnpm serve",
"lint": "eslint src --quiet",
"lintfix": "eslint src --fix",
"lint:fix": "eslint src --fix",
"format": "biome format --write . && prettier --write . --ignore-path ../../../.prettierignore",
"format:check": "biome ci . && prettier --check . --ignore-path ../../../.prettierignore",
"serve": "cross-env VUE_APP_URL_BASE_API=http://localhost:5678/ vite --host 0.0.0.0 --port 8080 dev",

View File

@@ -16,7 +16,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint src --quiet",
"lintfix": "eslint src --fix",
"lint:fix": "eslint src --fix",
"prepack": "echo \"Building project...\" && rm -rf dist && tsc -b",
"watch": "tsc --watch"
},

View File

@@ -12,7 +12,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint nodes credentials utils test --quiet && node ./scripts/validate-load-options-methods.js",
"lintfix": "eslint nodes credentials utils test --fix",
"lint:fix": "eslint nodes credentials utils test --fix",
"watch": "tsc-watch -p tsconfig.build.cjs.json --onCompilationComplete \"pnpm copy-nodes-json && tsc-alias -p tsconfig.build.cjs.json\" --onSuccess \"pnpm n8n-generate-metadata\"",
"test": "jest",
"test:dev": "jest --watch"

View File

@@ -15,7 +15,7 @@
"stack:clean:networks": "docker network ls --filter 'label=org.testcontainers=true' -q | xargs -r docker network rm 2>/dev/null",
"stack:clean:all": "pnpm run stack:clean:containers && pnpm run stack:clean:networks",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix"
"lint:fix": "eslint . --fix"
},
"keywords": [],
"author": "",

View File

@@ -2,7 +2,7 @@
"name": "n8n-playwright",
"private": true,
"scripts": {
"test": "playwright test",
"test:all": "playwright test",
"test:local:reset": "N8N_BASE_URL=http://localhost:5678 RESET_E2E_DB=true playwright test --workers=4",
"test:local": "N8N_BASE_URL=http://localhost:5678 playwright test",
"test:standard": "playwright test --project=mode:standard*",

View File

@@ -27,7 +27,7 @@
"format": "biome format --write .",
"format:check": "biome ci .",
"lint": "eslint src --quiet",
"lintfix": "eslint src --fix",
"lint:fix": "eslint src --fix",
"watch": "tsc --build tsconfig.build.esm.json tsconfig.build.cjs.json --watch",
"test": "vitest run",
"test:dev": "vitest --watch"

View File

@@ -1,28 +1,6 @@
{
"$schema": "https://turbo.build/schema.json",
"ui": "stream",
"remoteCache": {
"enabled": true,
"timeout": 90,
"uploadTimeout": 90
},
"globalEnv": ["CI", "COVERAGE_ENABLED"],
"tasks": {
"clean": {
"cache": false
},
"build:playwright": {
"dependsOn": ["install-browsers:ci", "build"]
},
"build:backend": {
"dependsOn": ["n8n#build"]
},
"build:frontend": {
"dependsOn": ["n8n-editor-ui#build"]
},
"build:nodes": {
"dependsOn": ["n8n-nodes-base#build", "@n8n/n8n-nodes-langchain#build"]
},
"clean": { "cache": false },
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**"]
@@ -32,124 +10,18 @@
},
"format": {},
"format:check": {},
"lint:backend": {
"dependsOn": [
"@n8n/eslint-config#build",
"^build",
"@n8n/api-types#lint",
"@n8n/config#lint",
"@n8n/decorators#lint",
"@n8n/constants#lint",
"@n8n/backend-common#lint",
"@n8n/backend-test-utils#lint",
"@n8n/db#lint",
"@n8n/di#lint",
"@n8n/client-oauth2#lint",
"@n8n/imap#lint",
"@n8n/permissions#lint",
"@n8n/task-runner#lint",
"n8n-workflow#lint",
"n8n-core#lint",
"n8n-node-dev#lint",
"n8n#lint"
]
},
"lint:frontend": {
"dependsOn": [
"@n8n/eslint-config#build",
"^build",
"@n8n/rest-api-client#lint",
"@n8n/api-types#lint",
"@n8n/constants#lint",
"@n8n/i18n#lint",
"@n8n/permissions#lint",
"@n8n/stores#lint",
"@n8n/utils#lint",
"@n8n/chat#lint",
"@n8n/codemirror-lang#lint",
"@n8n/storybook#lint",
"n8n-cypress#lint",
"@n8n/composables#build",
"@n8n/design-system#lint",
"n8n-editor-ui#lint"
]
},
"lint:nodes": {
"dependsOn": [
"@n8n/eslint-config#build",
"^build",
"n8n-nodes-base#lint",
"@n8n/n8n-nodes-langchain#lint",
"@n8n/json-schema-to-zod#lint"
]
},
"lint:testing": {
"dependsOn": [
"@n8n/eslint-config#build",
"^build",
"n8n-playwright#lint",
"n8n-containers#lint"
]
},
"lint": {
"dependsOn": ["^build", "@n8n/eslint-config#build"]
},
"lintfix": {},
"test:backend": {
"dependsOn": [
"@n8n/api-types#test",
"@n8n/config#test",
"@n8n/decorators#test",
"@n8n/db#test",
"@n8n/di#test",
"@n8n/client-oauth2#test",
"@n8n/imap#test",
"@n8n/permissions#test",
"@n8n/task-runner#test",
"n8n-workflow#test",
"n8n-core#test",
"n8n#test"
],
"outputs": ["coverage/**", "junit.xml", "cobertura-coverage.xml"],
"inputs": ["jest.config.*", "package.json", "pnpm-lock.yaml"]
},
"test:frontend": {
"dependsOn": [
"@n8n/rest-api-client#test",
"@n8n/api-types#test",
"@n8n/constants#test",
"@n8n/i18n#test",
"@n8n/permissions#test",
"@n8n/stores#test",
"@n8n/utils#test",
"@n8n/chat#test",
"@n8n/codemirror-lang#test",
"@n8n/composables#build",
"@n8n/design-system#test",
"n8n-editor-ui#test"
],
"outputs": ["coverage/**", "junit.xml", "cobertura-coverage.xml"],
"inputs": ["jest.config.*", "package.json", "pnpm-lock.yaml"]
},
"test:nodes": {
"dependsOn": [
"n8n-nodes-base#test",
"@n8n/n8n-nodes-langchain#test",
"@n8n/json-schema-to-zod#test"
],
"outputs": ["coverage/**", "junit.xml", "cobertura-coverage.xml"],
"inputs": ["jest.config.*", "package.json", "pnpm-lock.yaml"]
},
"lint:fix": {},
"test": {
"outputs": ["coverage/**", "junit.xml", "cobertura-coverage.xml"]
"dependsOn": ["^build", "build"],
"outputs": ["coverage/**", "*.xml"]
},
"watch": {
"cache": false,
"persistent": true
},
"dev": {
"cache": false,
"persistent": true
"watch": { "cache": false, "persistent": true },
"dev": { "cache": false, "persistent": true },
"build:playwright": {
"dependsOn": ["install-browsers:ci", "build"]
},
"install-browsers:ci": {
"cache": true,