noflo 1.4.3 → 1.5.1

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.
Files changed (90) hide show
  1. package/.ecrc +3 -0
  2. package/.eslintignore +2 -0
  3. package/{CHANGES.md → CHANGELOG.md} +527 -527
  4. package/README.md +1 -1
  5. package/bin/noflo-cache-preheat +4 -4
  6. package/components/Graph.d.ts +50 -15
  7. package/components/Graph.js +94 -68
  8. package/examples/http/HelloController.js +9 -6
  9. package/examples/spreadsheet/parse.fbp +3 -3
  10. package/lib/AsCallback.d.ts +22 -9
  11. package/lib/AsCallback.js +69 -18
  12. package/lib/AsComponent.d.ts +1 -1
  13. package/lib/AsComponent.js +5 -3
  14. package/lib/BaseNetwork.d.ts +16 -6
  15. package/lib/BaseNetwork.js +65 -31
  16. package/lib/BasePort.d.ts +39 -12
  17. package/lib/BasePort.js +34 -6
  18. package/lib/Component.d.ts +8 -8
  19. package/lib/Component.js +23 -20
  20. package/lib/ComponentLoader.d.ts +3 -4
  21. package/lib/ComponentLoader.js +9 -10
  22. package/lib/IP.d.ts +12 -8
  23. package/lib/IP.js +6 -4
  24. package/lib/InPort.d.ts +64 -9
  25. package/lib/InPort.js +72 -13
  26. package/lib/InternalSocket.d.ts +53 -7
  27. package/lib/InternalSocket.js +51 -14
  28. package/lib/LegacyNetwork.d.ts +12 -2
  29. package/lib/LegacyNetwork.js +5 -5
  30. package/lib/Network.d.ts +13 -2
  31. package/lib/Network.js +10 -10
  32. package/lib/NoFlo.d.ts +48 -13
  33. package/lib/NoFlo.js +55 -27
  34. package/lib/OutPort.d.ts +64 -13
  35. package/lib/OutPort.js +73 -15
  36. package/lib/Platform.d.ts +1 -1
  37. package/lib/Platform.js +9 -4
  38. package/lib/Ports.d.ts +11 -12
  39. package/lib/Ports.js +8 -4
  40. package/lib/ProcessInput.d.ts +5 -9
  41. package/lib/ProcessInput.js +8 -9
  42. package/lib/ProcessOutput.d.ts +2 -2
  43. package/lib/ProcessOutput.js +5 -5
  44. package/lib/loader/NodeJs.d.ts +0 -1
  45. package/lib/loader/NodeJs.js +152 -161
  46. package/lib/loader/register.d.ts +1 -1
  47. package/lib/loader/register.js +8 -4
  48. package/package.json +25 -16
  49. package/spec/.eslintrc +5 -2
  50. package/spec/AsCallback.js +9 -13
  51. package/spec/AsComponent.js +10 -4
  52. package/spec/AsPromise.js +38 -0
  53. package/spec/CommonJS.cjs +10 -0
  54. package/spec/ComponentLoader.js +19 -7
  55. package/spec/ESModule.mjs +11 -0
  56. package/spec/Network.js +32 -11
  57. package/spec/NetworkSync.js +892 -0
  58. package/spec/Scoping.js +27 -42
  59. package/spec/Subgraph.js +6 -11
  60. package/spec/fixtures/componentloader/components/Output.js +1 -1
  61. package/spec/fixtures/componentloader/components/Repeat.ts +1 -1
  62. package/spec/fixtures/componentloader/components/RepeatAsync.coffee +1 -1
  63. package/spec/fixtures/componentloader/node_modules/example/components/Forward.js +1 -1
  64. package/spec/fixtures/componentloader/node_modules/example/package.json +1 -1
  65. package/spec/fixtures/componentloader/package.json +2 -1
  66. package/spec/fixtures/componentloader/spec/Repeat.yaml +1 -1
  67. package/spec/utils/inject.js +1 -1
  68. package/src/.eslintrc +9 -2
  69. package/src/components/Graph.js +105 -71
  70. package/src/lib/AsCallback.js +71 -16
  71. package/src/lib/AsComponent.js +5 -4
  72. package/src/lib/BaseNetwork.js +48 -15
  73. package/src/lib/BasePort.js +43 -9
  74. package/src/lib/Component.js +8 -8
  75. package/src/lib/ComponentLoader.js +3 -4
  76. package/src/lib/IP.js +7 -4
  77. package/src/lib/InPort.js +74 -13
  78. package/src/lib/InternalSocket.js +49 -9
  79. package/src/lib/LegacyNetwork.js +2 -2
  80. package/src/lib/Network.js +2 -2
  81. package/src/lib/NoFlo.js +43 -13
  82. package/src/lib/OutPort.js +77 -14
  83. package/src/lib/Platform.js +9 -4
  84. package/src/lib/Ports.js +6 -2
  85. package/src/lib/ProcessInput.js +7 -9
  86. package/src/lib/ProcessOutput.js +1 -1
  87. package/src/lib/loader/NodeJs.js +185 -178
  88. package/src/lib/loader/register.js +2 -2
  89. /package/{karma.config.js → karma.config.cjs} +0 -0
  90. /package/{webpack.config.js → webpack.config.cjs} +0 -0
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "noflo"
9
9
  ],
