You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Bump tar from 4.4.13 to 4.4.15
Bumps [tar](https://github.com/npm/node-tar) from 4.4.13 to 4.4.15.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](isaacs/node-tar@v4.4.13...v4.4.15)
---
updated-dependencies:
- dependency-name: tar
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected]>
* Bump tar from 4.4.13 to 4.4.15 in /e2e/electron-test
Bumps [tar](https://github.com/npm/node-tar) from 4.4.13 to 4.4.15.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](isaacs/node-tar@v4.4.13...v4.4.15)
---
updated-dependencies:
- dependency-name: tar
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected]>
* Bump path-parse from 1.0.6 to 1.0.7
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)
---
updated-dependencies:
- dependency-name: path-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected]>
* (#190) Rename private field native to nativeAdapter to stay consistent
* (#255) Only run sonar step if SONAR_TOKEN is set
* Added link to API docs to README.md
* (#260) Added missing lookup for 'delete' key
* (#262) Upgraded to Typescript 4.4.2 with minor adjustments
* (#265) Upgraded to SonarSource/sonarcloud-github-action v1.6
* Bump tar from 4.4.15 to 4.4.19 in /e2e/electron-test
Bumps [tar](https://github.com/npm/node-tar) from 4.4.15 to 4.4.19.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](isaacs/node-tar@v4.4.15...v4.4.19)
---
updated-dependencies:
- dependency-name: tar
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected]>
* Revert conditional execution of Sonar reports
* (#269) Export some internal objects
* (#271) Disable sonarcloud reporting to unstuck cross-platform checks
* (#271) Updated dependencies, fix conflicts
* (#271) Pin versions for clipboardy
* (#271) Move Jest timeout config out of test
* (#271) Debug failing AbortController test
* (#271) Revert node-abort-controller version bump due to inconsistencies. (Typescript complains on compile time, but after the change it fails on runtime)
* (#271) Fixed timeout configs in e2e tests
* Added demo video to README.md
* (#269) Changed export level and renamed classes to be less ambiguous
* (#278) Added grab and grabRegion methods to Screen
* (#278) Adjusted captureRegion and grabRegion parameters to accept Promises
* (#285) Added additional publish step for GitHub package registry
* (#258) Refined wording in snapshot release workflow
* Feature/292/provider registry (#293)
* (#292) Draft provider registry
* (#292) Register ImageWriter and ImageReader instances
* Feature/294/export provider interfaces (#295)
* (#294) Export interfaces for providers
* (#294) Align naming of interfaces
* (#296) Add missing export for ImageWriterParameters (#297)
* (#301) Exported FilType enum (#302)
* Feature/279/separate image matching (#298)
* (#279) Remove image matching provider code
* (#279) Remove image matching providers from registry
* (#279) Update vision adapter test
* (#279) Remove opencv4nodejs-prebuilt dependency
* (#279) Plugin e2e test
* (#279) Init plugin e2e test
* (#279) Align e2e package versions
* (#279) Fix resource path
* (#279) Add error info to output, formatting
* (#279) Run plugin test in Docker environment
* (#279) Export FileType enum
* (#279) Move screen e2e test to plugin e2e test subpackage since it requires the template-matcher package as well
* (#279) Move keyboard e2e test to plugin subpackage as well
* feat: adding the rest of the function keys (#305)
* (#130) Introduce EasingFunction interface (#304)
* (#130) Updated implementation
* (#130) Easing function refinement
* Feature/307/default imagereader imagewriter (#308)
* (#307) Add jimp dependencz
* (#307) Implement image reader
* (#307) Implement image writer
* (#307) Test data
* (#307) Register both providers
* (#307) Stick to BGR color format when loading images
* (#307) Expose imagereader and imagewriter through utility functions
* (#307) Updated tests to verify calls to Jimp
* (#307) Mock jimp in testcases using the pluginRegistry to avoid ReferenceErrors
* (#307) Mock jimp in e2e testcases to avoid ReferenceErrors
* Maintenance/310/remove adapters (#311)
* (#310) Delete both adapters
* (#310) Migrate window.function to not use adapters
* (#310) Migrated window.class to not use adapters
* (#310) Migrated screen.class to not use adapters
* (#310) Migrated movement.function to not use adapters
* (#310) Migrated mouse.class to not use adapters
* (#310) Remove leftover notions of adapters in test description
* (#310) Fixed expected format when saving a screenshot to disk
* (#310) Migrated keyboard.class to not use adapters
* (#310) Migrated clipboard.class to not use adapters
* (#310) Migrated assert.class test to not use adapters
* (#310) Migrated all exported instances to not use adapters
* (#310) Removed mention of adapter from test description
* Added sponsors listing to README.md
* (#306) Update supported cpus to include Apple Silicon (arm64)
* Add https://github.com/stoefln to sponsors listing
* Feature/204/screen find image needles (#319)
* (#204) Enabled passing of Image data to Screen#find
* (#204) Updated screen tests
* (#204) Removed plugin test from main repo
* (#204) Removed plugin test from Docker test runs
* (#204) Introduced additional id property to images
* (#204) Adjusted tests and image usage to new id property
* (#204) Added helper function to make loading image resources easier
* (#204) Adapted toShow matcher to new find parameters
* (#204) Re-use loadImageResource function
* Feature/320/find accept promise (#322)
* (#320) Make find, and the functions re-using it, accept Promise<Image>
* (#320) Update toShow matcher accordingly
* (#320) Update tests
* (#321) Added `findAll` to Screen (#323)
* Feature/259/get screen pixel color (#325)
* (#259) Introduced ImageProcessor interface
* (#259) imageToJimp converter function
* (#259) RGBA dataclass
* (#259) Implement ImageProcessor and register the new provider
* (#259) Re-use imageToJimp and clean up tests
* (#259) Fixed import for Image which was previously importing from dist
* Maintenance/310/remove adapters (#311)
* (#310) Delete both adapters
* (#310) Migrate window.function to not use adapters
* (#310) Migrated window.class to not use adapters
* (#310) Migrated screen.class to not use adapters
* (#310) Migrated movement.function to not use adapters
* (#310) Migrated mouse.class to not use adapters
* (#310) Remove leftover notions of adapters in test description
* (#310) Fixed expected format when saving a screenshot to disk
* (#310) Migrated keyboard.class to not use adapters
* (#310) Migrated clipboard.class to not use adapters
* (#310) Migrated assert.class test to not use adapters
* (#310) Migrated all exported instances to not use adapters
* (#310) Removed mention of adapter from test description
* Added sponsors listing to README.md
* (#306) Update supported cpus to include Apple Silicon (arm64)
* Add https://github.com/stoefln to sponsors listing
* Feature/204/screen find image needles (#319)
* (#204) Enabled passing of Image data to Screen#find
* (#204) Updated screen tests
* (#204) Removed plugin test from main repo
* (#204) Removed plugin test from Docker test runs
* (#204) Introduced additional id property to images
* (#204) Adjusted tests and image usage to new id property
* (#204) Added helper function to make loading image resources easier
* (#204) Adapted toShow matcher to new find parameters
* (#204) Re-use loadImageResource function
* Feature/320/find accept promise (#322)
* (#320) Make find, and the functions re-using it, accept Promise<Image>
* (#320) Update toShow matcher accordingly
* (#320) Update tests
* (#321) Added `findAll` to Screen (#323)
* (#259) Add `colorAt` to screen class
* (#324) Updated assert to handle valid find parameter types (#326)
* Feature/329/find image parameter type (#330)
* (#329) Make `Screen#find` only accept `Image` or `Promise<Image>` parameter type
* (#329) Update docstrings
* (#329) Adjusted tests
* (#329) Remove leftover string type checks
* (#327) Apply pixel density scaling when querying pixel color information (#332)
* (#312) Added new parameter `updateInterval` to `waitFor` to make the interval user configurable (#333)
* Feature/233/audio keys (#334)
* (#233) Extended key.enum with audio multimedia keys
* (#233) Extended Key mapping
* Feature/336/colormode conversion (#337)
* (#336) Introduced colormode enum
* (#336) Extended Image class with color mode conversion methods
* (#336) Set color mode on images when reading from disk
* (#336) Set colormode on images when grabbing screen content
* (#336) Limit switching of channels only to BGR images
* (#336) Export ColorMode enum
* (#336) Chasing down another async error in tests due to jimp
* Update README and docstrings
* Fix y offset for tests on macos-latest
* Maintenance/341/remove old code (#342)
* (#341) Remove Region#scaled
* (#341) Remove LocationParameters
* Maintenance/340/refine types (#343)
* (#340) Refactor the `data` property of `ImageWriterParameters` to `image`
* (#340) Refactor `Image#data` to a `Buffer` instead of `any`
* (#340) Fixed screen tests
* Re-enable sonar step (#344)
* Release/v2.0.0 rc1 (#345)
* Updated readme
* RC1
* Update @nut-tree/libnut to 2.1.3
* Center image in readme again
* Fixed typedoc config
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ahad <[email protected]>
[nut-tree/trailmix](https://github.com/nut-tree/trailmix) contains a set of ready to use examples which demo the usage ot nut.js.
40
48
49
+
# API Docs
50
+
51
+
nut.js provides [public API documentation](https://nut-tree.github.io/apidoc/) auto-generated by [TypeDoc](https://typedoc.org).
52
+
41
53
# Discussion
42
54
43
55
In [nut-tree/rfc](https://github.com/nut-tree/rfc) documents regarding larger design / implementation changes in nut.js are up for discussion.
@@ -59,7 +71,7 @@ It's work in progress and will undergo constant modification.
59
71
## Keyboard
60
72
61
73
-[x] Support for standard US keyboard layout
62
-
-[x] Support for German special characters
74
+
-[x] Support for multimedia keys
63
75
64
76
## Mouse
65
77
@@ -77,8 +89,10 @@ It's work in progress and will undergo constant modification.
77
89
78
90
## Screen
79
91
80
-
-[x] findOnScreen
81
-
-[x] waitFor
92
+
-[x] Find an image on screen
93
+
-[x] Find all image occurrences on screen
94
+
-[x] Wait for an image to appear on screen
95
+
-[x] Retrieve RGBA color information on screen
82
96
-[x] Hooks to trigger actions based on images
83
97
-[x] Highlighting screen regions
84
98
@@ -201,96 +215,3 @@ will install the most recent development release of `nut.js`.
201
215
202
216
**Attention**: While snapshot releases are great to work with upcoming features before a new stable release, it is still a snapshot release.
203
217
Please bear in mind that things might change and / or break on snapshot releases, so it is not recommended using them in production.
204
-
205
-
### Usage with Electron
206
-
207
-
`nut.js` in combination with Electron requires bindings built for use with Electron.
208
-
`nut.js` does provide such bindings and e.g. [electron-rebuild](https://www.npmjs.com/package/electron-rebuild) makes installation a breeze.
209
-
210
-
Besides installing `nut.js` via
211
-
212
-
```bash
213
-
npm i @nut-tree/nut-js
214
-
```
215
-
216
-
or
217
-
218
-
```bash
219
-
yarn add @nut-tree/nut-js
220
-
```
221
-
222
-
we also install `electron-rebuild` as a `devDependency`:
223
-
224
-
```bash
225
-
npm i -D electron-rebuild
226
-
```
227
-
228
-
or
229
-
230
-
```bash
231
-
yarn add -D electron-rebuild
232
-
```
233
-
234
-
Next, we add a `rebuild` script to our `package.json`:
235
-
236
-
```json
237
-
{
238
-
...
239
-
"scripts": {
240
-
...
241
-
"start": "electron app.js",
242
-
"rebuild": "electron-rebuild"
243
-
},
244
-
...,
245
-
}
246
-
```
247
-
248
-
Now all we have to do is run `npm run rebuild` and `electron-rebuild` will fetch the appropriate bindings for our Electron version.
249
-
Currently `nut.js` provides bindings for all ABI version to work with Electron v4.x up to 8.x
250
-
251
-
### Manual build
252
-
253
-
As a fallback, `nut.js` is able to build all required dependencies by itself.
254
-
To do so, some setup is required on the respective target platform.
255
-
256
-
#### Windows
257
-
258
-
In order to install `nut.js` on Windows, [Windows Build Tools](https://www.microsoft.com/en-us/download/details.aspx?id=48159) and [Python 2](https://www.python.org/downloads/windows/) are required.
259
-
You can either set them up manually, or install them via npm:
260
-
261
-
```bash
262
-
npm install --global windows-build-tools
263
-
```
264
-
265
-
or
266
-
267
-
```bash
268
-
yarn global add windows-build-tools
269
-
```
270
-
271
-
#### macOS
272
-
273
-
On macOS, Xcode command line tools are required.
274
-
You can install them by running
275
-
```bash
276
-
xcode-select --install
277
-
```
278
-
279
-
#### Linux
280
-
281
-
Depending on your distribution, Linux setups may differ.
0 commit comments