build: Build and publish a proper CLI tool with options, also packaged as a Docker image (#2)

* Renamed environment variables

* Moved MqttSettings to main.tsx

* Using Commander for CLI arguments

* PinoLogger

* Option for json log format

* Updated mysa-js-sdk to latest version

* Moved options to their own module

* Extracted session file management to the session module

* Added deviceId meta to thermostat instance logger

* Display version from package.json; added copyright

* Create README.md

* Build with tsup

* Update .gitignore

* Remove prepublishOnly npm script

* Distributed CLI executable is now working

* Update README.md

* Dockerfile

* Minify the build output

* Update README.md

* Create initial Github workflow

* Create release.config.mjs

* Read package version at run-time, not build-time

* Update README.md

* Create CONTRIBUTING.md

* WIP: docker CI job

* Trying multiple tags

* Enable docker build cache

* Testing the docker build cache

* Dockerfile: set npm version in final stage for better caching

* Testing docker build cache

* Moved VERSION arg to the final build stage

* Finalized the `docker` build job

* Added copyright header to all source files

* Specify radix when parsing integer options
This commit is contained in:
Pascal Bourque
2025-06-06 11:33:18 -04:00
committed by GitHub
parent 7a3f94c37e
commit b7a80cb072
22 changed files with 8654 additions and 238 deletions

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
node_modules
dist
.env.local
session.json