{"_id":"@altronix/serialport-detect-binding","_rev":"6-d0048834d607e94b2b4987fd9218ed2b","name":"@altronix/serialport-detect-binding","dist-tags":{"latest":"0.4.0"},"versions":{"0.2.0":{"name":"@altronix/serialport-detect-binding","version":"0.2.0","keywords":["serialport","async","detect"],"license":"MIT","_id":"@altronix/serialport-detect-binding@0.2.0","maintainers":[{"name":"richardlevano","email":"rlevano77@gmail.com"},{"name":"thomas.chiantia","email":"thomas@altronix.com"}],"ava":{"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"43c5abb69e168f6e7c84807771ddb17c772460da","tarball":"https://registry.npmjs.org/@altronix/serialport-detect-binding/-/serialport-detect-binding-0.2.0.tgz","fileCount":5,"integrity":"sha512-CdjBu4zuRIhrsI9zFG9EOZW4mJyzun/iCjm0rl/7G7KVphanouaUSFTgREEfRZyyTEDH1pyzgRrTs4vMZyVThw==","signatures":[{"sig":"MEYCIQCb3fXAhVBxa17nNGMo2+OvKO5XXC2UiWDwhPLbSvFQ8gIhAOCeDoWWKNuxL9GYSomfUS6wEl4SqZQLFFxBotxv2Ne+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19632},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-unknown-linux-gnu"],"binaryName":"serialport-detect-binding"},"_from":"file:altronix-serialport-detect-binding-0.2.0.tgz","types":"./index.d.ts","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","version":"napi version","artifacts":"napi artifacts","format:rs":"cargo fmt","build:debug":"napi build --platform","format:toml":"taplo format","format:prettier":"prettier . -w"},"_npmUser":{"name":"thomas.chiantia","email":"thomas@altronix.com"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"_resolved":"/tmp/c87e3cc0dac96611cb42ad6e37aa2954/altronix-serialport-detect-binding-0.2.0.tgz","_integrity":"sha512-CdjBu4zuRIhrsI9zFG9EOZW4mJyzun/iCjm0rl/7G7KVphanouaUSFTgREEfRZyyTEDH1pyzgRrTs4vMZyVThw==","repository":{"url":"git@gitlab.altronix.com:software-engineering/sdk/serialport.git","type":"git"},"_npmVersion":"11.5.1","description":"Template project for writing node package with napi-rs","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.5.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.4.1","chalk":"^5.4.1","husky":"^9.1.7","oxlint":"^1.8.0","prettier":"^3.6.2","tinybench":"^4.0.1","@taplo/cli":"^0.7.0","typescript":"^5.8.3","lint-staged":"^16.1.2","@emnapi/core":"^1.4.5","@napi-rs/cli":"^3.0.3","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.30","@emnapi/runtime":"^1.4.5","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@altronix/serialport-detect-binding-linux-x64-gnu":"0.2.0","@altronix/serialport-detect-binding-win32-x64-msvc":"0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/serialport-detect-binding_0.2.0_1754501241239_0.09802292203251928","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@altronix/serialport-detect-binding","version":"0.3.0","keywords":["serialport","async","detect"],"license":"MIT","_id":"@altronix/serialport-detect-binding@0.3.0","maintainers":[{"name":"richardlevano","email":"rlevano77@gmail.com"},{"name":"thomas.chiantia","email":"thomas@altronix.com"}],"ava":{"timeout":"2m","extensions":{"ts":"module"},"nodeArguments":["--import","@oxc-node/core/register"],"workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"}},"dist":{"shasum":"fd39c164675a832b2cdb28dfc741e3d932ec01ed","tarball":"https://registry.npmjs.org/@altronix/serialport-detect-binding/-/serialport-detect-binding-0.3.0.tgz","fileCount":5,"integrity":"sha512-c3K1z/0b+r5xQ1wYJFuZco6nauQQh7bdyPDBv7HN5AaASRW4T2/Vm0JCP+qdsb+3RyFTjmlTJ3hv2zoG05Buow==","signatures":[{"sig":"MEUCIQCqctvgFXoIatWSEnKccnkYV6lc+u78WFAzrkbtr36nSwIgH4fgk9kZ5/2HJZ/8HhstCTE+pLhjCl2Ooj4uq2taCrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19686},"main":"index.js","napi":{"targets":["x86_64-pc-windows-msvc","x86_64-unknown-linux-gnu"],"npmClient":"pnpm","binaryName":"serialport-detect-binding"},"_from":"file:altronix-serialport-detect-binding-0.3.0.tgz","types":"./index.d.ts","engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"scripts":{"lint":"oxlint .","test":"ava","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","format":"run-p format:prettier format:rs format:toml","version":"napi version","artifacts":"napi create-npm-dirs && napi artifacts -o .","format:rs":"cargo fmt","build:debug":"napi build --platform","format:toml":"taplo format","format:prettier":"prettier . -w"},"_npmUser":{"name":"thomas.chiantia","email":"thomas@altronix.com"},"prettier":{"semi":false,"printWidth":120,"arrowParens":"always","singleQuote":true,"trailingComma":"all"},"_resolved":"/tmp/65be1cb0801c1f682f8f492ebafaa577/altronix-serialport-detect-binding-0.3.0.tgz","_integrity":"sha512-c3K1z/0b+r5xQ1wYJFuZco6nauQQh7bdyPDBv7HN5AaASRW4T2/Vm0JCP+qdsb+3RyFTjmlTJ3hv2zoG05Buow==","repository":{"url":"git@gitlab.altronix.com:software-engineering/sdk/serialport.git","type":"git"},"_npmVersion":"11.5.1","description":"Template project for writing node package with napi-rs","directories":{},"lint-staged":{"*.toml":["taplo format"],"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"]},"_nodeVersion":"24.5.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"ava":"^6.4.1","chalk":"^5.4.1","husky":"^9.1.7","oxlint":"^1.8.0","prettier":"^3.6.2","tinybench":"^4.0.1","@taplo/cli":"^0.7.0","typescript":"^5.8.3","lint-staged":"^16.1.2","@emnapi/core":"^1.4.5","@napi-rs/cli":"^3.0.3","npm-run-all2":"^8.0.4","@oxc-node/core":"^0.0.30","@emnapi/runtime":"^1.4.5","@tybys/wasm-util":"^0.10.0"},"optionalDependencies":{"@altronix/serialport-detect-binding-linux-x64-gnu":"0.3.0","@altronix/serialport-detect-binding-win32-x64-msvc":"0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/serialport-detect-binding_0.3.0_1754507919794_0.995895142272955","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@altronix/serialport-detect-binding","version":"0.4.0","description":"Template project for writing node package with napi-rs","main":"index.js","repository":{"type":"git","url":"git@gitlab.altronix.com:software-engineering/sdk/serialport.git"},"license":"MIT","keywords":["serialport","async","detect"],"napi":{"binaryName":"serialport-detect-binding","targets":["x86_64-pc-windows-msvc","x86_64-unknown-linux-gnu"]},"engines":{"node":">= 12.22.0 < 13 || >= 14.17.0 < 15 || >= 15.12.0 < 16 || >= 16.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"devDependencies":{"@emnapi/core":"^1.4.5","@emnapi/runtime":"^1.4.5","@napi-rs/cli":"^3.0.3","@oxc-node/core":"^0.0.30","@taplo/cli":"^0.7.0","@tybys/wasm-util":"^0.10.0","ava":"^6.4.1","chalk":"^5.4.1","husky":"^9.1.7","lint-staged":"^16.1.2","npm-run-all2":"^8.0.4","oxlint":"^1.8.0","prettier":"^3.6.2","tinybench":"^4.0.1","typescript":"^5.8.3"},"lint-staged":{"*.@(js|ts|tsx)":["oxlint --fix"],"*.@(js|ts|tsx|yml|yaml|md|json)":["prettier --write"],"*.toml":["taplo format"]},"ava":{"extensions":{"ts":"module"},"timeout":"2m","workerThreads":false,"environmentVariables":{"OXC_TSCONFIG_PATH":"./__test__/tsconfig.json"},"nodeArguments":["--import","@oxc-node/core/register"]},"prettier":{"printWidth":120,"semi":false,"trailingComma":"all","singleQuote":true,"arrowParens":"always"},"optionalDependencies":{"@altronix/serialport-detect-binding-win32-x64-msvc":"0.4.0","@altronix/serialport-detect-binding-linux-x64-gnu":"0.4.0"},"scripts":{"artifacts":"napi create-npm-dirs && napi artifacts -o .","bench":"node --import @oxc-node/core/register benchmark/bench.ts","build":"napi build --platform --release","build:debug":"napi build --platform","format":"run-p format:prettier format:rs format:toml","format:prettier":"prettier . -w","format:toml":"taplo format","format:rs":"cargo fmt","lint":"oxlint .","test":"ava","version":"napi version"},"_id":"@altronix/serialport-detect-binding@0.4.0","types":"./index.d.ts","_integrity":"sha512-HFvhUKATla2QJo3jxmvsV+zX2+QfBBB5xer1TWOFbsqOKkmS/sLufc9+5knWyyqTgFaoh1Mp312dIjU0nY2VVA==","_resolved":"/tmp/d02292b47c6b79bd6e8a3914936dddf1/altronix-serialport-detect-binding-0.4.0.tgz","_from":"file:altronix-serialport-detect-binding-0.4.0.tgz","_nodeVersion":"24.5.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-HFvhUKATla2QJo3jxmvsV+zX2+QfBBB5xer1TWOFbsqOKkmS/sLufc9+5knWyyqTgFaoh1Mp312dIjU0nY2VVA==","shasum":"63e72871d4e0ddb393ff348354a849485abed42f","tarball":"https://registry.npmjs.org/@altronix/serialport-detect-binding/-/serialport-detect-binding-0.4.0.tgz","fileCount":5,"unpackedSize":19661,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBwS96C5jtkmrMTHLSX0SmKi7wG2YAoftKDGCo/et+EeAiEAqZUVkPkO2Cie2X1Pde4unBqvsyt4eXKOQJvfLhsAYyI="}]},"_npmUser":{"name":"thomas.chiantia","email":"thomas@altronix.com"},"directories":{},"maintainers":[{"name":"richardlevano","email":"rlevano77@gmail.com"},{"name":"thomas.chiantia","email":"thomas@altronix.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/serialport-detect-binding_0.4.0_1754508884475_0.09924682052168987"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-06T17:27:21.134Z","modified":"2025-08-06T19:34:44.870Z","0.1.0":"2025-08-06T16:03:19.578Z","0.2.0":"2025-08-06T17:27:21.430Z","0.3.0":"2025-08-06T19:18:39.959Z","0.4.0":"2025-08-06T19:34:44.655Z"},"license":"MIT","keywords":["serialport","async","detect"],"repository":{"type":"git","url":"git@gitlab.altronix.com:software-engineering/sdk/serialport.git"},"description":"Template project for writing node package with napi-rs","maintainers":[{"name":"richardlevano","email":"rlevano77@gmail.com"},{"name":"thomas.chiantia","email":"thomas@altronix.com"}],"readme":"# `@napi-rs/package-template`\n\n![https://github.com/napi-rs/package-template/actions](https://github.com/napi-rs/package-template/workflows/CI/badge.svg)\n\n> Template project for writing node packages with napi-rs.\n\n# Usage\n\n1. Click **Use this template**.\n2. **Clone** your project.\n3. Run `yarn install` to install dependencies.\n4. Run `yarn napi rename -n [@your-scope/package-name] -b [binary-name]` command under the project folder to rename your package.\n\n## Install this test package\n\n```\nyarn add @napi-rs/package-template\n```\n\n## Ability\n\n### Build\n\nAfter `yarn build/npm run build` command, you can see `package-template.[darwin|win32|linux].node` file in project root. This is the native addon built from [lib.rs](./src/lib.rs).\n\n### Test\n\nWith [ava](https://github.com/avajs/ava), run `yarn test/npm run test` to testing native addon. You can also switch to another testing framework if you want.\n\n### CI\n\nWith GitHub Actions, each commit and pull request will be built and tested automatically in [`node@20`, `@node22`] x [`macOS`, `Linux`, `Windows`] matrix. You will never be afraid of the native addon broken in these platforms.\n\n### Release\n\nRelease native package is very difficult in old days. Native packages may ask developers who use it to install `build toolchain` like `gcc/llvm`, `node-gyp` or something more.\n\nWith `GitHub actions`, we can easily prebuild a `binary` for major platforms. And with `N-API`, we should never be afraid of **ABI Compatible**.\n\nThe other problem is how to deliver prebuild `binary` to users. Downloading it in `postinstall` script is a common way that most packages do it right now. The problem with this solution is it introduced many other packages to download binary that has not been used by `runtime codes`. The other problem is some users may not easily download the binary from `GitHub/CDN` if they are behind a private network (But in most cases, they have a private NPM mirror).\n\nIn this package, we choose a better way to solve this problem. We release different `npm packages` for different platforms. And add it to `optionalDependencies` before releasing the `Major` package to npm.\n\n`NPM` will choose which native package should download from `registry` automatically. You can see [npm](./npm) dir for details. And you can also run `yarn add @napi-rs/package-template` to see how it works.\n\n## Develop requirements\n\n- Install the latest `Rust`\n- Install `Node.js@10+` which fully supported `Node-API`\n- Install `yarn@1.x`\n\n## Test in local\n\n- yarn\n- yarn build\n- yarn test\n\nAnd you will see:\n\n```bash\n$ ava --verbose\n\n  ✔ sync function from native code\n  ✔ sleep function from native code (201ms)\n  ─\n\n  2 tests passed\n✨  Done in 1.12s.\n```\n\n## Release package\n\nEnsure you have set your **NPM_TOKEN** in the `GitHub` project setting.\n\nIn `Settings -> Secrets`, add **NPM_TOKEN** into it.\n\nWhen you want to release the package:\n\n```\nnpm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]\n\ngit push\n```\n\nGitHub actions will do the rest job for you.\n","readmeFilename":"README.md"}