The repository uses PNPM for monorepo management.
$ npm i -g pnpmgit clone https://github.com/yume-chan/ya-webadb.git
cd ya-webadb$ pnpm install$ pnpm buildTests are written using Node.js built-in test runner. Node.js v20.16.0 and later might have a bug reporting code coverage: nodejs/node#54240
$ pnpm test$ pnpm lint$ pnpm recursive update --latest --interactive
$ pnpm dedupeRenovate is also enabled, but since it doesn't update package.json files, it's recommended to run the above commands manually.
Run pnpm build and pnpm test to make sure everything works after updating dependencies.
When creating a pull request, use changeset command to add a new changelog:
$ pnpm changesetThen follow the instructions to select changed packages and write a summary of the changes.
NPM packages are released using GitHub Actions. Create a new tag and push it to the repository to trigger the release workflow.
pnpm changeset version
git add -A
git commit -m "chore: release new version"
git push
git tag vX.Y.Z
git push --tagsWebUSB and Service Worker (which is used for file downloading) requires Secure Context (HTTPS or localhost).
- If you have a domain name, add a free SSL certificate from Let's Encrypt.
- If you are using IP address or can't get a free SSL certificate, either
- Add a self-issued SSL certificate and trust it on every device accessing it.
- Add the hostname to
chrome://flags/#unsafely-treat-insecure-origin-as-secureon every device accessing it.