feat: Switch from npm to pnpm (#4429)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™ 2022-11-09 17:32:05 +01:00 committed by GitHub
parent db163b71b9
commit 736777385c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 22666 additions and 72016 deletions

View file

@ -1,8 +1,12 @@
**/*.md
**/.env **/.env
.cache
assets
node_modules node_modules
packages/node-dev packages/node-dev
packages/*/node_modules packages/**/node_modules
packages/*/dist packages/**/dist
packages/*/.turbo packages/**/.turbo
.git .git
.github
*.tsbuildinfo *.tsbuildinfo

View file

@ -22,9 +22,9 @@ A clear and concise description of what you expected to happen.
**Environment (please complete the following information):** **Environment (please complete the following information):**
- OS: [e.g. Ubuntu Linux 18.04] - OS: [e.g. Ubuntu Linux 22.04]
- n8n Version [e.g. 0.119.0] - n8n Version [e.g. 0.200.1]
- Node.js Version [e.g. 14.16.0] - Node.js Version [e.g. 16.17.0]
- Database system [e.g. SQLite; n8n uses SQLite as default otherwise changed] - Database system [e.g. SQLite; n8n uses SQLite as default otherwise changed]
- Operation mode [e.g. own; operation modes are `own`, `main` and `queue`. Default is `own`] - Operation mode [e.g. own; operation modes are `own`, `main` and `queue`. Default is `own`]

View file

@ -18,25 +18,27 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: pnpm/action-setup@v2.2.4
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3 uses: actions/setup-node@v3
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'npm' cache: 'pnpm'
- name: Install npm and dependencies - name: Install dependencies
run: npm install -g npm@latest && npm install run: pnpm install --frozen-lockfile
- name: Build - name: Build
run: npm run build --if-present run: pnpm build
- name: Test - name: Test
run: run: pnpm test
npm run test
- name: Test E2E - name: Test E2E
run: run: |
npm run test:e2e:ci:smoke pnpm cypress:install
pnpm test:e2e:ci:smoke
- name: Lint - name: Lint
run: npm run lint run: pnpm lint

View file

@ -18,13 +18,15 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: pnpm/action-setup@v2.2.4
- uses: actions/setup-node@v3 - uses: actions/setup-node@v3
with: with:
node-version: 16.x node-version: 16.x
cache: 'npm' cache: 'pnpm'
- name: Install npm and dependencies - name: Install dependencies
run: npm install -g npm@latest && npm install run: pnpm install --frozen-lockfile
- name: Start MySQL & Postgres - name: Start MySQL & Postgres
uses: isbang/compose-action@v1.3.2 uses: isbang/compose-action@v1.3.2
@ -32,16 +34,16 @@ jobs:
compose-file: ./.github/docker-compose.yml compose-file: ./.github/docker-compose.yml
- name: Build Core & Workflow - name: Build Core & Workflow
run: npm run -w packages/workflow -w packages/core build run: pnpm --filter n8n-workflow --filter=n8n-core build
- name: Test MySQL - name: Test MySQL
working-directory: packages/cli working-directory: packages/cli
run: npm run test:mysql run: pnpm test:mysql
- name: Test Postgres - name: Test Postgres
working-directory: packages/cli working-directory: packages/cli
run: npm run test:postgres run: pnpm test:postgres
- name: Test Postgres (alternate schema) - name: Test Postgres (alternate schema)
working-directory: packages/cli working-directory: packages/cli
run: npm run test:postgres:alt-schema run: pnpm test:postgres:alt-schema

View file

@ -15,24 +15,27 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: pnpm/action-setup@v2.2.4
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3 uses: actions/setup-node@v3
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'npm' cache: 'pnpm'
- name: Install npm and dependencies - name: Install dependencies
run: npm install -g npm@latest && npm install run: pnpm install --frozen-lockfile
- name: Build - name: Build
run: npm run build --if-present run: pnpm build
- name: Test - name: Test
run: npm run test run: pnpm test
- name: Test E2E - name: Test E2E
run: run: |
npm run test:e2e:ci:smoke pnpm cypress:install
pnpm test:e2e:ci:smoke
- name: Fetch base branch for `git diff` - name: Fetch base branch for `git diff`
run: git fetch origin ${{ github.event.pull_request.base.ref }}:${{ github.event.pull_request.base.ref }} run: git fetch origin ${{ github.event.pull_request.base.ref }}:${{ github.event.pull_request.base.ref }}
@ -40,4 +43,4 @@ jobs:
- name: Run ESLint on changes only - name: Run ESLint on changes only
env: env:
ESLINT_PLUGIN_DIFF_COMMIT: ${{ github.event.pull_request.base.ref }} ESLINT_PLUGIN_DIFF_COMMIT: ${{ github.event.pull_request.base.ref }}
run: npm run lint run: pnpm lint

View file

@ -26,12 +26,14 @@ jobs:
repository: n8n-io/test-workflows repository: n8n-io/test-workflows
path: test-workflows path: test-workflows
- uses: pnpm/action-setup@v2.2.4
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3 uses: actions/setup-node@v3
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'npm' cache: 'pnpm'
cache-dependency-path: 'n8n/package-lock.json' cache-dependency-path: 'n8n/pnpm-lock.yaml'
- name: Install dependencies - name: Install dependencies
run: | run: |
@ -41,12 +43,11 @@ jobs:
DEBIAN_FRONTEND="noninteractive" sudo apt-get install -y graphicsmagick DEBIAN_FRONTEND="noninteractive" sudo apt-get install -y graphicsmagick
shell: bash shell: bash
- name: npm install and build - name: pnpm install and build
working-directory: n8n working-directory: n8n
run: | run: |
npm install -g npm@latest pnpm install
npm install pnpm build
npm run build --if-present
shell: bash shell: bash
- name: Import credentials - name: Import credentials

4
.gitignore vendored
View file

@ -13,8 +13,8 @@ _START_PACKAGE
!.vscode/settings.default.json !.vscode/settings.default.json
.idea .idea
nodelinter.config.json nodelinter.config.json
packages/*/package-lock.json **/package-lock.json
packages/*/.turbo packages/**/.turbo
*.tsbuildinfo *.tsbuildinfo
cypress/videos/* cypress/videos/*
cypress/screenshots/* cypress/screenshots/*

8
.npmrc
View file

@ -1 +1,7 @@
legacy-peer-deps=true auto-install-peers = true
strict-peer-dependencies = false
prefer-workspace-packages = true
link-workspace-packages = deep
hoist = true
shamefully-hoist = true
loglevel = warn

View file

@ -4,7 +4,7 @@
"search.exclude": { "search.exclude": {
"node_modules": true, "node_modules": true,
"dist": true, "dist": true,
"package-lock.json": true "pnpm-lock.yaml": true
}, },
"typescript.tsdk": "node_modules/typescript/lib", "typescript.tsdk": "node_modules/typescript/lib",
"workspace-default-settings.runOnActivation": true "workspace-default-settings.runOnActivation": true

View file

@ -4,15 +4,24 @@ Great that you are here and you want to contribute to n8n
## Contents ## Contents
- [Code of Conduct](#code-of-conduct) - [Contributing to n8n](#contributing-to-n8n)
- [Directory Structure](#directory-structure) - [Contents](#contents)
- [Development Setup](#development-setup) - [Code of conduct](#code-of-conduct)
- [Development Cycle](#development-cycle) - [Directory structure](#directory-structure)
- [Create Custom Nodes](#create-custom-nodes) - [Development setup](#development-setup)
- [Create a new node to contribute to n8n](#create-a-new-node-to-contribute-to-n8n) - [Requirements](#requirements)
- [Checklist before submitting a new node](#checklist-before-submitting-a-new-node) - [Node.js](#nodejs)
- [Extend Documentation](#extend-documentation) - [Build tools](#build-tools)
- [Contributor License Agreement](#contributor-license-agreement) - [pnpm workspaces](#pnpm-workspaces)
- [Actual n8n setup](#actual-n8n-setup)
- [Start](#start)
- [Development cycle](#development-cycle)
- [Test suite](#test-suite)
- [Create custom nodes](#create-custom-nodes)
- [Create a new node to contribute to n8n](#create-a-new-node-to-contribute-to-n8n)
- [Checklist before submitting a new node](#checklist-before-submitting-a-new-node)
- [Extend documentation](#extend-documentation)
- [Contributor License Agreement](#contributor-license-agreement)
## Code of conduct ## Code of conduct
@ -51,7 +60,13 @@ dependencies are installed and the packages get linked correctly. Here a short g
#### Node.js #### Node.js
We suggest using [Node.js](https://nodejs.org/en/) version 16 for development purposes. We suggest using [Node.js](https://nodejs.org/en/) version 16.9 or newer for development purposes.
After that we recommend enabling [Node.js corepack](https://nodejs.org/docs/latest-v16.x/api/corepack.html) with `corepack enable`, and [pnpm](https://pnpm.io/) with `corepack prepare pnpm --activate`.
**IMPORTANT**: If you have installed Node.js via homebrew, you'll need to run `brew install corepack`, since homebrew explicitly removes `npm` and `corepack` from [the `node` formula](https://github.com/Homebrew/homebrew-core/blob/master/Formula/node.rb#L66).
**IMPORTANT**: If you are on windows, you'd need to run `corepack enable` and `corepack prepare pnpm --activate` in a terminal as an administrator.
#### Build tools #### Build tools
@ -72,15 +87,14 @@ yum install gcc gcc-c++ make
Windows: Windows:
``` ```
npm install -g windows-build-tools npm add -g windows-build-tools
``` ```
#### npm workspaces #### pnpm workspaces
n8n is split up in different modules which are all in a single mono repository. n8n is split up in different modules which are all in a single mono repository.
To facilitate the module management, [npm workspaces](https://docs.npmjs.com/cli/v7/using-npm/workspaces) are To facilitate the module management, [pnpm workspaces](https://pnpm.io/workspaces) are used.
used. This automatically sets up file-links between modules which depend on each This automatically sets up file-links between modules which depend on each other.
other.
### Actual n8n setup ### Actual n8n setup
@ -112,12 +126,12 @@ checked out and set up:
5. Install all dependencies of all modules and link them together: 5. Install all dependencies of all modules and link them together:
``` ```
npm install pnpm install
``` ```
6. Build all the code: 6. Build all the code:
``` ```
npm run build pnpm build
``` ```
### Start ### Start
@ -125,7 +139,7 @@ checked out and set up:
To start n8n execute: To start n8n execute:
``` ```
npm run start pnpm start
``` ```
To start n8n with tunnel: To start n8n with tunnel:
@ -136,24 +150,24 @@ To start n8n with tunnel:
## Development cycle ## Development cycle
While iterating on n8n modules code, you can run `npm run dev`. It will then While iterating on n8n modules code, you can run `pnpm dev`. It will then
automatically build your code, restart the backend and refresh the frontend automatically build your code, restart the backend and refresh the frontend
(editor-ui) on every change you make. (editor-ui) on every change you make.
1. Start n8n in development mode: 1. Start n8n in development mode:
``` ```
npm run dev pnpm dev
``` ```
1. Hack, hack, hack 1. Hack, hack, hack
1. Check if everything still runs in production mode 1. Check if everything still runs in production mode
``` ```
npm run build pnpm build
npm run start pnpm start
``` ```
1. Create tests 1. Create tests
1. Run all [tests](#test-suite) 1. Run all [tests](#test-suite)
``` ```
npm run test pnpm test
``` ```
1. Commit code and [create a pull request](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) 1. Commit code and [create a pull request](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork)
@ -162,7 +176,7 @@ automatically build your code, restart the backend and refresh the frontend
The tests can be started via: The tests can be started via:
``` ```
npm run test pnpm test
``` ```
If that gets executed in one of the package folders it will only run the tests If that gets executed in one of the package folders it will only run the tests

View file

@ -3,25 +3,20 @@ ARG NODE_VERSION=16
# 1. Create an image to build n8n # 1. Create an image to build n8n
FROM n8nio/base:${NODE_VERSION} as builder FROM n8nio/base:${NODE_VERSION} as builder
RUN npm install -g run-script-os turbo@1.5.5 COPY turbo.json package.json .npmrc pnpm-lock.yaml pnpm-workspace.yaml tsconfig.json ./
COPY turbo.json package.json package-lock.json tsconfig.json ./
COPY packages ./packages COPY packages ./packages
COPY patches ./patches COPY patches ./patches
RUN corepack enable && corepack prepare --activate
RUN chown -R node:node . RUN chown -R node:node .
RUN npm config set legacy-peer-deps true
USER node USER node
RUN \ RUN pnpm install --frozen-lockfile
npm install && \ RUN pnpm build
npm run build && \ RUN rm -rf node_modules
# TODO: removing dev dependecies is deleting `bn.js`, which breaks the Snowflake node RUN NODE_ENV=production pnpm install --prod --no-optional
npm prune --omit=dev && \ RUN find . -type f -name "*.ts" -o -name "*.js.map" -o -name "*.vue" -o -name "tsconfig.json" -o -name "*.tsbuildinfo" | xargs rm
npm i --omit=dev bn.js && \ RUN rm -rf patches .npmrc *.yaml node_modules/.cache packages/**/node_modules/.cache packages/**/.turbo .config .cache .local .node /tmp/*
find . -type f -name "*.ts" -o -name "*.js.map" -o -name "*.vue" -o -name "tsconfig.json" | xargs rm &&\
rm -rf node_modules/.cache packages/*/node_modules/.cache packages/*/.turbo .config .npm /tmp/*
# 2. Start with a new clean image with just the code that is needed to run n8n # 2. Start with a new clean image with just the code that is needed to run n8n

71803
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -3,15 +3,19 @@
"version": "0.201.0", "version": "0.201.0",
"private": true, "private": true,
"homepage": "https://n8n.io", "homepage": "https://n8n.io",
"engines": {
"node": ">=16.9",
"pnpm": ">=7.5"
},
"packageManager": "pnpm@7.14.2",
"scripts": { "scripts": {
"build": "turbo run build", "build": "turbo run build",
"dev": "turbo run dev --parallel", "dev": "turbo run dev --parallel",
"clean:dist": "npm exec -ws -- rimraf ./dist", "clean": "turbo run clean --parallel",
"format": "turbo run format && node scripts/format.mjs", "format": "turbo run format && node scripts/format.mjs",
"lint": "turbo run lint", "lint": "turbo run lint",
"lintfix": "turbo run lintfix", "lintfix": "turbo run lintfix",
"optimize-svg": "find ./packages -name '*.svg' ! -name 'pipedrive.svg' -print0 | xargs -0 -P16 -L20 npx svgo", "optimize-svg": "find ./packages -name '*.svg' ! -name 'pipedrive.svg' -print0 | xargs -0 -P16 -L20 npx svgo",
"postinstall": "patch-package",
"start": "run-script-os", "start": "run-script-os",
"start:default": "cd packages/cli/bin && ./n8n", "start:default": "cd packages/cli/bin && ./n8n",
"start:tunnel": "./packages/cli/bin/n8n start --tunnel", "start:tunnel": "./packages/cli/bin/n8n start --tunnel",
@ -20,39 +24,51 @@
"watch": "turbo run watch", "watch": "turbo run watch",
"webhook": "./packages/cli/bin/n8n webhook", "webhook": "./packages/cli/bin/n8n webhook",
"worker": "./packages/cli/bin/n8n worker", "worker": "./packages/cli/bin/n8n worker",
"cypress:install": "cypress install",
"test:e2e:db:clean": "rimraf ~/.n8n/cypress.sqlite ~/.n8n/cypress.sqlite.bak", "test:e2e:db:clean": "rimraf ~/.n8n/cypress.sqlite ~/.n8n/cypress.sqlite.bak",
"test:e2e:cypress:run": "cypress run", "test:e2e:cypress:run": "cypress run",
"test:e2e": "npm run test:e2e:db:clean && cross-env DB_SQLITE_DATABASE=cypress.sqlite N8N_DIAGNOSTICS_ENABLED=false start-server-and-test start http://localhost:5678/favicon.ico test:e2e:cypress:run", "test:e2e": "pnpm test:e2e:db:clean && cross-env DB_SQLITE_DATABASE=cypress.sqlite N8N_DIAGNOSTICS_ENABLED=false start-server-and-test start http://localhost:5678/favicon.ico test:e2e:cypress:run",
"test:e2e:cypress:dev": "cypress open", "test:e2e:cypress:dev": "cypress open",
"test:e2e:dev": "npm run test:e2e:db:clean && cross-env DB_SQLITE_DATABASE=cypress.sqlite N8N_DIAGNOSTICS_ENABLED=false start-server-and-test start http://localhost:5678/favicon.ico test:e2e:cypress:dev", "test:e2e:dev": "pnpm test:e2e:db:clean && cross-env DB_SQLITE_DATABASE=cypress.sqlite N8N_DIAGNOSTICS_ENABLED=false start-server-and-test start http://localhost:5678/favicon.ico test:e2e:cypress:dev",
"test:e2e:cypress:ci:smoke": "cypress run --headless --spec \"cypress/e2e/0-smoke.cy.ts\"", "test:e2e:cypress:ci:smoke": "cypress run --headless --spec \"cypress/e2e/0-smoke.cy.ts\"",
"test:e2e:ci:smoke": "npm run test:e2e:db:clean && cross-env DB_SQLITE_DATABASE=cypress.sqlite N8N_DIAGNOSTICS_ENABLED=false start-server-and-test start http://localhost:5678/favicon.ico test:e2e:cypress:ci:smoke" "test:e2e:ci:smoke": "pnpm test:e2e:db:clean && cross-env DB_SQLITE_DATABASE=cypress.sqlite N8N_DIAGNOSTICS_ENABLED=false start-server-and-test start http://localhost:5678/favicon.ico test:e2e:cypress:ci:smoke"
},
"dependencies": {
"n8n": "*"
}, },
"devDependencies": { "devDependencies": {
"@n8n_io/eslint-config": "*",
"@ngneat/falso": "^6.1.0", "@ngneat/falso": "^6.1.0",
"@types/jest": "^28.1.8", "@types/jest": "^28.1.8",
"@types/node": "^16.11.22",
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"cypress": "^10.0.3", "cypress": "^10.0.3",
"jest": "^28.1.3", "jest": "^28.1.3",
"jest-environment-jsdom": "^28.1.3", "jest-environment-jsdom": "^28.1.3",
"jest-mock": "^28.1.3", "jest-mock": "^28.1.3",
"patch-package": "^6.4.7", "prettier": "^2.3.2",
"rimraf": "^3.0.2", "rimraf": "^3.0.2",
"run-script-os": "^1.0.7", "run-script-os": "^1.0.7",
"start-server-and-test": "^1.14.0", "start-server-and-test": "^1.14.0",
"supertest": "^6.2.2",
"ts-jest": "^28.0.8", "ts-jest": "^28.0.8",
"turbo": "1.2.15", "ts-node": "^9.1.1",
"turbo": "1.5.5",
"typescript": "^4.8.4" "typescript": "^4.8.4"
}, },
"postcss": {}, "pnpm": {
"workspaces": [ "patchedDependencies": {
"packages/*", "quill@2.0.0-dev.4": "patches/quill@2.0.0-dev.4.patch"
"packages/@n8n_io/*" },
], "onlyBuiltDependencies": [
"overrides": { "sqlite3",
"browserslist": "^4.21.3", "vue-demi"
"ejs": "^3.1.8", ],
"fork-ts-checker-webpack-plugin": "^6.0.4", "overrides": {
"globby": "^11.0.2" "browserslist": "^4.21.4",
"ejs": "^3.1.8",
"fork-ts-checker-webpack-plugin": "^6.0.4",
"globby": "^11.1.0"
}
} }
} }

View file

@ -4,11 +4,7 @@
module.exports = { module.exports = {
plugins: ['vue'], plugins: ['vue'],
extends: [ extends: ['plugin:vue/essential', '@vue/typescript', './base'],
'plugin:vue/essential',
'@vue/typescript',
'@n8n_io/eslint-config/base',
],
env: { env: {
browser: true, browser: true,
@ -21,11 +17,7 @@ module.exports = {
parser: '@typescript-eslint/parser', parser: '@typescript-eslint/parser',
}, },
ignorePatterns: [ ignorePatterns: ['**/*.js', '**/*.d.ts', 'vite.config.ts'],
'**/*.js',
'**/*.d.ts',
'vite.config.ts',
],
rules: { rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',

View file

@ -2,7 +2,7 @@
* @type {import('@types/eslint').ESLint.ConfigData} * @type {import('@types/eslint').ESLint.ConfigData}
*/ */
module.exports = { module.exports = {
extends: ['@n8n_io/eslint-config/base'], extends: ['./base'],
env: { env: {
es6: true, es6: true,

View file

@ -1,21 +1,23 @@
{ {
"name": "@n8n_io/eslint-config", "name": "@n8n_io/eslint-config",
"private": true, "private": true,
"version": "0.0.1",
"devDependencies": { "devDependencies": {
"@types/eslint": "8.4.6", "@types/eslint": "~8.4",
"@typescript-eslint/eslint-plugin": "^5.36.2", "@typescript-eslint/eslint-plugin": "~5.36",
"@typescript-eslint/parser": "^5.36.2", "@typescript-eslint/parser": "~5.36",
"@vue/eslint-config-typescript": "^11.0.0", "@vue/eslint-config-typescript": "~8.0",
"eslint": "8.23.0", "eslint": "~8.26",
"eslint-config-airbnb-typescript": "^17.0.0", "eslint-config-airbnb-typescript": "~17.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "~8.5",
"eslint-plugin-diff": "^2.0.1", "eslint-plugin-diff": "~2.0",
"eslint-plugin-import": "^2.26.0", "eslint-plugin-import": "~2.26",
"eslint-plugin-n8n-local-rules": "^1.0.0", "eslint-plugin-n8n-local-rules": "~1.0",
"eslint-plugin-prettier": "^4.2.1", "eslint-plugin-prettier": "~4.2",
"eslint-plugin-vue": "^9.4.0" "eslint-plugin-vue": "~7.17"
}, },
"scripts": { "scripts": {
"clean": "rimraf .turbo",
"test": "jest" "test": "jest"
} }
} }

View file

@ -2,6 +2,20 @@
This list shows all the versions which include breaking changes and how to upgrade. This list shows all the versions which include breaking changes and how to upgrade.
## 0.202.0
### What changed?
Switched from NPM to PNPM for development.
### When is action necessary?
If you are contributing to n8n.
### How to upgrade:
Make sure that your local development setup is up to date with the latest [Contribution Guide](../../CONTRIBUTING.md).
## 0.198.0 ## 0.198.0
### What changed? ### What changed?

View file

@ -19,10 +19,11 @@
"bin": "n8n" "bin": "n8n"
}, },
"scripts": { "scripts": {
"clean": "rimraf dist .turbo",
"typecheck": "tsc", "typecheck": "tsc",
"build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && node scripts/build.mjs", "build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && node scripts/build.mjs",
"dev": "concurrently -k -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold\" \"npm run watch\" \"nodemon\"", "dev": "concurrently -k -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold\" \"npm run watch\" \"nodemon\"",
"format": "cd ../.. && node_modules/prettier/bin-prettier.js packages/cli/**/**.ts --write", "format": "prettier **/**.ts --write",
"lint": "eslint .", "lint": "eslint .",
"lintfix": "eslint . --fix", "lintfix": "eslint . --fix",
"postpack": "rm -f oclif.manifest.json", "postpack": "rm -f oclif.manifest.json",
@ -31,10 +32,10 @@
"start:default": "cd bin && ./n8n", "start:default": "cd bin && ./n8n",
"start:windows": "cd bin && n8n", "start:windows": "cd bin && n8n",
"swagger": "swagger-cli", "swagger": "swagger-cli",
"test": "npm run test:sqlite", "test": "pnpm test:sqlite",
"test:sqlite": "N8N_LOG_LEVEL=silent DB_TYPE=sqlite jest", "test:sqlite": "N8N_LOG_LEVEL=silent DB_TYPE=sqlite jest",
"test:postgres": "N8N_LOG_LEVEL=silent DB_TYPE=postgresdb jest", "test:postgres": "N8N_LOG_LEVEL=silent DB_TYPE=postgresdb jest",
"test:postgres:alt-schema": "DB_POSTGRESDB_SCHEMA=alt_schema npm run test:postgres", "test:postgres:alt-schema": "DB_POSTGRESDB_SCHEMA=alt_schema pnpm test:postgres",
"test:mysql": "N8N_LOG_LEVEL=silent DB_TYPE=mysqldb jest", "test:mysql": "N8N_LOG_LEVEL=silent DB_TYPE=mysqldb jest",
"watch": "concurrently \"tsc -w -p tsconfig.build.json\" \"tsc-alias -w -p tsconfig.build.json\"", "watch": "concurrently \"tsc -w -p tsconfig.build.json\" \"tsc-alias -w -p tsconfig.build.json\"",
"typeorm": "ts-node -T ../../node_modules/typeorm/cli.js" "typeorm": "ts-node -T ../../node_modules/typeorm/cli.js"
@ -61,7 +62,6 @@
], ],
"devDependencies": { "devDependencies": {
"@apidevtools/swagger-cli": "4.0.0", "@apidevtools/swagger-cli": "4.0.0",
"@n8n_io/eslint-config": "",
"@oclif/dev-cli": "^1.22.2", "@oclif/dev-cli": "^1.22.2",
"@types/basic-auth": "^1.1.2", "@types/basic-auth": "^1.1.2",
"@types/bcryptjs": "^2.4.2", "@types/bcryptjs": "^2.4.2",
@ -82,7 +82,6 @@
"@types/lodash.set": "^4.3.6", "@types/lodash.set": "^4.3.6",
"@types/lodash.split": "^4.4.7", "@types/lodash.split": "^4.4.7",
"@types/lodash.unset": "^4.5.7", "@types/lodash.unset": "^4.5.7",
"@types/node": "^16.11.22",
"@types/parseurl": "^1.3.1", "@types/parseurl": "^1.3.1",
"@types/passport-jwt": "^3.0.6", "@types/passport-jwt": "^3.0.6",
"@types/psl": "^1.1.0", "@types/psl": "^1.1.0",
@ -104,9 +103,9 @@
"typescript": "~4.8.0" "typescript": "~4.8.0"
}, },
"dependencies": { "dependencies": {
"@oclif/command": "^1.5.18", "@oclif/command": "^1.8.16",
"@oclif/core": "^1.9.3", "@oclif/core": "^1.16.4",
"@oclif/errors": "^1.2.2", "@oclif/errors": "^1.3.6",
"@rudderstack/rudder-sdk-node": "1.0.6", "@rudderstack/rudder-sdk-node": "1.0.6",
"@sentry/node": "^7.17.3", "@sentry/node": "^7.17.3",
"@sentry/integrations": "^7.17.3", "@sentry/integrations": "^7.17.3",
@ -166,7 +165,7 @@
"prom-client": "^13.1.0", "prom-client": "^13.1.0",
"psl": "^1.8.0", "psl": "^1.8.0",
"shelljs": "^0.8.5", "shelljs": "^0.8.5",
"sqlite3": "^5.0.2", "sqlite3": "^5.1.2",
"sse-channel": "^3.1.1", "sse-channel": "^3.1.1",
"swagger-ui-express": "^4.3.0", "swagger-ui-express": "^4.3.0",
"tslib": "1.14.1", "tslib": "1.14.1",

View file

@ -15,10 +15,11 @@
"main": "dist/index", "main": "dist/index",
"types": "dist/index.d.ts", "types": "dist/index.d.ts",
"scripts": { "scripts": {
"clean": "rimraf dist .turbo",
"typecheck": "tsc", "typecheck": "tsc",
"build": "tsc -p tsconfig.build.json", "build": "tsc -p tsconfig.build.json",
"dev": "npm run watch", "dev": "pnpm watch",
"format": "cd ../.. && node_modules/prettier/bin-prettier.js packages/core/**/**.ts --write", "format": "prettier **/**.ts --write",
"lint": "eslint .", "lint": "eslint .",
"lintfix": "eslint . --fix", "lintfix": "eslint . --fix",
"watch": "tsc --watch", "watch": "tsc --watch",
@ -28,17 +29,14 @@
"dist" "dist"
], ],
"devDependencies": { "devDependencies": {
"@n8n_io/eslint-config": "",
"@types/cron": "~1.7.1", "@types/cron": "~1.7.1",
"@types/crypto-js": "^4.0.1", "@types/crypto-js": "^4.0.1",
"@types/express": "^4.17.6", "@types/express": "^4.17.6",
"@types/lodash.get": "^4.4.6", "@types/lodash.get": "^4.4.6",
"@types/mime-types": "^2.1.0", "@types/mime-types": "^2.1.0",
"@types/node": "^16.11.22",
"@types/request-promise-native": "~1.0.15", "@types/request-promise-native": "~1.0.15",
"@types/uuid": "^8.3.2", "@types/uuid": "^8.3.2",
"source-map-support": "^0.5.9", "source-map-support": "^0.5.9"
"typescript": "~4.8.0"
}, },
"dependencies": { "dependencies": {
"axios": "^0.21.1", "axios": "^0.21.1",

View file

@ -7,43 +7,43 @@ A component system for [n8n](https://n8n.io) using Storybook to preview.
## Project setup ## Project setup
``` ```
npm install pnpm install
``` ```
### Compiles and hot-reloads for development ### Compiles and hot-reloads for development
``` ```
npm run storybook pnpm storybook
``` ```
### Build static pages ### Build static pages
``` ```
npm run build:storybook pnpm build:storybook
``` ```
### Run your unit tests ### Run your unit tests
``` ```
npm run test:unit pnpm test:unit
``` ```
### Lints and fixes files ### Lints and fixes files
``` ```
npm run lint pnpm lint
``` ```
### Build css files ### Build css files
``` ```
npm run build:theme pnpm build:theme
``` ```
### Monitor theme files and build any changes ### Monitor theme files and build any changes
``` ```
npm run watch:theme pnpm watch:theme
``` ```
## License ## License

View file

@ -13,6 +13,7 @@
"url": "git+https://github.com/n8n-io/n8n.git" "url": "git+https://github.com/n8n-io/n8n.git"
}, },
"scripts": { "scripts": {
"clean": "rimraf dist .turbo",
"build": "vite build", "build": "vite build",
"build:vue:typecheck": "vue-tsc --emitDeclarationOnly", "build:vue:typecheck": "vue-tsc --emitDeclarationOnly",
"test": "vitest run", "test": "vitest run",
@ -20,6 +21,7 @@
"test:dev": "vitest", "test:dev": "vitest",
"build:storybook": "build-storybook", "build:storybook": "build-storybook",
"storybook": "start-storybook -p 6006", "storybook": "start-storybook -p 6006",
"format": "prettier **/**.{ts,vue} --write",
"lint": "tslint -p tsconfig.json -c tslint.json && eslint .", "lint": "tslint -p tsconfig.json -c tslint.json && eslint .",
"lintfix": "tslint --fix -p tsconfig.json -c tslint.json && eslint . --fix" "lintfix": "tslint --fix -p tsconfig.json -c tslint.json && eslint . --fix"
}, },
@ -33,7 +35,6 @@
"@fortawesome/fontawesome-svg-core": "^1.2.35", "@fortawesome/fontawesome-svg-core": "^1.2.35",
"@fortawesome/free-solid-svg-icons": "^5.15.3", "@fortawesome/free-solid-svg-icons": "^5.15.3",
"@fortawesome/vue-fontawesome": "^2.0.2", "@fortawesome/vue-fontawesome": "^2.0.2",
"@n8n_io/eslint-config": "",
"@storybook/addon-actions": "^6.5.10", "@storybook/addon-actions": "^6.5.10",
"@storybook/addon-essentials": "^6.5.10", "@storybook/addon-essentials": "^6.5.10",
"@storybook/addon-links": "^6.5.10", "@storybook/addon-links": "^6.5.10",
@ -45,33 +46,29 @@
"@types/sanitize-html": "^2.6.2", "@types/sanitize-html": "^2.6.2",
"c8": "7.11.0", "c8": "7.11.0",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"eslint": "^8.0.0",
"eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-vue": "^7.16.0",
"jsdom": "19.0.0", "jsdom": "19.0.0",
"markdown-it": "^12.3.2", "markdown-it": "^12.3.2",
"markdown-it-emoji": "^2.0.0", "markdown-it-emoji": "^2.0.0",
"markdown-it-link-attributes": "^4.0.0", "markdown-it-link-attributes": "^4.0.0",
"markdown-it-task-lists": "^2.1.1", "markdown-it-task-lists": "^2.1.1",
"node-notifier": ">=8.0.1", "node-notifier": ">=8.0.1",
"prettier": "^2.3.2", "sass": "^1.55.0",
"sass": "^1.26.5", "sass-loader": "^10.1.1",
"sass-loader": "^8.0.2",
"storybook-addon-designs": "^6.3.1", "storybook-addon-designs": "^6.3.1",
"storybook-addon-themes": "^6.1.0", "storybook-addon-themes": "^6.1.0",
"trim": ">=0.0.3", "trim": ">=0.0.3",
"typescript": "~4.8.0", "vite": "^2.9.5",
"vite": "2.9.5",
"@vitejs/plugin-vue2": "^1.1.2", "@vitejs/plugin-vue2": "^1.1.2",
"vitest": "0.9.3", "vitest": "^0.9.3",
"vue": "~2.7.10", "vue": "^2.7",
"vue-class-component": "^7.2.3", "vue-class-component": "^7.2.3",
"vue-loader": "^15.9.7", "vue-loader": "^15.9.7",
"vue-property-decorator": "^9.1.2", "vue-property-decorator": "^9.1.2",
"vue-template-compiler": "~2.7.10", "vue-template-compiler": "^2.7",
"vue-tsc": "0.34.8", "vue-tsc": "^0.34.8",
"vue-typed-mixins": "^0.2.0", "vue-typed-mixins": "^0.2.0",
"vue2-boring-avatars": "0.3.4", "vue2-boring-avatars": "0.3.4",
"webpack": "^4.46.0",
"xss": "^1.0.10" "xss": "^1.0.10"
}, },
"dependencies": { "dependencies": {

View file

@ -10,37 +10,37 @@ npm install n8n -g
## Project setup ## Project setup
``` ```
npm install pnpm install
``` ```
### Compiles and hot-reloads for development ### Compiles and hot-reloads for development
``` ```
npm run serve pnpm serve
``` ```
### Compiles and minifies for production ### Compiles and minifies for production
``` ```
npm run build pnpm build
``` ```
### Run your tests ### Run your tests
``` ```
npm run test pnpm test
``` ```
### Lints and fixes files ### Lints and fixes files
``` ```
npm run lint pnpm lint
``` ```
### Run your end-to-end tests ### Run your end-to-end tests
``` ```
npm run test:e2e pnpm test:e2e
``` ```
### Run your unit tests ### Run your unit tests
``` ```
npm run test:unit pnpm test:unit
``` ```
### Customize configuration ### Customize configuration

View file

@ -14,11 +14,12 @@
"url": "git+https://github.com/n8n-io/n8n.git" "url": "git+https://github.com/n8n-io/n8n.git"
}, },
"scripts": { "scripts": {
"clean": "rimraf dist .turbo",
"build": "cross-env VUE_APP_PUBLIC_PATH=\"/{{BASE_PATH}}/\" NODE_OPTIONS=\"--max-old-space-size=8192\" vite build", "build": "cross-env VUE_APP_PUBLIC_PATH=\"/{{BASE_PATH}}/\" NODE_OPTIONS=\"--max-old-space-size=8192\" vite build",
"dev": "npm run serve", "dev": "pnpm serve",
"lint": "tslint -p tsconfig.json -c tslint.json && eslint .", "lint": "tslint -p tsconfig.json -c tslint.json && eslint .",
"lintfix": "tslint --fix -p tsconfig.json -c tslint.json && eslint . --fix", "lintfix": "tslint --fix -p tsconfig.json -c tslint.json && eslint . --fix",
"format": "cd ../.. && node_modules/prettier/bin-prettier.js packages/editor-ui/**/**.ts --write", "format": "prettier **/**.{ts,vue} --write",
"serve": "cross-env VUE_APP_URL_BASE_API=http://localhost:5678/ vite --host 0.0.0.0 --port 8080 dev", "serve": "cross-env VUE_APP_URL_BASE_API=http://localhost:5678/ vite --host 0.0.0.0 --port 8080 dev",
"test": "vitest run", "test": "vitest run",
"test:ci": "vitest run --coverage", "test:ci": "vitest run --coverage",
@ -52,8 +53,8 @@
"lodash.get": "^4.4.2", "lodash.get": "^4.4.2",
"lodash.orderby": "^4.6.0", "lodash.orderby": "^4.6.0",
"lodash.set": "^4.3.2", "lodash.set": "^4.3.2",
"luxon": "~2.3.0", "luxon": "^2.3.0",
"monaco-editor": "^0.30.1", "monaco-editor": "^0.33.0",
"n8n-design-system": "~0.41.0", "n8n-design-system": "~0.41.0",
"n8n-workflow": "~0.123.0", "n8n-workflow": "~0.123.0",
"normalize-wheel": "^1.0.1", "normalize-wheel": "^1.0.1",
@ -64,14 +65,14 @@
"timeago.js": "^4.0.2", "timeago.js": "^4.0.2",
"uuid": "^8.3.2", "uuid": "^8.3.2",
"v-click-outside": "^3.1.2", "v-click-outside": "^3.1.2",
"vue": "~2.7.10", "vue": "^2.7",
"vue-agile": "^2.0.0", "vue-agile": "^2.0.0",
"vue-fragment": "1.5.1", "vue-fragment": "1.5.1",
"vue-i18n": "^8.26.7", "vue-i18n": "^8.26.7",
"vue-json-pretty": "1.9.3", "vue-json-pretty": "1.9.3",
"vue-prism-editor": "^0.3.0", "vue-prism-editor": "^0.3.0",
"vue-router": "^3.0.6", "vue-router": "^3.0.6",
"vue-template-compiler": "~2.7.10", "vue-template-compiler": "^2.7",
"vue-typed-mixins": "^0.2.0", "vue-typed-mixins": "^0.2.0",
"vue2-boring-avatars": "0.3.4", "vue2-boring-avatars": "0.3.4",
"vue2-teleport": "^1.0.1", "vue2-teleport": "^1.0.1",
@ -80,7 +81,6 @@
}, },
"devDependencies": { "devDependencies": {
"@intlify/vue-i18n-loader": "^1.1.0", "@intlify/vue-i18n-loader": "^1.1.0",
"@n8n_io/eslint-config": "",
"@pinia/testing": "^0.0.14", "@pinia/testing": "^0.0.14",
"@testing-library/jest-dom": "^5.16.5", "@testing-library/jest-dom": "^5.16.5",
"@testing-library/vue": "^5.8.3", "@testing-library/vue": "^5.8.3",
@ -92,23 +92,17 @@
"@types/lodash.get": "^4.4.6", "@types/lodash.get": "^4.4.6",
"@types/lodash.set": "^4.3.6", "@types/lodash.set": "^4.3.6",
"@types/luxon": "^2.0.9", "@types/luxon": "^2.0.9",
"@types/node": "^16.11.22",
"@types/quill": "^2.0.1", "@types/quill": "^2.0.1",
"@types/uuid": "^8.3.2", "@types/uuid": "^8.3.2",
"@vitejs/plugin-legacy": "^1.8.2", "@vitejs/plugin-legacy": "^1.8.2",
"@vitejs/plugin-vue2": "^1.1.2", "@vitejs/plugin-vue2": "^1.1.2",
"@yfwz100/vite-plugin-vue2-i18n": "^1.0.0-2", "@yfwz100/vite-plugin-vue2-i18n": "^1.0.0-2",
"c8": "^7.12.0", "c8": "^7.12.0",
"cross-env": "^7.0.2",
"eslint": "^8.0.0",
"eslint-plugin-import": "^2.23.4",
"eslint-plugin-vue": "^7.16.0",
"jshint": "^2.9.7", "jshint": "^2.9.7",
"sass": "^1.54.9", "sass": "^1.55.0",
"sass-loader": "^8.0.2", "sass-loader": "^10.1.1",
"string-template-parser": "^1.2.6", "string-template-parser": "^1.2.6",
"tslint": "^6.1.2", "tslint": "^6.1.2",
"typescript": "~4.8.0",
"vite": "2.9.5", "vite": "2.9.5",
"vite-plugin-html": "^3.2.0", "vite-plugin-html": "^3.2.0",
"vite-plugin-monaco-editor": "^1.0.10", "vite-plugin-monaco-editor": "^1.0.10",

View file

@ -30,7 +30,7 @@ By default, n8n runs in the `en` (English) locale. To have run it in a different
``` ```
export N8N_DEFAULT_LOCALE=de export N8N_DEFAULT_LOCALE=de
npm run start pnpm start
``` ```
Output: Output:
@ -464,7 +464,7 @@ When translating a base text file at `/packages/editor-ui/src/plugins/i18n/local
```sh ```sh
export N8N_DEFAULT_LOCALE=de export N8N_DEFAULT_LOCALE=de
npm run start pnpm start
``` ```
2. Open another terminal: 2. Open another terminal:
@ -472,7 +472,7 @@ npm run start
```sh ```sh
export N8N_DEFAULT_LOCALE=de export N8N_DEFAULT_LOCALE=de
cd packages/editor-ui cd packages/editor-ui
npm run dev pnpm dev
``` ```
Changing the base text file will trigger a rebuild of the client at `http://localhost:8080`. Changing the base text file will trigger a rebuild of the client at `http://localhost:8080`.
@ -485,7 +485,7 @@ When translating a dynamic text file at `/packages/nodes-base/nodes/{node}/trans
```sh ```sh
export N8N_DEFAULT_LOCALE=de export N8N_DEFAULT_LOCALE=de
npm run start pnpm start
``` ```
2. Open another terminal: 2. Open another terminal:
@ -493,8 +493,8 @@ npm run start
```sh ```sh
export N8N_DEFAULT_LOCALE=de export N8N_DEFAULT_LOCALE=de
cd packages/nodes-base cd packages/nodes-base
npm run build:translations pnpm build:translations
npm run watch pnpm watch
``` ```
After changing the dynamic text file: After changing the dynamic text file:
@ -502,6 +502,6 @@ After changing the dynamic text file:
1. Stop and restart the first terminal. 1. Stop and restart the first terminal.
2. Refresh the browser at `http://localhost:5678` 2. Refresh the browser at `http://localhost:5678`
If a `headerText` section was changed, re-run `npm run build:translations` in `/nodes-base`. If a `headerText` section was changed, re-run `pnpm build:translations` in `/nodes-base`.
> **Note**: To translate base and dynamic text simultaneously, run three terminals following the steps from both sections (first terminal running only once) and browse `http://localhost:8080`. > **Note**: To translate base and dynamic text simultaneously, run three terminals following the steps from both sections (first terminal running only once) and browse `http://localhost:8080`.

View file

@ -19,10 +19,11 @@
"bin": "n8n-node-dev" "bin": "n8n-node-dev"
}, },
"scripts": { "scripts": {
"dev": "npm run watch", "clean": "rimraf dist .turbo",
"build": "", "dev": "pnpm watch",
"build": "tsc --noEmit",
"build-node-dev": "tsc", "build-node-dev": "tsc",
"format": "cd ../.. && node_modules/prettier/bin-prettier.js packages/node-dev/**/**.ts --write", "format": "prettier **/**.ts --write",
"lint": "eslint .", "lint": "eslint .",
"lintfix": "eslint . --fix", "lintfix": "eslint . --fix",
"postpack": "rm -f oclif.manifest.json", "postpack": "rm -f oclif.manifest.json",
@ -46,11 +47,9 @@
"src/tsconfig-build.json" "src/tsconfig-build.json"
], ],
"devDependencies": { "devDependencies": {
"@n8n_io/eslint-config": "",
"@oclif/dev-cli": "^1.22.2", "@oclif/dev-cli": "^1.22.2",
"@types/express": "^4.17.6", "@types/express": "^4.17.6",
"@types/inquirer": "^6.5.0", "@types/inquirer": "^6.5.0",
"@types/node": "^16.11.22",
"@types/tmp": "^0.2.0", "@types/tmp": "^0.2.0",
"@types/vorpal": "^1.11.0" "@types/vorpal": "^1.11.0"
}, },
@ -65,7 +64,6 @@
"oauth-1.0a": "^2.2.6", "oauth-1.0a": "^2.2.6",
"replace-in-file": "^6.0.0", "replace-in-file": "^6.0.0",
"request": "^2.88.2", "request": "^2.88.2",
"tmp-promise": "^3.0.2", "tmp-promise": "^3.0.2"
"typescript": "~4.8.0"
} }
} }

