From 260d51bb605a0ca282567fc09b4cddbb17bc0bbe Mon Sep 17 00:00:00 2001 From: Simon Hofmann Date: Sat, 18 May 2019 18:13:33 +0200 Subject: [PATCH 1/4] (#62) Switched to prebuilt deps for OpenCV --- .../native/robotjs-keyboard-action.class.ts | 2 +- .../robotjs-keyboard.action.class.spec.ts | 4 +- .../native/robotjs-mouse-action.class.spec.ts | 4 +- .../native/robotjs-mouse-action.class.ts | 2 +- .../robotjs-screen-action.class.spec.ts | 4 +- .../native/robotjs-screen-action.class.ts | 2 +- package-lock.json | 85 ++++++------------- package.json | 6 +- 8 files changed, 39 insertions(+), 70 deletions(-) diff --git a/lib/provider/native/robotjs-keyboard-action.class.ts b/lib/provider/native/robotjs-keyboard-action.class.ts index 5c1846f0..18e7bac0 100644 --- a/lib/provider/native/robotjs-keyboard-action.class.ts +++ b/lib/provider/native/robotjs-keyboard-action.class.ts @@ -1,4 +1,4 @@ -import robot = require("robotjs"); +import robot = require("robotjs-node10"); import { Key } from "../../key.enum"; import { KeyboardActionProvider } from "./keyboard-action-provider.interface"; diff --git a/lib/provider/native/robotjs-keyboard.action.class.spec.ts b/lib/provider/native/robotjs-keyboard.action.class.spec.ts index 12231303..782788d3 100644 --- a/lib/provider/native/robotjs-keyboard.action.class.spec.ts +++ b/lib/provider/native/robotjs-keyboard.action.class.spec.ts @@ -1,8 +1,8 @@ -import robot = require("robotjs"); +import robot = require("robotjs-node10"); import { Key } from "../../key.enum"; import { KeyboardAction } from "./robotjs-keyboard-action.class"; -jest.mock("robotjs"); +jest.mock("robotjs-node10"); beforeEach(() => { jest.resetAllMocks(); diff --git a/lib/provider/native/robotjs-mouse-action.class.spec.ts b/lib/provider/native/robotjs-mouse-action.class.spec.ts index 82d6190c..94f1f2f1 100644 --- a/lib/provider/native/robotjs-mouse-action.class.spec.ts +++ b/lib/provider/native/robotjs-mouse-action.class.spec.ts @@ -1,9 +1,9 @@ -import robot = require("robotjs"); +import robot = require("robotjs-node10"); import { Button } from "../../button.enum"; import { Point } from "../../point.class"; import { MouseAction } from "./robotjs-mouse-action.class"; -jest.mock("robotjs"); +jest.mock("robotjs-node10"); beforeEach(() => { jest.resetAllMocks(); diff --git a/lib/provider/native/robotjs-mouse-action.class.ts b/lib/provider/native/robotjs-mouse-action.class.ts index a55ca23a..ee1e074d 100644 --- a/lib/provider/native/robotjs-mouse-action.class.ts +++ b/lib/provider/native/robotjs-mouse-action.class.ts @@ -1,4 +1,4 @@ -import robot = require("robotjs"); +import robot = require("robotjs-node10"); import { Button } from "../../button.enum"; import { Point } from "../../point.class"; import { MouseActionInterface } from "./mouse-action-provider.interface"; diff --git a/lib/provider/native/robotjs-screen-action.class.spec.ts b/lib/provider/native/robotjs-screen-action.class.spec.ts index aa6bf57f..6df7f455 100644 --- a/lib/provider/native/robotjs-screen-action.class.spec.ts +++ b/lib/provider/native/robotjs-screen-action.class.spec.ts @@ -1,8 +1,8 @@ -import robot = require("robotjs"); +import robot = require("robotjs-node10"); import { Region } from "../../region.class"; import { ScreenAction } from "./robotjs-screen-action.class"; -jest.mock("robotjs"); +jest.mock("robotjs-node10"); beforeEach(() => { jest.resetAllMocks(); diff --git a/lib/provider/native/robotjs-screen-action.class.ts b/lib/provider/native/robotjs-screen-action.class.ts index a1e9aefa..fa0e0537 100644 --- a/lib/provider/native/robotjs-screen-action.class.ts +++ b/lib/provider/native/robotjs-screen-action.class.ts @@ -1,4 +1,4 @@ -import robot = require("robotjs"); +import robot = require("robotjs-node10"); import { Image } from "../../image.class"; import { Region } from "../../region.class"; import { ScreenActionProvider } from "./screen-action-provider.interface"; diff --git a/package-lock.json b/package-lock.json index e20716ca..437fda15 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@nut-tree/nut-js", - "version": "1.0.1", + "version": "2.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -4070,11 +4070,18 @@ "integrity": "sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA==" }, "native-node-utils": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/native-node-utils/-/native-node-utils-0.1.5.tgz", - "integrity": "sha512-cnEQ5oHs2FIEdg4MlWCjL3Ygnu7zMvFiXAtkBWkqIGCphr5AQzvwFdpTQtgZrDj1b1yJaCYjcRKXY0GS/uEc6Q==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/native-node-utils/-/native-node-utils-0.1.6.tgz", + "integrity": "sha512-kk6LfcpBrWd++RAbAoEplH+f1OmlLAduy0ZNC1NykH1BXooGfnZ4i9xyhItzQfwVZCNbIilMGSMU+Anw0b5wQQ==", "requires": { - "nan": "^2.12.1" + "nan": "^2.13.2" + }, + "dependencies": { + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + } } }, "natural-compare": { @@ -4095,9 +4102,9 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "node-abi": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.7.1.tgz", - "integrity": "sha512-OV8Bq1OrPh6z+Y4dqwo05HqrRL9YNF7QVMRfq1/pguwKLG+q9UB/Lk0x5qXjO23JjJg+/jqCHSTaG1P3tfKfuw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.8.0.tgz", + "integrity": "sha512-1/aa2clS0pue0HjckL62CsbhWWU35HARvBDXcJtYKbYR7LnIutmpxmXbuDMV9kEviD2lP/wACOgWmmwljghHyQ==", "requires": { "semver": "^5.4.1" } @@ -4284,25 +4291,16 @@ } } }, - "opencv-build": { - "version": "0.0.17", - "resolved": "https://registry.npmjs.org/opencv-build/-/opencv-build-0.0.17.tgz", - "integrity": "sha512-mrb4/Mu9BWa3raateB5ZyeYXcqE9kdrFjKGpue+ilLEv+nyTchKNGqRyMBcnuSl1rfEzZP8cW/JlborutI6GVg==", - "requires": { - "npmlog": "^4.1.2" - } - }, "opencv4nodejs-prebuilt": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/opencv4nodejs-prebuilt/-/opencv4nodejs-prebuilt-4.14.1.tgz", - "integrity": "sha512-MuFCgggCPFVeyen5B0CQQ9VKf2IR5FRMq1x/8fAkv7d+w2FbU8mTqhYxi4EA4T8J66vWG+HOdyv8VHafL9g/sA==", + "version": "4.15.0-b11", + "resolved": "https://registry.npmjs.org/opencv4nodejs-prebuilt/-/opencv4nodejs-prebuilt-4.15.0-b11.tgz", + "integrity": "sha512-/YSgj/lMJ7JVivLdEQ9ksmitIGaksjV5VlM+XbFcn6rGTnd+ucT0x7IpO8tTxOy3rR2PpHyBAInZS/n7j5llIg==", "requires": { "@types/node": ">6", "macro-inferno": "^0.2.3", "nan": "^2.12.1", "native-node-utils": "^0.1.5", - "opencv-build": "^0.0.17", - "prebuild-install": "^5.2.4" + "prebuild-install": "^5.3.0" } }, "optimist": { @@ -4526,9 +4524,9 @@ "dev": true }, "prebuild-install": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.2.4.tgz", - "integrity": "sha512-CG3JnpTZXdmr92GW4zbcba4jkDha6uHraJ7hW4Fn8j0mExxwOKK20hqho8ZuBDCKYCHYIkFM1P2jhtG+KpP4fg==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.0.tgz", + "integrity": "sha512-aaLVANlj4HgZweKttFNUVNRxDukytuIuxeK2boIMHjagNJCiVKWFsKF4tCE3ql3GbrD2tExPQ7/pwtEJcHNZeg==", "requires": { "detect-libc": "^1.0.3", "expand-template": "^2.0.3", @@ -4838,42 +4836,13 @@ "glob": "^7.1.3" } }, - "robotjs": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/robotjs/-/robotjs-0.5.1.tgz", - "integrity": "sha512-5qKsJs+0rI94WZRr3S0TleDGaiK9yeQ8PIDHwJUXWWnaHuTrbOluvw/WwSm3V7LfeLNcOHcsorP4umgmYzPLFw==", + "robotjs-node10": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/robotjs-node10/-/robotjs-node10-0.5.2.tgz", + "integrity": "sha512-oBQVwz4CHYKOrKq8fLpAZftFGRf2n9I5oGJzXiYV8gkTcbmaLq3FynhiQT594Cm/uGGvmdancJfoWSV0hwTIDA==", "requires": { "nan": "^2.2.1", - "prebuild-install": "^2.1.1" - }, - "dependencies": { - "expand-template": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.1.tgz", - "integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg==" - }, - "prebuild-install": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.5.3.tgz", - "integrity": "sha512-/rI36cN2g7vDQnKWN8Uzupi++KjyqS9iS+/fpwG4Ea8d0Pip0PQ5bshUNzVwt+/D2MRfhVAplYMMvWLqWrCF/g==", - "requires": { - "detect-libc": "^1.0.3", - "expand-template": "^1.0.2", - "github-from-package": "0.0.0", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "node-abi": "^2.2.0", - "noop-logger": "^0.1.1", - "npmlog": "^4.0.1", - "os-homedir": "^1.0.1", - "pump": "^2.0.1", - "rc": "^1.1.6", - "simple-get": "^2.7.0", - "tar-fs": "^1.13.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" - } - } + "prebuild-install": "^5.3.0" } }, "rsvp": { diff --git a/package.json b/package.json index 2453f6a1..f1657c50 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@nut-tree/nut-js", - "version": "1.0.1", + "version": "2.0.0", "license": "Apache-2.0", "main": "dist/index", "typings": "dist/index", @@ -55,8 +55,8 @@ }, "dependencies": { "clipboardy": "^2.0.0", - "opencv4nodejs-prebuilt": "^4.14.1", - "robotjs": "^0.5.1" + "opencv4nodejs-prebuilt": "4.15.0-b11", + "robotjs-node10": "0.5.2" }, "devDependencies": { "@types/clipboardy": "^1.1.0", From f22c966d5e24b4ec68b6233e7006bc2684b49385 Mon Sep 17 00:00:00 2001 From: Simon Hofmann Date: Sat, 18 May 2019 18:18:04 +0200 Subject: [PATCH 2/4] (#62) Enabled debug output in build script --- .build/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build/build.sh b/.build/build.sh index cb7fd601..dd20750c 100755 --- a/.build/build.sh +++ b/.build/build.sh @@ -22,7 +22,7 @@ cd $targetDir echo "Installing node version $nodeVersion" nvm install $nodeVersion echo "npm ci" -npm ci > /dev/null 2>&1 +npm ci echo "git fetch --unshallow" git fetch --unshallow echo "npm run compile" From 7d0fead368a0a1b36b3eb1caa20fb73a2c854f0b Mon Sep 17 00:00:00 2001 From: Simon Hofmann Date: Sat, 18 May 2019 18:28:26 +0200 Subject: [PATCH 3/4] (#62) Adjusted permissions for install in container --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index bea209f2..a11aee8a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,6 +23,7 @@ before_install: - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce - docker pull s1hofmann/nut-ci:latest - docker run -it -d --name nut-ci --user $(id -u):$(id -g) -v ${PWD}:${PWD}:rw s1hofmann/nut-ci:latest bash + - docker exec --user 0 nut-ci chown -R $(id -u):$(id -g) /opt install: true From f6b7610d271f2df08c3856a33547ab0e49f1e420 Mon Sep 17 00:00:00 2001 From: Simon Hofmann Date: Sun, 19 May 2019 02:52:00 +0200 Subject: [PATCH 4/4] (#62) Updated OpenCV version --- .travis.yml | 1 - package-lock.json | 6 +++--- package.json | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index a11aee8a..bea209f2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,6 @@ before_install: - sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce - docker pull s1hofmann/nut-ci:latest - docker run -it -d --name nut-ci --user $(id -u):$(id -g) -v ${PWD}:${PWD}:rw s1hofmann/nut-ci:latest bash - - docker exec --user 0 nut-ci chown -R $(id -u):$(id -g) /opt install: true diff --git a/package-lock.json b/package-lock.json index 437fda15..ba549616 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4292,9 +4292,9 @@ } }, "opencv4nodejs-prebuilt": { - "version": "4.15.0-b11", - "resolved": "https://registry.npmjs.org/opencv4nodejs-prebuilt/-/opencv4nodejs-prebuilt-4.15.0-b11.tgz", - "integrity": "sha512-/YSgj/lMJ7JVivLdEQ9ksmitIGaksjV5VlM+XbFcn6rGTnd+ucT0x7IpO8tTxOy3rR2PpHyBAInZS/n7j5llIg==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/opencv4nodejs-prebuilt/-/opencv4nodejs-prebuilt-4.15.0.tgz", + "integrity": "sha512-sedRV1aJhzzSYB09g/mhqW8GnbLYKzwdkqo4LA8RMKCOkVy1foWyzh1RpXrCbftSsRMRdqGV3R3jag3u6hgl3A==", "requires": { "@types/node": ">6", "macro-inferno": "^0.2.3", diff --git a/package.json b/package.json index f1657c50..96055c2a 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ }, "dependencies": { "clipboardy": "^2.0.0", - "opencv4nodejs-prebuilt": "4.15.0-b11", + "opencv4nodejs-prebuilt": "4.15.0", "robotjs-node10": "0.5.2" }, "devDependencies": {