10
10
  "author": "Henri Bergius <henri.bergius@iki.fi>",
11
- "version": "1.4.3",
11
+ "version": "1.5.1",
12
12
  "license": "MIT",
13
13
  "engines": {
14
14
  "node": ">= 6"
@@ -17,7 +17,7 @@
17
17
  "debug": "^4.0.1",
18
18
  "fbp": "^1.5.0",
19
19
  "fbp-graph": "^0.7.0",
20
- "fbp-manifest": "^0.2.7",
20
+ "fbp-manifest": "^0.3.1",
21
21
  "get-function-params": "^2.0.6"
22
22
  },
23
23
  "devDependencies": {
@@ -25,29 +25,34 @@
25
25
  "@types/node": "^14.14.2",
26
26
  "chai": "^4.0.0",
27
27
  "coffeescript": "^2.2.1",
28
- "coveralls": "^3.0.0",
29
- "eslint": "^7.7.0",
30
- "eslint-config-airbnb-base": "^14.2.0",
28
+ "coveralls": "^2.7.1",
29
+ "eslint": "^8.2.0",
30
+ "eslint-config-airbnb-base": "^15.0.0",
31
31
  "eslint-plugin-import": "^2.22.0",
32
32
  "events": "^3.2.0",
33
33
  "flowtrace": "^0.1.8",
34
- "karma": "^5.1.1",
34
+ "karma": "^6.0.0",
35
35
  "karma-chai": "^0.1.0",
36
36
  "karma-chrome-launcher": "^3.1.0",
37
37
  "karma-mocha": "^2.0.1",
38
38
  "karma-mocha-reporter": "^2.2.5",
39
39
  "mocha": "^8.1.3",
40
40
  "noflo-component-loader": "^0.4.0",
41
- "nyc": "^15.1.0",
41
+ "nyc": "^14.1.1",
42
42
  "path-browserify": "^1.0.1",
43
43
  "process": "^0.11.10",
44
- "replace": "^1.2.0",
44
+ "replace": "^0.2.2",
45
45
  "typescript": "^4.0.2",
46
46
  "util": "^0.12.3",
47
47
  "webpack": "^5.0.0",
48
48
  "webpack-cli": "^4.0.0"
49
49
  },
50
- "main": "./lib/NoFlo",
50
+ "main": "./src/lib/NoFlo",
51
+ "module": "./src/lib/NoFlo.js",
52
+ "exports": {
53
+ "import": "./src/lib/NoFlo.js",
54
+ "require": "./lib/NoFlo.js"
55
+ },
51
56
  "types": "./lib/NoFlo.d.ts",
