n8n/packages/cli/package.json
Iván Ovejero f53c482939
perf(core): Improve caching service (#8213)
Story: https://linear.app/n8n/issue/PAY-1188

- Implement Redis hashes on the caching service, based on Micha's work
in #7747, adapted from `node-cache-manager-ioredis-yet`. Optimize
workflow ownership lookups and manual webhook lookups with Redis hashes.
- Simplify the caching service by removing all currently unused methods
and options: `enable`, `disable`, `getCache`, `keys`, `keyValues`,
`refreshFunctionEach`, `refreshFunctionMany`, `refreshTtl`, etc.
- Remove the flag `N8N_CACHE_ENABLED`. Currently some features on
`master` are broken with caching disabled, and test webhooks now rely
entirely on caching, for multi-main setup support. We originally
introduced this flag to protect against excessive memory usage, but
total cache usage is low enough that we decided to drop this setting.
Apparently this flag was also never documented.
- Overall caching service refactor: use generics, reduce branching, add
discriminants for cache kinds for better type safety, type caching
events, improve readability, remove outdated docs, etc. Also refactor
and expand caching service tests.

Follow-up to: https://github.com/n8n-io/n8n/pull/8176

---------

Co-authored-by: Michael Auerswald <michael.auerswald@gmail.com>
2024-01-05 11:52:44 +01:00

196 lines
5.9 KiB
JSON

{
"name": "n8n",
"version": "1.23.0",
"description": "n8n Workflow Automation Tool",
"license": "SEE LICENSE IN LICENSE.md",
"homepage": "https://n8n.io",
"author": {
"name": "Jan Oberhauser",
"email": "jan@n8n.io"
},
"repository": {
"type": "git",
"url": "git+https://github.com/n8n-io/n8n.git"
},
"main": "dist/index",
"types": "dist/index.d.ts",
"oclif": {
"commands": "./dist/commands",
"bin": "n8n"
},
"scripts": {
"clean": "rimraf dist .turbo",
"typecheck": "tsc",
"build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && node scripts/build.mjs",
"buildAndDev": "pnpm run build && pnpm run dev",
"dev": "concurrently -k -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold\" \"npm run watch\" \"nodemon\"",
"dev:worker": "concurrently -k -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold\" \"npm run watch\" \"nodemon worker\"",
"dev:webhook": "concurrently -k -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold\" \"npm run watch\" \"nodemon webhook\"",
"format": "prettier --write . --ignore-path ../../.prettierignore",
"lint": "eslint . --quiet",
"lintfix": "eslint . --fix",
"postpack": "rm -f oclif.manifest.json",
"prepack": "OCLIF_TS_NODE=0 oclif-dev manifest",
"start": "run-script-os",
"start:default": "cd bin && ./n8n",
"start:windows": "cd bin && n8n",
"swagger": "swagger-cli",
"test": "pnpm test:sqlite",
"test:sqlite": "N8N_LOG_LEVEL=silent DB_TYPE=sqlite jest",
"test:postgres": "N8N_LOG_LEVEL=silent DB_TYPE=postgresdb DB_POSTGRESDB_SCHEMA=alt_schema DB_TABLE_PREFIX=test_ jest --no-coverage",
"test:mysql": "N8N_LOG_LEVEL=silent DB_TYPE=mysqldb DB_TABLE_PREFIX=test_ jest --no-coverage",
"watch": "concurrently \"tsc -w -p tsconfig.build.json\" \"tsc-alias -w -p tsconfig.build.json\"",
"typeorm": "ts-node -T ../../node_modules/typeorm/cli.js"
},
"bin": {
"n8n": "./bin/n8n"
},
"keywords": [
"automate",
"automation",
"IaaS",
"iPaaS",
"n8n",
"workflow"
],
"engines": {
"node": ">=18.10"
},
"files": [
"bin",
"templates",
"dist",
"oclif.manifest.json",
"!dist/**/e2e.*"
],
"devDependencies": {
"@apidevtools/swagger-cli": "4.0.0",
"@oclif/dev-cli": "^1.22.2",
"@types/basic-auth": "^1.1.3",
"@types/bcryptjs": "^2.4.2",
"@types/compression": "1.0.1",
"@types/connect-history-api-fallback": "^1.3.1",
"@types/convict": "^6.1.1",
"@types/cookie-parser": "^1.4.2",
"@types/express": "^4.17.6",
"@types/formidable": "^3.4.0",
"@types/json-diff": "^1.0.0",
"@types/jsonwebtoken": "^9.0.1",
"@types/lodash": "^4.14.195",
"@types/passport-jwt": "^3.0.6",
"@types/psl": "^1.1.0",
"@types/replacestream": "^4.0.1",
"@types/send": "^0.17.1",
"@types/shelljs": "^0.8.11",
"@types/sshpk": "^1.17.1",
"@types/superagent": "4.1.13",
"@types/swagger-ui-express": "^4.1.3",
"@types/syslog-client": "^1.1.2",
"@types/uuid": "^8.3.2",
"@types/validator": "^13.7.0",
"@types/ws": "^8.5.4",
"@types/xml2js": "^0.4.11",
"@types/yamljs": "^0.2.31",
"chokidar": "^3.5.2",
"concurrently": "^8.2.0",
"ioredis-mock": "^8.8.1",
"ts-essentials": "^7.0.3"
},
"dependencies": {
"@n8n/client-oauth2": "workspace:*",
"@n8n/localtunnel": "2.1.0",
"@n8n/permissions": "workspace:*",
"@n8n_io/license-sdk": "2.7.2",
"@oclif/command": "1.8.18",
"@oclif/config": "1.18.17",
"@oclif/core": "1.16.6",
"@oclif/errors": "1.3.6",
"@rudderstack/rudder-sdk-node": "1.0.6",
"@sentry/integrations": "7.87.0",
"@sentry/node": "7.87.0",
"axios": "1.6.2",
"basic-auth": "2.0.1",
"bcryptjs": "2.4.3",
"bull": "4.10.2",
"cache-manager": "5.2.3",
"callsites": "3.1.0",
"change-case": "4.1.2",
"class-transformer": "0.5.1",
"class-validator": "0.14.0",
"compression": "1.7.4",
"connect-history-api-fallback": "1.6.0",
"convict": "6.2.4",
"cookie-parser": "1.4.6",
"csrf": "3.1.0",
"curlconverter": "3.21.0",
"dotenv": "8.6.0",
"express": "4.18.2",
"express-async-errors": "3.1.1",
"express-handlebars": "7.0.2",
"express-openapi-validator": "4.13.8",
"express-prom-bundle": "6.6.0",
"express-rate-limit": "7.1.3",
"fast-glob": "3.2.12",
"flatted": "3.2.7",
"formidable": "3.5.0",
"google-timezones-json": "1.1.0",
"handlebars": "4.7.7",
"infisical-node": "1.3.0",
"inquirer": "7.3.3",
"ioredis": "5.2.4",
"isbot": "3.6.13",
"json-diff": "1.0.6",
"jsonschema": "1.4.1",
"jsonwebtoken": "9.0.0",
"jwks-rsa": "3.0.1",
"ldapts": "4.2.6",
"lodash": "4.17.21",
"luxon": "3.3.0",
"mysql2": "2.3.3",
"n8n-core": "workspace:*",
"n8n-editor-ui": "workspace:*",
"n8n-nodes-base": "workspace:*",
"@n8n/n8n-nodes-langchain": "workspace:*",
"n8n-workflow": "workspace:*",
"nanoid": "3.3.6",
"nodemailer": "6.8.0",
"oauth-1.0a": "2.2.6",
"open": "7.4.2",
"openapi-types": "10.0.0",
"otpauth": "9.1.1",
"p-cancelable": "2.1.1",
"p-lazy": "3.1.0",
"passport": "0.6.0",
"passport-cookie": "1.0.9",
"passport-jwt": "4.0.1",
"pg": "8.8.0",
"picocolors": "1.0.0",
"pkce-challenge": "3.0.0",
"posthog-node": "3.2.1",
"prom-client": "13.2.0",
"psl": "1.9.0",
"raw-body": "2.5.1",
"reflect-metadata": "0.1.13",
"replacestream": "4.0.3",
"samlify": "2.8.9",
"semver": "7.5.4",
"shelljs": "0.8.5",
"simple-git": "3.17.0",
"source-map-support": "0.5.21",
"sqlite3": "5.1.6",
"sse-channel": "4.0.0",
"sshpk": "1.17.0",
"swagger-ui-express": "4.5.0",
"syslog-client": "1.1.1",
"typedi": "0.10.0",
"typeorm": "0.3.17",
"uuid": "8.3.2",
"validator": "13.7.0",
"winston": "3.8.2",
"ws": "8.12.0",
"xml2js": "0.5.0",
"xmllint-wasm": "3.0.1",
"yamljs": "0.3.0"
}
}