@openfn/project 0.8.0 → 0.9.0
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/index.js +26 -7
- package/dist/workflow.ohm +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -258,7 +258,7 @@ function to_json_default(project) {
|
|
|
258
258
|
}
|
|
259
259
|
|
|
260
260
|
// src/serialize/to-app-state.ts
|
|
261
|
-
import { pick, omitBy, isNil } from "lodash-es";
|
|
261
|
+
import { pick, omitBy, isNil, sortBy } from "lodash-es";
|
|
262
262
|
import { randomUUID } from "node:crypto";
|
|
263
263
|
|
|
264
264
|
// src/util/rename-keys.ts
|
|
@@ -286,6 +286,10 @@ function jsonToYaml(json) {
|
|
|
286
286
|
}
|
|
287
287
|
|
|
288
288
|
// src/serialize/to-app-state.ts
|
|
289
|
+
var defaultJobProps = {
|
|
290
|
+
keychain_credential_id: null,
|
|
291
|
+
project_credential_id: null
|
|
292
|
+
};
|
|
289
293
|
function to_app_state_default(project, options = {}) {
|
|
290
294
|
const { uuid, endpoint, env, ...rest } = project.openfn ?? {};
|
|
291
295
|
const state = omitBy(
|
|
@@ -327,7 +331,7 @@ var mapWorkflow = (workflow) => {
|
|
|
327
331
|
obj[next.id] = next.openfn.uuid;
|
|
328
332
|
return obj;
|
|
329
333
|
}, {});
|
|
330
|
-
workflow.steps.forEach((s) => {
|
|
334
|
+
sortBy(workflow.steps, "name").forEach((s) => {
|
|
331
335
|
let isTrigger = false;
|
|
332
336
|
let node;
|
|
333
337
|
if (s.type && !s.expression) {
|
|
@@ -341,12 +345,10 @@ var mapWorkflow = (workflow) => {
|
|
|
341
345
|
node = omitBy(pick(s, ["name", "adaptor"]), isNil);
|
|
342
346
|
const { uuid: uuid2, ...otherOpenFnProps } = s.openfn ?? {};
|
|
343
347
|
node.id = uuid2;
|
|
344
|
-
Object.assign(node, otherOpenFnProps);
|
|
345
348
|
if (s.expression) {
|
|
346
349
|
node.body = s.expression;
|
|
347
350
|
}
|
|
348
|
-
node
|
|
349
|
-
node.keychain_credential_id = null;
|
|
351
|
+
Object.assign(node, defaultJobProps, otherOpenFnProps);
|
|
350
352
|
wfState.jobs.push(node);
|
|
351
353
|
}
|
|
352
354
|
Object.keys(s.next ?? {}).forEach((next) => {
|
|
@@ -374,6 +376,7 @@ var mapWorkflow = (workflow) => {
|
|
|
374
376
|
wfState.edges.push(e);
|
|
375
377
|
});
|
|
376
378
|
});
|
|
379
|
+
wfState.edges = sortBy(wfState.edges, "id");
|
|
377
380
|
return wfState;
|
|
378
381
|
};
|
|
379
382
|
|
|
@@ -544,7 +547,7 @@ var handleOutput = (data, filePath, format) => {
|
|
|
544
547
|
};
|
|
545
548
|
|
|
546
549
|
// src/parse/from-app-state.ts
|
|
547
|
-
var from_app_state_default = (state, meta, config = {}) => {
|
|
550
|
+
var from_app_state_default = (state, meta = {}, config = {}) => {
|
|
548
551
|
let stateJson;
|
|
549
552
|
if (typeof state === "string") {
|
|
550
553
|
if (config.format === "yaml") {
|
|
@@ -1399,6 +1402,17 @@ import { readFileSync as readFileSync2 } from "node:fs";
|
|
|
1399
1402
|
import { grammar } from "ohm-js";
|
|
1400
1403
|
import { isNil as isNil3, set } from "lodash-es";
|
|
1401
1404
|
var parser;
|
|
1405
|
+
var expectedNodeProps = [
|
|
1406
|
+
// TODO need to clarify adaptor/adaptors confusion
|
|
1407
|
+
"adaptor",
|
|
1408
|
+
"adaptors",
|
|
1409
|
+
"expression",
|
|
1410
|
+
"condition",
|
|
1411
|
+
"label",
|
|
1412
|
+
"type",
|
|
1413
|
+
"disabled",
|
|
1414
|
+
"name"
|
|
1415
|
+
];
|
|
1402
1416
|
var initOperations = (options = {}) => {
|
|
1403
1417
|
let nodes = {};
|
|
1404
1418
|
const uuidMap = options.uuidMap ?? {};
|
|
@@ -1472,7 +1486,12 @@ var initOperations = (options = {}) => {
|
|
|
1472
1486
|
const name = nameNode.sourceString;
|
|
1473
1487
|
const node = buildNode(name);
|
|
1474
1488
|
props.buildWorkflow().forEach(([key, value]) => {
|
|
1475
|
-
|
|
1489
|
+
if (expectedNodeProps.includes(key)) {
|
|
1490
|
+
nodes[name][key] = value;
|
|
1491
|
+
} else {
|
|
1492
|
+
nodes[name].openfn ??= {};
|
|
1493
|
+
nodes[name].openfn[key] = value;
|
|
1494
|
+
}
|
|
1476
1495
|
});
|
|
1477
1496
|
return node;
|
|
1478
1497
|
},
|
package/dist/workflow.ohm
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openfn/project",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Read, serialize, replicate and sync OpenFn projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"lodash-es": "^4.17.21",
|
|
35
35
|
"ohm-js": "^17.2.1",
|
|
36
36
|
"yaml": "^2.2.2",
|
|
37
|
-
"@openfn/
|
|
38
|
-
"@openfn/
|
|
37
|
+
"@openfn/lexicon": "^1.2.6",
|
|
38
|
+
"@openfn/logger": "1.0.6"
|
|
39
39
|
},
|
|
40
40
|
"files": [
|
|
41
41
|
"dist",
|