52
57
  "bin": {
53
58
  "noflo": "./bin/noflo",
@@ -60,14 +65,18 @@
60
65
  },
61
66
  "scripts": {
62
67
  "lint": "eslint .",
68
+ "prebuild:node": "replace 'import.meta.dirname' '__dirname' src/lib/loader/NodeJs.js && replace 'import getParams from' 'import * as getParams from' src/lib/AsComponent.js",
63
69
  "build:node": "tsc",
64
- "build:browser": "webpack",
70
+ "postbuild:node": "replace '__dirname' 'import.meta.dirname' src/lib/loader/NodeJs.js && replace 'import \\* as getParams from' 'import getParams from' src/lib/AsComponent.js",
71
+ "build:browser": "webpack --config webpack.config.cjs",
65
72
  "build": "npm run build:node && npm run build:browser",
66
73
  "postbuild": "replace 'node/events' 'events' lib -r",
67
74
  "pretest": "npm run lint && npm run build",
68
- "test:node": "nyc mocha --require spec/utils/inject.js spec",
69
- "test:browser": "karma start karma.config.js",
70
- "test": "npm run test:node && npm run test:browser"
75
+ "test:esmodules": "node --test spec/*.mjs",
76
+ "test:commonjs": "node --test spec/*.cjs",
77
+ "test:node": "nyc mocha --require spec/utils/inject.js spec/*.js",
78
+ "test:browser": "karma start karma.config.cjs",
79
+ "test": "npm run test:esmodules && npm run test:commonjs && npm run test:node && npm run test:browser"
71
80
  },
72
81
  "docco_husky": {
73
82
  "output_dir": "docs",
@@ -75,9 +84,9 @@
75
84
  },
76
85
  "nyc": {
77
86
  "include": [
78
- "components/*.js",
79
- "lib/*.js",
80
- "lib/**/*.js"
87
+ "src/components/*.js",
88
+ "src/lib/*.js",
89
+ "src/lib/**/*.js"
81
90
  ]
82
91
  }
83
92
  }
package/spec/.eslintrc CHANGED
@@ -7,6 +7,7 @@
7
7
  "global-require": 0,
8
8
  "import/no-extraneous-dependencies": 0,
9
9
  "import/no-unresolved": 0,
10
+ "import/extensions": 0,
10
11
  "no-console": 0,
11
12
  "no-param-reassign": 0,
12
13
  "no-plusplus": 0,
@@ -15,6 +16,8 @@
15
16
  "no-shadow": 0,
16
17
  "no-undef": 0,
17
18
  "no-unused-expressions": 0,
18
- "prefer-destructuring": 0
19
+ "prefer-destructuring": 0,
20
+ "function-paren-newline": 0,
21
+ "function-call-argument-newline": 0
19
22
  }
