From 3bad9c21a8cb0f37e06afb5d81d35c06d07c90a3 Mon Sep 17 00:00:00 2001 From: Evgeny Kochetkov Date: Tue, 26 Jun 2018 18:44:38 +0300 Subject: [PATCH 1/4] fix(stdlib): correct output name in xod/math/clip impl Fixes #1305 --- workspace/__lib__/xod/math/clip/patch.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workspace/__lib__/xod/math/clip/patch.cpp b/workspace/__lib__/xod/math/clip/patch.cpp index ed93d771..1ed7cc28 100644 --- a/workspace/__lib__/xod/math/clip/patch.cpp +++ b/workspace/__lib__/xod/math/clip/patch.cpp @@ -14,5 +14,5 @@ void evaluate(Context ctx) { x > rMax ? rMax : x < rMin ? rMin : x; - emitValue(ctx, xc); + emitValue(ctx, xc); } From cfeb682b4cbf57fb09b372db1e7ac3a970206a39 Mon Sep 17 00:00:00 2001 From: Evgeny Kochetkov Date: Tue, 26 Jun 2018 18:05:43 +0300 Subject: [PATCH 2/4] fix(xod-project): do not try to extract "stale" bound values Fixes #1304 --- packages/xod-arduino/test/transpiler.spec.js | 2 +- .../src/extractBoundInputsToConstNodes.js | 1 - workspace/blink/__fixtures__/arduino.cpp | 8 +++--- .../__fixtures__/arduino.cpp | 28 +++++++++---------- workspace/lcd-time/__fixtures__/arduino.cpp | 20 ++++++------- 5 files changed, 29 insertions(+), 30 deletions(-) diff --git a/packages/xod-arduino/test/transpiler.spec.js b/packages/xod-arduino/test/transpiler.spec.js index 99060d00..cbf4137f 100644 --- a/packages/xod-arduino/test/transpiler.spec.js +++ b/packages/xod-arduino/test/transpiler.spec.js @@ -70,8 +70,8 @@ describe('xod-arduino transpiler', () => { ); assert.deepEqual(patchPaths, [ - 'xod/core/constant-number', // IVAL 'xod/core/constant-boolean', // EN + 'xod/core/constant-number', // IVAL 'xod/core/constant-port', // PORT 'xod/core/continuously', // UPD 'xod/core/clock', diff --git a/packages/xod-project/src/extractBoundInputsToConstNodes.js b/packages/xod-project/src/extractBoundInputsToConstNodes.js index 930e02de..40ad0db7 100644 --- a/packages/xod-project/src/extractBoundInputsToConstNodes.js +++ b/packages/xod-project/src/extractBoundInputsToConstNodes.js @@ -59,7 +59,6 @@ const getNodePinValues = def( // 'Never' is not extracted to a constant node. // It literally menas "do nothing", so it's just ignored. R.reject(R.equals(INPUT_PULSE_PIN_BINDING_OPTIONS.NEVER)), - R.merge(Node.getAllBoundValues(node)), R.map(Node.getBoundValueOrDefault(R.__, node)), R.indexBy(Pin.getPinKey), Patch.listPins, diff --git a/workspace/blink/__fixtures__/arduino.cpp b/workspace/blink/__fixtures__/arduino.cpp index 96dfebc2..e55336f7 100644 --- a/workspace/blink/__fixtures__/arduino.cpp +++ b/workspace/blink/__fixtures__/arduino.cpp @@ -1139,9 +1139,9 @@ namespace xod { // Define/allocate persistent storages (state, timeout, output data) for all nodes -constexpr Number node_0_output_VAL = 0.25; +constexpr Logic node_0_output_VAL = true; -constexpr Logic node_1_output_VAL = true; +constexpr Number node_1_output_VAL = 0.25; constexpr uint8_t node_2_output_VAL = 13; @@ -1225,8 +1225,8 @@ void runTransaction() { ctxObj._node = &node_4; // copy data from upstream nodes into context - ctxObj._input_EN = node_1_output_VAL; - ctxObj._input_IVAL = node_0_output_VAL; + ctxObj._input_EN = node_0_output_VAL; + ctxObj._input_IVAL = node_1_output_VAL; ctxObj._isInputDirty_RST = false; ctxObj._isInputDirty_EN = g_isSettingUp; diff --git a/workspace/count-with-feedback-loops/__fixtures__/arduino.cpp b/workspace/count-with-feedback-loops/__fixtures__/arduino.cpp index 009ed54f..99a0774f 100644 --- a/workspace/count-with-feedback-loops/__fixtures__/arduino.cpp +++ b/workspace/count-with-feedback-loops/__fixtures__/arduino.cpp @@ -1543,15 +1543,15 @@ xod__core__cast_to_pulse__boolean::Node node_0 = { true // node itself dirty }; -constexpr uint8_t node_1_output_VAL = 10; +constexpr uint8_t node_1_output_VAL = 8; -constexpr uint8_t node_2_output_VAL = 12; +constexpr uint8_t node_2_output_VAL = 9; -constexpr uint8_t node_3_output_VAL = 11; +constexpr uint8_t node_3_output_VAL = 10; -constexpr uint8_t node_4_output_VAL = 9; +constexpr uint8_t node_4_output_VAL = 11; -constexpr uint8_t node_5_output_VAL = 8; +constexpr uint8_t node_5_output_VAL = 12; constexpr uint8_t node_6_output_VAL = 13; @@ -1566,9 +1566,9 @@ xod__core__continuously::Node node_8 = { true // node itself dirty }; -constexpr Number node_9_output_VAL = 1; +constexpr Logic node_9_output_VAL = true; -constexpr Logic node_10_output_VAL = true; +constexpr Number node_10_output_VAL = 1; constexpr Number node_11_output_VAL = 1; @@ -1701,8 +1701,8 @@ void runTransaction() { ctxObj._node = &node_13; // copy data from upstream nodes into context - ctxObj._input_EN = node_10_output_VAL; - ctxObj._input_IVAL = node_9_output_VAL; + ctxObj._input_EN = node_9_output_VAL; + ctxObj._input_IVAL = node_10_output_VAL; ctxObj._isInputDirty_RST = false; ctxObj._isInputDirty_EN = g_isSettingUp; @@ -1780,11 +1780,11 @@ void runTransaction() { ctxObj._node = &node_17; // copy data from upstream nodes into context - ctxObj._input_RS = node_5_output_VAL; - ctxObj._input_EN = node_4_output_VAL; - ctxObj._input_D4 = node_1_output_VAL; - ctxObj._input_D5 = node_3_output_VAL; - ctxObj._input_D6 = node_2_output_VAL; + ctxObj._input_RS = node_1_output_VAL; + ctxObj._input_EN = node_2_output_VAL; + ctxObj._input_D4 = node_3_output_VAL; + ctxObj._input_D5 = node_4_output_VAL; + ctxObj._input_D6 = node_5_output_VAL; ctxObj._input_D7 = node_6_output_VAL; ctxObj._input_L1 = node_16.output_OUT; ctxObj._input_L2 = node_7_output_VAL; diff --git a/workspace/lcd-time/__fixtures__/arduino.cpp b/workspace/lcd-time/__fixtures__/arduino.cpp index 1478fc2c..e39ed05e 100644 --- a/workspace/lcd-time/__fixtures__/arduino.cpp +++ b/workspace/lcd-time/__fixtures__/arduino.cpp @@ -1117,15 +1117,15 @@ namespace xod { // Define/allocate persistent storages (state, timeout, output data) for all nodes -constexpr uint8_t node_0_output_VAL = 10; +constexpr uint8_t node_0_output_VAL = 8; -constexpr uint8_t node_1_output_VAL = 12; +constexpr uint8_t node_1_output_VAL = 9; -constexpr uint8_t node_2_output_VAL = 11; +constexpr uint8_t node_2_output_VAL = 10; -constexpr uint8_t node_3_output_VAL = 9; +constexpr uint8_t node_3_output_VAL = 11; -constexpr uint8_t node_4_output_VAL = 8; +constexpr uint8_t node_4_output_VAL = 12; constexpr uint8_t node_5_output_VAL = 13; @@ -1241,11 +1241,11 @@ void runTransaction() { ctxObj._node = &node_10; // copy data from upstream nodes into context - ctxObj._input_RS = node_4_output_VAL; - ctxObj._input_EN = node_3_output_VAL; - ctxObj._input_D4 = node_0_output_VAL; - ctxObj._input_D5 = node_2_output_VAL; - ctxObj._input_D6 = node_1_output_VAL; + ctxObj._input_RS = node_0_output_VAL; + ctxObj._input_EN = node_1_output_VAL; + ctxObj._input_D4 = node_2_output_VAL; + ctxObj._input_D5 = node_3_output_VAL; + ctxObj._input_D6 = node_4_output_VAL; ctxObj._input_D7 = node_5_output_VAL; ctxObj._input_L1 = node_9.output_OUT; ctxObj._input_L2 = node_6_output_VAL; From 6502742c886a51bf311a8f1d9bc21ef6c49d2064 Mon Sep 17 00:00:00 2001 From: Evgeny Kochetkov Date: Wed, 27 Jun 2018 00:23:38 +0300 Subject: [PATCH 3/4] fix(xod-project): allow constant node values to propagate down when flattening Fixes #1303 --- packages/xod-project/src/flatten.js | 12 ++ ...pagation-through-bound-output.flat.xodball | 139 ++++++++++++++++++ ...t-propagation-through-bound-output.xodball | 136 +++++++++++++++++ packages/xod-project/test/flatten.spec.js | 13 ++ 4 files changed, 300 insertions(+) create mode 100644 packages/xod-project/test/fixtures/constant-propagation-through-bound-output.flat.xodball create mode 100644 packages/xod-project/test/fixtures/constant-propagation-through-bound-output.xodball diff --git a/packages/xod-project/src/flatten.js b/packages/xod-project/src/flatten.js index 77a52566..970cbd3f 100644 --- a/packages/xod-project/src/flatten.js +++ b/packages/xod-project/src/flatten.js @@ -400,6 +400,18 @@ const getValueToBind = R.curry((nodesById, linksChain) => { )(linksChain); const topNode = R.last(outputNodesFromLinkChain); + + // special case — top node is a constant + const topNodeIsConstant = R.compose( + PatchPathUtils.isConstantNodeType, + Node.getNodeType + )(topNode); + if (topNodeIsConstant) { + // no need to rebind anything — links chain can be safely collapsed, + // and value from constant node will freely propagate down + return Maybe.Nothing(); + } + const isTopNodeTerminal = isInternalTerminalNode(topNode); // Example: diff --git a/packages/xod-project/test/fixtures/constant-propagation-through-bound-output.flat.xodball b/packages/xod-project/test/fixtures/constant-propagation-through-bound-output.flat.xodball new file mode 100644 index 00000000..c57eb50d --- /dev/null +++ b/packages/xod-project/test/fixtures/constant-propagation-through-bound-output.flat.xodball @@ -0,0 +1,139 @@ +{ + "patches": { + "@/main": { + "nodes": { + "rkoe9Wgf7~SyO0tZeMX": { + "boundLiterals": { + "B1x2RV3eZ": "42" + }, + "id": "rkoe9Wgf7~SyO0tZeMX", + "type": "xod/core/constant-number", + "position": { + "x": 68, + "y": 0 + } + }, + "Bk3g9Zlf7": { + "id": "Bk3g9Zlf7", + "type": "@/foo", + "position": { + "x": 68, + "y": 102 + } + } + }, + "links": { + "SkpxcWlMX": { + "id": "SkpxcWlMX", + "output": { + "nodeId": "rkoe9Wgf7~SyO0tZeMX", + "pinKey": "B1x2RV3eZ" + }, + "input": { + "nodeId": "Bk3g9Zlf7", + "pinKey": "rJyl5Zgfm" + } + } + }, + "path": "@/main" + }, + "@/must-output-42": { + "links": { + "S1cAKWez7": { + "id": "S1cAKWez7", + "output": { + "nodeId": "SyO0tZeMX", + "pinKey": "B1x2RV3eZ" + }, + "input": { + "nodeId": "BJYhtWgfX", + "pinKey": "__in__" + } + } + }, + "nodes": { + "BJYhtWgfX": { + "boundLiterals": { + "__in__": "21" + }, + "id": "BJYhtWgfX", + "type": "xod/patch-nodes/output-number", + "position": { + "x": 68, + "y": 204 + } + }, + "SyO0tZeMX": { + "boundLiterals": { + "B1x2RV3eZ": "42" + }, + "id": "SyO0tZeMX", + "type": "xod/core/constant-number", + "position": { + "x": 68, + "y": 0 + } + } + }, + "path": "@/must-output-42" + }, + "@/foo": { + "attachments": [ + { + "filename": "patch.cpp", + "encoding": "utf-8", + "content": "\nstruct State {\n};\n\n{{ GENERATED_CODE }}\n\nvoid evaluate(Context ctx) {\n //auto inValue = getValue(ctx);\n //emitValue(ctx, inValue);\n}\n" + } + ], + "nodes": { + "rJyl5Zgfm": { + "id": "rJyl5Zgfm", + "type": "xod/patch-nodes/input-number", + "position": { + "x": 34, + "y": 0 + } + }, + "SJUgcWxz7": { + "id": "SJUgcWxz7", + "type": "xod/patch-nodes/not-implemented-in-xod", + "position": { + "x": 34, + "y": 102 + } + } + }, + "path": "@/foo" + }, + "xod/core/constant-number": { + "attachments": [ + { + "filename": "patch.cpp", + "encoding": "utf8", + "content": "struct State {};\n\n{{ GENERATED_CODE }}\n\nvoid evaluate(Context ctx) {\n}\n" + } + ], + "nodes": { + "B1x2RV3eZ": { + "label": "VAL", + "id": "B1x2RV3eZ", + "position": { + "x": 10, + "y": 120 + }, + "type": "xod/patch-nodes/output-number" + }, + "H1PnRN2lW": { + "id": "H1PnRN2lW", + "position": { + "x": 10, + "y": 16 + }, + "type": "xod/patch-nodes/not-implemented-in-xod" + } + }, + "path": "xod/core/constant-number" + } + }, + "name": "constant-propagation-through-bound-output" +} \ No newline at end of file diff --git a/packages/xod-project/test/fixtures/constant-propagation-through-bound-output.xodball b/packages/xod-project/test/fixtures/constant-propagation-through-bound-output.xodball new file mode 100644 index 00000000..aee1af1c --- /dev/null +++ b/packages/xod-project/test/fixtures/constant-propagation-through-bound-output.xodball @@ -0,0 +1,136 @@ +{ + "patches": { + "@/main": { + "nodes": { + "rkoe9Wgf7": { + "id": "rkoe9Wgf7", + "type": "@/must-output-42", + "position": { + "x": 68, + "y": 0 + } + }, + "Bk3g9Zlf7": { + "id": "Bk3g9Zlf7", + "type": "@/foo", + "position": { + "x": 68, + "y": 102 + } + } + }, + "links": { + "SkpxcWlMX": { + "id": "SkpxcWlMX", + "output": { + "nodeId": "rkoe9Wgf7", + "pinKey": "BJYhtWgfX" + }, + "input": { + "nodeId": "Bk3g9Zlf7", + "pinKey": "rJyl5Zgfm" + } + } + }, + "path": "@/main" + }, + "@/must-output-42": { + "nodes": { + "BJYhtWgfX": { + "id": "BJYhtWgfX", + "type": "xod/patch-nodes/output-number", + "position": { + "x": 68, + "y": 204 + }, + "boundLiterals": { + "__in__": "21" + } + }, + "SyO0tZeMX": { + "id": "SyO0tZeMX", + "type": "xod/core/constant-number", + "position": { + "x": 68, + "y": 0 + }, + "boundLiterals": { + "B1x2RV3eZ": "42" + } + } + }, + "links": { + "S1cAKWez7": { + "id": "S1cAKWez7", + "output": { + "nodeId": "SyO0tZeMX", + "pinKey": "B1x2RV3eZ" + }, + "input": { + "nodeId": "BJYhtWgfX", + "pinKey": "__in__" + } + } + }, + "path": "@/must-output-42" + }, + "@/foo": { + "nodes": { + "rJyl5Zgfm": { + "id": "rJyl5Zgfm", + "type": "xod/patch-nodes/input-number", + "position": { + "x": 34, + "y": 0 + } + }, + "SJUgcWxz7": { + "id": "SJUgcWxz7", + "type": "xod/patch-nodes/not-implemented-in-xod", + "position": { + "x": 34, + "y": 102 + } + } + }, + "path": "@/foo", + "attachments": [ + { + "filename": "patch.cpp", + "encoding": "utf-8", + "content": "\nstruct State {\n};\n\n{{ GENERATED_CODE }}\n\nvoid evaluate(Context ctx) {\n //auto inValue = getValue(ctx);\n //emitValue(ctx, inValue);\n}\n" + } + ] + }, + "xod/core/constant-number": { + "nodes": { + "B1x2RV3eZ": { + "label": "VAL", + "id": "B1x2RV3eZ", + "position": { + "x": 10, + "y": 120 + }, + "type": "xod/patch-nodes/output-number" + }, + "H1PnRN2lW": { + "id": "H1PnRN2lW", + "position": { + "x": 10, + "y": 16 + }, + "type": "xod/patch-nodes/not-implemented-in-xod" + } + }, + "path": "xod/core/constant-number", + "attachments": [ + { + "filename": "patch.cpp", + "encoding": "utf8", + "content": "struct State {};\n\n{{ GENERATED_CODE }}\n\nvoid evaluate(Context ctx) {\n}\n" + } + ] + } + }, + "name": "constant-propagation-through-bound-output" +} \ No newline at end of file diff --git a/packages/xod-project/test/flatten.spec.js b/packages/xod-project/test/flatten.spec.js index 56b0de86..5af25d91 100644 --- a/packages/xod-project/test/flatten.spec.js +++ b/packages/xod-project/test/flatten.spec.js @@ -1734,6 +1734,19 @@ describe('Flatten', () => { flatProject ); }); + it('should allow constant node values to propagate down', () => { + const inputProject = Helper.loadXodball( + './fixtures/constant-propagation-through-bound-output.xodball' + ); + const expectedProject = Helper.loadXodball( + './fixtures/constant-propagation-through-bound-output.flat.xodball' + ); + const flatProject = flatten(inputProject, '@/main'); + + Helper.expectEitherRight(project => { + assert.deepEqual(project, expectedProject); + }, flatProject); + }); }); describe('implementations', () => { From 674190dbf6c94fea8b47f929f4674b78aa8aa0ef Mon Sep 17 00:00:00 2001 From: Evgeny Kochetkov Date: Wed, 27 Jun 2018 13:34:31 +0300 Subject: [PATCH 4/4] chore(infra): release 0.21.2 --- CHANGELOG.md | 9 +++++++++ lerna.json | 2 +- packages/xod-arduino-deploy/package.json | 4 ++-- packages/xod-arduino/package.json | 6 +++--- packages/xod-cli/package.json | 10 +++++----- packages/xod-client-browser/package.json | 10 +++++----- packages/xod-client-electron/package.json | 14 +++++++------- packages/xod-client/package.json | 10 +++++----- packages/xod-deploy/package.json | 4 ++-- packages/xod-fs/package.json | 4 ++-- packages/xod-patch-search/package.json | 6 +++--- packages/xod-pm/package.json | 4 ++-- packages/xod-project/package.json | 2 +- workspace/__lib__/xod/bits/project.xod | 2 +- workspace/__lib__/xod/common-hardware/project.xod | 2 +- workspace/__lib__/xod/core/project.xod | 2 +- workspace/__lib__/xod/gpio/project.xod | 2 +- workspace/__lib__/xod/i2c/project.xod | 2 +- workspace/__lib__/xod/math/project.xod | 2 +- workspace/__lib__/xod/units/project.xod | 2 +- 20 files changed, 54 insertions(+), 45 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 15437688..0bfa8736 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## 0.21.2 (2018-06-27) + +### Bug fixes + + * [core] Fix transpilation error caused by values bound to collapsed variadic node. (#1306) + * [nodes] Fix implementation of [`xod/math/clip`](https://xod.io/libs/xod/math/clip). (#1307) + * [core] Fix a very rare case where constant values could be overwritten. (#1308) + ## 0.21.1 (2018-06-25) diff --git a/lerna.json b/lerna.json index ea3d67cd..d4551b6a 100644 --- a/lerna.json +++ b/lerna.json @@ -6,5 +6,5 @@ "packages": [ "packages/*" ], - "version": "0.21.1" + "version": "0.21.2" } diff --git a/packages/xod-arduino-deploy/package.json b/packages/xod-arduino-deploy/package.json index 9506af5e..26b111a0 100644 --- a/packages/xod-arduino-deploy/package.json +++ b/packages/xod-arduino-deploy/package.json @@ -1,6 +1,6 @@ { "name": "xod-arduino-deploy", - "version": "0.21.0", + "version": "0.21.2", "description": "Utility to build and upload binaries on Arduino microcontrollers.", "main": "dist/index.js", "scripts": { @@ -28,7 +28,7 @@ "serialport": "^4.0.7", "tar": "^3.1.8", "unbzip2-stream": "^1.2.5", - "xod-fs": "^0.21.0", + "xod-fs": "^0.21.2", "xod-func-tools": "^0.21.0" }, "devDependencies": { diff --git a/packages/xod-arduino/package.json b/packages/xod-arduino/package.json index c39fcde5..611fe5d8 100644 --- a/packages/xod-arduino/package.json +++ b/packages/xod-arduino/package.json @@ -1,6 +1,6 @@ { "name": "xod-arduino", - "version": "0.21.1", + "version": "0.21.2", "description": "XOD project: Arduino transpiler", "scripts": { "build": "babel src/ -d dist/ --source-maps", @@ -21,12 +21,12 @@ "ramda-fantasy": "^0.8.0", "sanctuary-def": "^0.14.0", "xod-func-tools": "^0.21.0", - "xod-project": "^0.21.0" + "xod-project": "^0.21.2" }, "devDependencies": { "babel-plugin-inline-import": "^2.0.4", "chai": "^4.1.2", "dirty-chai": "^1.2.2", - "xod-fs": "^0.21.0" + "xod-fs": "^0.21.2" } } diff --git a/packages/xod-cli/package.json b/packages/xod-cli/package.json index 2d4abfad..b4b74a23 100644 --- a/packages/xod-cli/package.json +++ b/packages/xod-cli/package.json @@ -1,6 +1,6 @@ { "name": "xod-cli", - "version": "0.21.1", + "version": "0.21.2", "description": "XOD project: Command Line Interface", "scripts": { "build:workspace": "cpx \"../../workspace/__lib__/**\" \"./__lib__\"", @@ -28,11 +28,11 @@ "sanctuary-def": "^0.14.0", "source-map-support": "^0.4.15", "swagger-client": "^3.4.3", - "xod-arduino": "^0.21.1", - "xod-fs": "^0.21.0", + "xod-arduino": "^0.21.2", + "xod-fs": "^0.21.2", "xod-func-tools": "^0.21.0", - "xod-pm": "^0.21.1", - "xod-project": "^0.21.0", + "xod-pm": "^0.21.2", + "xod-project": "^0.21.2", "xod-tabtest": "^0.21.0" }, "devDependencies": { diff --git a/packages/xod-client-browser/package.json b/packages/xod-client-browser/package.json index b9a7c496..38427698 100644 --- a/packages/xod-client-browser/package.json +++ b/packages/xod-client-browser/package.json @@ -1,6 +1,6 @@ { "name": "xod-client-browser", - "version": "0.21.1", + "version": "0.21.2", "description": "XOD project: Client browser application", "scripts": { "build:tutorial-project": "node ./tools/loadTutorialProject.js", @@ -23,16 +23,16 @@ "redux": "^3.0.5", "redux-thunk": "^2.1.0", "url-parse": "^1.2.0", - "xod-arduino": "^0.21.1", - "xod-client": "^0.21.1", + "xod-arduino": "^0.21.2", + "xod-client": "^0.21.2", "xod-func-tools": "^0.21.0", - "xod-project": "^0.21.0" + "xod-project": "^0.21.2" }, "devDependencies": { "chai": "^4.1.2", "node-static": "^0.7.10", "why-did-you-update": "^0.1.0", - "xod-fs": "^0.21.0" + "xod-fs": "^0.21.2" }, "author": "XOD Team ", "license": "AGPL-3.0" diff --git a/packages/xod-client-electron/package.json b/packages/xod-client-electron/package.json index fde36de4..b130ccf0 100644 --- a/packages/xod-client-electron/package.json +++ b/packages/xod-client-electron/package.json @@ -5,7 +5,7 @@ "license": "AGPL-3.0", "main": "src-babel/app/main.js", "name": "xod-client-electron", - "version": "0.21.1", + "version": "0.21.2", "scripts": { "build:workspace": "cpx \"../../workspace/**/*\" \"src-babel/workspace\"", "build:gui": "webpack --colors", @@ -41,13 +41,13 @@ "redux": "^3.0.5", "redux-thunk": "^2.1.0", "serialport": "^4.0.7", - "xod-arduino": "^0.21.1", - "xod-arduino-deploy": "^0.21.0", - "xod-client": "^0.21.1", - "xod-deploy": "^0.21.0", - "xod-fs": "^0.21.0", + "xod-arduino": "^0.21.2", + "xod-arduino-deploy": "^0.21.2", + "xod-client": "^0.21.2", + "xod-deploy": "^0.21.2", + "xod-fs": "^0.21.2", "xod-func-tools": "^0.21.0", - "xod-project": "^0.21.0" + "xod-project": "^0.21.2" }, "devDependencies": { "babel-cli": "^6.16.0", diff --git a/packages/xod-client/package.json b/packages/xod-client/package.json index dc872355..7ec3b5e5 100644 --- a/packages/xod-client/package.json +++ b/packages/xod-client/package.json @@ -1,6 +1,6 @@ { "name": "xod-client", - "version": "0.21.1", + "version": "0.21.2", "description": "XOD project: Client application", "scripts": { "build": "babel src/ -d dist/ --source-maps", @@ -58,11 +58,11 @@ "url-parse": "^1.1.9", "url-search-params-polyfill": "^2.0.1", "vec-la-fp": "^1.5.2", - "xod-arduino": "^0.21.1", + "xod-arduino": "^0.21.2", "xod-func-tools": "^0.21.0", - "xod-patch-search": "^0.21.0", - "xod-pm": "^0.21.1", - "xod-project": "^0.21.0" + "xod-patch-search": "^0.21.2", + "xod-pm": "^0.21.2", + "xod-project": "^0.21.2" }, "devDependencies": { "@storybook/addon-actions": "^3.2.17", diff --git a/packages/xod-deploy/package.json b/packages/xod-deploy/package.json index dbaf618f..0b8b7299 100644 --- a/packages/xod-deploy/package.json +++ b/packages/xod-deploy/package.json @@ -1,6 +1,6 @@ { "name": "xod-deploy", - "version": "0.21.0", + "version": "0.21.2", "description": "", "main": "dist/index.js", "scripts": { @@ -29,7 +29,7 @@ "tar": "^4.0.1", "unbzip2-stream": "^1.2.5", "ws": "^3.1.0", - "xod-fs": "^0.21.0", + "xod-fs": "^0.21.2", "xod-func-tools": "^0.21.0" }, "devDependencies": { diff --git a/packages/xod-fs/package.json b/packages/xod-fs/package.json index 499541ac..eba8e49d 100644 --- a/packages/xod-fs/package.json +++ b/packages/xod-fs/package.json @@ -1,6 +1,6 @@ { "name": "xod-fs", - "version": "0.21.0", + "version": "0.21.2", "description": "", "main": "dist/index.js", "scripts": { @@ -19,7 +19,7 @@ "recursive-readdir": "^2.1.0", "sanctuary-def": "^0.14.0", "xod-func-tools": "^0.21.0", - "xod-project": "^0.21.0" + "xod-project": "^0.21.2" }, "devDependencies": { "chai": "^4.1.2", diff --git a/packages/xod-patch-search/package.json b/packages/xod-patch-search/package.json index 85b4302f..ee896845 100644 --- a/packages/xod-patch-search/package.json +++ b/packages/xod-patch-search/package.json @@ -1,6 +1,6 @@ { "name": "xod-patch-search", - "version": "0.21.0", + "version": "0.21.2", "description": "", "main": "dist/index.js", "scripts": { @@ -23,10 +23,10 @@ "ramda": "^0.24.1", "ramda-fantasy": "^0.8.0", "xod-func-tools": "^0.21.0", - "xod-project": "^0.21.0" + "xod-project": "^0.21.2" }, "devDependencies": { "chai": "^4.1.2", - "xod-fs": "^0.21.0" + "xod-fs": "^0.21.2" } } diff --git a/packages/xod-pm/package.json b/packages/xod-pm/package.json index 102f9dbb..1f364401 100644 --- a/packages/xod-pm/package.json +++ b/packages/xod-pm/package.json @@ -1,6 +1,6 @@ { "name": "xod-pm", - "version": "0.21.1", + "version": "0.21.2", "description": "", "main": "dist/index.js", "scripts": { @@ -24,7 +24,7 @@ "ramda-fantasy": "^0.8.0", "swagger-client": "^3.4.3", "xod-func-tools": "^0.21.0", - "xod-project": "^0.21.0" + "xod-project": "^0.21.2" }, "devDependencies": { "chai": "^4.1.2" diff --git a/packages/xod-project/package.json b/packages/xod-project/package.json index c12f8aac..ec8878ea 100644 --- a/packages/xod-project/package.json +++ b/packages/xod-project/package.json @@ -1,6 +1,6 @@ { "name": "xod-project", - "version": "0.21.0", + "version": "0.21.2", "description": "API functions to work on XOD project state", "keywords": [], "license": "AGPL-3.0", diff --git a/workspace/__lib__/xod/bits/project.xod b/workspace/__lib__/xod/bits/project.xod index 7b7456a6..e5f957da 100644 --- a/workspace/__lib__/xod/bits/project.xod +++ b/workspace/__lib__/xod/bits/project.xod @@ -5,5 +5,5 @@ "description": "Low-level bits and bytes operations", "license": "AGPL-3.0", "name": "bits", - "version": "0.21.1" + "version": "0.21.2" } diff --git a/workspace/__lib__/xod/common-hardware/project.xod b/workspace/__lib__/xod/common-hardware/project.xod index 1c2cb7b8..baaf0b45 100644 --- a/workspace/__lib__/xod/common-hardware/project.xod +++ b/workspace/__lib__/xod/common-hardware/project.xod @@ -5,5 +5,5 @@ "description": "Hardware drivers for popular and simple peripherals", "license": "AGPL-3.0", "name": "common-hardware", - "version": "0.21.1" + "version": "0.21.2" } diff --git a/workspace/__lib__/xod/core/project.xod b/workspace/__lib__/xod/core/project.xod index dc9bb68c..a2796047 100644 --- a/workspace/__lib__/xod/core/project.xod +++ b/workspace/__lib__/xod/core/project.xod @@ -5,5 +5,5 @@ "description": "The very basic nodes of XOD", "license": "AGPL-3.0", "name": "core", - "version": "0.21.1" + "version": "0.21.2" } diff --git a/workspace/__lib__/xod/gpio/project.xod b/workspace/__lib__/xod/gpio/project.xod index 03c42b0f..41fa4784 100644 --- a/workspace/__lib__/xod/gpio/project.xod +++ b/workspace/__lib__/xod/gpio/project.xod @@ -5,5 +5,5 @@ "description": "Nodes of XOD to deal with GPIO (hardware pins)", "license": "AGPL-3.0", "name": "gpio", - "version": "0.21.1" + "version": "0.21.2" } diff --git a/workspace/__lib__/xod/i2c/project.xod b/workspace/__lib__/xod/i2c/project.xod index c142671e..2b663b3e 100644 --- a/workspace/__lib__/xod/i2c/project.xod +++ b/workspace/__lib__/xod/i2c/project.xod @@ -5,5 +5,5 @@ "description": "I²C (aka I2C, IIC, TWI) bus interfacing", "license": "AGPL-3.0", "name": "i2c", - "version": "0.21.1" + "version": "0.21.2" } diff --git a/workspace/__lib__/xod/math/project.xod b/workspace/__lib__/xod/math/project.xod index 7a1969fc..9ad6fa2f 100644 --- a/workspace/__lib__/xod/math/project.xod +++ b/workspace/__lib__/xod/math/project.xod @@ -5,5 +5,5 @@ "description": "Nodes of XOD for basic mathematical operations", "license": "AGPL-3.0", "name": "math", - "version": "0.21.1" + "version": "0.21.2" } diff --git a/workspace/__lib__/xod/units/project.xod b/workspace/__lib__/xod/units/project.xod index eaa8e6be..a30da784 100644 --- a/workspace/__lib__/xod/units/project.xod +++ b/workspace/__lib__/xod/units/project.xod @@ -5,5 +5,5 @@ "description": "Units of measurement conversions", "license": "AGPL-3.0", "name": "units", - "version": "0.21.1" + "version": "0.21.2" }