Merged
Conversation
@futomag9 added an option to not configure wifi
Bumps [axios](https://github.com/axios/axios) from 0.21.4 to 0.28.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v0.28.0/CHANGELOG.md) - [Commits](axios/axios@v0.21.4...v0.28.0) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
…0.28.0 Bump axios from 0.21.4 to 0.28.0
…parsing device responses
commit f7f3056 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 17:01:27 2025 +0100 Namespace property is part of the message header not the message commit f1515bd Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 16:58:40 2025 +0100 be consistent with imports commit 6d111f8 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 16:55:09 2025 +0100 be consistent with imports commit 2d6d04f Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 16:43:56 2025 +0100 updated stale config commit 159da96 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 16:38:55 2025 +0100 updated version commit 271daba Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 16:38:37 2025 +0100 updated version commit e0fa8d1 Author: Rob Griffiths <rob@bytespider.dev> Date: Mon Jan 13 19:31:59 2025 +0000 update packages and engines commit cedc781 Author: Rob Griffiths <rob@bytespider.dev> Date: Mon Jan 13 19:29:11 2025 +0000 updated dockerfile example commit 5479784 Author: Rob Griffiths <rob@bytespider.dev> Date: Thu Nov 2 08:52:13 2023 +0000 Update and rename npm-ghr-publish.yml to npm-publish.yml Remove GHR commit 9edf855 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 12:20:41 2023 +0000 Update npm-ghr-publish.yml commit d72b193 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 12:18:55 2023 +0000 Update npm-ghr-publish.yml commit 30d18df Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 12:14:33 2023 +0000 Update README.md Update status badge commit a7bfb16 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 12:08:32 2023 +0000 Update npm-ghr-publish.yml added manual run option commit 6c3a002 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 11:52:28 2023 +0000 Create npm-ghr-publish.yml commit 30e35c6 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 11:46:00 2023 +0000 added further error message commit c2226af Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 16:21:36 2025 +0100 add npm-publish.yml. Merge issue commit 02eb5aa Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 16:15:48 2025 +0100 remove old files commit 27d746f Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 16:13:20 2025 +0100 fix merge error commit a49de4c Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 15:30:07 2025 +0100 updated version commit 5e1da3b Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Apr 23 15:53:33 2025 +0100 WIP commit 97c20c7 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Apr 5 17:58:43 2025 +0100 removed dist commit 330e681 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Apr 5 17:30:50 2025 +0100 complete typescript rewrite. Added encrypted communication for devices that require it commit 407cb27 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Jan 25 14:35:05 2025 +0000 remove VERSION file commit fe44f1c Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Jan 22 09:13:06 2025 +0000 add docker test environment commit 6056061 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 18:22:21 2023 +0000 updated github action commit 153f32d Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 17:46:41 2023 +0000 Update readme commit 01c2e3e Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 17:20:07 2023 +0000 updated deps commit b8b500e Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 17:16:56 2023 +0000 rename functions and document commit a0181b1 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 10:50:28 2023 +0000 WIP commit 04c1ac6 Author: Rob Griffiths <rob@bytespider.dev> Date: Tue Oct 31 14:38:41 2023 +0000 rewrite as ESM commit 40a9e49 Author: Rob Griffiths <rob@bytespider.dev> Date: Mon Jan 13 20:26:23 2025 +0000 1.0.16 (#94) * version changes * update node version requirement * Bump axios from 0.21.4 to 0.28.0 Bumps [axios](https://github.com/axios/axios) from 0.21.4 to 0.28.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v0.28.0/CHANGELOG.md) - [Commits](axios/axios@v0.21.4...v0.28.0) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * mosquitto example dockerfile * use fixed engine range, remove unused deps * removed old directories from .gitignore * updated node version * add vscode workspace settings * updated dockerfile example * coding style * information about CVE-2022-32214 resolution in node >21 that affects parsing device responses * update packages and engines * update to new versions * 1.0.16 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> commit 9c5c154 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 11:56:39 2023 +0000 Delete .github/workflows/npm-publish.yml Duplicate workflow commit f78b80b Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 11:46:00 2023 +0000 added further error message commit 2d6a1f0 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Sep 9 16:51:53 2021 +0000 Bump axios from 0.21.1 to 0.21.2 Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.2. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md) - [Commits](axios/axios@v0.21.1...v0.21.2) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> commit ca7b457 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 15:30:07 2025 +0100 updated version commit 5bd097e Author: Rob Griffiths <rob@bytespider.dev> Date: Mon Jan 13 19:39:28 2025 +0000 update to new versions commit d623975 Author: Rob Griffiths <rob@bytespider.dev> Date: Mon Jan 13 19:31:59 2025 +0000 update packages and engines commit bfd4006 Author: Rob Griffiths <rob@bytespider.dev> Date: Mon Jan 13 19:29:11 2025 +0000 updated dockerfile example commit 9a8893e Author: Rob Griffiths <rob@bytespider.dev> Date: Mon Jan 13 19:27:32 2025 +0000 updated node version commit 2676604 Author: Rob Griffiths <rob@bytespider.dev> Date: Tue Nov 12 13:06:46 2024 +0000 version changes commit dfc5993 Author: Rob Griffiths <rob@bytespider.dev> Date: Thu Nov 2 08:52:13 2023 +0000 Update and rename npm-ghr-publish.yml to npm-publish.yml Remove GHR commit c7077cf Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 12:20:41 2023 +0000 Update npm-ghr-publish.yml commit 68d990e Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 12:18:55 2023 +0000 Update npm-ghr-publish.yml commit 4ae14d9 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 12:14:33 2023 +0000 Update README.md Update status badge commit 0ec0182 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 12:08:32 2023 +0000 Update npm-ghr-publish.yml added manual run option commit 09bbec1 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 11:56:39 2023 +0000 Delete .github/workflows/npm-publish.yml Duplicate workflow commit 36eee73 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 11:52:28 2023 +0000 Create npm-ghr-publish.yml commit 6037b3f Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 11:46:00 2023 +0000 added further error message commit c64ce56 Author: Simon Porter <simonporter007@users.noreply.github.com> Date: Wed Jan 11 19:02:04 2023 +0000 add mention of node requirement to docs and enforce via npm commit a553a1a Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Sep 9 16:51:53 2021 +0000 Bump axios from 0.21.1 to 0.21.2 Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.2. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md) - [Commits](axios/axios@v0.21.1...v0.21.2) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> commit 8526596 Author: Rob Griffiths <rob@bytespider.dev> Date: Fri Aug 6 13:33:04 2021 +0100 Added information about factory mode commit 99c0688 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 14:36:27 2025 +0100 Update README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> commit 2a686c1 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Aug 2 14:36:18 2025 +0100 Update packages/cli/src/cli.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> commit 179521d Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Apr 23 15:56:35 2025 +0100 update version commit e94d6d8 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Apr 23 15:53:33 2025 +0100 WIP commit 3e0a7c8 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Apr 12 19:21:42 2025 +0100 2.0.0 commit 97bb1d4 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Apr 12 19:21:08 2025 +0100 make sure node std libraries are imported with node: prefix commit ba2a46f Author: Rob Griffiths <rob@bytespider.dev> Date: Sun Apr 6 11:46:26 2025 +0100 fix packages commit 4e67458 Author: Rob Griffiths <rob@bytespider.dev> Date: Sun Apr 6 11:40:44 2025 +0100 for build and publishing commit 29862da Author: Rob Griffiths <rob@bytespider.dev> Date: Sun Apr 6 11:40:26 2025 +0100 for build and publishing commit bfd5d05 Author: Rob Griffiths <rob@bytespider.dev> Date: Sun Apr 6 11:40:03 2025 +0100 fix license commit a65d52b Author: Rob Griffiths <rob@bytespider.dev> Date: Sun Apr 6 11:20:35 2025 +0100 ip flag is not required as we default it commit a4244bd Author: Rob Griffiths <rob@bytespider.dev> Date: Sun Apr 6 11:19:50 2025 +0100 added readme and license commit 1a315a5 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Apr 5 18:03:14 2025 +0100 remove commented reference code commit b2bc8c0 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Apr 5 18:03:04 2025 +0100 use strings not buffers commit 011d83b Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Apr 5 18:01:27 2025 +0100 decide the protocol and the port based on the input commit b6a5e23 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Apr 5 18:00:37 2025 +0100 allow strings to be passed to base64 encode commit e0e65a9 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Apr 5 17:59:55 2025 +0100 added dist to ignore commit 43bea72 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Apr 5 17:58:43 2025 +0100 removed dist commit 920d5ac Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Apr 5 17:30:50 2025 +0100 complete typescript rewrite. Added encrypted communication for devices that require it commit cf1c3d7 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Jan 25 14:39:05 2025 +0000 add license commit eb4fa81 Author: Rob Griffiths <rob@bytespider.dev> Date: Sat Jan 25 14:35:05 2025 +0000 remove VERSION file commit 8938f93 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Jan 22 09:16:15 2025 +0000 clean up ignore files commit bf0d3d5 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Jan 22 09:13:30 2025 +0000 remove parameters from shebang commit b4ccfb3 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Jan 22 09:13:06 2025 +0000 add docker test environment commit a4020c6 Author: Rob Griffiths <rob@bytespider.dev> Date: Fri Dec 13 14:33:20 2024 +0000 update to use import attributes rather than import assertions commit e276c8b Author: Rob Griffiths <rob@bytespider.dev> Date: Fri Dec 13 14:31:52 2024 +0000 update versions commit 3a95cb6 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 18:22:45 2023 +0000 updated version commit 0c42ba1 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 18:22:21 2023 +0000 updated github action commit c2f3c89 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 18:17:23 2023 +0000 removed old api file commit faeaba1 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 17:54:12 2023 +0000 Update readme with requirements commit 881381b Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 17:47:44 2023 +0000 Update readme commit 0ba0811 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 17:46:41 2023 +0000 Update readme commit ec2eb55 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 17:46:27 2023 +0000 Proof read options commit eb2e609 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 17:20:07 2023 +0000 updated deps commit a30ab90 Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Dec 27 17:16:56 2023 +0000 rename functions and document commit 3ff072d Author: Rob Griffiths <rob@bytespider.dev> Date: Fri Nov 3 10:23:15 2023 +0000 Use `configure` rather then `set` to imply action over the network commit bb94969 Author: Rob Griffiths <rob@bytespider.dev> Date: Fri Nov 3 10:01:57 2023 +0000 Remove debuging commit cfaed31 Author: Rob Griffiths <rob@bytespider.dev> Date: Fri Nov 3 09:45:49 2023 +0000 Remove unneeded imports commit 9b1de7f Author: Rob Griffiths <rob@bytespider.dev> Date: Fri Nov 3 09:39:45 2023 +0000 format to standard commit 827ad31 Author: Rob Griffiths <rob@bytespider.dev> Date: Thu Nov 2 18:55:23 2023 +0000 keep code clean commit 5f5d2d9 Author: Rob Griffiths <rob@bytespider.dev> Date: Thu Nov 2 18:54:43 2023 +0000 componentise the library commit 244295a Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 15:04:42 2023 +0000 added missing files commit 631e46b Author: Rob Griffiths <rob@bytespider.dev> Date: Wed Nov 1 10:50:28 2023 +0000 WIP commit de3b10e Author: Rob Griffiths <rob@bytespider.dev> Date: Tue Oct 31 14:38:41 2023 +0000 rewrite as ESM
* rewrite as ESM * WIP * added missing files * componentise the library * keep code clean * format to standard * Remove unneeded imports * Remove debuging * Use `configure` rather then `set` to imply action over the network * rename functions and document * updated deps * Proof read options * Update readme * Update readme * Update readme with requirements * removed old api file * updated github action * updated version * update versions * update to use import attributes rather than import assertions * add docker test environment * remove parameters from shebang * clean up ignore files * remove VERSION file * add license * complete typescript rewrite. Added encrypted communication for devices that require it * removed dist * added dist to ignore * allow strings to be passed to base64 encode * decide the protocol and the port based on the input * use strings not buffers * remove commented reference code * added readme and license * ip flag is not required as we default it * fix license * for build and publishing * for build and publishing * fix packages * make sure node std libraries are imported with node: prefix * 2.0.0 * WIP * update version * Update packages/cli/src/cli.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Added information about factory mode * Bump axios from 0.21.1 to 0.21.2 Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.2. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md) - [Commits](axios/axios@v0.21.1...v0.21.2) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * add mention of node requirement to docs and enforce via npm * added further error message * Create npm-ghr-publish.yml * Delete .github/workflows/npm-publish.yml Duplicate workflow * Update npm-ghr-publish.yml added manual run option * Update README.md Update status badge * Update npm-ghr-publish.yml * Update npm-ghr-publish.yml * Update and rename npm-ghr-publish.yml to npm-publish.yml Remove GHR * version changes * updated node version * updated dockerfile example * update packages and engines * update to new versions * updated version * Bump axios from 0.21.1 to 0.21.2 Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.2. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md) - [Commits](axios/axios@v0.21.1...v0.21.2) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * added further error message * Delete .github/workflows/npm-publish.yml Duplicate workflow * 1.0.16 (#94) * version changes * update node version requirement * Bump axios from 0.21.4 to 0.28.0 Bumps [axios](https://github.com/axios/axios) from 0.21.4 to 0.28.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v0.28.0/CHANGELOG.md) - [Commits](axios/axios@v0.21.4...v0.28.0) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * mosquitto example dockerfile * use fixed engine range, remove unused deps * removed old directories from .gitignore * updated node version * add vscode workspace settings * updated dockerfile example * coding style * information about CVE-2022-32214 resolution in node >21 that affects parsing device responses * update packages and engines * update to new versions * 1.0.16 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * rewrite as ESM * WIP * rename functions and document * updated deps * Update readme * updated github action * add docker test environment * remove VERSION file * complete typescript rewrite. Added encrypted communication for devices that require it * removed dist * WIP * updated version * fix merge error * remove old files * add npm-publish.yml. Merge issue * added further error message * Create npm-ghr-publish.yml * Update npm-ghr-publish.yml added manual run option * Update README.md Update status badge * Update npm-ghr-publish.yml * Update npm-ghr-publish.yml * Update and rename npm-ghr-publish.yml to npm-publish.yml Remove GHR * updated dockerfile example * update packages and engines * updated version * updated version * updated stale config * be consistent with imports * be consistent with imports * Namespace property is part of the message header not the message --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Simon Porter <simonporter007@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR represents a major release 2.0.0 that completely restructures the project from a simple Node.js CLI tool to a modern TypeScript monorepo with separate library and CLI packages. The refactoring introduces proper TypeScript types, comprehensive test coverage, and modern development practices.
- Complete rewrite in TypeScript with proper type definitions and ES modules
- Restructured into a monorepo with
@meross/liblibrary package andmerossCLI package - Added comprehensive test suite with 99% coverage across all utility functions and core classes
- Introduced modern encryption support with ECDH key exchange and proper error handling
Reviewed Changes
Copilot reviewed 76 out of 83 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/lib/ | New TypeScript library package with device management, transport layers, encryption, and utilities |
| packages/cli/ | New CLI package built on the library with improved command structure and terminal UI |
| package.json | Updated to workspace configuration with modern Node.js requirements |
| lib/api.js | Removed legacy JavaScript implementation |
| certs/ | Removed hardcoded certificates in favor of runtime generation |
Comments suppressed due to low confidence (3)
packages/lib/tsconfig.json:7
- The 'NodeNext' module setting may not be available in all TypeScript versions. Consider using 'Node16' for broader compatibility or ensure TypeScript version supports this setting.
"module": "NodeNext",
packages/cli/tsconfig.json:7
- The 'Node18' module setting is not a valid TypeScript module option. Use 'Node16' or 'NodeNext' instead.
"module": "Node18",
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR represents a major release 2.0.0 that completely restructures the project from a simple Node.js CLI tool to a modern TypeScript monorepo with separate library and CLI packages. The refactoring introduces proper TypeScript types, comprehensive test coverage, and modern development practices.
Complete rewrite in TypeScript with proper type definitions and ES modules
Restructured into a monorepo with @meross/lib library package and meross CLI package
Added comprehensive test suite with 99% coverage across all utility functions and core classes
Introduced modern encryption support with ECDH key exchange and proper error handling