20
- }
23
+ }
@@ -70,20 +70,16 @@ describe('asCallback interface', () => {
70
70
  return c;
71
71
  };
72
72
 
73
- before((done) => {
73
+ before(() => {
74
74
  loader = new noflo.ComponentLoader(baseDir);
75
- loader.listComponents((err) => {
76
- if (err) {
77
- done(err);
78
- return;
79
- }
80
- loader.registerComponent('process', 'Async', processAsync);
81
- loader.registerComponent('process', 'Error', processError);
82
- loader.registerComponent('process', 'Values', processValues);
83
- loader.registerComponent('process', 'NeverSend', neverSend);
84
- loader.registerComponent('process', 'Streamify', streamify);
85
- done();
86
- });
75
+ return loader.listComponents()
76
+ .then(() => {
77
+ loader.registerComponent('process', 'Async', processAsync);
78
+ loader.registerComponent('process', 'Error', processError);
79
+ loader.registerComponent('process', 'Values', processValues);
80
+ loader.registerComponent('process', 'NeverSend', neverSend);
81
+ loader.registerComponent('process', 'Streamify', streamify);
82
+ });
87
83
  });
88
84
  describe('with a non-existing component', () => {
89
85
  let wrapped = null;
@@ -202,8 +202,11 @@ describe('asComponent interface', () => {
202
202
  before(function () {
203
203
  if (isBrowser && (typeof window.Promise === 'undefined')) { return this.skip(); }
204
204
  });
205
- const func = (hello) => new Promise((resolve) => setTimeout(() => resolve(`Hello ${hello}`),
206
- 5));
205
+ const func = (hello) => new Promise((resolve) => {
206
+ setTimeout(() => {
207
+ resolve(`Hello ${hello}`);
208
+ }, 5);
209
+ });
207
210
  it('should be possible to componentize', (done) => {
208
211
  const component = () => noflo.asComponent(func);
209
212
  loader.registerComponent('ascomponent', 'promise-one', component, done);
@@ -227,8 +230,11 @@ describe('asComponent interface', () => {
227
230
  this.skip();
228
231
  }
229
232
  });
230
- const func = (hello) => new Promise((resolve, reject) => setTimeout(() => reject(new Error(`Hello ${hello}`)),
231
- 5));
233
+ const func = (hello) => new Promise((resolve, reject) => {
234
+ setTimeout(() => {
235
+ reject(new Error(`Hello ${hello}`));
236
+ }, 5);
237
+ });
232
238
  it('should be possible to componentize', (done) => {
233
239
  const component = () => noflo.asComponent(func);
234
240
  loader.registerComponent('ascomponent', 'sync-throw', component, done);
package/spec/AsPromise.js CHANGED
@@ -317,6 +317,44 @@ describe('asPromise interface', () => {
317
317
  INPORT=Async.IN:IN
318
318
  OUTPORT=Stream.OUT:OUT
319
319
  Async(process/Async) OUT -> IN Stream(process/Streamify)\
320
+ `, (err, g) => {
321
+ if (err) {
322
+ done(err);
323
+ return;
324
+ }
325
+ graph = g;
326
+ wrapped = noflo.asPromise(graph, {
327
+ loader,
328
+ asyncDelivery: true,
329
+ });
330
+ done();
331
+ });
332
+ });
333
+ it('should execute network with input map and provide output map with streams as arrays', () => wrapped({
334
+ in: 'hello world',
335
+ })
336
+ .then((out) => {
337
+ chai.expect(out.out).to.eql([
338
+ ['h', 'e', 'l', 'l', 'o'],
339
+ ['w', 'o', 'r', 'l', 'd'],
340
+ ]);
341
+ }));
342
+ it('should execute network with simple input and and provide simple output with streams as arrays', () => wrapped('hello there')
343
+ .then((out) => {
344
+ chai.expect(out).to.eql([
345
+ ['h', 'e', 'l', 'l', 'o'],
346
+ ['t', 'h', 'e', 'r', 'e'],
347
+ ]);
348
+ }));
349
+ });
350
+ describe('with a graph instead of component name (synchronous)', () => {
351
+ let graph = null;
352
+ let wrapped = null;
353
+ before((done) => {
354
+ noflo.graph.loadFBP(`\
355
+ INPORT=Async.IN:IN
356
+ OUTPORT=Stream.OUT:OUT
357
+ Async(process/Async) OUT -> IN Stream(process/Streamify)\
320
358
  `, (err, g) => {
321
359
  if (err) {
322
360
  done(err);
@@ -0,0 +1,10 @@
1
+ const { describe, it } = require('node:test');
2
+ const assert = require('node:assert/strict');
3
+ const noflo = require('../lib/NoFlo.js');
4
+
5
+ describe('NoFlo loaded as CommonJS module', () => {
6
+ it('should be runnable', () => {
7
+ assert.equal(typeof noflo, 'object');
8
+ assert.equal(typeof noflo.Component, 'function');
9
+ });
10
+ });
@@ -286,7 +286,7 @@ describe('ComponentLoader with no external packages installed', () => {
286
286
  if (noflo.isBrowser()) {
287
287
  str = 'Dynamic loading of';
288
288
  } else {
289
- str = 'Cannot find module';
289
+ str = 'Cannot find package';
290
290
  }
291
291
  loader.load('InvalidComponent', (err) => {
292
292
  chai.expect(err).to.be.an('error');
@@ -378,8 +378,14 @@ describe('ComponentLoader with no external packages installed', () => {
378
378
  }
379
379
  chai.expect(component).to.be.an('object');
380
380
  chai.expect(component.code).to.be.a('string');
381
- chai.expect(component.code.indexOf('noflo.Component')).to.not.equal(-1);
382
- chai.expect(component.code.indexOf('exports.getComponent')).to.not.equal(-1);
381
+ chai.expect(component.code.indexOf('Component')).to.not.equal(-1);
382
+
383
+ if (!noflo.isBrowser()) {
384
+ chai.expect(component.code.indexOf('export function getComponent')).to.not.equal(-1);
385
+ } else {
386
+ chai.expect(component.code.indexOf('exports.getComponent')).to.not.equal(-1);
387
+ }
388
+
383
389
  chai.expect(component.name).to.equal('Graph');
384
390
  chai.expect(component.library).to.equal('');
385
391
  chai.expect(component.language).to.equal(shippingLanguage);
@@ -444,8 +450,12 @@ describe('ComponentLoader with no external packages installed', () => {
444
450
  }
445
451
  chai.expect(component).to.be.an('object');
446
452
  chai.expect(component.code).to.be.a('string');
447
- chai.expect(component.code.indexOf('noflo.Component')).to.not.equal(-1);
448
- chai.expect(component.code.indexOf('exports.getComponent')).to.not.equal(-1);
453
+ chai.expect(component.code.indexOf('Component')).to.not.equal(-1);
454
+ if (!noflo.isBrowser()) {
455
+ chai.expect(component.code.indexOf('export function getComponent')).to.not.equal(-1);
456
+ } else {
457
+ chai.expect(component.code.indexOf('exports.getComponent')).to.not.equal(-1);
458
+ }
449
459
  chai.expect(component.name).to.equal('Graph');
450
460
  chai.expect(component.library).to.equal('');
451
461
  chai.expect(component.language).to.equal(shippingLanguage);
@@ -975,9 +985,11 @@ describe('ComponentLoader with a fixture project and caching', () => {
975
985
  it('should be possible to pre-heat the cache file', function (done) {
976
986
  this.timeout(8000);
977
987
  const { exec } = require('child_process');
978
- exec(`node ${path.resolve(__dirname, '../bin/noflo-cache-preheat')}`,
988
+ exec(
989
+ `node ${path.resolve(__dirname, '../bin/noflo-cache-preheat')}`,
979
990
  { cwd: fixtureRoot },
980
- done);
991
+ done,
992
+ );
981
993
  });
982
994
  it('should have populated a fbp-manifest file', (done) => {
983
995
  const manifestPath = path.resolve(fixtureRoot, 'fbp.json');
@@ -0,0 +1,11 @@
1
+ import { describe, it } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import * as noflo from '../src/lib/NoFlo.js';
4
+
5
+ describe('NoFlo loaded as ES module', () => {
6
+ it('should be runnable', () => {
7
+ assert.equal(typeof noflo, 'object');
8
+ assert.equal(typeof noflo.Component, 'function');
9
+ });
10
+ });
11
+
package/spec/Network.js CHANGED
@@ -41,17 +41,18 @@ describe('NoFlo Network', () => {
41
41
  describe('with an empty graph', () => {
42
42
  let g = null;
43
43
  let n = null;
44
- before((done) => {
44
+ before(() => {
45
45
  g = new noflo.Graph();
46
- noflo.createNetwork(g, {
46
+ return noflo.createNetwork(g, {
47
47
  subscribeGraph: false,
48
+ asyncDelivery: true,
48
49
  delay: true,
49
50
  baseDir,
50
51
  })
51
52
  .then((network) => {
52
53
  n = network;
53
- n.connect(done);
54
- }, done);
54
+ return n.connect();
55
+ });
55
56
  });
56
57
  it('should initially be marked as stopped', () => {
57
58
  chai.expect(n.isStarted()).to.equal(false);
@@ -91,16 +92,14 @@ describe('NoFlo Network', () => {
91
92
  chai.expect(n.uptime()).to.be.at.least(0);
92
93
  });
93
94
  describe('with new node', () => {
94
- it('should contain the node', (done) => {
95
- n.addNode({
95
+ it('should contain the node', () => n
96
+ .addNode({
96
97
  id: 'Graph',
97
98
  component: 'Graph',
98
99
  metadata: {
99
100
  foo: 'Bar',
100
101
  },
101
- },
102
- done);
103
- });
102
+ }));
104
103
  it('should have registered the node with the graph', () => {
105
104
  const node = g.getNode('Graph');
106
105
  chai.expect(node).to.be.an('object');
@@ -223,6 +222,7 @@ describe('NoFlo Network', () => {
223
222
  g.addInitial('Foo', 'Merge', 'in');
224
223
  return noflo.createNetwork(g, {
225
224
  subscribeGraph: false,
225
+ asyncDelivery: true,
226
226
  delay: true,
227
227
  baseDir,
228
228
  })
@@ -377,6 +377,7 @@ describe('NoFlo Network', () => {
377
377
  );
378
378
  return noflo.createNetwork(graph, {
379
379
  subscribeGraph: false,
380
+ asyncDelivery: true,
380
381
  delay: false,
381
382
  componentLoader: n.loader,
382
383
  });
@@ -428,6 +429,7 @@ describe('NoFlo Network', () => {
428
429
  };
429
430
  noflo.createNetwork(g, {
430
431
  subscribeGraph: false,
432
+ asyncDelivery: true,
431
433
  delay: true,
432
434
  baseDir,
433
435
  })
@@ -450,6 +452,7 @@ describe('NoFlo Network', () => {
450
452
  g.addInitial('from-edge', 'Merge', 'in');
451
453
  noflo.createNetwork(g, {
452
454
  subscribeGraph: false,
455
+ asyncDelivery: true,
453
456
  delay: true,
454
457
  baseDir,
455
458
  })
@@ -471,6 +474,7 @@ describe('NoFlo Network', () => {
471
474
  g.addInitial('from-IIP', 'Def', 'in');
472
475
  noflo.createNetwork(g, {
473
476
  subscribeGraph: false,
477
+ asyncDelivery: true,
474
478
  delay: true,
475
479
  baseDir,
476
480
  })
@@ -505,6 +509,7 @@ describe('NoFlo Network', () => {
505
509
  noflo.createNetwork(g, {
506
510
  delay: true,
507
511
  subscribeGraph: false,
512
+ asyncDelivery: true,
508
513
  baseDir,
509
514
  })
510
515
  .then((nw) => {
@@ -583,6 +588,11 @@ describe('NoFlo Network', () => {
583
588
  });
584
589
  describe('with a very large network', () => {
585
590
  it('should be able to connect without errors', function (done) {
591
+ if (noflo.isBrowser()) {
592
+ // Async mode is too much for Puppeteer here
593
+ this.skip();
594
+ return;
595
+ }
586
596
  let n;
587
597
  this.timeout(100000);
588
598
  const g = new noflo.Graph();
@@ -596,8 +606,7 @@ describe('NoFlo Network', () => {
596
606
  }
597
607
  g.addInitial(() => {
598
608
  called++;
599
- },
600
- 'Callback', 'callback');
609
+ }, 'Callback', 'callback');
601
610
  for (n = 0; n <= 10000; n++) {
602
611
  g.addInitial(n, `Repeat${n}`, 'in');
603
612
  }
@@ -605,6 +614,7 @@ describe('NoFlo Network', () => {
605
614
  noflo.createNetwork(g, {
606
615
  delay: true,
607
616
  subscribeGraph: false,
617
+ asyncDelivery: true,
608
618
  baseDir,
609
619
  })
610
620
  .then((nw) => {
@@ -637,6 +647,7 @@ describe('NoFlo Network', () => {
637
647
  return noflo.createNetwork(g, {
638
648
  delay: true,
639
649
  subscribeGraph: false,
650
+ asyncDelivery: true,
640
651
  componentLoader: loader,
641
652
  })
642
653
  .then((nw) => nw.connect()
@@ -656,6 +667,7 @@ describe('NoFlo Network', () => {
656
667
  return noflo.createNetwork(g, {
657
668
  delay: true,
658
669
  subscribeGraph: false,
670
+ asyncDelivery: true,
659
671
  componentLoader: loader,
660
672
  })
661
673
  .then((nw) => nw.connect()
@@ -675,6 +687,7 @@ describe('NoFlo Network', () => {
675
687
  return noflo.createNetwork(g, {
676
688
  delay: true,
677
689
  subscribeGraph: false,
690
+ asyncDelivery: true,
678
691
  componentLoader: loader,
679
692
  })
680
693
  .then((nw) => nw.connect()
@@ -695,6 +708,7 @@ describe('NoFlo Network', () => {
695
708
  return noflo.createNetwork(g, {
696
709
  delay: true,
697
710
  subscribeGraph: false,
711
+ asyncDelivery: true,
698
712
  componentLoader: loader,
699
713
  })
700
714
  .then((nw) => nw.connect()
@@ -715,6 +729,7 @@ describe('NoFlo Network', () => {
715
729
  return noflo.createNetwork(g, {
716
730
  delay: true,
717
731
  subscribeGraph: false,
732
+ asyncDelivery: true,
718
733
  componentLoader: loader,
719
734
  })
720
735
  .then((nw) => nw.connect()
@@ -732,6 +747,7 @@ describe('NoFlo Network', () => {
732
747
  return noflo.createNetwork(g, {
733
748
  delay: true,
734
749
  subscribeGraph: false,
750
+ asyncDelivery: true,
735
751
  componentLoader: loader,
736
752
  })
737
753
  .then((nw) => nw.connect())
@@ -759,6 +775,7 @@ describe('NoFlo Network', () => {
759
775
  return noflo.createNetwork(g, {
760
776
  delay: true,
761
777
  subscribeGraph: false,
778
+ asyncDelivery: true,
762
779
  componentLoader: loader,
763
780
  })
764
781
  .then((nw) => nw.connect())
@@ -788,6 +805,7 @@ describe('NoFlo Network', () => {
788
805
  return noflo.createNetwork(g, {
789
806
  delay: true,
790
807
  subscribeGraph: false,
808
+ asyncDelivery: true,
791
809
  })
792
810
  .then((nw) => {
793
811
  chai.expect(nw.baseDir).to.equal(baseDir);
@@ -802,6 +820,7 @@ describe('NoFlo Network', () => {
802
820
  return noflo.createNetwork(g, {
803
821
  delay: true,
804
822
  subscribeGraph: false,
823
+ asyncDelivery: true,
805
824
  })
806
825
  .then((nw) => {
807
826
  chai.expect(nw.baseDir).to.equal(process.cwd());
@@ -812,6 +831,7 @@ describe('NoFlo Network', () => {
812
831
  return noflo.createNetwork(g, {
813
832
  delay: true,
814
833
  subscribeGraph: false,
834
+ asyncDelivery: true,
815
835
  baseDir,
816
836
  })
817
837
  .then((nw) => {
@@ -827,6 +847,7 @@ describe('NoFlo Network', () => {
827
847
  g = new noflo.Graph();
828
848
  return noflo.createNetwork(g, {
829
849
  subscribeGraph: false,
850
+ asyncDelivery: true,
830
851
  delay: true,
831
852
  baseDir,
832
853
  })