@nocobase/plugin-workflow 1.2.10-alpha → 1.2.12-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/externalVersion.js
CHANGED
|
@@ -11,24 +11,24 @@ module.exports = {
|
|
|
11
11
|
"react": "18.2.0",
|
|
12
12
|
"antd": "5.12.8",
|
|
13
13
|
"@ant-design/icons": "5.2.6",
|
|
14
|
-
"@nocobase/client": "1.2.
|
|
14
|
+
"@nocobase/client": "1.2.12-alpha",
|
|
15
15
|
"react-router-dom": "6.21.0",
|
|
16
|
-
"@nocobase/utils": "1.2.
|
|
16
|
+
"@nocobase/utils": "1.2.12-alpha",
|
|
17
17
|
"react-i18next": "11.18.6",
|
|
18
18
|
"@formily/core": "2.3.0",
|
|
19
19
|
"@formily/react": "2.3.0",
|
|
20
20
|
"lodash": "4.17.21",
|
|
21
|
-
"@nocobase/database": "1.2.
|
|
22
|
-
"@nocobase/server": "1.2.
|
|
23
|
-
"@nocobase/logger": "1.2.
|
|
24
|
-
"@nocobase/evaluators": "1.2.
|
|
21
|
+
"@nocobase/database": "1.2.12-alpha",
|
|
22
|
+
"@nocobase/server": "1.2.12-alpha",
|
|
23
|
+
"@nocobase/logger": "1.2.12-alpha",
|
|
24
|
+
"@nocobase/evaluators": "1.2.12-alpha",
|
|
25
25
|
"@formily/antd-v5": "1.1.9",
|
|
26
26
|
"@formily/reactive": "2.3.0",
|
|
27
27
|
"@formily/shared": "2.3.0",
|
|
28
|
-
"@nocobase/actions": "1.2.
|
|
29
|
-
"@nocobase/data-source-manager": "1.2.
|
|
28
|
+
"@nocobase/actions": "1.2.12-alpha",
|
|
29
|
+
"@nocobase/data-source-manager": "1.2.12-alpha",
|
|
30
30
|
"sequelize": "6.35.2",
|
|
31
|
-
"@nocobase/plugin-workflow-test": "1.2.
|
|
32
|
-
"@nocobase/test": "1.2.
|
|
31
|
+
"@nocobase/plugin-workflow-test": "1.2.12-alpha",
|
|
32
|
+
"@nocobase/test": "1.2.12-alpha",
|
|
33
33
|
"dayjs": "1.11.10"
|
|
34
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"cron-parser","version":"4.4.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^1.28.0"},"devDependencies":{"eslint":"^8.2.0","sinon":"^10.0.0","tap":"^16.0.1","tsd":"^0.19.0"},"engines":{"node":">=0.8"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"_lastModified":"2024-
|
|
1
|
+
{"name":"cron-parser","version":"4.4.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^1.28.0"},"devDependencies":{"eslint":"^8.2.0","sinon":"^10.0.0","tap":"^16.0.1","tsd":"^0.19.0"},"engines":{"node":">=0.8"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"_lastModified":"2024-07-05T09:20:21.229Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"8.0.5","author":"Isaac Z. Schlueter <i@izs.me>","keywords":["mru","lru","cache"],"sideEffects":false,"scripts":{"build":"npm run prepare","preprepare":"rm -rf dist","prepare":"tsc -p tsconfig.json && tsc -p tsconfig-esm.json","postprepare":"bash fixup.sh","pretest":"npm run prepare","presnap":"npm run prepare","test":"c8 tap","snap":"c8 tap","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","format":"prettier --write .","typedoc":"typedoc --tsconfig tsconfig-esm.json ./src/*.ts","benchmark-results-typedoc":"bash scripts/benchmark-results-typedoc.sh","prebenchmark":"npm run prepare","benchmark":"make -C benchmark","preprofile":"npm run prepare","profile":"make -C benchmark profile"},"main":"./dist/cjs/index-cjs.js","module":"./dist/mjs/index.js","types":"./dist/mjs/index.d.ts","exports":{"./min":{"import":{"types":"./dist/mjs/index.d.ts","default":"./dist/mjs/index.min.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.min.js"}},".":{"import":{"types":"./dist/mjs/index.d.ts","default":"./dist/mjs/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index-cjs.js"}}},"repository":"git://github.com/isaacs/node-lru-cache.git","devDependencies":{"@size-limit/preset-small-lib":"^7.0.8","@types/node":"^17.0.31","@types/tap":"^15.0.6","benchmark":"^2.1.4","c8":"^7.11.2","clock-mock":"^1.0.6","esbuild":"^0.17.11","eslint-config-prettier":"^8.5.0","marked":"^4.2.12","mkdirp":"^2.1.5","prettier":"^2.6.2","size-limit":"^7.0.8","tap":"^16.3.4","ts-node":"^10.7.0","tslib":"^2.4.0","typedoc":"^0.23.24","typescript":"^4.6.4"},"license":"ISC","files":["dist"],"engines":{"node":">=16.14"},"prettier":{"semi":false,"printWidth":70,"tabWidth":2,"useTabs":false,"singleQuote":true,"jsxSingleQuote":false,"bracketSameLine":true,"arrowParens":"avoid","endOfLine":"lf"},"tap":{"coverage":false,"node-arg":["--expose-gc","--no-warnings","--loader","ts-node/esm"],"ts":false},"size-limit":[{"path":"./dist/mjs/index.js"}],"_lastModified":"2024-
|
|
1
|
+
{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"8.0.5","author":"Isaac Z. Schlueter <i@izs.me>","keywords":["mru","lru","cache"],"sideEffects":false,"scripts":{"build":"npm run prepare","preprepare":"rm -rf dist","prepare":"tsc -p tsconfig.json && tsc -p tsconfig-esm.json","postprepare":"bash fixup.sh","pretest":"npm run prepare","presnap":"npm run prepare","test":"c8 tap","snap":"c8 tap","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","format":"prettier --write .","typedoc":"typedoc --tsconfig tsconfig-esm.json ./src/*.ts","benchmark-results-typedoc":"bash scripts/benchmark-results-typedoc.sh","prebenchmark":"npm run prepare","benchmark":"make -C benchmark","preprofile":"npm run prepare","profile":"make -C benchmark profile"},"main":"./dist/cjs/index-cjs.js","module":"./dist/mjs/index.js","types":"./dist/mjs/index.d.ts","exports":{"./min":{"import":{"types":"./dist/mjs/index.d.ts","default":"./dist/mjs/index.min.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.min.js"}},".":{"import":{"types":"./dist/mjs/index.d.ts","default":"./dist/mjs/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index-cjs.js"}}},"repository":"git://github.com/isaacs/node-lru-cache.git","devDependencies":{"@size-limit/preset-small-lib":"^7.0.8","@types/node":"^17.0.31","@types/tap":"^15.0.6","benchmark":"^2.1.4","c8":"^7.11.2","clock-mock":"^1.0.6","esbuild":"^0.17.11","eslint-config-prettier":"^8.5.0","marked":"^4.2.12","mkdirp":"^2.1.5","prettier":"^2.6.2","size-limit":"^7.0.8","tap":"^16.3.4","ts-node":"^10.7.0","tslib":"^2.4.0","typedoc":"^0.23.24","typescript":"^4.6.4"},"license":"ISC","files":["dist"],"engines":{"node":">=16.14"},"prettier":{"semi":false,"printWidth":70,"tabWidth":2,"useTabs":false,"singleQuote":true,"jsxSingleQuote":false,"bracketSameLine":true,"arrowParens":"avoid","endOfLine":"lf"},"tap":{"coverage":false,"node-arg":["--expose-gc","--no-warnings","--loader","ts-node/esm"],"ts":false},"size-limit":[{"path":"./dist/mjs/index.js"}],"_lastModified":"2024-07-05T09:20:20.867Z"}
|
package/dist/server/Plugin.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ type ID = number | string;
|
|
|
19
19
|
type EventOptions = {
|
|
20
20
|
eventKey?: string;
|
|
21
21
|
context?: any;
|
|
22
|
+
deferred?: boolean;
|
|
22
23
|
[key: string]: any;
|
|
23
24
|
} & Transactionable;
|
|
24
25
|
export default class PluginWorkflowServer extends Plugin {
|
|
@@ -61,6 +62,11 @@ export default class PluginWorkflowServer extends Plugin {
|
|
|
61
62
|
trigger(workflow: WorkflowModel, context: object, options?: EventOptions): void | Promise<Processor | null>;
|
|
62
63
|
private triggerSync;
|
|
63
64
|
resume(job: any): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Start a deferred execution
|
|
67
|
+
* @experimental
|
|
68
|
+
*/
|
|
69
|
+
start(execution: ExecutionModel): void;
|
|
64
70
|
createProcessor(execution: ExecutionModel, options?: {}): Processor;
|
|
65
71
|
private createExecution;
|
|
66
72
|
private prepare;
|
package/dist/server/Plugin.js
CHANGED
|
@@ -302,7 +302,7 @@ class PluginWorkflowServer extends import_server.Plugin {
|
|
|
302
302
|
}
|
|
303
303
|
setTimeout(this.prepare);
|
|
304
304
|
}
|
|
305
|
-
async triggerSync(workflow, context, options = {}) {
|
|
305
|
+
async triggerSync(workflow, context, { deferred, ...options } = {}) {
|
|
306
306
|
let execution;
|
|
307
307
|
try {
|
|
308
308
|
execution = await this.createExecution(workflow, context, options);
|
|
@@ -327,11 +327,22 @@ class PluginWorkflowServer extends import_server.Plugin {
|
|
|
327
327
|
this.pending.push([job.execution, job]);
|
|
328
328
|
this.dispatch();
|
|
329
329
|
}
|
|
330
|
+
/**
|
|
331
|
+
* Start a deferred execution
|
|
332
|
+
* @experimental
|
|
333
|
+
*/
|
|
334
|
+
start(execution) {
|
|
335
|
+
if (execution.status !== import_constants.EXECUTION_STATUS.STARTED) {
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
this.pending.push([execution]);
|
|
339
|
+
this.dispatch();
|
|
340
|
+
}
|
|
330
341
|
createProcessor(execution, options = {}) {
|
|
331
342
|
return new import_Processor.default(execution, { ...options, plugin: this });
|
|
332
343
|
}
|
|
333
344
|
async createExecution(workflow, context, options) {
|
|
334
|
-
const { transaction = await this.db.sequelize.transaction() } = options;
|
|
345
|
+
const { transaction = await this.db.sequelize.transaction(), deferred } = options;
|
|
335
346
|
const trigger = this.triggers.get(workflow.type);
|
|
336
347
|
const valid = await trigger.validateEvent(workflow, context, { ...options, transaction });
|
|
337
348
|
if (!valid) {
|
|
@@ -347,7 +358,7 @@ class PluginWorkflowServer extends import_server.Plugin {
|
|
|
347
358
|
context,
|
|
348
359
|
key: workflow.key,
|
|
349
360
|
eventKey: options.eventKey ?? (0, import_crypto.randomUUID)(),
|
|
350
|
-
status: import_constants.EXECUTION_STATUS.QUEUEING
|
|
361
|
+
status: deferred ? import_constants.EXECUTION_STATUS.STARTED : import_constants.EXECUTION_STATUS.QUEUEING
|
|
351
362
|
},
|
|
352
363
|
{ transaction }
|
|
353
364
|
);
|
|
@@ -393,7 +404,7 @@ class PluginWorkflowServer extends import_server.Plugin {
|
|
|
393
404
|
logger.info(`preparing execution for event`);
|
|
394
405
|
try {
|
|
395
406
|
const execution = await this.createExecution(...event);
|
|
396
|
-
if (execution && !this.executing && !this.pending.length) {
|
|
407
|
+
if ((execution == null ? void 0 : execution.status) === import_constants.EXECUTION_STATUS.QUEUEING && !this.executing && !this.pending.length) {
|
|
397
408
|
this.pending.push([execution]);
|
|
398
409
|
}
|
|
399
410
|
} catch (err) {
|
package/package.json
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
"displayName.zh-CN": "工作流",
|
|
5
5
|
"description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.",
|
|
6
6
|
"description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。",
|
|
7
|
-
"version": "1.2.
|
|
7
|
+
"version": "1.2.12-alpha",
|
|
8
8
|
"license": "AGPL-3.0",
|
|
9
9
|
"main": "./dist/server/index.js",
|
|
10
10
|
"homepage": "https://docs.nocobase.com/handbook/workflow",
|
|
11
11
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@nocobase/plugin-workflow-test": "1.2.
|
|
13
|
+
"@nocobase/plugin-workflow-test": "1.2.12-alpha"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
16
|
"@ant-design/icons": "5.x",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@nocobase/test": "1.x",
|
|
45
45
|
"@nocobase/utils": "1.x"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "553231d4882496cb7f1f17fa7541899ce82a27ab",
|
|
48
48
|
"keywords": [
|
|
49
49
|
"Workflow"
|
|
50
50
|
]
|