- Store up to 50 revisions per workflow in SQLite with normalized SHA dedup - Soft-delete workflows to trash (7-day retention) with restore and permanent purge - Assign UUID filenames for new and duplicated workflows; show name + file in UI - Warn on invalid YAML, unknown scripts, and plaintext secrets with save-anyway option - Add workflow backup zip (workflows + plugins) and merge/replace restore - Trash page, history panel on editor, and smoke test Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
46 lines
1.4 KiB
JSON
46 lines
1.4 KiB
JSON
{
|
|
"name": "@jerapah-flow/server",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"main": "runner.js",
|
|
"scripts": {
|
|
"dev": "node --watch runner.js",
|
|
"dev:pm2": "node dev-pm2.mjs",
|
|
"start": "node runner.js",
|
|
"start:api": "node server.js",
|
|
"start:worker": "node worker.js",
|
|
"start:control": "node control.js",
|
|
"migrate": "node -e \"import('./db.js').then((m) => m.migrate().then(() => process.exit(0)))\"",
|
|
"test:plugins": "JFLOW_PLUGINS_DIR=./data/plugins-smoke-test JFLOW_DB_PATH=./data/plugins-smoke.db node test/plugins-smoke.js",
|
|
"test:workflow-history": "node test/workflow-history-smoke.js"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.1111.0",
|
|
"@aws-sdk/s3-request-presigner": "^3.1111.0",
|
|
"@fastify/cookie": "^11.0.2",
|
|
"@fastify/cors": "^11.1.0",
|
|
"@fastify/jwt": "^9.1.0",
|
|
"@fastify/static": "^8.2.0",
|
|
"axios": "^1.19.0",
|
|
"basic-ftp": "^6.2.0",
|
|
"bcryptjs": "^3.0.2",
|
|
"better-sqlite3": "^13.0.3",
|
|
"bullmq": "^6.1.2",
|
|
"fastify": "^5.12.0",
|
|
"ioredis": "^6.0.0",
|
|
"jsonata": "^2.2.2",
|
|
"knex": "^3.3.0",
|
|
"mustache": "^4.2.0",
|
|
"node-cron": "^4.6.0",
|
|
"node-html-parser": "^9.0.1",
|
|
"nodemailer": "^9.0.5",
|
|
"pino": "^10.3.1",
|
|
"pino-roll": "^4.0.0",
|
|
"pm2": "^6.0.13",
|
|
"ssh2-sftp-client": "^12.1.1",
|
|
"webdav": "^5.10.0",
|
|
"yaml": "^2.9.0"
|
|
}
|
|
}
|