View file

@ -13,10 +13,11 @@
"url": "git+https://github.com/n8n-io/n8n.git" "url": "git+https://github.com/n8n-io/n8n.git"
}, },
"scripts": { "scripts": {
"dev": "npm run watch", "clean": "rimraf dist .turbo",
"dev": "pnpm watch",
"build": "tsc && gulp build:icons && gulp build:translations", "build": "tsc && gulp build:icons && gulp build:translations",
"build:translations": "gulp build:translations", "build:translations": "gulp build:translations",
"format": "cd ../.. && node_modules/prettier/bin-prettier.js --write \"packages/nodes-base/**/*.{ts,json}\"", "format": "prettier --write **/*.{ts,json}",
"lint": "tslint -p tsconfig.json -c tslint.json && eslint nodes credentials", "lint": "tslint -p tsconfig.json -c tslint.json && eslint nodes credentials",
"lintfix": "tslint --fix -p tsconfig.json -c tslint.json && eslint nodes credentials --fix", "lintfix": "tslint --fix -p tsconfig.json -c tslint.json && eslint nodes credentials --fix",
"watch": "tsc --watch", "watch": "tsc --watch",
@ -721,7 +722,6 @@
] ]
}, },
"devDependencies": { "devDependencies": {
"@n8n_io/eslint-config": "",
"@types/amqplib": "^0.8.2", "@types/amqplib": "^0.8.2",
"@types/aws4": "^1.5.1", "@types/aws4": "^1.5.1",
"@types/basic-auth": "^1.1.2", "@types/basic-auth": "^1.1.2",
@ -738,7 +738,6 @@
"@types/mailparser": "^2.7.3", "@types/mailparser": "^2.7.3",
"@types/mime-types": "^2.1.0", "@types/mime-types": "^2.1.0",
"@types/mssql": "^6.0.2", "@types/mssql": "^6.0.2",
"@types/node": "^16.11.22",
"@types/nodemailer": "^6.4.0", "@types/nodemailer": "^6.4.0",
"@types/promise-ftp": "^1.3.4", "@types/promise-ftp": "^1.3.4",
"@types/redis": "^2.8.11", "@types/redis": "^2.8.11",

View file

@ -24,10 +24,11 @@
"./*": "./*" "./*": "./*"
}, },
"scripts": { "scripts": {
"dev": "npm run watch", "clean": "rimraf dist .turbo",
"dev": "pnpm watch",
"typecheck": "tsc", "typecheck": "tsc",
"build": "tsc -p tsconfig.build.json", "build": "tsc -p tsconfig.build.json",
"format": "cd ../.. && node_modules/prettier/bin-prettier.js packages/workflow/**/**.ts --write", "format": "prettier **/**.ts --write",
"lint": "eslint .", "lint": "eslint .",
"lintfix": "eslint . --fix", "lintfix": "eslint . --fix",
"watch": "tsc --watch", "watch": "tsc --watch",
@ -38,17 +39,13 @@
"dist/**/*" "dist/**/*"
], ],
"devDependencies": { "devDependencies": {
"@n8n_io/eslint-config": "",
"@types/express": "^4.17.6", "@types/express": "^4.17.6",
"@types/jmespath": "^0.15.0", "@types/jmespath": "^0.15.0",
"@types/lodash.get": "^4.4.6", "@types/lodash.get": "^4.4.6",
"@types/lodash.merge": "^4.6.6", "@types/lodash.merge": "^4.6.6",
"@types/lodash.set": "^4.3.6", "@types/lodash.set": "^4.3.6",
"@types/luxon": "^2.0.9", "@types/luxon": "^2.0.9",
"@types/node": "^16.11.22", "@types/xml2js": "^0.4.3"
"@types/xml2js": "^0.4.3",
"prettier": "^2.3.2",
"typescript": "~4.8.0"
}, },
"dependencies": { "dependencies": {
"@n8n_io/riot-tmpl": "^1.0.1", "@n8n_io/riot-tmpl": "^1.0.1",

View file

@ -1,7 +1,7 @@
diff --git a/node_modules/quill/core/selection.js b/node_modules/quill/core/selection.js diff --git a/core/selection.js b/core/selection.js
index 9dfc94f..7719a41 100644 index 9dfc94f127529675d443fa9b2cfff52962b3c7b0..7719a4163992fcd7e043a122439ebece3036860d 100644
--- a/node_modules/quill/core/selection.js --- a/core/selection.js
+++ b/node_modules/quill/core/selection.js +++ b/core/selection.js
@@ -151,7 +151,7 @@ class Selection { @@ -151,7 +151,7 @@ class Selection {
} }
let side = 'left'; let side = 'left';
@ -27,10 +27,10 @@ index 9dfc94f..7719a41 100644
offset = node.data.length; offset = node.data.length;
} else if (node.childNodes.length > 0) { } else if (node.childNodes.length > 0) {
// Container case // Container case
diff --git a/node_modules/quill/dist/quill.core.js b/node_modules/quill/dist/quill.core.js diff --git a/dist/quill.core.js b/dist/quill.core.js
index 7c7891e..1a7fd8a 100644 index 7c7891e6e2a748ebea0daf7f5210fd3f10d759bc..977fa23f5e2ee5b0edfb05e95363c9fb57a5b0c6 100644
--- a/node_modules/quill/dist/quill.core.js --- a/dist/quill.core.js
+++ b/node_modules/quill/dist/quill.core.js +++ b/dist/quill.core.js
@@ -290,7 +290,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * @@ -290,7 +290,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) { /***/ (function(module, __webpack_exports__, __webpack_require__) {
@ -40,10 +40,10 @@ index 7c7891e..1a7fd8a 100644
/***/ }), /***/ }),
diff --git a/node_modules/quill/dist/quill.js b/node_modules/quill/dist/quill.js diff --git a/dist/quill.js b/dist/quill.js
index 2d45561..52e4303 100644 index 2d455617a699b1bee8bf81f3ef964f8499622977..0c46e3f6354d1aca2e69e494f8adda42126dc581 100644
--- a/node_modules/quill/dist/quill.js --- a/dist/quill.js
+++ b/node_modules/quill/dist/quill.js +++ b/dist/quill.js
@@ -620,7 +620,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * @@ -620,7 +620,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/***/ (function(module, __webpack_exports__, __webpack_require__) { /***/ (function(module, __webpack_exports__, __webpack_require__) {

22413
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load diff

3
pnpm-workspace.yaml Normal file
View file

@ -0,0 +1,3 @@
packages:
- packages/*
- packages/@n8n_io/*

View file

@ -8,7 +8,7 @@ const prettier = path.resolve('node_modules', 'prettier', 'bin-prettier.js');
if (!fs.existsSync(prettier)) { if (!fs.existsSync(prettier)) {
throw new Error( throw new Error(
[`Prettier not found at path: ${prettier}`, 'Please run `npm i` first'].join('\n'), [`Prettier not found at path: ${prettier}`, 'Please run `pnpm i` first'].join('\n'),
); );
} }

View file

@ -18,6 +18,7 @@
"incremental": true, "incremental": true,
"declaration": true, "declaration": true,
"sourceMap": true, "sourceMap": true,
"preserveSymlinks": true,
"skipLibCheck": true "skipLibCheck": true
}, },
"exclude": ["**/dist/**/*", "**/node_modules/**/*"] "exclude": ["**/dist/**/*", "**/node_modules/**/*"]

View file

@ -1,6 +1,9 @@
{ {
"$schema": "https://turborepo.org/schema.json", "$schema": "https://turborepo.org/schema.json",
"pipeline": { "pipeline": {
"clean": {
"cache": false
},
"build": { "build": {
"dependsOn": ["^build"] "dependsOn": ["^build"]
}, },