{"_id":"chameleon-ultra.js","_rev":"85-7db77a13dfd5b64f49db6bf0e535289c","name":"chameleon-ultra.js","dist-tags":{"latest":"0.4.7"},"versions":{"0.1.0":{"name":"chameleon-ultra.js","version":"0.1.0","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.0","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"0d3d42c182c78e60caaf1d3be48ec7736e888231","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.0.tgz","fileCount":35,"integrity":"sha512-qgjqpK57DjaT+msUijo21fkdowKfpYO9N02dBuioG8+vNAWSPD15p5tRF6WIXW53Hy/PmmsZWmea22YVsjsySw==","signatures":[{"sig":"MEUCIQCPdjjuXu6CVXToGCploHbec6ejQ8gi9L+pJjxPpMarfQIgBDRfx0Fg93bmmK8pIzboK031g/Za8i/iexRXLZkidSE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1031915},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"855b193863fff4fb45a7c0d35996a453bb295a9c","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"rimraf ./dist && mkdir -p dist && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext ts,json ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.0_1694161943253_0.3941708704163247","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"chameleon-ultra.js","version":"0.1.1","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.1","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"7dec5ea1a6b5d3a2e8d7870f10b29484a90d3cf9","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.1.tgz","fileCount":47,"integrity":"sha512-+SADd5ndJbdVXIA3ksqkRiW4x2kkO9zIAnbXjt14beR/d05HKac3kiMH9kZMkjcsnkY7zCuTu8Nec80gzOnXrg==","signatures":[{"sig":"MEUCIH6b+m6pICbZ4IzSRLuJApKmqZ0sY+vzVFn1s8kvtaEgAiEAsNqkgjM+y96AiVU7ukdkyvqVFopZuVo6/Mnd4/oHr1E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1090580},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"9fca01132388d0fb8ef0dec23d1bc354f9a0d7c6","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext ts,json ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.1_1694167135682_0.5450366564922813","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"chameleon-ultra.js","version":"0.1.2","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.2","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"f2e601d654540ebaead442469c9dca7a29eb8216","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.2.tgz","fileCount":45,"integrity":"sha512-pkNg63nims2k6k9oMN1c5geYfXvBYC3afMMEsa1PJhK68ElFKFgCMpcpCwHEXDCRkL6a7C+nJFM6C767vJfLPg==","signatures":[{"sig":"MEUCIDgiyTfkbnAiz4WbXFKYpUAxxrk5P26uG7SJPfCnEXTVAiEAgurP8HLtYjMA0bgv6ELOOh1NaRB6Kdw8x5eeKd5UxLc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1090240},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"a1d8620655999a69d7fb488df89ce95476efe0f4","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext ts,json ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.2_1694239653401_0.6931749090752586","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"chameleon-ultra.js","version":"0.1.3","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.3","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"866e80f60ac1cea19d6b5719a36012a0bd9a82ad","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.3.tgz","fileCount":45,"integrity":"sha512-S+eXM88OA2UtiaL0dQhEgyEjVEUo0ZAZYvD4Z7lwbFT36vkQzFO5M2qFWAWSkt886MgvHVezRCijxMVycHsxjA==","signatures":[{"sig":"MEQCIB3mADBLXIcsMtm0yWCvT7rexPD1A8jGHVTkmBlpvIPWAiAIn3IF+vQeEVuRmMyGJ5Es5ZZBHtKoJCuU+j3n5egoew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1091782},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"f969ce5ab998739b6ad780bab6470389563e9672","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext ts,json ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.3_1694534960431_0.9007900314588491","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"chameleon-ultra.js","version":"0.1.4","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.4","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"015daa292b9e5ca4608e122858abab3048a3d177","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.4.tgz","fileCount":45,"integrity":"sha512-OKKxzkfEbldmGVsAjQb5sIHVFaCX9rUrFnCA3IrNMs+yMZrUYJDlNR/xl+57lkgw6a7j0BKtVmyiDf5MiYPgsA==","signatures":[{"sig":"MEYCIQCn5ULXQjnUFM2tf4xxgRqO4QBCvWTUwK7YNTWuRAzecAIhAJelDq1sgIZlguJ37e57zaQZlBZLA12lviTdOzD2C6jd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1091764},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"df1871371ca19cb0642877f1ec8e5ae560d98017","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext ts,json ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.4_1694537665231_0.7817071689041837","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"chameleon-ultra.js","version":"0.1.5","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.5","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"d3b304b781f6b3acb0b93cde3afb13225917725e","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.5.tgz","fileCount":45,"integrity":"sha512-ucPRtpw3jOLj2K3FQqQwW53SWGn8Da+nuDtQxgL1sX8U27aUZhGw5SWRmXs0KuA8GXHLNDnlztqf5K9G/as6dw==","signatures":[{"sig":"MEUCIQDcjyHs4ac0rANpiQjaxP/O+w7cG1GQgbvo/RCDituI4QIgT2PGZr/lqfdLs//7gLFLF46Be4DSwh4wRqkWbM4OuiA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1093073},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"c6442ed488bc76162b563ec1f816cc30b19d09d7","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.5_1694569055815_0.3354578673068198","host":"s3://npm-registry-packages"}},"0.1.6":{"name":"chameleon-ultra.js","version":"0.1.6","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.6","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"5f1181cf9d59113652fb4485038aeb75579afca1","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.6.tgz","fileCount":45,"integrity":"sha512-Y1PY4LkUpdFz+Gp4BFIyJFBt5PIgb75YTzhfv3BeFdN/eFB3k1D7JoGxT1Ql4RCu5+qzqeiqe8BpXJZAKPGM8A==","signatures":[{"sig":"MEQCIGa6Kbsl/zeWJs887/oqx0GtBGdraON8vZAvMkOxCXhdAiBwTWe8OvbPyN5rY2HSpuRbD7BudX80vkptyWDFvK0Oaw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1093102},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"fcc0edb59107daa698f9ed2ea4820adfbebd8de9","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.6_1694599377497_0.8480360139409704","host":"s3://npm-registry-packages"}},"0.1.7":{"name":"chameleon-ultra.js","version":"0.1.7","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.7","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"c64186d49eeeb9156796c1b2cf92f3efe4ba8899","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.7.tgz","fileCount":45,"integrity":"sha512-xjEaa3jHsV0fufEgaYoAQiaPrzSwbSThIh6cLFwnuXLPu9eJOMfgPFN3P29QmxoKdsQAxjY/1hrdZvbDT1A8bw==","signatures":[{"sig":"MEUCICTnBA+QW/ob5vuu+ziKpW+TCAooDIEcJlt/sFF3nPs6AiEAntMq42P6TjyxICxi6mqmO2TDhYGHooxOVTDI3tvbJ6c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1093102},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"834ab4166fc855781a5fcadb3cd1af7ff25dfd26","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.7_1694672370781_0.585342270902971","host":"s3://npm-registry-packages"}},"0.1.8":{"name":"chameleon-ultra.js","version":"0.1.8","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.8","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"49f5bd29579ee81d84fb92d9c940a5f3e9b8d33c","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.8.tgz","fileCount":45,"integrity":"sha512-Q/GfTLvzIaAzJt34QoqT9A+eSvl+NNMGGCwkvCBAqASmb7Vlmeg8nxp9w7CABdGHBJ1HGhDrLLeNuR5O4an5Lw==","signatures":[{"sig":"MEUCIQDIUCATV7AXEsZ7T/OSTylJKVQ2Lomu1cYLQaSzh03lowIgawC8hWlwz7N9P4fRdcHmNig+OdhkfY00fG5jYcycM9w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1093197},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"994eae9e26bbc343c366466d22c329e9feb53392","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.8_1694683939428_0.7831912533237588","host":"s3://npm-registry-packages"}},"0.1.9":{"name":"chameleon-ultra.js","version":"0.1.9","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.9","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"69551708f20fa9022913ae7991972f2e39e9bb39","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.9.tgz","fileCount":45,"integrity":"sha512-iLUHTef7eA0irBHAolj5MwpmpNrVVCF9b+CEwsusOstY0gAxYls3WbvOyoJN/lIimtQXz69sQy0wbqLoGQ4epg==","signatures":[{"sig":"MEUCICEiqkT7d7CxTouJS/8pJEOKszClQuZB1zNSKU+Vo7rSAiEAkl2b0UXdQBOYpdqunQ54fHvgMbCa7sY+CT+VJbd5FqA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1098154},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"762269a6afd4cb9bda3bea01ffe011b9cac186f1","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.9_1694792513592_0.24570824250072243","host":"s3://npm-registry-packages"}},"0.1.10":{"name":"chameleon-ultra.js","version":"0.1.10","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.10","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"1284635075d13ac1cebcb32564c09f60b4d66744","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.10.tgz","fileCount":45,"integrity":"sha512-Gt14rtQlatFCvgky3svsxqU409DzHZ1OW9RWbo5pZbc/f2TXoB6k9dIe+SMit30RQjpnkF2NvfIcCFC3Z7i/cw==","signatures":[{"sig":"MEUCIQD99Px1PagFEnFae2lz8zLkOya7/hSAUmgX8kJLKrUVRAIgAVvXeiiudorLSW6lf0wuARwOv2mnFdoxFz8yZnqkaJM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1100646},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"3a1d50a8088a70e56e980df5faaf05e569d7e3de","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.10_1694929598256_0.9455947333579477","host":"s3://npm-registry-packages"}},"0.1.11":{"name":"chameleon-ultra.js","version":"0.1.11","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.11","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"b1cc5dd2f70a452c419898687093098e46c5458a","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.11.tgz","fileCount":45,"integrity":"sha512-nEYmapWFFNHfhsMbm6cffsB5LjBNdW2RdQkV8P9tJ/BZzECJ2jCXbzM0jvD0NyvsXo6OCxEaQjoKVR0wW7J3Aw==","signatures":[{"sig":"MEUCIQC7rwKKrNIDw0V7svgJPw4CPDKNSq6+bFwrq7HKH5O5ZAIgdrmHglQ9Crs2ra6wbXEYS42ML2B0ddwxe9InrLErbp8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1103017},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"3181ac26ad6a21c6b2f7fabb9a1c68696223f3de","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.11_1695091853474_0.9147670387557929","host":"s3://npm-registry-packages"}},"0.1.12":{"name":"chameleon-ultra.js","version":"0.1.12","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.12","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"163f7440563b1ffdde2bf76cabecdcf649da0a3b","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.12.tgz","fileCount":45,"integrity":"sha512-aHeICrWLX0UYvGaZKW5bXNWUdFATxpB+dH4gKg46QtgJBEocchILGRcUm0Qkv65pB/Q2k2GQbPeqWz5ibZ/Chg==","signatures":[{"sig":"MEUCIQD9deYGLd0Hfi6lQ3ji+AeWVX1hJv626segH2xxwQOdGAIgWcrQKuM3MVpbijI1CJGxu15ID/BtrPfHmWNI0elPidg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1103093},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"aea8645e267e01685a2f7fde67248b337cd8eaba","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.12_1695143764072_0.25828369982637933","host":"s3://npm-registry-packages"}},"0.1.13":{"name":"chameleon-ultra.js","version":"0.1.13","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.13","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"35854bab04a3309a3d3a5919ab180daa768af5c9","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.13.tgz","fileCount":45,"integrity":"sha512-9/hoauUuyEuG/1ZvQrETmf5hYuNsjbQvMNN14Rl797N2kzVGZ3xdODnuR/XkoONVkDAmrdH0X+y7GHoMwbfMlA==","signatures":[{"sig":"MEYCIQCVd8D9zEUynrO8PiuCdVdpVxcRsPQ77ysNjcka/QH25QIhAKhm5BbgN6VLqBn0oXZOzZ62UqpPANwXJVN60zozWyzL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1204365},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"833db164789338ed61e58b8a6d211416d96aa4de","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"TS,PUG,DOC,HTTPS\" -c \"bgBlue,bgYellow,bgGray,bgGreen\" \"yarn dev:ts\" \"yarn dev:pug\" \"yarn dev:docs\" \"yarn dev:https\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.6.4","dayjs":"^1.11.9","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.48.0","rimraf":"^5.0.1","rollup":"^3.29.0","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.4","@types/node":"^20.5.9","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.0.2","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.0","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.2","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.6.0","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.13_1695276150769_0.004230027688677973","host":"s3://npm-registry-packages"}},"0.1.14":{"name":"chameleon-ultra.js","version":"0.1.14","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.14","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"87e8a761db6394b458c8929bbabe4da987c586b3","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.14.tgz","fileCount":49,"integrity":"sha512-qtdHMNVWI895l3J9hYVWTJMyxelUPmaajdxHkVSvXtYDt/3HxPHa5NphoUp6kl+MX4T/oJxaukzcQMVhUB67Kg==","signatures":[{"sig":"MEQCIDFhvXO/xAwAfIN/UYPq0H3E4XGJ6vicG0EPkP2iNzQvAiBDzkmZtFrMFjKQ0qSE0yY4h3t+HqtcO28AdelMlNghRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1239504},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"4de63f43823059f319d55a0830a264e57b7db640","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.14_1695655366406_0.7757580024657305","host":"s3://npm-registry-packages"}},"0.1.15":{"name":"chameleon-ultra.js","version":"0.1.15","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.15","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"3208103bfb8d8ace15b66fd7d4fdb315000a79f7","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.15.tgz","fileCount":49,"integrity":"sha512-/YV7oPlNgAM1rNyty0ZCEmxiyke/X5HEEDtZ0PapFi2BkQVh2053/HvYVJ8/bH2azVwhhsBVpQ5/t2NTbLlB3Q==","signatures":[{"sig":"MEUCIQCD9R1IIDFHIRh44uTLfQKjnTTDwmJhYRs1xWLga1o6rwIgWTK5RYsKW3OnUlGF4BPjGoh0kynFBTh/ALIPEsV1eNo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1242624},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"0e1e744f1976201de328f3ebc8d501cf53b4ad7c","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","test:publish":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.15_1695709777445_0.8710909251852954","host":"s3://npm-registry-packages"}},"0.1.16":{"name":"chameleon-ultra.js","version":"0.1.16","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.16","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"483c73089075c1af8a62dda10828a5eb0a58b409","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.16.tgz","fileCount":45,"integrity":"sha512-jF9EcKZxSxgBL8j3KneK5tAJDuggX7XorFriAfAg5md0yieNzNOqPf2tX+LuHcFLCCJ15v2Gb/5rLXEpGFPUPg==","signatures":[{"sig":"MEYCIQCtzji0QReDIkbkoKTIJbwiAa1NFIxl8ODHbJb4JNYSiQIhAIfL/pW0mN6ZQpZNkrFjVPz4ExsKbsSJk42htIAKRB39","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1227565},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"35aefaf4304e31d9fdc6b2ce881d4d8e62a8f6e2","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.16_1695734272720_0.22358300026319355","host":"s3://npm-registry-packages"}},"0.1.17":{"name":"chameleon-ultra.js","version":"0.1.17","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.17","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"0c23deeb9eee2a0d25e81b43d15693bab074dae7","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.17.tgz","fileCount":45,"integrity":"sha512-BSITGgTrqSrMefuYvKWfIvJ6PvLwKc8wyGc3rge2VFhPJX/olUMS6hFzwEjTRcyYW/CU0GszZvrglAmDlomfbA==","signatures":[{"sig":"MEUCIC1XFDEtEbYiPHHgLoNBsf3sCssavdS+Ut/2Leay/78YAiEA6WwEGB+I2qS9UlgSLmjliepofJIt95xbajh3b9/NcJo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1228224},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"39b357bd0804e2f88c3d7c4d177ef2e8cbdc99cb","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.17_1695736794813_0.7617662973690282","host":"s3://npm-registry-packages"}},"0.1.18":{"name":"chameleon-ultra.js","version":"0.1.18","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.1.18","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"c34b8bd6ad1d136469feb052fe0cf41cdd6620a9","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.1.18.tgz","fileCount":45,"integrity":"sha512-Pesi0PZhtg9kR393fdZspYb+cIzXT0nk69BYoPIUNeJJcixmm2Sz4qTxLZMTWUMOPguabprdg4huDmu+59nDIQ==","signatures":[{"sig":"MEUCID1BlO5gr2aNVDUdpPqehNo0wb18PnbU18ncE7DuFeMSAiEApxY5HcMcivPVAAvg1tThTkDwHncdI9DuZ3YntEIZ6fM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1227646},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"75e2ae862185aee028c5c4b82a536f7541b464b4","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.1.18_1695738743467_0.14257683355045425","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"chameleon-ultra.js","version":"0.2.0","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.0","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"3d849e94cc001ee2af1f9b1a585011e3a518b64d","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.0.tgz","fileCount":45,"integrity":"sha512-PWEKmDrHtH90wqt/VfVXukJxZjPVtjtmjfmhiqoARDBPryOlx6d+6NyViLMPnX4nwk38mPZXzjDr9akdWLb60A==","signatures":[{"sig":"MEUCIEK9AaR8CxiYg3w1NSoMxYRCGKcrCq3t0qzKIPifFtrOAiEAzAM4Ra+VjdzazdRzS9+ApLpavtOs3lJUkmud3HTbUd4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1242158},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"681bdd031f89b4ebcad689347eac550bf7263d98","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.6.7","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.17.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.0_1695748502997_0.37395380815910895","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"chameleon-ultra.js","version":"0.2.1","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.1","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"bb954569c11b12d2fb79614bdf7b063e3269b2ce","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.1.tgz","fileCount":45,"integrity":"sha512-pELVwi9UyYB6rtnh8ZmbewVsYqcCFZKoRo/tEXxzOuTI6zbg96vS3RUXg+CA89nmvCD/zc75YMGfQJrncZfFaA==","signatures":[{"sig":"MEUCIHIfExxkvEcN2tSvjDGa4Hd7AkqKeUEN5Uedq1N+Ju3VAiEA1hTNYcScwp/X1H8uhLfEraQM0crdGuOZa4mJZRp+Lws=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1295263},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"aff79f69802a19f8f747c7d1471611442f83b9da","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.1_1696183341142_0.2590391804083816","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"chameleon-ultra.js","version":"0.2.2","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.2","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"820343c9090e70b69b4d45854f0b068568ff8c0e","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.2.tgz","fileCount":45,"integrity":"sha512-IRXQxa8QFO7v4Vc0eUH6g5XMf9Gw6DFX82A73iHIItB1kuxeT8FdSSaUScoEM0C5nCc5z+AdjYSn2DaTGZ1pzA==","signatures":[{"sig":"MEQCIBtGWk/wST0yPL8H2fKQv3PSZwgi1RpccWv8ahUaXlUOAiARojpE4Ymhae5QvHBv+JzBNdscc1wdBV4XTsyh8t958A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1303510},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"c5a5386176e2e94319a8594ca9b08fae4d98bc5e","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.2_1696263701670_0.9707283574833918","host":"s3://npm-registry-packages"}},"0.2.3":{"name":"chameleon-ultra.js","version":"0.2.3","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.3","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"e25741f95c072884d6090bed168349ebcb90f224","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.3.tgz","fileCount":45,"integrity":"sha512-g6MgZCGUzxhims7UkFt/3hXwprItPZviCAHmc38cAliEVmjRYFwUWlE5ySMXCweI0c2T4AMRAUWbF0VkETf5xA==","signatures":[{"sig":"MEQCIBqLmhEKghs6o1ZEQVk2c3Gum5CmC7dGChmsKffHKgYIAiAYhMW3izoIuu4O5y2launbipbMgkUq/iRZ/XP1kI0peA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1308871},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"cc813b5a2e0c768114e41a514895fc0c33b5e1e6","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.3_1696354745645_0.5145197877154006","host":"s3://npm-registry-packages"}},"0.2.4":{"name":"chameleon-ultra.js","version":"0.2.4","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.4","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"709c9acc23c7c66582fa38331e8cebaab7af749d","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.4.tgz","fileCount":45,"integrity":"sha512-HMhGPhnXCc7mY2mJFxbzi42gih8xwoU2FsYfDpfKKrtHh8UUUkira74ARSU70sFN3ASIw+BlS1DHUXiExgXb7Q==","signatures":[{"sig":"MEYCIQD6rziaRE9WDDkhG/9UECpC0VomWXXcPVDkgjF3NBm06gIhAN3kWwOxVY++CGhiJjFw+aOaF8tth+ygsn0oDhgEq+s4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1456577},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"e1da32bb370c4b8b14fd4b533f7d853aad5a44f6","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.4_1696522454240_0.6965927246250638","host":"s3://npm-registry-packages"}},"0.2.5":{"name":"chameleon-ultra.js","version":"0.2.5","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.5","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"dd3521fd685ceae96d617033c00a319cc34ba9bf","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.5.tgz","fileCount":45,"integrity":"sha512-u5ZcFVDTbjHE4tu1ZS5M4nCOr8cP7EuH6XDhnHDtr0ERFL8x4XnlltmPz38E/n10wt7kvxyD2DAOPE/7W3HpXQ==","signatures":[{"sig":"MEQCIEH2v6wYRF1nWbr+BBTO9ZkxQWY0//iIH9c5SDmkk0qdAiB/G2BMdtzr22TM75mLcBvHP2HlxRgjFnU9H9SyQ247bg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1456425},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"bda56eeab38ced20d13c712e6c4361e6372735aa","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.5_1697087034384_0.5088211324112721","host":"s3://npm-registry-packages"}},"0.2.6":{"name":"chameleon-ultra.js","version":"0.2.6","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.6","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"269f52c5fb5731164455205772c336f767a0def1","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.6.tgz","fileCount":45,"integrity":"sha512-5lW1NDWYX2jT8RKXghM0oI9J44z6Ys+soZ5oAaPDwalskc2hbu1zC5Rk+YvlLbk/EFTaEjVWsZcXmYX+/ZVgnA==","signatures":[{"sig":"MEQCIAj47MeajfbuiKHmgnV35Pc27CbSOvIJFjNKImc7sHqQAiA37p1uBSFqvrfYCxg4oESdWHzr0fjnlywzx56pQHOcwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1466378},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"8120d1f8701b1b64a32bfc86d6126f530fbf6605","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.6_1697213665306_0.5782840567007805","host":"s3://npm-registry-packages"}},"0.2.7":{"name":"chameleon-ultra.js","version":"0.2.7","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.7","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"94a51c11b156516da3a0833269969a541f1b3500","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.7.tgz","fileCount":45,"integrity":"sha512-DgUCeuxpfJv+kfYvOOmLnB1y5j2suHXHxmIvPf7vFTAXybhzByVh9WWbYSIlqDBBiWXAnX4eXlAsVFal1deOAA==","signatures":[{"sig":"MEUCIQCFvi20BV6VlXG8EXx1T9sexN4QmKFqtUzno47WSWggGgIgEmiLobeY9NHTo9Ht4XlOdzSI9b1Z5HaB40Pl5dsje8c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1467548},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"c2f2ead1f5e00350debc747ebb87014187607b73","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.7_1697280936707_0.05765995885215536","host":"s3://npm-registry-packages"}},"0.2.8":{"name":"chameleon-ultra.js","version":"0.2.8","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.8","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"0bfb355478c5faf503c3ffe5bddfdbbc4bc9c8f3","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.8.tgz","fileCount":45,"integrity":"sha512-2lyxlJ9rKvdIYG8qEnGpNFCzFfxxPiR/RA9SZGGtDCBH7+vzXMqb2REW96+Ki0MCCwyBzZJ8UD0BsfZ5oy4ySQ==","signatures":[{"sig":"MEQCIGEl9vlvf1CTC7NZl+d1wR7GxnWaJS1icz8X4kHJ9F2QAiAd90zXZ0b+IzXBK2v1nPqauAiCaQAdrNm6JCD22gnWDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1477035},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"08fb39d0c117cdeae8614000a9375e4e7e99a8d3","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && typedoc && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --ext ts,json --exec typedoc","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.8_1697366188106_0.6545175225382271","host":"s3://npm-registry-packages"}},"0.2.9":{"name":"chameleon-ultra.js","version":"0.2.9","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.9","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"5b6e8b328fa4bbed86ae42c801e7537c5bc1109d","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.9.tgz","fileCount":45,"integrity":"sha512-E7kgJSTJlj86edgX2GWi8P5PDYFcAI8gefS8t/0pjkbXa6HBVol8V7G7F/t6m01PwcomCGPV9Jp5Gia89TNROw==","signatures":[{"sig":"MEQCH1qJHFuRCbq1tSfZD0IWkZgPEJd4fhsipsCmcIo7RcYCIQCqAFTXMDejCNlZRhdjNb9Nh7UDGurVRAlk6dCbzoGwrw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1519410},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"76f7cbe35bc36fa3169d31ef2715b5ad73853a2e","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc --readme pages/typedoc.md","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.2","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.9_1697872547105_0.5552445437367111","host":"s3://npm-registry-packages"}},"0.2.10":{"name":"chameleon-ultra.js","version":"0.2.10","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.10","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"b68aa6ef4baa054286995b151189ac9aca5e0cec","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.10.tgz","fileCount":45,"integrity":"sha512-0ZfIZutPXmOy737inEDLZp2s3tM/y5QSPYUAQFkgDvjACBr3fXXWsDsQEoeZeUdjHVDnmgwSX9o0ZFcJG6kM5Q==","signatures":[{"sig":"MEQCIEyax1OC7mjILu5SPacgRognyd7yvdmR4IdMFlqlo8bEAiAbGAN64Tf6CoLeMX8w6HqTV450jCz9MwOaFxzZhI7V5A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1522306},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"02c1e271aca97d0a8e7b2c325ca59cc3a491abf3","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc --readme pages/typedoc.md","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.2","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.10_1698024934327_0.8632462806576808","host":"s3://npm-registry-packages"}},"0.2.11":{"name":"chameleon-ultra.js","version":"0.2.11","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.11","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"1edd2709a7c57d374818d36bb47d365cfa2638e9","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.11.tgz","fileCount":45,"integrity":"sha512-pm/vYPR9wX1EpmHkGW9xHkFiigbdzsF00g8kgAQjIzHvHEVSQzhu3Je2sFoSSBIDYKm1I2n4phBwop3+IhiNaw==","signatures":[{"sig":"MEYCIQDMwaT9YX5hd+I+euYspyptP0DOpCSCfLZv951aywdXlQIhAPh+LJDoql8VdeLwdjDJNCINFsVjw0Fgvavg7rq1IwIw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1532525},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"645df31b99bfa37c5d5b6f70a6b492b92e455207","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc --readme pages/typedoc.md","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.2","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.49.0","rimraf":"^5.0.1","rollup":"^3.29.2","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.1","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.6","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.3","@types/debug":"^4.1.8","concurrently":"^8.2.1","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.198","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.1.0","@types/uglify-js":"^3.17.2","@types/livereload":"^0.9.3","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.1","@types/serve-static":"^1.15.2","@types/html-minifier":"^4.0.3","@types/web-bluetooth":"^0.0.17","eslint-plugin-import":"^2.28.1","@rollup/plugin-terser":"^0.4.3","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.4","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.3","@rollup/plugin-node-resolve":"^15.2.1","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.6.6","@typescript-eslint/eslint-plugin":"^6.7.2","eslint-config-standard-with-typescript":"^39.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.11_1698074212867_0.9724561748267126","host":"s3://npm-registry-packages"}},"0.2.12":{"name":"chameleon-ultra.js","version":"0.2.12","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.12","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"1e9fb9fb4baba5b479784088af7f1f2698319903","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.12.tgz","fileCount":45,"integrity":"sha512-Z5ODNX2iQ27qni3rHZb1ZJaV9VS7OavSx85B7WialwEjGNSSQh1suIfo7XqBQwbNqUS8Gn7AV6e8aw/VddfCkA==","signatures":[{"sig":"MEQCIA6GiHV/gEkrlSm8nZ6XDSxHzOivtmv9L2tgsDh0xB41AiA+cr9V+H9M9nKnSbRCpMSFV5+uKaT/3NbLZYkxVGuZ4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1532900},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"397d9ac57abf54ac08ef43d3c76f281e1447e2ac","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc --readme pages/typedoc.md","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.2","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.53.0","rimraf":"^5.0.5","rollup":"^3.29.4","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.3","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.8","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.7","@types/node":"^20.8.10","@types/debug":"^4.1.10","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.200","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.2.0","@types/uglify-js":"^3.17.3","@types/livereload":"^0.9.4","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.2","@types/serve-static":"^1.15.4","@types/html-minifier":"^4.0.4","@types/web-bluetooth":"^0.0.19","eslint-plugin-import":"^2.29.0","@rollup/plugin-terser":"^0.4.4","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^6.10.0","eslint-config-standard-with-typescript":"^39.1.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.12_1699315877323_0.9687733945563912","host":"s3://npm-registry-packages"}},"0.2.13":{"name":"chameleon-ultra.js","version":"0.2.13","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.13","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"9a2cbdd30d9fc644917cea1d260403d2b9150939","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.13.tgz","fileCount":45,"integrity":"sha512-l0ykK98yOHmOa1WUzAoX8TpcoVadBBZuIhURnREdBooVJKjYChMqzv14WEWjaEg0Ko+OiMIGCCYaJa1mzOM3eQ==","signatures":[{"sig":"MEQCIA7UIudr+qwGVIXS1S/gBdErj9HX09b/uTbd81hZ/RGxAiBf2uhF8yHArkYtNCUYf4IIBlsa0bh7LPw/SBC62Cbl4w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1534615},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"2c9843266d0a3322605ad86af363a7bcf93e9896","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc --readme pages/typedoc.md","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.2","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.53.0","rimraf":"^5.0.5","rollup":"^3.29.4","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.3","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.8","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.7","@types/node":"^20.8.10","@types/debug":"^4.1.10","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.200","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.2.0","@types/uglify-js":"^3.17.3","@types/livereload":"^0.9.4","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.2","@types/serve-static":"^1.15.4","@types/html-minifier":"^4.0.4","@types/web-bluetooth":"^0.0.19","eslint-plugin-import":"^2.29.0","@rollup/plugin-terser":"^0.4.4","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^6.10.0","eslint-config-standard-with-typescript":"^39.1.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.13_1699325498221_0.7572619710430162","host":"s3://npm-registry-packages"}},"0.2.14":{"name":"chameleon-ultra.js","version":"0.2.14","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.14","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"860718e296d345cf85b5937021f601dc5d316c36","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.14.tgz","fileCount":45,"integrity":"sha512-+CETsfgFSMmMZPZBpWIo/MZYG50Dfwh1If7R+o5ykbUFiFf7fi7cxT3YC7Kps3M9WIcgQ/aKK/2ydElDfwGS4g==","signatures":[{"sig":"MEQCIGCCdctaNX4fZFwTJlfKRRYZu5iqo0Jm4SJJXBcnkc+7AiAMZ2M9JQrqzWBNMlcBDqSN6i+Az4436TSZR3+T7FVmJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1533389},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"9f59ed1e12a6a7fe6cb1175b88145514255e5959","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc --readme pages/typedoc.md","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.2","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.53.0","rimraf":"^5.0.5","rollup":"^3.29.4","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.3","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.8","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.7","@types/node":"^20.8.10","@types/debug":"^4.1.10","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.200","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.2.0","@types/uglify-js":"^3.17.3","@types/livereload":"^0.9.4","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.2","@types/serve-static":"^1.15.4","@types/html-minifier":"^4.0.4","@types/web-bluetooth":"^0.0.19","eslint-plugin-import":"^2.29.0","@rollup/plugin-terser":"^0.4.4","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^6.10.0","eslint-config-standard-with-typescript":"^39.1.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.14_1699422504418_0.09852136497147868","host":"s3://npm-registry-packages"}},"0.2.15":{"name":"chameleon-ultra.js","version":"0.2.15","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.15","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"6d1ff1acab33b057f18d23056a981622500aaa37","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.15.tgz","fileCount":45,"integrity":"sha512-2ZR6mV8f39Ua9ei3MzOWsdEZK6jkT0z/6iGCbG/DelS96yU779c6yL/UtwRI+j1OPaup+n9zrBdi5EFV0j9iUg==","signatures":[{"sig":"MEYCIQDswvlwXv6AvoTS8cC26CqPfDg7S6AtBQKP8Dg+6/IHqAIhAPfl5pM68p1rCH3wnZJXSw2jU/M/xrX8rTd+KQirEBRM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1560736},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"66f988b1202a378f13904d4e8d9cdc7647390cbb","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc --readme pages/typedoc.md","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.2","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.53.0","rimraf":"^5.0.5","rollup":"^3.29.4","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.3","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.8","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.7","@types/node":"^20.8.10","@types/debug":"^4.1.10","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.200","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.2.0","@types/uglify-js":"^3.17.3","@types/livereload":"^0.9.4","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.2","@types/serve-static":"^1.15.4","@types/html-minifier":"^4.0.4","@types/web-bluetooth":"^0.0.19","eslint-plugin-import":"^2.29.0","@rollup/plugin-terser":"^0.4.4","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^6.10.0","eslint-config-standard-with-typescript":"^39.1.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.15_1700155918409_0.3896828515956927","host":"s3://npm-registry-packages"}},"0.2.16":{"name":"chameleon-ultra.js","version":"0.2.16","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.16","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"406b6ea3c172fe2a93c6a043f26805f4a8fbe348","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.16.tgz","fileCount":45,"integrity":"sha512-gUyvxwtpRw97oZsbXhvoO8n62ibjWhb49K7Mghxv29OyffCP9yfZ0jdogi+F29JMC9orKa0fR/Xm5fjt6rYCxA==","signatures":[{"sig":"MEUCIQDARCk051GQ/sQ34zKRO4/FcqX+6GBowQdJcqQJ7R+UrAIgUI3JRSCGOR8ari/ZFyFXLm0r+TUWw3sxFap3X7v4z9U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1769201},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"5bfd67d750ed35d046b0afe40d7b6432e36c92c2","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc --readme pages/typedoc.md && ts-node ./typedoc.ts","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.2","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.53.0","rimraf":"^5.0.5","rollup":"^3.29.4","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.3","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.8","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.7","@types/node":"^20.8.10","@types/debug":"^4.1.10","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.200","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.2.0","@types/uglify-js":"^3.17.3","@types/livereload":"^0.9.4","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.2","@types/serve-static":"^1.15.4","@types/html-minifier":"^4.0.4","@types/web-bluetooth":"^0.0.19","eslint-plugin-import":"^2.29.0","@rollup/plugin-terser":"^0.4.4","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^6.10.0","eslint-config-standard-with-typescript":"^39.1.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.16_1700759094387_0.9809005543531719","host":"s3://npm-registry-packages"}},"0.2.17":{"name":"chameleon-ultra.js","version":"0.2.17","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.17","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"f64e24ef113c8b45129a3b7531edf3979ae16af6","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.17.tgz","fileCount":47,"integrity":"sha512-jKN4RcFUDbUPJrnb6xFBg8phKyvsI1isi0SKT5ER0HdnF6xeJfT+V1Ja133rgQ+U8sG67xsEEVC7nDiOxrA39g==","signatures":[{"sig":"MEUCIQC/elHQpbzbzb8lfh6PH+H4I/dbTPhJ51Soz+qlemSwXQIgfy4NbCW8oYgGvrN44GU+4s6Fld2jlAXYxj6CwqYZBqQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1771795},"main":"index.js","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/index.mjs","browser":"./dist/iife/index.min.js","require":"./dist/cjs/index.cjs"},"./buffer":{"types":"./dist/types/buffer.d.ts","import":"./dist/es/buffer.mjs","browser":"./dist/iife/buffer.min.js","require":"./dist/cjs/buffer.cjs"},"./Crypto1":{"types":"./dist/types/Crypto1.d.ts","import":"./dist/es/Crypto1.mjs","browser":"./dist/iife/Crypto1.min.js","require":"./dist/cjs/Crypto1.cjs"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":"./dist/types/plugin/WebbleAdapter.d.ts","import":"./dist/es/plugin/WebbleAdapter.mjs","browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":"./dist/cjs/plugin/WebbleAdapter.cjs"},"./plugin/WebserialAdapter":{"types":"./dist/types/plugin/WebserialAdapter.d.ts","import":"./dist/es/plugin/WebserialAdapter.mjs","browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":"./dist/cjs/plugin/WebserialAdapter.cjs"},"./plugin/SerialPortAdapter":{"types":"./dist/types/plugin/SerialPortAdapter.d.ts","import":"./dist/es/plugin/SerialPortAdapter.mjs","require":"./dist/cjs/plugin/SerialPortAdapter.cjs"}},"gitHead":"bc39adc668bc7e81938cf9077e3ce13205d3e164","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc --readme pages/typedoc.md && ts-node ./typedoc.ts","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && ts-node ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && ts-node ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug ./pug/build.ts","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"ts-node ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"9.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.18.2","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.53.0","rimraf":"^5.0.5","rollup":"^3.29.4","nodemon":"^3.0.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","typedoc":"^0.25.3","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.8","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.2.2","@types/jest":"^29.5.7","@types/node":"^20.8.10","@types/debug":"^4.1.10","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.200","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.2.0","@types/uglify-js":"^3.17.3","@types/livereload":"^0.9.4","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^18.12.5","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.2","@types/serve-static":"^1.15.4","@types/html-minifier":"^4.0.4","@types/web-bluetooth":"^0.0.19","eslint-plugin-import":"^2.29.0","@rollup/plugin-terser":"^0.4.4","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","typedoc-plugin-mdn-links":"^3.1.0","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3","rollup-plugin-polyfill-node":"^0.12.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^6.10.0","eslint-config-standard-with-typescript":"^39.1.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.17_1700927786971_0.19931488671291997","host":"s3://npm-registry-packages"}},"0.2.18":{"name":"chameleon-ultra.js","version":"0.2.18","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.18","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"32a55294dbc761c02fa26214e7a6294169c39ef3","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.18.tgz","fileCount":49,"integrity":"sha512-i13nbKJAhvR/6CTppZ8PZ8WqOBNGUm/5ttJ635Hov7BT8X+wqT92Hz+YNcsIADARIS9exiOUh7omruM0cHzPyA==","signatures":[{"sig":"MEUCIDNBqzzobB/lUvqDmjAEWiINRqq3vkmnDTPayNyUGOPVAiEAnQ6Jwj++Tcr+8UmXZdO0N54NTNfvJVvwiFXexRE+fXc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2379078},"main":"index.js","type":"module","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"import":{"types":"./dist/es/index.d.mts","default":"./dist/es/index.mjs"},"browser":"./dist/iife/index.min.js","require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"./buffer":{"import":{"types":"./dist/es/buffer.d.mts","default":"./dist/es/buffer.mjs"},"browser":"./dist/iife/buffer.min.js","require":{"types":"./dist/cjs/buffer.d.cts","default":"./dist/cjs/buffer.cjs"}},"./Crypto1":{"import":{"types":"./dist/es/Crypto1.d.mts","default":"./dist/es/Crypto1.mjs"},"browser":"./dist/iife/Crypto1.min.js","require":{"types":"./dist/cjs/Crypto1.d.cts","default":"./dist/cjs/Crypto1.cjs"}},"./package.json":"./package.json","./plugin/WebbleAdapter":{"import":{"types":"./dist/es/plugin/WebbleAdapter.d.mts","default":"./dist/es/plugin/WebbleAdapter.mjs"},"browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":{"types":"./dist/cjs/plugin/WebbleAdapter.d.cts","default":"./dist/cjs/plugin/WebbleAdapter.cjs"}},"./plugin/WebserialAdapter":{"import":{"types":"./dist/es/plugin/WebserialAdapter.d.mts","default":"./dist/es/plugin/WebserialAdapter.mjs"},"browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":{"types":"./dist/cjs/plugin/WebserialAdapter.d.cts","default":"./dist/cjs/plugin/WebserialAdapter.cjs"}},"./plugin/SerialPortAdapter":{"import":{"types":"./dist/es/plugin/SerialPortAdapter.d.mts","default":"./dist/es/plugin/SerialPortAdapter.mjs"},"require":{"types":"./dist/cjs/plugin/SerialPortAdapter.d.cts","default":"./dist/cjs/plugin/SerialPortAdapter.cjs"}}},"gitHead":"cdc324db0bb95a36914496688d765f72ed227a80","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc && tsx ./typedoc.ts","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && tsx ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && tsx ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"tsx ./pug/build.ts\"","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"tsx ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.2.3","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"18.19.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","tsx":"^4.7.0","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.56.0","rimraf":"^5.0.5","rollup":"^4.9.1","nodemon":"^3.0.2","ts-jest":"^29.1.1","typedoc":"^0.25.4","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.10.5","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.202","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.5.0","@types/uglify-js":"^3.17.4","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","rollup-plugin-dts":"^6.1.0","@tsconfig/node-lts":"^20.1.0","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.5","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","@rollup/plugin-terser":"^0.4.4","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","typedoc-plugin-mdn-links":"^3.1.8","@rollup/plugin-typescript":"^11.1.5","@rollup/plugin-node-resolve":"^15.2.3","rollup-plugin-polyfill-node":"^0.13.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.1.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^6.15.0","eslint-config-standard-with-typescript":"^43.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.18_1703655475885_0.852775169763494","host":"s3://npm-registry-packages"}},"0.2.19":{"name":"chameleon-ultra.js","version":"0.2.19","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.19","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"9358106c304bc2f9130030026e2e9dece918e9ba","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.19.tgz","fileCount":49,"integrity":"sha512-qWavWA/zuOUT2/McqqmPTPbkcirUbo7tDQUKckssCb843pKBiBpta/UQ+1/+ro4WOArx1ZNaQPYRhn/awLF5sA==","signatures":[{"sig":"MEUCIQCAWiXMaQHElOPb7oESV34EGE5cckEMgTFhEyQBSyoalgIgNbfcTTO9PjWPPMcXaRV9OQTibXxp7I1b09buCXC4UhA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2451074},"main":"index.js","type":"module","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"import":{"types":"./dist/es/index.d.mts","default":"./dist/es/index.mjs"},"browser":"./dist/iife/index.min.js","require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"./buffer":{"import":{"types":"./dist/es/buffer.d.mts","default":"./dist/es/buffer.mjs"},"browser":"./dist/iife/buffer.min.js","require":{"types":"./dist/cjs/buffer.d.cts","default":"./dist/cjs/buffer.cjs"}},"./Crypto1":{"import":{"types":"./dist/es/Crypto1.d.mts","default":"./dist/es/Crypto1.mjs"},"browser":"./dist/iife/Crypto1.min.js","require":{"types":"./dist/cjs/Crypto1.d.cts","default":"./dist/cjs/Crypto1.cjs"}},"./package.json":"./package.json","./plugin/WebbleAdapter":{"import":{"types":"./dist/es/plugin/WebbleAdapter.d.mts","default":"./dist/es/plugin/WebbleAdapter.mjs"},"browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":{"types":"./dist/cjs/plugin/WebbleAdapter.d.cts","default":"./dist/cjs/plugin/WebbleAdapter.cjs"}},"./plugin/WebserialAdapter":{"import":{"types":"./dist/es/plugin/WebserialAdapter.d.mts","default":"./dist/es/plugin/WebserialAdapter.mjs"},"browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":{"types":"./dist/cjs/plugin/WebserialAdapter.d.cts","default":"./dist/cjs/plugin/WebserialAdapter.cjs"}},"./plugin/SerialPortAdapter":{"import":{"types":"./dist/es/plugin/SerialPortAdapter.d.mts","default":"./dist/es/plugin/SerialPortAdapter.mjs"},"require":{"types":"./dist/cjs/plugin/SerialPortAdapter.d.cts","default":"./dist/cjs/plugin/SerialPortAdapter.cjs"}}},"gitHead":"d858cd0ecd4d53ad9c098d4f8fa0569f635270ef","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc && tsx ./typedoc.ts","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && tsx ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && tsx ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"tsx ./pug/build.ts\"","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"tsx ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.2.3","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.10.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","tsx":"^4.7.0","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.56.0","rimraf":"^5.0.5","rollup":"^4.9.5","nodemon":"^3.0.2","ts-jest":"^29.1.1","typedoc":"^0.25.7","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.11.4","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.202","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.6.2","@types/uglify-js":"^3.17.4","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","rollup-plugin-dts":"^6.1.0","@tsconfig/node-lts":"^20.1.1","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.5","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","@rollup/plugin-terser":"^0.4.4","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","typedoc-plugin-mdn-links":"^3.1.12","@rollup/plugin-typescript":"^11.1.6","@rollup/plugin-node-resolve":"^15.2.3","rollup-plugin-polyfill-node":"^0.13.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^6.19.0","eslint-config-standard-with-typescript":"^43.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.19_1705479290400_0.823539173779378","host":"s3://npm-registry-packages"}},"0.2.20":{"name":"chameleon-ultra.js","version":"0.2.20","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.20","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"24fc74c5ee171c214f43542e2a82f818a99e36fe","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.20.tgz","fileCount":49,"integrity":"sha512-hJM4k5ZidfTYyzQzJHQL7syaYNbpvLQ2GiHEmUCBMI2146jHAPgV3bxEpBiPlh5QdUUlXmuY87QlBMzCistuPA==","signatures":[{"sig":"MEYCIQDp1dYLdfTSrypcmIFv9FYz2UdF/0COdO1dLdCKA7xAHQIhAPAGaGh1fU5Cr/ly4Io17D/OBcthjqUfcWY75n81xOYj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2450839},"main":"index.js","type":"module","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"import":{"types":"./dist/es/index.d.mts","default":"./dist/es/index.mjs"},"browser":"./dist/iife/index.min.js","require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"./buffer":{"import":{"types":"./dist/es/buffer.d.mts","default":"./dist/es/buffer.mjs"},"browser":"./dist/iife/buffer.min.js","require":{"types":"./dist/cjs/buffer.d.cts","default":"./dist/cjs/buffer.cjs"}},"./Crypto1":{"import":{"types":"./dist/es/Crypto1.d.mts","default":"./dist/es/Crypto1.mjs"},"browser":"./dist/iife/Crypto1.min.js","require":{"types":"./dist/cjs/Crypto1.d.cts","default":"./dist/cjs/Crypto1.cjs"}},"./package.json":"./package.json","./plugin/WebbleAdapter":{"import":{"types":"./dist/es/plugin/WebbleAdapter.d.mts","default":"./dist/es/plugin/WebbleAdapter.mjs"},"browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":{"types":"./dist/cjs/plugin/WebbleAdapter.d.cts","default":"./dist/cjs/plugin/WebbleAdapter.cjs"}},"./plugin/WebserialAdapter":{"import":{"types":"./dist/es/plugin/WebserialAdapter.d.mts","default":"./dist/es/plugin/WebserialAdapter.mjs"},"browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":{"types":"./dist/cjs/plugin/WebserialAdapter.d.cts","default":"./dist/cjs/plugin/WebserialAdapter.cjs"}},"./plugin/SerialPortAdapter":{"import":{"types":"./dist/es/plugin/SerialPortAdapter.d.mts","default":"./dist/es/plugin/SerialPortAdapter.mjs"},"require":{"types":"./dist/cjs/plugin/SerialPortAdapter.d.cts","default":"./dist/cjs/plugin/SerialPortAdapter.cjs"}}},"gitHead":"f25447ea98c707b504d2957d658c95fdd1751744","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc && tsx ./typedoc.ts","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && tsx ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && tsx ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"tsx ./pug/build.ts\"","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"tsx ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.2.3","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.10.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","tsx":"^4.7.0","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.56.0","rimraf":"^5.0.5","rollup":"^4.9.5","nodemon":"^3.0.2","ts-jest":"^29.1.1","typedoc":"^0.25.7","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.11.4","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.202","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.6.2","@types/uglify-js":"^3.17.4","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","rollup-plugin-dts":"^6.1.0","@tsconfig/node-lts":"^20.1.1","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.5","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","@rollup/plugin-terser":"^0.4.4","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","typedoc-plugin-mdn-links":"^3.1.12","@rollup/plugin-typescript":"^11.1.6","@rollup/plugin-node-resolve":"^15.2.3","rollup-plugin-polyfill-node":"^0.13.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^6.19.0","eslint-config-standard-with-typescript":"^43.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.20_1705510156372_0.3587600694890638","host":"s3://npm-registry-packages"}},"0.2.21":{"name":"chameleon-ultra.js","version":"0.2.21","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.21","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"4808b461fd24ad76f9c3bfd7a8da9b1aeb8af188","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.21.tgz","fileCount":49,"integrity":"sha512-N+yEwGJMMs+78SDhiJEmFJtWpua+sNqrXvqDn7wBHaeXAsCL/Z7Q65PTWpcEvwdGvWjbt099+kme27a5dz3+rQ==","signatures":[{"sig":"MEUCIC6h1ArYy4iG2Rqs3VwpTeB3iSh+ZmC4QZ1iV0XtqjwaAiEAn1jbwnI8cvtni8R/efbz7F4tDkalK0IqiksLURfoe7g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2434970},"main":"index.js","type":"module","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"import":{"types":"./dist/es/index.d.mts","default":"./dist/es/index.mjs"},"browser":"./dist/iife/index.min.js","require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"./buffer":{"import":{"types":"./dist/es/buffer.d.mts","default":"./dist/es/buffer.mjs"},"browser":"./dist/iife/buffer.min.js","require":{"types":"./dist/cjs/buffer.d.cts","default":"./dist/cjs/buffer.cjs"}},"./Crypto1":{"import":{"types":"./dist/es/Crypto1.d.mts","default":"./dist/es/Crypto1.mjs"},"browser":"./dist/iife/Crypto1.min.js","require":{"types":"./dist/cjs/Crypto1.d.cts","default":"./dist/cjs/Crypto1.cjs"}},"./package.json":"./package.json","./plugin/WebbleAdapter":{"import":{"types":"./dist/es/plugin/WebbleAdapter.d.mts","default":"./dist/es/plugin/WebbleAdapter.mjs"},"browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":{"types":"./dist/cjs/plugin/WebbleAdapter.d.cts","default":"./dist/cjs/plugin/WebbleAdapter.cjs"}},"./plugin/WebserialAdapter":{"import":{"types":"./dist/es/plugin/WebserialAdapter.d.mts","default":"./dist/es/plugin/WebserialAdapter.mjs"},"browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":{"types":"./dist/cjs/plugin/WebserialAdapter.d.cts","default":"./dist/cjs/plugin/WebserialAdapter.cjs"}},"./plugin/SerialPortAdapter":{"import":{"types":"./dist/es/plugin/SerialPortAdapter.d.mts","default":"./dist/es/plugin/SerialPortAdapter.mjs"},"require":{"types":"./dist/cjs/plugin/SerialPortAdapter.d.cts","default":"./dist/cjs/plugin/SerialPortAdapter.cjs"}}},"gitHead":"3f4e570de0176226562114f5ff21aa3d6abda833","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc && tsx ./typedoc.ts","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && tsx ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && tsx ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"tsx ./pug/build.ts\"","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"tsx ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.2.4","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.11.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.1.0","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","tsx":"^4.7.0","jest":"^29.7.0","dayjs":"^1.11.10","tslib":"^2.6.2","dotenv":"^16.3.1","eslint":"^8.56.0","rimraf":"^5.0.5","rollup":"^4.9.5","nodemon":"^3.0.2","ts-jest":"^29.1.1","typedoc":"^0.25.7","chokidar":"^3.5.3","uglify-js":"^3.17.4","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.3.3","@types/jest":"^29.5.11","@types/node":"^20.11.4","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.14.202","html-minifier":"^4.0.0","utility-types":"^3.10.0","supports-color":"^9.4.0","eslint-plugin-n":"^16.6.2","@types/uglify-js":"^3.17.4","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","rollup-plugin-dts":"^6.1.0","@tsconfig/node-lts":"^20.1.1","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.5","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","@rollup/plugin-terser":"^0.4.4","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","typedoc-plugin-mdn-links":"^3.1.12","@rollup/plugin-typescript":"^11.1.6","@rollup/plugin-node-resolve":"^15.2.3","rollup-plugin-polyfill-node":"^0.13.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^6.19.0","eslint-config-standard-with-typescript":"^43.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.21_1708395484820_0.8619637271131659","host":"s3://npm-registry-packages"}},"0.2.22":{"name":"chameleon-ultra.js","version":"0.2.22","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.2.22","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/docs/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"1148e0edde719258fda2c884fa8589c274155f7c","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.2.22.tgz","fileCount":49,"integrity":"sha512-4sBwoMbq45hQSsbXv1ZbFFH2E261dagZtvUfoYv3u+x2qBi1CJZXSrBSZDr1hz8a29PZFZIulgbACtuDf+QqcQ==","signatures":[{"sig":"MEUCIHOM6C/iIkCjFNx6fKx/F6PYSaJjQE7+WqbEM2tLhHtXAiEAv39S56ehg2JjfjmAtigiMCCk8yR4AS8fwUSXXL6i5A0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2492482},"main":"index.js","type":"module","unpkg":"dist/iife/index.min.js","browser":"dist/iife/index.min.js","exports":{".":{"import":{"types":"./dist/es/index.d.mts","default":"./dist/es/index.mjs"},"browser":"./dist/iife/index.min.js","require":{"types":"./dist/cjs/index.d.cts","default":"./dist/cjs/index.cjs"}},"./buffer":{"import":{"types":"./dist/es/buffer.d.mts","default":"./dist/es/buffer.mjs"},"browser":"./dist/iife/buffer.min.js","require":{"types":"./dist/cjs/buffer.d.cts","default":"./dist/cjs/buffer.cjs"}},"./Crypto1":{"import":{"types":"./dist/es/Crypto1.d.mts","default":"./dist/es/Crypto1.mjs"},"browser":"./dist/iife/Crypto1.min.js","require":{"types":"./dist/cjs/Crypto1.d.cts","default":"./dist/cjs/Crypto1.cjs"}},"./package.json":"./package.json","./plugin/WebbleAdapter":{"import":{"types":"./dist/es/plugin/WebbleAdapter.d.mts","default":"./dist/es/plugin/WebbleAdapter.mjs"},"browser":"./dist/iife/plugin/WebbleAdapter.min.js","require":{"types":"./dist/cjs/plugin/WebbleAdapter.d.cts","default":"./dist/cjs/plugin/WebbleAdapter.cjs"}},"./plugin/WebserialAdapter":{"import":{"types":"./dist/es/plugin/WebserialAdapter.d.mts","default":"./dist/es/plugin/WebserialAdapter.mjs"},"browser":"./dist/iife/plugin/WebserialAdapter.min.js","require":{"types":"./dist/cjs/plugin/WebserialAdapter.d.cts","default":"./dist/cjs/plugin/WebserialAdapter.cjs"}},"./plugin/SerialPortAdapter":{"import":{"types":"./dist/es/plugin/SerialPortAdapter.d.mts","default":"./dist/es/plugin/SerialPortAdapter.mjs"},"require":{"types":"./dist/cjs/plugin/SerialPortAdapter.d.cts","default":"./dist/cjs/plugin/SerialPortAdapter.cjs"}}},"gitHead":"d0686056f7516739bcaf76251ec144ee4f83b44f","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:ts\"","docs":"typedoc && tsx ./typedoc.ts","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"set -ex && rimraf ./dist && mkdir -p dist && cp -r public/* dist && yarn build:dts && tsx ./pug/build.ts && rollup --config rollup.config.mjs && yarn docs && tsx ./sitemap.ts && touch ./dist/.nojekyll","dev:ts":"nodemon --watch src --ext ts,json --exec \"rollup --config rollup.config.mjs\"","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"tsx ./pug/build.ts\"","lint:ci":"eslint --ext .mjs,.cjs,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn docs\"","build:dts":"tsc -p tsconfig.types.json --emitDeclarationOnly","dev:https":"tsx ./https.ts","dev:public":"nodemon --watch public --ext svg,png,jpg,jpeg --exec \"cp -r public/* dist\"","publish:test":"npm publish --dry-run"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/iife/index.min.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.5.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.13.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.2","tsx":"^4.9.3","jest":"^29.7.0","dayjs":"^1.11.11","tslib":"^2.6.2","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.5","rollup":"^4.17.2","nodemon":"^3.1.0","ts-jest":"^29.1.2","typedoc":"^0.25.13","chokidar":"^3.6.0","uglify-js":"^3.17.4","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.11","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.1","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.6.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","rollup-plugin-dts":"^6.1.0","@tsconfig/node-lts":"^20.1.3","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.2.17","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","@rollup/plugin-terser":"^0.4.4","eslint-plugin-promise":"^6.1.1","@rollup/plugin-commonjs":"^25.0.7","typedoc-plugin-mdn-links":"^3.1.24","@rollup/plugin-typescript":"^11.1.6","@rollup/plugin-node-resolve":"^15.2.3","rollup-plugin-polyfill-node":"^0.13.0","rollup-plugin-version-injector":"^1.3.3","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.8.0","eslint-config-standard-with-typescript":"^43.0.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.2.22_1715881300226_0.3502680963246916","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"chameleon-ultra.js","version":"0.3.0","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.0","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"4d855763011979542e514373a8a2a6a3cc22ba9c","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.0.tgz","fileCount":50,"integrity":"sha512-4xgoJSC6GSBMcurZQtRlVBSoq3clT9E6praYubiC6lXY/Uj1qof7TexqUEY6wPRoJZdwdp7UcNM4CAmK8TD0zA==","signatures":[{"sig":"MEUCIQCVpn4Kc8P+hwwq++ZZfZfjZLYm/zeCYZNvdm7lA9sfgAIga/Tg53X8bSPNcx6cZ4hfoiCIPZaZMaCzUQ5t1Hrybto=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6514627},"main":"index.js","unpkg":"dist/index.global.js","browser":"dist/index.global.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"browser":"./dist/index.global.js","require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./Crypto1":{"import":{"types":"./dist/Crypto1.d.mts","default":"./dist/Crypto1.mjs"},"browser":"./dist/Crypto1.global.js","require":{"types":"./dist/Crypto1.d.ts","default":"./dist/Crypto1.js"}},"./package.json":"./package.json","./plugin/WebbleAdapter":{"import":{"types":"./dist/plugin/WebbleAdapter.d.mts","default":"./dist/plugin/WebbleAdapter.mjs"},"browser":"./dist/plugin/WebbleAdapter.global.js","require":{"types":"./dist/plugin/WebbleAdapter.d.ts","default":"./dist/plugin/WebbleAdapter.js"}},"./plugin/WebserialAdapter":{"import":{"types":"./dist/plugin/WebserialAdapter.d.mts","default":"./dist/plugin/WebserialAdapter.mjs"},"browser":"./dist/plugin/WebserialAdapter.global.js","require":{"types":"./dist/plugin/WebserialAdapter.d.ts","default":"./dist/plugin/WebserialAdapter.js"}},"./plugin/SerialPortAdapter":{"import":{"types":"./dist/plugin/SerialPortAdapter.d.mts","default":"./dist/plugin/SerialPortAdapter.mjs"},"browser":"./dist/plugin/SerialPortAdapter.global.js","require":{"types":"./dist/plugin/SerialPortAdapter.d.ts","default":"./dist/plugin/SerialPortAdapter.js"}}},"gitHead":"7639328561fef8093c1f1e2ca792e520f3fdca69","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"jsdelivr":"dist/index.global.js","repository":{"url":"git+ssh://git@github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.5.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.13.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","@taichunmin/buffer":"^0.13.0"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.11.0","jest":"^29.7.0","tsup":"^8.0.2","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.2","ts-jest":"^29.1.4","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.13","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","webbluetooth":"^3.2.1","@types/lodash":"^4.17.4","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.7.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","web-serial-polyfill":"^1.0.15","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.27","@typescript-eslint/parser":"^7.11.0","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.11.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.0_1717179977759_0.7726678387501442","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"chameleon-ultra.js","version":"0.3.1","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.1","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"760639b601b4127289df94a6b9a6e81c65a680d3","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.1.tgz","fileCount":50,"integrity":"sha512-yG3w9KbgaR9x9+qH51LkdSS/tNm6v41cPsECmF0eJ6jLMtKpYo5uEV/IiZKdZZw86jEfWz7Lx2QHL0Hm1amN8Q==","signatures":[{"sig":"MEYCIQDFj/Mf2JETDACte6cZDCQNdTnwJWfRErQLR1FJrW02/wIhANn16fEWVE2saNrUm1JHMZoaNHVOzFH/vfz19Cvp5Q7x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6514506},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"bbd1d393dda8bb15bfed55bba05f1b278e216bd9","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.5.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.13.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","@taichunmin/buffer":"^0.13.4"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.11.0","jest":"^29.7.0","tsup":"^8.0.2","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.2","ts-jest":"^29.1.4","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.13","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","webbluetooth":"^3.2.1","@types/lodash":"^4.17.4","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.7.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","web-serial-polyfill":"^1.0.15","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.27","@typescript-eslint/parser":"^7.11.0","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.11.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.1_1717390346993_0.26136484214112166","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"chameleon-ultra.js","version":"0.3.2","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.2","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"a4aac95b9e65bed1f3e43bc780bb95a10df569cf","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.2.tgz","fileCount":50,"integrity":"sha512-2dO5g/zWNStqZL0SOcGEQb/CSCObWP5443dL5l77jH2g4RrbLU/m8qT7W7DEEmjVXQRucSo5M2FsfD1SjT9bmQ==","signatures":[{"sig":"MEYCIQD4NX453geyzzVMf2bvrQiHuXEnpJICm2z15T4fa0SHUQIhAN/097kWHvJ/s1niAkqjLhoBaZIlppX03P2Ug2GZwaE0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6514307},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"29cc17624a9f4a02e2ceaa359dea866aff1b532c","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.5.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.13.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","@taichunmin/buffer":"^0.13.4"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.11.0","jest":"^29.7.0","tsup":"^8.0.2","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.2","ts-jest":"^29.1.4","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.13","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","webbluetooth":"^3.2.1","@types/lodash":"^4.17.4","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.7.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","web-serial-polyfill":"^1.0.15","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.27","@typescript-eslint/parser":"^7.11.0","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.11.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.2_1717391996634_0.03501283193135474","host":"s3://npm-registry-packages"}},"0.3.3":{"name":"chameleon-ultra.js","version":"0.3.3","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.3","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"ef40d86e8ccee90cd4859deb2a881822218da25c","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.3.tgz","fileCount":50,"integrity":"sha512-SG5Sf7CktHjHaOkQvR5J2YMqISjynkIWl44Pb85W1cCx6rrpRbL/0K7JgaqHQ79+hIJ9rVeBCdUImr0CHFE8tg==","signatures":[{"sig":"MEQCIBPzr5tBXoNpXfmlx2EMbMMPEf3dWySWzC9U6IJPDk9RAiBRiDKBBK8/eo91YaP7fw/6dk5iWWasd96mXgcNaMt+eg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6527665},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"c9acd75144c13831d8be7ae2e6ac7815af9660ce","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.5.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.13.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","@taichunmin/buffer":"^0.13.4"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.11.0","jest":"^29.7.0","tsup":"^8.0.2","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.2","ts-jest":"^29.1.4","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.13","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","webbluetooth":"^3.2.1","@types/lodash":"^4.17.4","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.7.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","web-serial-polyfill":"^1.0.15","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.27","@typescript-eslint/parser":"^7.11.0","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.11.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.3_1717470918770_0.6196797458175185","host":"s3://npm-registry-packages"}},"0.3.4":{"name":"chameleon-ultra.js","version":"0.3.4","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.4","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"8b04d015ea1b8088f088d5054f222eb9b8889227","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.4.tgz","fileCount":50,"integrity":"sha512-7DASdvtNVvM1Nfa6BIa5xr4VvtXYEfczh9b35uiqMoWuHVife11a2CPA+pfa6j5XK/csklqw3k+8aRrF6av8QQ==","signatures":[{"sig":"MEUCIQCERq3GNvsvPeJaAkfeJCCVhnFC0fot9MMSYBigtJcm+AIgVzFTltwKdy+VdhES2P29avwXHSmSAOKWBRBjlx9BMpA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6528336},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"3f695c35633a4831db90cd2197b6cafcce79b6e1","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.5.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.13.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","@taichunmin/buffer":"^0.13.4"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.11.0","jest":"^29.7.0","tsup":"^8.0.2","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.2","ts-jest":"^29.1.4","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.13","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","webbluetooth":"^3.2.1","@types/lodash":"^4.17.4","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.7.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","web-serial-polyfill":"^1.0.15","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.27","@typescript-eslint/parser":"^7.11.0","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.11.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.4_1717472541692_0.955976603530079","host":"s3://npm-registry-packages"}},"0.3.5":{"name":"chameleon-ultra.js","version":"0.3.5","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.5","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"951c63b8e6fb31a0de9dc5d302ac3d43b25025f6","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.5.tgz","fileCount":50,"integrity":"sha512-xJ/14+csQOvjaQhvCv06gDPdOrwNBLvYPinwAQvyOd09OpzJM0CFP7PB0684JIs+Kui/Z/qtaoeHX7SYXC8x6A==","signatures":[{"sig":"MEUCIEXjAslWUiDeZ00oZ4EEeXLR9VIqoDaoXKiAEBXb8/vUAiEAzDnl5/AMOxhQZgxl59zbVnNvzWX1Dft923BT5/pA/p8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6259113},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"d238d80476f1db607f798d2d122d75764734b5ca","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.5.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.13.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/buffer":"^0.13.4","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.11.0","jest":"^29.7.0","tsup":"^8.0.2","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.2","ts-jest":"^29.1.4","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.13","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.4","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.7.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.27","@typescript-eslint/parser":"^7.11.0","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.11.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.5_1717510332188_0.1858690472707354","host":"s3://npm-registry-packages"}},"0.3.6":{"name":"chameleon-ultra.js","version":"0.3.6","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.6","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"85099a263ca284d79280f279a937254be7b479d6","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.6.tgz","fileCount":50,"integrity":"sha512-2fBVZoZ/2WDj+BOVSSVrfsl2qsLSkudWHO3SljTSFcx/FKlX7VbuiLPRztjuL8S8WvfYY9ncp8ybgSJA0QZlOA==","signatures":[{"sig":"MEUCIDAsjkekGclnwfeoRH+wTGyjf+wr1jpqsyCWRDRLvbzUAiEAlb079yNINvOytD4cpt6/D8mXlukUqddyeMwtOiR9mB8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6258893},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"78ac134cd09bdeb9c913816de4b0ef859363a624","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.5.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.13.1","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/buffer":"^0.13.4","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.11.0","jest":"^29.7.0","tsup":"^8.0.2","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.2","ts-jest":"^29.1.4","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.13","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.4","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.7.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.27","@typescript-eslint/parser":"^7.11.0","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.11.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.6_1717512425540_0.9022372242762731","host":"s3://npm-registry-packages"}},"0.3.7":{"name":"chameleon-ultra.js","version":"0.3.7","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.7","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"51e9280549a420929e34c0ec1f137d46fd9ce04e","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.7.tgz","fileCount":50,"integrity":"sha512-Ayg+53u4HOjbXqIm5OJFTKw7kmkqG6YHcJGyVzmSlxf1I/zaMKbyNiHkJuL3gsC7KVDAz8CI2URGGr5QZDl3zw==","signatures":[{"sig":"MEQCIFLbDYAMkleyeeBZRF02hJP9hmvVVpuu5w7tNGhta5CqAiAwUIhvRIkq7hU/O5GI9wHUgBgxx+f/Pelo3mqM2DzEfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6257443},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"33001109b5ba364b52f6f7cef5d3ca1b00affd67","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUBLIC,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:public\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.7.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.14.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/buffer":"^0.13.4","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.11.0","jest":"^29.7.0","tsup":"^8.0.2","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.2","ts-jest":"^29.1.4","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.13","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.4","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.7.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.27","@typescript-eslint/parser":"^7.11.0","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.11.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.7_1717730783024_0.17036743556550138","host":"s3://npm-registry-packages"}},"0.3.8":{"name":"chameleon-ultra.js","version":"0.3.8","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.8","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"cb942b581cdbd462f071ef04281d31a1f2ca9f5a","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.8.tgz","fileCount":67,"integrity":"sha512-zOU4fAX01ngTg7iSP9tg//27t0Js2Nj2b0qm3mU2BfR0o+bFuvLOtou9a/BAUWTjCJYJyFwkEoAPBsSVJ+rItQ==","signatures":[{"sig":"MEUCIAGx1RigFfMdWfuartG751ZqSeeRXIyLIOAKPgtfn/dnAiEA8lGxHF8F7UKz/D9/Y3hvCUWEgxyJivt27qnwPGssgf0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7153615},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"1eaaaa748d607101b708851db7671fc0b7d3bee0","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.7.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.14.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/buffer":"^0.13.6","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.11.0","jest":"^29.7.0","tsup":"^8.0.2","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.2","ts-jest":"^29.1.4","ts-node":"^10.9.2","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.13","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.4","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.7.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.27","@typescript-eslint/parser":"^7.11.0","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.11.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.8_1718015231393_0.4875874138490539","host":"s3://npm-registry-packages"}},"0.3.9":{"name":"chameleon-ultra.js","version":"0.3.9","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.9","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"af047e2079e22c33560c57f2d316a3baf517603a","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.9.tgz","fileCount":67,"integrity":"sha512-TWlcrnkD83oSNVhYtA0tMODUcSblnkSzlh+4iHm7Xeo0Bp7im2AenKDRZDhK9BgE3ybJpJLwfHVxVqhDKUZE5Q==","signatures":[{"sig":"MEUCIDTtuuZGnkOv6Mheibnk4W+5STLrshN04lhjT7rjBObaAiEAqO491MZn6TGMceGcT/mnUtAlK26T0gz4/obQWt3wXgI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7959892},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"a667e7e21cde4b7adfc2d0c4f0b5893ae9609b9e","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.7.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.14.0","dependencies":{"debug":"^4.3.4","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/buffer":"^0.13.6","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.11.0","jest":"^29.7.0","tsup":"^8.0.2","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.2","ts-jest":"^29.1.4","ts-node":"^10.9.2","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.13","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.4","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.7.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.27","@typescript-eslint/parser":"^7.11.0","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.11.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.9_1718083977492_0.0353709115699854","host":"s3://npm-registry-packages"}},"0.3.10":{"name":"chameleon-ultra.js","version":"0.3.10","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.10","contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"6681a0d3bcb2df3579158b309d3607eb8d1accf3","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.10.tgz","fileCount":68,"integrity":"sha512-LQh2GAHp/hwgV8KrHuCZQsDNXy2AwCuPM/d5Jxg0PbJ5oadenTJS9mtBBfaFZ3S97Egbx+gKzVnlu3xI5Wkyeg==","signatures":[{"sig":"MEYCIQDCPEv5tNTTB9VteucHd1LOaTbZ7Q21nOSM2tltWzgKiwIhANy6S0S9FxOfE1nSnzxn+A9hnEBGu/0+Us5+62ruTL12","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9390565},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"79f6e57d1f66be399c2251d52dd1d50c43f88e50","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.7.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.14.0","dependencies":{"debug":"^4.3.4","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/buffer":"^0.13.6","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.11.0","jest":"^29.7.0","tsup":"^8.0.2","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.2","ts-jest":"^29.1.4","ts-node":"^10.9.2","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.13","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.4","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.7.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.27","@typescript-eslint/parser":"^7.11.0","eslint-plugin-local-rules":"^2.0.1","typedoc-plugin-missing-exports":"^2.2.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.11.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.10_1718998696820_0.5248379280313826","host":"s3://npm-registry-packages"}},"0.3.11":{"name":"chameleon-ultra.js","version":"0.3.11","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.11","contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"34a47a47b8f221e405355dd45151c435a28d9349","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.11.tgz","fileCount":68,"integrity":"sha512-EgT+34BrXRxwwMJLZVBHiX3zCPg/vTYnpIKXD8AKoo44hf9nAtri4GfYd6R/wUSlt9tRnyNYSX3LwFRZsQtlfQ==","signatures":[{"sig":"MEYCIQCQLa840sEmtkynUjI/go0ciNiqUPN/xrLdXChktxEcMwIhAL49Rzf/Vz2L4iGwVHCdBDJw2y0WZLVOFKj468nA6DpE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9477964},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"9323be5ef6c2c12136b30ab12a1a910f35eb1806","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.7.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.15.0","dependencies":{"debug":"^4.3.5","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/buffer":"^0.13.6","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.15.7","jest":"^29.7.0","tsup":"^8.1.0","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.4","ts-jest":"^29.1.5","ts-node":"^10.9.2","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.5.2","@types/jest":"^29.5.12","@types/node":"^20.14.7","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.5","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.9.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.30","@typescript-eslint/parser":"^7.13.1","eslint-plugin-local-rules":"^2.0.1","typedoc-plugin-missing-exports":"^2.3.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.13.1","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.11_1719918639723_0.09511348444311896","host":"s3://npm-registry-packages"}},"0.3.12":{"name":"chameleon-ultra.js","version":"0.3.12","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.12","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"d789de4d420e0c3636c9d24c8bee33261f748b9c","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.12.tgz","fileCount":68,"integrity":"sha512-7M6PN7a6smY2knYnN2sXfsInKhabY5KxGsrjksXd1AOb7eY8UJ5D7z+e7e4QxDZEORWPNn9rGUYEEIxUXQaPrw==","signatures":[{"sig":"MEYCIQDbNzWXJSOkw8jSlJWfaIlurb6RdiSwM/VsgbKhyPq1mgIhAI0UqppnPTqQLknqE3AasxeTbO5m5nmbHq0MDM3y0E+F","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9477117},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"6bf749524de99e6a0540820238413d9f4c4c0880","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.7.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.15.0","dependencies":{"debug":"^4.3.5","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/buffer":"^0.13.6","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.15.7","jest":"^29.7.0","tsup":"^8.1.0","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.7","nodemon":"^3.1.4","ts-jest":"^29.1.5","ts-node":"^10.9.2","typedoc":"^0.25.13","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.5.2","@types/jest":"^29.5.12","@types/node":"^20.14.7","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.5","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.9.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.1.2","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.2.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.1.30","@typescript-eslint/parser":"^7.13.1","eslint-plugin-local-rules":"^2.0.1","typedoc-plugin-missing-exports":"^2.3.0","typedoc-plugin-rename-defaults":"^0.7.0","@typescript-eslint/eslint-plugin":"^7.13.1","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.12_1720028247022_0.23019320468225124","host":"s3://npm-registry-packages"}},"0.3.13":{"name":"chameleon-ultra.js","version":"0.3.13","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.13","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"d761410a9923c9ff8ac3a343efe0cffcf617a85a","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.13.tgz","fileCount":68,"integrity":"sha512-eSFWau0Zg95i2aSjLW64+qocXzQGJ3gr/sEFw+PUTLoKEsGsEw2qqBPbvmTCWAdCw8s1+UOqUHU1PqQP3FI0ew==","signatures":[{"sig":"MEUCIQDumkofdX9RkFZrwjwCDp/1HH/Mvz/+mppOkJHhsYpSJQIgUb2YXtEJNKIS5yEw6vPILuBWYcwdV4hjh1ERR8lzGIg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9468013},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"ca913a5977dbb37d905c76964ebb6e401bf3f51d","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.7.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.15.0","dependencies":{"debug":"^4.3.5","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.8","@taichunmin/buffer":"^0.13.6","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.16.2","jest":"^29.7.0","tsup":"^8.1.0","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.8","nodemon":"^3.1.4","ts-jest":"^29.1.5","ts-node":"^10.9.2","typedoc":"^0.26.3","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.5.3","@types/jest":"^29.5.12","@types/node":"^20.14.10","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.6","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.9.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.2.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.4.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.2.3","@typescript-eslint/parser":"^7.15.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.15.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.13_1720450238393_0.6361269773884735","host":"s3://npm-registry-packages"}},"0.3.14":{"name":"chameleon-ultra.js","version":"0.3.14","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.14","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"ee6e60d31fdef3c6f3f05fd9af0f77e246cd5fd0","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.14.tgz","fileCount":68,"integrity":"sha512-pHlQy8mW2EDHo/DW73Ac/cj8wMR8KPD5md6JoTbhgqODcEImP0fVn/cCe1MNf2ZGxtDT8497ycytceLr9pKOuA==","signatures":[{"sig":"MEUCIQDZ8d38MYBRpcytkcUE/icCukZJEefQWs8//9qoXFS1TgIgEz0F2OuzyIljCfH5on4Q26kbJaggf7ldPsRHlrvIECI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9467958},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"6ff99506d4b6b426b879171fef1474e05b1484bf","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.7.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.15.0","dependencies":{"debug":"^4.3.5","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.8","@taichunmin/buffer":"^0.13.6","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.16.2","jest":"^29.7.0","tsup":"^8.1.0","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^5.0.8","nodemon":"^3.1.4","ts-jest":"^29.1.5","ts-node":"^10.9.2","typedoc":"^0.26.3","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.5.3","@types/jest":"^29.5.12","@types/node":"^20.14.10","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.6","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.9.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.2.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.4.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.2.3","@typescript-eslint/parser":"^7.15.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.15.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.14_1720457884871_0.805153178094959","host":"s3://npm-registry-packages"}},"0.3.15":{"name":"chameleon-ultra.js","version":"0.3.15","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.15","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"2de32d62f7bc23e2fe558cd192a8b718c52d90ed","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.15.tgz","fileCount":68,"integrity":"sha512-nReM3OGmVGMqV988lUKjADb4WZ74PQzDfKEo6YWzr1qkhMkYuJ3KKJ0qkDrt/mif6KiLJL1AHOnFCtVDz+FSAg==","signatures":[{"sig":"MEQCICqI+PILQ72f+fSJFJhUfvTh+rdzI7Ap39CuxaRu6W4YAiAzg/pry01EcnV9rye+KlyrYgU0fbJPUb4I98NoMl+1YQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9466067},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"f31fc712daf6274d38ea4f34203144df8b681c0b","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.7.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.15.0","dependencies":{"debug":"^4.3.5","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.13","@taichunmin/buffer":"^0.13.6","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.16.2","jest":"^29.7.0","tsup":"^8.1.0","dayjs":"^1.11.11","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.4","ts-jest":"^29.2.2","ts-node":"^10.9.2","typedoc":"^0.26.4","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.5.3","@types/jest":"^29.5.12","@types/node":"^20.14.10","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.7","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.9.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.2.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^6.4.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.2.4","@typescript-eslint/parser":"^7.16.1","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.16.1","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.15_1721112906334_0.8556626513903027","host":"s3://npm-registry-packages"}},"0.3.16":{"name":"chameleon-ultra.js","version":"0.3.16","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.16","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"357dffcb052f6bf057ccd2bc0e86facf9c7e9c96","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.16.tgz","fileCount":68,"integrity":"sha512-2oonmUg5cG5Drsn0PuXQJcbn/dmEE6sJfOiyiogRkNOcuXFpKulUcUq5dJscMv9XrkaIr8YOQ9TexYQr0Xzj0g==","signatures":[{"sig":"MEUCIFRok++W63CPwWR3uvQx7xfUGz/XA+WXruNGdE7CjPeLAiEA9sq7ZGzBWc8IJ6lc3UQUQb95K5XBMXs0CwyTD+Pbshg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9766317},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"2b9a2ba4347a26bca576792044491f992718be3a","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.1","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.16.0","dependencies":{"debug":"^4.3.6","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.7","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.16.5","jest":"^29.7.0","tsup":"^8.2.3","dayjs":"^1.11.12","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.4","ts-jest":"^29.2.4","ts-node":"^10.9.2","typedoc":"^0.26.5","chokidar":"^3.6.0","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.5.4","@types/jest":"^29.5.12","@types/node":"^22.0.2","@types/debug":"^4.1.12","concurrently":"^8.2.2","finalhandler":"^1.2.0","serve-static":"^1.15.0","@types/lodash":"^4.17.7","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.10.1","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","typedoc-plugin-zod":"^1.2.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^7.0.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.2.6","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.6.4"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.16_1722763281232_0.659529781460652","host":"s3://npm-registry-packages"}},"0.3.17":{"name":"chameleon-ultra.js","version":"0.3.17","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.17","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"bbca6884377ce51fcd45714ff7a68c4f0e4938eb","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.17.tgz","fileCount":47,"integrity":"sha512-Nkv3xuXH1SZ7zphFVhd0cdcETzEvPMF5W8m6IC2UkZOVijSxUyycq4+nUKYENSGp1p9lQxk17tlnbhg5ze6QQQ==","signatures":[{"sig":"MEYCIQCnwpCQ0JJH5Q7KpUtTLrxrn9QEP5z8KH/2vmMzKeEHSQIhAOL5sX8GKEhUSpcZRrKramXCxm/j5vP3L1jOsTV+fCJp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1740656},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"842da2fbd325e3e94157bc97504b15f3cc2a4465","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.17.0","dependencies":{"debug":"^4.3.7","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.7","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.1","jest":"^29.7.0","tsup":"^8.3.0","dayjs":"^1.11.13","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.7","ts-jest":"^29.2.5","ts-node":"^10.9.2","typedoc":"^0.26.7","chokidar":"^4.0.1","fast-glob":"^3.3.2","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.6.2","@types/jest":"^29.5.13","@types/node":"^22.5.5","@types/debug":"^4.1.12","concurrently":"^9.0.1","finalhandler":"^1.3.1","serve-static":"^1.16.2","@types/lodash":"^4.17.7","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.10.2","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^7.1.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.3.1","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.6.6"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.17_1727049784149_0.9641040799967586","host":"s3://npm-registry-packages"}},"0.3.18":{"name":"chameleon-ultra.js","version":"0.3.18","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.18","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"283cade52f8b059223e353967bda7a8f180d4c62","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.18.tgz","fileCount":55,"integrity":"sha512-mUnrwgdoyMF+7AgEDgZ5PpqEFLfAGJrYdL9/heEm5xWGDp7hD8plm1b9xcCdB1pQDxhOiA+gtZ3EhlLosBfQ8w==","signatures":[{"sig":"MEQCICu1UEfVNdhCAMDgBMGN3UjvxCufeoMBLpl6KgW9RxZAAiBOBUYp9P+W4U/3b7sxJhsdb31J9oX5DBT72uXobpI/4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1999705},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"90f4293357e46963d794347935f13995fc7bee88","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.17.0","dependencies":{"debug":"^4.3.7","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.7","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.1","jest":"^29.7.0","tsup":"^8.3.0","dayjs":"^1.11.13","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.7","ts-jest":"^29.2.5","ts-node":"^10.9.2","typedoc":"^0.26.7","chokidar":"^4.0.1","fast-glob":"^3.3.2","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.6.2","@types/jest":"^29.5.13","@types/node":"^22.5.5","@types/debug":"^4.1.12","concurrently":"^9.0.1","finalhandler":"^1.3.1","serve-static":"^1.16.2","@types/lodash":"^4.17.7","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.10.2","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.29.1","eslint-plugin-promise":"^7.1.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.3.1","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.6.6"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.18_1727050896925_0.031014219993872993","host":"s3://npm-registry-packages"}},"0.3.19":{"name":"chameleon-ultra.js","version":"0.3.19","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.19","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"068cc5ead0f0114c9bc2dce3a018372cc04ae869","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.19.tgz","fileCount":55,"integrity":"sha512-efG+u8rnNnT/wsVb0pJ8tI4WHh5sjua76QDoYuy5tPRA8KqSNo1gx5ZruOrgnvmE5+A99RVQcuW9irOSUUIyfA==","signatures":[{"sig":"MEQCIHNPbkyxyn7gpnJpWIZdes7orKLX36mJW9+dBbU7P+C6AiBju6suyhe4cxODO1AqPFilYkZwnDjjo/9lEL9weWLmvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2003340},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"43bf5225e7117a462a5ebcef2bc80ccf5685a99c","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.18.0","dependencies":{"debug":"^4.3.7","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.9","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.2","jest":"^29.7.0","tsup":"^8.3.5","dayjs":"^1.11.13","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.7","ts-jest":"^29.2.5","ts-node":"^10.9.2","typedoc":"^0.26.10","chokidar":"^4.0.1","fast-glob":"^3.3.2","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.6.3","@types/jest":"^29.5.14","@types/node":"^22.8.4","@types/debug":"^4.1.12","concurrently":"^9.0.1","finalhandler":"^1.3.1","serve-static":"^1.16.2","@types/lodash":"^4.17.13","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.11.1","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.1.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.3.5","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.6.6"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.19_1730275956124_0.4963342999720788","host":"s3://npm-registry-packages"}},"0.3.20":{"name":"chameleon-ultra.js","version":"0.3.20","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.20","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"6e713f6e5953028027f9b3230f1acae16a4b7d2c","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.20.tgz","fileCount":55,"integrity":"sha512-JLOFsvUrzITKQGE2MQGlnzpvpTx1rWVz5/6owYRj+AAZ4Vpj4jxrzGJQUeC3vunO8DKladJBNYVnynvlJMzwxQ==","signatures":[{"sig":"MEQCIFsXNetcp0fZzi+rYgKBRjc4VnrbdR1wW6jU+ODguEqAAiBCs0qdsucSf9L6DhkMqNDqAD0Fo0eu22f99QMrR56IGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2003472},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"bf34c45ca0afbfeecfb448cccc433694392bae9b","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.18.0","dependencies":{"debug":"^4.3.7","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.9","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.2","jest":"^29.7.0","tsup":"^8.3.5","dayjs":"^1.11.13","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.7","ts-jest":"^29.2.5","ts-node":"^10.9.2","typedoc":"^0.26.10","chokidar":"^4.0.1","fast-glob":"^3.3.2","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.6.3","@types/jest":"^29.5.14","@types/node":"^22.8.4","@types/debug":"^4.1.12","concurrently":"^9.0.1","finalhandler":"^1.3.1","serve-static":"^1.16.2","@types/lodash":"^4.17.13","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.11.1","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.1.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.3.5","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.6.6"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.20_1730435004777_0.9649604038907531","host":"s3://npm-registry-packages"}},"0.3.21":{"name":"chameleon-ultra.js","version":"0.3.21","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.21","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"375b51c6c913b401550057d625bc467dc12932d4","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.21.tgz","fileCount":55,"integrity":"sha512-JZuawMizbFKCyadjLHPfKWX48KIxnR0enrDxgRMK7GYnnXhp5i16haXmoVJJ4h5aBZGTjV/ydY9sJ15iyvHZJw==","signatures":[{"sig":"MEUCIQC/1zdr9scDtKi77z+8VzLGBT85KD8UMeOCZ3w8EuxdkwIgDEAWtU91UVow42eoRnEp9I1GbgF+aPXp6hfPun2zxBU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2003199},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"82362fec638ad51853e9f4e91ed1cab585ca7f82","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.18.0","dependencies":{"debug":"^4.3.7","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.9","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.2","jest":"^29.7.0","tsup":"^8.3.5","dayjs":"^1.11.13","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.7","ts-jest":"^29.2.5","ts-node":"^10.9.2","typedoc":"^0.26.10","chokidar":"^4.0.1","fast-glob":"^3.3.2","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.6.3","@types/jest":"^29.5.14","@types/node":"^22.8.4","@types/debug":"^4.1.12","concurrently":"^9.0.1","finalhandler":"^1.3.1","serve-static":"^1.16.2","@types/lodash":"^4.17.13","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.11.1","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^20.1.3","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.1.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.3.5","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.6.6"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.21_1730467528399_0.7990368900321361","host":"s3://npm-registry-packages"}},"0.3.22":{"name":"chameleon-ultra.js","version":"0.3.22","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.22","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"6a2f2c52bf7be4e04674fde123f8b266f72b39a9","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.22.tgz","fileCount":55,"integrity":"sha512-Tp3RAD3llWnvrVYqHrhhbOHJt2YCanmshUWoh4rClmb4CmS+VupA9PNxcchk9frhsvMkkNY4+iZmXb93g1dMeA==","signatures":[{"sig":"MEYCIQDUCzRyu7BKBWtov7vcfPHNhQbYVM44j0r6q3RDsrgakQIhAPmqz/X2Zq9jn/G+/zwS9yvg6VY/ovGL/SiKzWsN8EpI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2002646},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"e96fb28a1f5bed08b2d43b4b9ae95e26bf811578","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.18.0","dependencies":{"debug":"^4.3.7","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.9","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.2","jest":"^29.7.0","tsup":"^8.3.5","dayjs":"^1.11.13","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.7","ts-jest":"^29.2.5","ts-node":"^10.9.2","typedoc":"^0.26.11","chokidar":"^4.0.1","fast-glob":"^3.3.2","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.6.3","@types/jest":"^29.5.14","@types/node":"^22.8.7","@types/debug":"^4.1.12","concurrently":"^9.1.0","finalhandler":"^1.3.1","serve-static":"^1.16.2","@types/lodash":"^4.17.13","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.12.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^22.0.0","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.1.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.3.6","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.6.7"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.22_1730750477522_0.39669932546199216","host":"s3://npm-registry-packages"}},"0.3.23":{"name":"chameleon-ultra.js","version":"0.3.23","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.23","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"a6cd994276b1ad8c2058a4a7fa1b85d2f0170823","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.23.tgz","fileCount":55,"integrity":"sha512-e2S+CzVs7LZL7zCRYBRSm9SruBPZ7DHwHwF0nnlUJlSTEubBIBuEKptMaM546wVadyzQmfGJiXv05APiEIfpPw==","signatures":[{"sig":"MEYCIQDTNRV4KSeVZMxrlH1MK6gTwS31zjGiuUo8fC7n0Snu8gIhAI7pmvRDqQDcGuxx8hflE0AD1Kfs3U0YeddSQeoGPAt+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2015944},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"630c9a99f0d15f7130f3a1e9609d88bea25d24ba","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.18.0","dependencies":{"debug":"^4.3.7","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.10","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.2","jest":"^29.7.0","tsup":"^8.3.5","dayjs":"^1.11.13","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.7","ts-jest":"^29.2.5","ts-node":"^10.9.2","typedoc":"^0.26.11","chokidar":"^4.0.1","fast-glob":"^3.3.2","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.6.3","@types/jest":"^29.5.14","@types/node":"^22.9.0","@types/debug":"^4.1.12","concurrently":"^9.1.0","finalhandler":"^1.3.1","serve-static":"^1.16.2","@types/lodash":"^4.17.13","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.13.1","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^22.0.0","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.1.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.3.7","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.6.7"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.23_1731493660696_0.6535284887451174","host":"s3://npm-registry-packages"}},"0.3.24":{"name":"chameleon-ultra.js","version":"0.3.24","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.24","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"0c5d6f67d67fd68dd14313e61c1a360946aa47c3","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.24.tgz","fileCount":55,"integrity":"sha512-+hBnRCoci3bwaW/mYC4VAJ83aqjq/Y9KL1EyWliyU7GOwwtBEEU3UnDZ65Y+VtTaVaSp6V2BclDZ7+nnQoyN7g==","signatures":[{"sig":"MEYCIQDtD4Kw1vTzQQEc8V8bq9wNAAY4aHliWw0bka8A0Wc0FwIhAIF6rSOeCQ759j2G+CbfnMjWO1HC3bH27lUr6N7o9a9n","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2022885},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"36d680a64709480c7636fdf62624e5fe41e8237d","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.18.0","dependencies":{"debug":"^4.3.7","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.11","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.2","jest":"^29.7.0","tsup":"^8.3.5","dayjs":"^1.11.13","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.7","ts-jest":"^29.2.5","ts-node":"^10.9.2","typedoc":"^0.26.11","chokidar":"^4.0.1","fast-glob":"^3.3.2","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.6.3","@types/jest":"^29.5.14","@types/node":"^22.9.0","@types/debug":"^4.1.12","concurrently":"^9.1.0","finalhandler":"^1.3.1","serve-static":"^1.16.2","@types/lodash":"^4.17.13","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.13.1","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","@tsconfig/node-lts":"^22.0.0","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.1.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.3.7","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.6.7"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.24_1731658262691_0.7967122877660637","host":"s3://npm-registry-packages"}},"0.3.25":{"name":"chameleon-ultra.js","version":"0.3.25","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.25","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"041ab7a442be335ddb670c21d3e1b0c45511cc04","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.25.tgz","fileCount":55,"integrity":"sha512-TNwAVFCi+oVoVk4MrR+RVMcVITeXgseFa+obcQxMlheeu9pQmmV50B6u3laYaiFmd5l44sYxfaQhSGaU4l/0xg==","signatures":[{"sig":"MEQCIDGhKXSO7anT107Jn9lH83tnkA9gsuGTkiNOvQS2BgzyAiAwMkS0pGaU/LzjKIAlPIY8RnBTWBprsFCXjHfBDk8c9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2017916},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"6f7e92a575cfa1bb51789738523ce2ff7690b5e4","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.18.0","dependencies":{"debug":"^4.3.7","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^12.0.0","webbluetooth":"^3.2.1","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.11","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.2","jest":"^29.7.0","tsup":"^8.3.5","dayjs":"^1.11.13","dotenv":"^16.4.5","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.7","ts-jest":"^29.2.5","ts-node":"^10.9.2","typedoc":"^0.26.11","chokidar":"^4.0.1","fast-glob":"^3.3.2","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.6.3","@types/jest":"^29.5.14","@types/node":"^22.9.0","@types/debug":"^4.1.12","concurrently":"^9.1.0","finalhandler":"^1.3.1","serve-static":"^1.16.2","@types/lodash":"^4.17.13","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^9.4.0","eslint-plugin-n":"^17.13.1","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.0.4","@tsconfig/node-lts":"^22.0.0","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.3.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.20","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.1.0","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^3.3.7","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^3.0.0","typedoc-plugin-rename-defaults":"^0.7.1","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.6.7"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.25_1731668235217_0.7583194241691524","host":"s3://npm-registry-packages"}},"0.3.26":{"name":"chameleon-ultra.js","version":"0.3.26","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.26","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"977bf608447030bd694d6e2b68a4b1259649725d","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.26.tgz","fileCount":55,"integrity":"sha512-xuNPdoKP4QdBqIIE+tGHdcWiQNDc1Js4gbegU5syt+/gKXDAoBPqPN5l6embFRt5n8MXhhC59aKolt5CbCCNXg==","signatures":[{"sig":"MEUCIQD2GyMkZJEkPpQUTGOtcOy4IxeZ7429KhuSAVBAGimU6AIgVcz3YQMxyLaGzVfPdtAej4Rii/ZzK89CzRbkqKPOymI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2072421},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"6c26a473488e0046a0da47574b3eafd51414d7d7","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.19.0","dependencies":{"debug":"^4.4.0","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^13.0.0","webbluetooth":"^3.3.2","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.14","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","dayjs":"^1.11.13","dotenv":"^16.5.0","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","typedoc":"^0.28.3","chokidar":"^4.0.3","fast-glob":"^3.3.3","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.15.2","@types/debug":"^4.1.12","concurrently":"^9.1.2","finalhandler":"^2.1.0","serve-static":"^2.2.0","@types/lodash":"^4.17.16","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.0.0","eslint-plugin-n":"^17.17.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.0.5","@tsconfig/node-lts":"^22.0.1","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.4.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.0.1","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.0.0","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.26_1745576942437_0.5990871326346263","host":"s3://npm-registry-packages-npm-production"}},"0.3.27":{"name":"chameleon-ultra.js","version":"0.3.27","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.27","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"d72cb6b85251b6f6158ef5025553b4f9e85bf263","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.27.tgz","fileCount":55,"integrity":"sha512-WgZw2NnnPmqX1GCyliRqFzfjiljafA1PKL1LMjaMyZWPQhGSHmXcYN3NFa5ye7yzU+gupzlKUPoUO0riOikNmA==","signatures":[{"sig":"MEQCIH9sEUf6NgVMmT0YB9bzFc1iabSpNbDACE6iG5a9CU8RAiB2SvfYezCZzQFrAzXHlhjdsazwh+Q8IUAKHe/ROBBhGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2088849},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"2aa58949794508073ee96af8db811db1151ee237","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.19.0","dependencies":{"debug":"^4.4.0","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^13.0.0","webbluetooth":"^3.3.2","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.14","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.3","jest":"^29.7.0","tsup":"^8.4.0","dayjs":"^1.11.13","dotenv":"^16.5.0","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","typedoc":"^0.28.3","chokidar":"^4.0.3","fast-glob":"^3.3.3","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.15.3","@types/debug":"^4.1.12","concurrently":"^9.1.2","finalhandler":"^2.1.0","serve-static":"^2.2.0","@types/lodash":"^4.17.16","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.0.0","eslint-plugin-n":"^17.17.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.0.5","@tsconfig/node-lts":"^22.0.1","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.4.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.0.1","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.0.0","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.27_1745826252575_0.33083006351410016","host":"s3://npm-registry-packages-npm-production"}},"0.3.28":{"name":"chameleon-ultra.js","version":"0.3.28","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.28","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"ce0d043d7f79ed65432cf28c9f8e527f701a6693","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.28.tgz","fileCount":55,"integrity":"sha512-Rs2vvHkvq5RvO6UMTi4Q9IdOWcXsS2KJ6rGBPaMFsWmVqxna7B5Z+AE51pW9Rx+N/IEfYokaww3l1SnlcUNxeQ==","signatures":[{"sig":"MEYCIQD4LRuzVdc1sIYreoERi9KFuddRfNXPT3hRuSbXIX7ZwQIhALKK7P8DUeeoQRCO1JLhik4DbOQQ0c8anqk4+ZmsvosT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2090775},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"03e2cb130962ce43cc882b535c13e86ddffe5a10","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.19.1","dependencies":{"debug":"^4.4.0","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^13.0.0","webbluetooth":"^3.3.2","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.14","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.4","jest":"^29.7.0","tsup":"^8.4.0","dayjs":"^1.11.13","dotenv":"^16.5.0","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","typedoc":"^0.28.4","chokidar":"^4.0.3","fast-glob":"^3.3.3","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.15.17","@types/debug":"^4.1.12","concurrently":"^9.1.2","finalhandler":"^2.1.0","serve-static":"^2.2.0","@types/lodash":"^4.17.16","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.0.0","eslint-plugin-n":"^17.18.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.0.5","@tsconfig/node-lts":"^22.0.1","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.4.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.0.2","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.0.0","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.28_1747134895530_0.37579272758937377","host":"s3://npm-registry-packages-npm-production"}},"0.3.29":{"name":"chameleon-ultra.js","version":"0.3.29","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.29","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"e17ad4f362030dfe61fd537dc2103c5f900c25e0","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.29.tgz","fileCount":55,"integrity":"sha512-3BApYIkX7FB23ST0DPA1lairmLX0738MlkEud5+FMrkRijQa76fpahdXHxXuEThhtTXkalDWBEBaVNfFduZB/g==","signatures":[{"sig":"MEUCIDQDP+mXT61t7GFVxW1VN56l1Ti9YJykbq8d/GmST1RZAiEAk/kYfPKP6nUFFWvVhsw35lM5TVwi0o805lrwSVaXq8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2096598},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./Crypto1":{"types":{"import":"./dist/Crypto1.d.mts","require":"./dist/Crypto1.d.ts"},"import":"./dist/Crypto1.mjs","script":"./dist/Crypto1.global.js","require":"./dist/Crypto1.js"},"./package.json":"./package.json","./plugin/DfuZip":{"types":{"import":"./dist/plugin/DfuZip.d.mts","require":"./dist/plugin/DfuZip.d.ts"},"import":"./dist/plugin/DfuZip.mjs","script":"./dist/plugin/DfuZip.global.js","require":"./dist/plugin/DfuZip.js"},"./plugin/WebbleAdapter":{"types":{"import":"./dist/plugin/WebbleAdapter.d.mts","require":"./dist/plugin/WebbleAdapter.d.ts"},"import":"./dist/plugin/WebbleAdapter.mjs","script":"./dist/plugin/WebbleAdapter.global.js","require":"./dist/plugin/WebbleAdapter.js"},"./plugin/WebserialAdapter":{"types":{"import":"./dist/plugin/WebserialAdapter.d.mts","require":"./dist/plugin/WebserialAdapter.d.ts"},"import":"./dist/plugin/WebserialAdapter.mjs","script":"./dist/plugin/WebserialAdapter.global.js","require":"./dist/plugin/WebserialAdapter.js"},"./plugin/SerialPortAdapter":{"types":{"import":"./dist/plugin/SerialPortAdapter.d.mts","require":"./dist/plugin/SerialPortAdapter.d.ts"},"import":"./dist/plugin/SerialPortAdapter.mjs","script":"./dist/plugin/SerialPortAdapter.global.js","require":"./dist/plugin/SerialPortAdapter.js"}},"gitHead":"4326acea4e3fc5f4df061a5af39ebd6e54530c7a","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"jest --roots ./src --","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"jest --roots ./src --ci --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./https.ts","build:docs":"typedoc && tsx ./typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./sitemap.ts","build:cjsInterop":"tsx ./cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.19.1","dependencies":{"debug":"^4.4.0","jszip":"^3.10.1","lodash":"^4.17.21","serialport":"^13.0.0","webbluetooth":"^3.3.2","@taichunmin/crc":"^0.0.14","@taichunmin/buffer":"^0.13.14","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.19.4","jest":"^29.7.0","tsup":"^8.4.0","dayjs":"^1.11.13","dotenv":"^16.5.0","eslint":"^8.57.0","rimraf":"^6.0.1","nodemon":"^3.1.10","ts-jest":"^29.3.2","ts-node":"^10.9.2","typedoc":"^0.28.4","chokidar":"^4.0.3","fast-glob":"^3.3.3","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.8.3","@types/jest":"^29.5.14","@types/node":"^22.15.17","@types/debug":"^4.1.12","concurrently":"^9.1.2","finalhandler":"^2.1.0","serve-static":"^2.2.0","@types/lodash":"^4.17.16","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.0.0","eslint-plugin-n":"^17.18.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.0.5","@tsconfig/node-lts":"^22.0.1","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.7","eslint-plugin-tsdoc":"^0.4.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.31.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.0.2","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.0.0","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.29_1747190261464_0.38453596464719264","host":"s3://npm-registry-packages-npm-production"}},"0.3.30":{"name":"chameleon-ultra.js","version":"0.3.30","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.30","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"5b08cdb28dc9da53624d2df9dfbe944d37b1f22a","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.30.tgz","fileCount":55,"integrity":"sha512-pwdlMe3PkoTYgQcQ2BbWSZz4b3MvqNvkqhY5xerxSNtcuMG1+CtSltucNbq2f0iXy35idql1bvSq38TFn8Jpdw==","signatures":[{"sig":"MEUCIQDkKEgxd8d092xYgrqIN2PkNe2yXNw0m2XSV8++gTA/DAIgY2Flbaj7pqSO0dDGtaAq4/xzlhOqNrZPw6/uHUPehH8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1691988},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"import":"./dist/*.mjs","script":"./dist/*.global.js","require":"./dist/*.js"},"./package.json":"./package.json"},"gitHead":"c78a3d9e2bfb6c04343b1ceba2235bf21a85e682","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"vitest -r ./src --testTimeout 180000","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"yarn test --run --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./build-utils/https.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./build-utils/sitemap.ts","build:cjsInterop":"tsx ./build-utils/cjsInterop.ts"},"_npmUser":{"name":"taichunmin","actor":{"name":"taichunmin","type":"user","email":"taichunmin@gmail.com"},"email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.19.2","dependencies":{"debug":"^4.4.1","jszip":"^3.10.1","lodash-es":"^4.17.21","serialport":"^13.0.0","webbluetooth":"^3.3.2","@taichunmin/crc":"^0.0.20","@types/lodash-es":"^4.17.12","@taichunmin/buffer":"^0.13.16","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.20.3","tsup":"^8.5.0","dayjs":"^1.11.13","dotenv":"^16.5.0","eslint":"^8.57.0","rimraf":"^6.0.1","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","typedoc":"^0.28.5","chokidar":"^4.0.3","fast-glob":"^3.3.3","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.8.3","@types/node":"^24.0.3","@types/debug":"^4.1.12","concurrently":"^9.2.0","finalhandler":"^2.1.0","serve-static":"^2.2.0","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.0.0","eslint-plugin-n":"^17.20.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.0.5","@tsconfig/node-lts":"^22.0.2","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.8","@vitest/coverage-v8":"^3.2.4","eslint-plugin-tsdoc":"^0.4.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.0.2","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.0.0","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.7.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.30_1750759715061_0.5727646222224985","host":"s3://npm-registry-packages-npm-production"}},"0.3.31":{"name":"chameleon-ultra.js","version":"0.3.31","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.31","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"b3c83b4649cfa77053cae11c4c51684740f03c4f","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.31.tgz","fileCount":55,"integrity":"sha512-3+JpqrxZKekbpm8nibX4mqDDBYAylG5ZtC6nVCCCj49HMdVXhWBEm5Z1Q48Ar9TtCa5DoWPxenExSsDsFh2diw==","signatures":[{"sig":"MEQCIEOWna9t1aq12r9EcY5DY10crk//pMIdrpN0xbICaoo0AiAfvJyYuw55IWBX7lsTWgR70aGGZdLp+z8wPDiXub2pxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1691223},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"import":"./dist/*.mjs","script":"./dist/*.global.js","require":"./dist/*.js"},"./package.json":"./package.json"},"gitHead":"be082433b72d6edcadbf64f9d39e004492d2574a","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"vitest -r ./src --testTimeout 180000","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"yarn test --run --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch pages --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./build-utils/https.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./build-utils/sitemap.ts","build:cjsInterop":"tsx ./build-utils/cjsInterop.ts"},"_npmUser":{"name":"taichunmin","actor":{"name":"taichunmin","type":"user","email":"taichunmin@gmail.com"},"email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.19.2","dependencies":{"debug":"^4.4.1","jszip":"^3.10.1","lodash-es":"^4.17.21","serialport":"^13.0.0","webbluetooth":"^3.3.2","@taichunmin/crc":"^0.0.20","@types/lodash-es":"^4.17.12","@taichunmin/buffer":"^0.13.16","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.20.3","tsup":"^8.5.0","dayjs":"^1.11.13","dotenv":"^16.5.0","eslint":"^8.57.0","rimraf":"^6.0.1","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","typedoc":"^0.28.5","chokidar":"^4.0.3","fast-glob":"^3.3.3","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.8.3","@types/node":"^24.0.3","@types/debug":"^4.1.12","concurrently":"^9.2.0","finalhandler":"^2.1.0","serve-static":"^2.2.0","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.0.0","eslint-plugin-n":"^17.20.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.0.5","@tsconfig/node-lts":"^22.0.2","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.8","@vitest/coverage-v8":"^3.2.4","eslint-plugin-tsdoc":"^0.4.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.0.2","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.0.0","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.7.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.31_1750761108265_0.8502860142985396","host":"s3://npm-registry-packages-npm-production"}},"0.3.32":{"name":"chameleon-ultra.js","version":"0.3.32","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.32","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"67a42882d63a0793f1c0eb91c20d1f8a9985c282","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.32.tgz","fileCount":55,"integrity":"sha512-frjoKtSNbdc/2CASVdzrrRWf04z/fKtzdIYxtNIdLeFLoiraJUPWB/LlJ92YV4Nn80Y1hEcOg32kA0I0Qoo40g==","signatures":[{"sig":"MEUCIAi5ek9es4PVCZFp6DvUU9EZKXAj8K5QKSlxKEp8NJPtAiEA6qAH3g8kSbhszb1Dl7+JtoKcQt+/g5F5gLNqsuRagwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1694046},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"import":"./dist/*.mjs","script":"./dist/*.global.js","require":"./dist/*.js"},"./package.json":"./package.json"},"gitHead":"e3cbe2bf62a755a97d3ac5cab3cfaa5a0a814a4d","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"vitest -r ./src --testTimeout 180000","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"yarn test --run --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch documents --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./build-utils/https.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./build-utils/sitemap.ts","build:cjsInterop":"tsx ./build-utils/cjsInterop.ts"},"_npmUser":{"name":"taichunmin","actor":{"name":"taichunmin","type":"user","email":"taichunmin@gmail.com"},"email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.19.2","dependencies":{"debug":"^4.4.1","jszip":"^3.10.1","lodash-es":"^4.17.21","serialport":"^13.0.0","webbluetooth":"^3.3.2","@taichunmin/crc":"^0.0.20","@types/lodash-es":"^4.17.12","@taichunmin/buffer":"^0.13.16","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.20.3","tsup":"^8.5.0","dayjs":"^1.11.13","dotenv":"^16.5.0","eslint":"^8.57.0","rimraf":"^6.0.1","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","typedoc":"^0.28.5","chokidar":"^4.0.3","fast-glob":"^3.3.3","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.8.3","@types/node":"^24.0.3","@types/debug":"^4.1.12","concurrently":"^9.2.0","finalhandler":"^2.1.0","serve-static":"^2.2.0","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.0.0","eslint-plugin-n":"^17.20.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.0.5","@tsconfig/node-lts":"^22.0.2","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.8","@vitest/coverage-v8":"^3.2.4","eslint-plugin-tsdoc":"^0.4.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.0.2","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.0.0","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.7.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.32_1751254901496_0.5370709948089352","host":"s3://npm-registry-packages-npm-production"}},"0.3.33":{"name":"chameleon-ultra.js","version":"0.3.33","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.33","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"2c662c28a9365c3987d300686a6dcc04f78591a5","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.33.tgz","fileCount":55,"integrity":"sha512-nWzY5UsQ8skLDu+bL8GOMIXw/Pn0V8cgKf34J8NFVH0Nx/0ILAUHivWnlU/hJX2lVGdA6uIpFRMBvJgcSkw8ww==","signatures":[{"sig":"MEQCIDy1EvmZpsbBpb8+kSjnm+Xtt/MM3X9KzlHueWKTrjz2AiAvCpfOhZOKNeCbmNHp5/L/rI9KZQjPZOaTBIZcBZY+Rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1694089},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"import":"./dist/*.mjs","script":"./dist/*.global.js","require":"./dist/*.js"},"./package.json":"./package.json"},"gitHead":"47f3966231a942eac09e1dc451c4eaa3a507e459","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"vitest -r ./src --testTimeout 180000","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"yarn test --run --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch documents --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./build-utils/https.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./build-utils/sitemap.ts","build:cjsInterop":"tsx ./build-utils/cjsInterop.ts"},"_npmUser":{"name":"taichunmin","actor":{"name":"taichunmin","type":"user","email":"taichunmin@gmail.com"},"email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.19.2","dependencies":{"debug":"^4.4.1","jszip":"^3.10.1","lodash-es":"^4.17.21","serialport":"^13.0.0","webbluetooth":"^3.3.2","@taichunmin/crc":"^0.0.20","@types/lodash-es":"^4.17.12","@taichunmin/buffer":"^0.13.16","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.20.3","tsup":"^8.5.0","dayjs":"^1.11.13","dotenv":"^16.5.0","eslint":"^8.57.0","rimraf":"^6.0.1","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","typedoc":"^0.28.5","chokidar":"^4.0.3","fast-glob":"^3.3.3","@types/pug":"^2.0.10","livereload":"^0.9.3","node-watch":"^0.7.4","typescript":"^5.8.3","@types/node":"^24.0.3","@types/debug":"^4.1.12","concurrently":"^9.2.0","finalhandler":"^2.1.0","serve-static":"^2.2.0","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.0.0","eslint-plugin-n":"^17.20.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.0.5","@tsconfig/node-lts":"^22.0.2","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.3","@types/serve-static":"^1.15.8","@vitest/coverage-v8":"^3.2.4","eslint-plugin-tsdoc":"^0.4.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.0.2","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.0.0","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.7.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.33_1751257822520_0.31849106961128415","host":"s3://npm-registry-packages-npm-production"}},"0.3.34":{"name":"chameleon-ultra.js","version":"0.3.34","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.3.34","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"9ed7cc676947e3419d9f31bf63c45da0e57f1a90","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.3.34.tgz","fileCount":56,"integrity":"sha512-QPO3TKDgFCWIqqkNdyyFk1DJbPlX9gYYzVAFjQi1DnaU74KQIXT3CoiHFTV566U2vb0+etPogo1zGJl14ljt9Q==","signatures":[{"sig":"MEYCIQDYABvO99wz1DmoGOgKHnehQtdSCtd3+r9Dcs1lJMVHVQIhAIrJF8EW0QcMj6ONB9z0r3D9SPewWv9CYGrQKD4+P1QF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1801614},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"import":"./dist/*.mjs","script":"./dist/*.global.js","require":"./dist/*.js"},"./package.json":"./package.json"},"gitHead":"0126a0f2bc4f1003962de56605f51c42e3669655","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"vitest -r ./src --testTimeout 180000","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"yarn test --run --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch documents --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./build-utils/https.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./build-utils/sitemap.ts","build:cjsInterop":"tsx ./build-utils/cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.19.4","dependencies":{"debug":"^4.4.1","jszip":"^3.10.1","lodash-es":"^4.17.21","serialport":"^13.0.0","webbluetooth":"^3.3.2","@taichunmin/crc":"^0.0.22","@types/lodash-es":"^4.17.12","@taichunmin/buffer":"^0.13.16","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.20.3","tsup":"^8.5.0","dayjs":"^1.11.13","dotenv":"^17.2.1","eslint":"^8.57.0","rimraf":"^6.0.1","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","typedoc":"^0.28.9","chokidar":"^4.0.3","fast-glob":"^3.3.3","type-fest":"^4.41.0","@types/pug":"^2.0.10","livereload":"^0.10.1","node-watch":"^0.7.4","typescript":"^5.9.2","@types/node":"^24.2.1","@types/debug":"^4.1.12","concurrently":"^9.2.0","finalhandler":"^2.1.0","serve-static":"^2.2.0","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.1.0","eslint-plugin-n":"^17.21.3","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.0.5","@tsconfig/node-lts":"^22.0.2","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.4","@types/serve-static":"^1.15.8","@vitest/coverage-v8":"^3.2.4","eslint-plugin-tsdoc":"^0.4.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.0.7","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.0.0","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.7.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.3.34_1754985852898_0.9420216188688899","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"chameleon-ultra.js","version":"0.4.0","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.4.0","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"20e00dc85bb57998e1c9c920c4923e33dad4d8c7","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.4.0.tgz","fileCount":56,"integrity":"sha512-Wwa1ZuakC3Dq/u4IuA1J4ghqlHA2SBvg2M31IHOhczm4jgm0MsRFSWT7gPbvroF/8y7y+VDRvzerc0wAPJv8rg==","signatures":[{"sig":"MEUCICPUS3u76iti3FiY+IV2SX4NCpo+pdRF8FZYuI40lcqBAiEA48UeSaCP/hbHSb4BUWY4IFotkd8vw1ehYQeHgIFlPq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1803753},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"import":"./dist/*.mjs","script":"./dist/*.global.js","require":"./dist/*.js"},"./package.json":"./package.json"},"gitHead":"849759957c35323d82a839c96edec470854cd7ba","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"vitest -r ./src --testTimeout 180000","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"yarn test --run --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch documents --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./build-utils/https.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","publish:test":"npm publish --dry-run","build:sitemap":"tsx ./build-utils/sitemap.ts","build:cjsInterop":"tsx ./build-utils/cjsInterop.ts"},"_npmUser":{"name":"taichunmin","email":"taichunmin@gmail.com"},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"10.8.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"20.19.4","dependencies":{"debug":"^4.4.1","jszip":"^3.10.1","lodash-es":"^4.17.21","serialport":"^13.0.0","webbluetooth":"^3.3.2","@taichunmin/crc":"^0.0.22","@types/lodash-es":"^4.17.12","@taichunmin/buffer":"^0.13.16","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.20.3","tsup":"^8.5.0","dayjs":"^1.11.13","dotenv":"^17.2.1","eslint":"^8.57.0","rimraf":"^6.0.1","vitest":"^3.2.4","nodemon":"^3.1.10","ts-node":"^10.9.2","typedoc":"^0.28.9","chokidar":"^4.0.3","fast-glob":"^3.3.3","type-fest":"^4.41.0","@types/pug":"^2.0.10","livereload":"^0.10.1","node-watch":"^0.7.4","typescript":"^5.9.2","@types/node":"^24.2.1","@types/debug":"^4.1.12","concurrently":"^9.2.0","finalhandler":"^2.1.0","serve-static":"^2.2.0","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.1.0","eslint-plugin-n":"^17.21.3","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.0.5","@tsconfig/node-lts":"^22.0.2","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.4","@types/serve-static":"^1.15.8","@vitest/coverage-v8":"^3.2.4","eslint-plugin-tsdoc":"^0.4.0","@types/html-minifier":"^4.0.5","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.0.7","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.0.0","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.7.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.4.0_1755026273210_0.47436690626266076","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"chameleon-ultra.js","version":"0.4.1","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.4.1","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"babc88de6f946a4a99919fa9c3177b0d74f8612c","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.4.1.tgz","fileCount":56,"integrity":"sha512-AGb8WIC/QfTy6tLHYTlsjElt7bdJR8C8bLU2jCkpH7Xp3bKZxcG2IfYmlFMJYoE1OTsn5MtZOMSTyQi17l5IWQ==","signatures":[{"sig":"MEUCIDevNOftQJzbicrRMFRVtc36Ag5/h/Y/zjMAsRc/R0SmAiEA9J707/OkvfuGHcvEslD+SlxVFR7tSzZAkqDOozksnzY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chameleon-ultra.js@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1915235},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"import":"./dist/*.mjs","script":"./dist/*.global.js","require":"./dist/*.js"},"./package.json":"./package.json"},"gitHead":"481a116abcf313c53a42bb96deb24f4996e76cab","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"vitest -r ./src --testTimeout 180000","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"yarn test --run --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch documents --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./build-utils/https.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","publish:test":"npm pack --dry-run","build:sitemap":"tsx ./build-utils/sitemap.ts","build:cjsInterop":"tsx ./build-utils/cjsInterop.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:749685f6-9c86-4d94-9962-85057eb5ca79"}},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"11.6.2","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"24.12.0","dependencies":{"debug":"^4.4.3","jszip":"^3.10.1","lodash-es":"^4.17.22","serialport":"^13.0.0","webbluetooth":"^3.3.2","@taichunmin/crc":"^0.0.22","@types/lodash-es":"^4.17.12","@taichunmin/buffer":"^0.13.16","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.3","tsx":"^4.21.0","tsup":"^8.5.1","dayjs":"^1.11.19","dotenv":"^17.2.3","eslint":"^8.57.0","rimraf":"^6.1.2","vitest":"^4.0.16","nodemon":"^3.1.11","ts-node":"^10.9.2","typedoc":"^0.28.15","chokidar":"^5.0.0","fast-glob":"^3.3.3","type-fest":"^5.3.1","@types/pug":"^2.0.10","livereload":"^0.10.3","node-watch":"^0.7.4","typescript":"^5.9.3","@types/node":"^24.2.1","@types/debug":"^4.1.12","concurrently":"^9.2.1","finalhandler":"^2.1.1","serve-static":"^2.2.1","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.2.2","eslint-plugin-n":"^17.23.1","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.0.5","@tsconfig/node-lts":"^24.0.0","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.4","@types/serve-static":"^2.2.0","@vitest/coverage-v8":"^4.0.16","eslint-plugin-tsdoc":"^0.5.0","@types/html-minifier":"^4.0.6","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.0.10","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.1.2","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.7.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.4.1_1766357428119_0.343164675103971","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"chameleon-ultra.js","version":"0.4.2","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.4.2","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"a06fde9339e01244781c274dd1590cbbcd6235ba","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.4.2.tgz","fileCount":56,"integrity":"sha512-4Vv+dL2oXS0p8QjqrZsjjNht1to9VcwCtXp9KRQczysx528qb9S4CfyJd5je81w11tudH/sRjB2B0kOU4NJehA==","signatures":[{"sig":"MEQCIFwynhWwItXhTdNLSwu7pSDGQdo0tuvUGGLLRyLsXe/eAiBuZBKbUWWXVpVmLkXRhzeM3jsRbLybf6BcE/WYMsgj7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chameleon-ultra.js@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1941685},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"import":"./dist/*.mjs","script":"./dist/*.global.js","require":"./dist/*.js"},"./package.json":"./package.json"},"gitHead":"f645d388a3620c6fe61f1bdff399ee20a6632d83","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"vitest -r ./src --testTimeout 180000","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"yarn test --run --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch documents --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./build-utils/https.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","publish:test":"npm pack --dry-run","build:sitemap":"tsx ./build-utils/sitemap.ts","build:cjsInterop":"tsx ./build-utils/cjsInterop.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:749685f6-9c86-4d94-9962-85057eb5ca79"}},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"11.9.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"24.14.0","dependencies":{"debug":"^4.4.3","jszip":"^3.10.1","lodash-es":"^4.17.23","serialport":"^13.0.0","webbluetooth":"^3.6.0","@taichunmin/crc":"^0.0.22","@types/lodash-es":"^4.17.12","@taichunmin/buffer":"^0.13.16","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.4","tsx":"^4.21.0","tsup":"^8.5.1","dayjs":"^1.11.20","dotenv":"^17.3.1","eslint":"^8.57.0","rimraf":"^6.1.3","vitest":"^4.1.0","nodemon":"^3.1.14","typedoc":"^0.28.17","chokidar":"^5.0.0","fast-glob":"^3.3.3","type-fest":"^5.4.4","@types/pug":"^2.0.10","livereload":"^0.10.3","node-watch":"^0.7.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/debug":"^4.1.12","concurrently":"^9.2.1","finalhandler":"^2.1.1","serve-static":"^2.2.1","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.2.2","eslint-plugin-n":"^17.24.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.1.1","@tsconfig/node-lts":"^24.0.0","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.4","@types/serve-static":"^2.2.0","@vitest/coverage-v8":"^4.1.0","eslint-plugin-tsdoc":"^0.5.2","@types/html-minifier":"^4.0.6","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.1.1","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.1.2","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.8.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.4.2_1773893132363_0.7328261683675996","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"chameleon-ultra.js","version":"0.4.3","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.4.3","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"136f8da4e2dca21bf0d3efdd9b420af530743993","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.4.3.tgz","fileCount":56,"integrity":"sha512-8M02rN6hM3cYzkdFkvpDcKlSHq/ED1eDZhS9ZXhKxrysj/QFM7PBzFrIAWnvWGwFLhVJhbnOVQM2HEube6AKkA==","signatures":[{"sig":"MEUCIQCg+b5kg4lAZfjv+E0DMP5LjQAqc76wbruv0gNjRW2/2wIgCbrOOW9XwzRDHIzIpYzF0RezA1rIa2a0TUB5E9iav5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chameleon-ultra.js@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1941468},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"import":"./dist/*.mjs","script":"./dist/*.global.js","require":"./dist/*.js"},"./package.json":"./package.json"},"gitHead":"7f70032c090aca003e1b244b46fbb4308a2f5e79","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"vitest -r ./src --testTimeout 180000","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"yarn test --run --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch documents --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./build-utils/https.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","publish:test":"npm pack --dry-run","build:sitemap":"tsx ./build-utils/sitemap.ts","build:cjsInterop":"tsx ./build-utils/cjsInterop.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:749685f6-9c86-4d94-9962-85057eb5ca79"}},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"11.9.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"24.14.0","dependencies":{"debug":"^4.4.3","jszip":"^3.10.1","lodash-es":"^4.17.23","serialport":"^13.0.0","webbluetooth":"^3.6.0","@taichunmin/crc":"^0.0.22","@types/lodash-es":"^4.17.12","@taichunmin/buffer":"^0.13.16","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.4","tsx":"^4.21.0","tsup":"^8.5.1","dayjs":"^1.11.20","dotenv":"^17.3.1","eslint":"^8.57.0","rimraf":"^6.1.3","vitest":"^4.1.0","nodemon":"^3.1.14","typedoc":"^0.28.17","chokidar":"^5.0.0","fast-glob":"^3.3.3","type-fest":"^5.4.4","@types/pug":"^2.0.10","livereload":"^0.10.3","node-watch":"^0.7.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/debug":"^4.1.12","concurrently":"^9.2.1","finalhandler":"^2.1.1","serve-static":"^2.2.1","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.2.2","eslint-plugin-n":"^17.24.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.1.1","@tsconfig/node-lts":"^24.0.0","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.4","@types/serve-static":"^2.2.0","@vitest/coverage-v8":"^4.1.0","eslint-plugin-tsdoc":"^0.5.2","@types/html-minifier":"^4.0.6","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-mdn-links":"^5.1.1","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.1.2","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.8.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.4.3_1773917767138_0.6715752789153453","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"chameleon-ultra.js","version":"0.4.4","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.4.4","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"b2dbcfc2cb1e2a563a12327bdab3e2c1c2a76f85","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.4.4.tgz","fileCount":56,"integrity":"sha512-nK8ZGX4WxM85zedVH1jJfJOPkWk3x5A0eTDNyoETF6peVMf1S7KyHEReALFtBamczANJM5PHXXDYtKU69Ts3Sw==","signatures":[{"sig":"MEUCIGdLqx9pRAdJQBwskJeu5w5uOdJU6E3l4o7riP/Ypu2jAiEArHHOl0Hv6Y3HNvt9NWsXI1K6Uj3qfabAuHMVb09AyrE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chameleon-ultra.js@0.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1947643},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"import":"./dist/*.mjs","script":"./dist/*.global.js","require":"./dist/*.js"},"./package.json":"./package.json"},"gitHead":"6e87808974897f26effdc4244b9d32601906f165","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"vitest -r ./src --testTimeout 180000","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"yarn test --run --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch documents --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./build-utils/https.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","publish:test":"npm pack --dry-run","build:sitemap":"tsx ./build-utils/sitemap.ts","build:cjsInterop":"tsx ./build-utils/cjsInterop.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:749685f6-9c86-4d94-9962-85057eb5ca79"}},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"11.9.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"24.14.0","dependencies":{"debug":"^4.4.3","jszip":"^3.10.1","lodash-es":"^4.17.23","serialport":"^13.0.0","webbluetooth":"^3.6.0","@taichunmin/crc":"^0.0.22","@types/lodash-es":"^4.17.12","@taichunmin/buffer":"^0.13.16","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.4","tsx":"^4.21.0","tsup":"^8.5.1","dayjs":"^1.11.20","dotenv":"^17.3.1","eslint":"^8.57.0","rimraf":"^6.1.3","vitest":"^4.1.0","nodemon":"^3.1.14","typedoc":"^0.28.17","chokidar":"^5.0.0","fast-glob":"^3.3.3","type-fest":"^5.4.4","@types/pug":"^2.0.10","livereload":"^0.10.3","node-watch":"^0.7.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/debug":"^4.1.12","concurrently":"^9.2.1","finalhandler":"^2.1.1","serve-static":"^2.2.1","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.2.2","eslint-plugin-n":"^17.24.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.1.1","@tsconfig/node-lts":"^24.0.0","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.4","@types/serve-static":"^2.2.0","@vitest/coverage-v8":"^4.1.0","eslint-plugin-tsdoc":"^0.5.2","@types/html-minifier":"^4.0.6","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-llms-txt":"^0.1.2","typedoc-plugin-markdown":"^4.11.0","typedoc-plugin-mdn-links":"^5.1.1","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.1.2","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.8.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.4.4_1774008486587_0.9926891242285465","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"chameleon-ultra.js","version":"0.4.5","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.4.5","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"ad44d2a055f1ceed8a3166e8733d2ccca17f9db8","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.4.5.tgz","fileCount":56,"integrity":"sha512-4VLaxMbD0UF6r7dsnHiFKnYwL6p3XgFVfVj7Hk52t+TCG3VT36ydfjMq3KYRwdv8ZaNwAwYFmbe79fjUsp5/9A==","signatures":[{"sig":"MEYCIQDbDT8rJ8eviAwniwiqHt2oEIg4O5il17K1E6/43s/U9gIhAO4b7NdDEFY3LI2udrKPEZElc7oUPz884GMR7sBmf44c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chameleon-ultra.js@0.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1947099},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"import":"./dist/*.mjs","script":"./dist/*.global.js","require":"./dist/*.js"},"./package.json":"./package.json"},"gitHead":"69ff7b52158ea46011191b38f8fe41e7c1ce91a9","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"vitest -r ./src --testTimeout 180000","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"yarn test --run --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch documents --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./build-utils/https.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","publish:test":"npm pack --dry-run","build:sitemap":"tsx ./build-utils/sitemap.ts","build:cjsInterop":"tsx ./build-utils/cjsInterop.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:749685f6-9c86-4d94-9962-85057eb5ca79"}},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"11.9.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"24.14.0","dependencies":{"debug":"^4.4.3","jszip":"^3.10.1","lodash-es":"^4.17.23","serialport":"^13.0.0","webbluetooth":"^3.6.0","@taichunmin/crc":"^0.0.22","@types/lodash-es":"^4.17.12","@taichunmin/buffer":"^0.13.16","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.4","tsx":"^4.21.0","tsup":"^8.5.1","dayjs":"^1.11.20","dotenv":"^17.3.1","eslint":"^8.57.0","rimraf":"^6.1.3","vitest":"^4.1.0","nodemon":"^3.1.14","typedoc":"^0.28.17","chokidar":"^5.0.0","fast-glob":"^3.3.3","type-fest":"^5.4.4","@types/pug":"^2.0.10","livereload":"^0.10.3","node-watch":"^0.7.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/debug":"^4.1.12","concurrently":"^9.2.1","finalhandler":"^2.1.1","serve-static":"^2.2.1","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.2.2","eslint-plugin-n":"^17.24.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.1.1","@tsconfig/node-lts":"^24.0.0","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.4","@types/serve-static":"^2.2.0","@vitest/coverage-v8":"^4.1.0","eslint-plugin-tsdoc":"^0.5.2","@types/html-minifier":"^4.0.6","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-llms-txt":"^0.1.2","typedoc-plugin-markdown":"^4.11.0","typedoc-plugin-mdn-links":"^5.1.1","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.1.2","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.8.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.4.5_1774215189553_0.6102986367409513","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"chameleon-ultra.js","version":"0.4.6","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","_id":"chameleon-ultra.js@0.4.6","maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"contributors":[{"url":"https://taichunmin.idv.tw","name":"Chunmin Tai","email":"taichunmin@gmail.com"}],"homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"dist":{"shasum":"20242e05170b1ea0b71c2bff8bdd84c4e7017b7f","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.4.6.tgz","fileCount":57,"integrity":"sha512-tHZsRqp8B0lxL5U41DHKTiUKi14lfTr7gutE0Bz+WZdvRaMRdsh17+ddFYGVuUYWA+GMdYewhEZ3h43gi4RUtg==","signatures":[{"sig":"MEUCIQCvk5JK3RkZAclJx6NyvCsUz04Bv0YVrt0Nqx1H0SwJWQIgFYYClazKSagvUb6zhtBcyodjNYhDP70ee0NApGIxRhs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chameleon-ultra.js@0.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1993103},"main":"./dist/index.js","type":"commonjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","browser":"./dist/index.global.js","exports":{".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"import":"./dist/index.mjs","script":"./dist/index.global.js","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"import":"./dist/*.mjs","script":"./dist/*.global.js","require":"./dist/*.js"},"./package.json":"./package.json"},"gitHead":"6830277b25b8b06c0a7578f1f7d3a947734dd2c6","scripts":{"dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint":"yarn lint:ci --fix","test":"vitest -r ./src --testTimeout 180000","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:js":"yarn build:js --watch","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","test:ci":"yarn test --run --coverage","build:js":"tsup","dev:docs":"nodemon --watch src --watch documents --ext ts,md --exec \"yarn build:docs\"","build:pug":"tsx ./pug/build.ts","dev:https":"tsx ./build-utils/https.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","publish:test":"npm pack --dry-run","build:sitemap":"tsx ./build-utils/sitemap.ts","build:cjsInterop":"tsx ./build-utils/cjsInterop.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:749685f6-9c86-4d94-9962-85057eb5ca79"}},"repository":{"url":"git+https://github.com/taichunmin/chameleon-ultra.js.git","type":"git"},"_npmVersion":"11.9.0","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","directories":{},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"_nodeVersion":"24.14.0","dependencies":{"debug":"^4.4.3","jszip":"^3.10.1","lodash-es":"^4.17.23","serialport":"^13.0.0","webbluetooth":"^3.6.0","@taichunmin/crc":"^0.0.22","@types/lodash-es":"^4.17.12","@taichunmin/buffer":"^0.13.16","web-serial-polyfill":"^1.0.15"},"_hasShrinkwrap":false,"devDependencies":{"pug":"^3.0.4","tsx":"^4.21.0","tsup":"^8.5.1","dayjs":"^1.11.20","dotenv":"^17.3.1","eslint":"^8.57.0","rimraf":"^6.1.3","vitest":"^4.1.0","nodemon":"^3.1.14","typedoc":"^0.28.17","chokidar":"^5.0.0","fast-glob":"^3.3.3","type-fest":"^5.4.4","@types/pug":"^2.0.10","livereload":"^0.10.3","node-watch":"^0.7.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/debug":"^4.1.12","concurrently":"^9.2.1","finalhandler":"^2.1.1","serve-static":"^2.2.1","html-minifier":"^4.0.0","utility-types":"^3.11.0","supports-color":"^10.2.2","eslint-plugin-n":"^17.24.0","@types/uglify-js":"^3.17.5","@types/livereload":"^0.9.5","eslint-plugin-pug":"^1.2.5","typedoc-plugin-ga":"^1.1.1","@tsconfig/node-lts":"^24.0.0","eslint-config-love":"^43","jstransformer-sass":"^1.0.0","@types/finalhandler":"^1.2.4","@types/serve-static":"^2.2.0","@vitest/coverage-v8":"^4.1.0","eslint-plugin-tsdoc":"^0.5.2","@types/html-minifier":"^4.0.6","@types/web-bluetooth":"^0.0.21","eslint-plugin-import":"^2.32.0","eslint-plugin-promise":"^7.2.1","eslint-config-standard":"^17.1.0","typedoc-plugin-llms-txt":"^0.1.2","typedoc-plugin-markdown":"^4.11.0","typedoc-plugin-mdn-links":"^5.1.1","@typescript-eslint/parser":"^7.18.0","eslint-plugin-local-rules":"^3.0.2","typedoc-plugin-missing-exports":"^4.1.2","typedoc-plugin-rename-defaults":"^0.7.3","@typescript-eslint/eslint-plugin":"^7.18.0","esbuild-plugins-node-modules-polyfill":"^1.8.1"},"_npmOperationalInternal":{"tmp":"tmp/chameleon-ultra.js_0.4.6_1774410419679_0.4734764301917911","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"browser":"./dist/index.global.js","description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","license":"MIT","main":"./dist/index.js","module":"./dist/index.mjs","name":"chameleon-ultra.js","type":"commonjs","version":"0.4.7","bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"contributors":[{"name":"Chunmin Tai","email":"taichunmin@gmail.com","url":"https://taichunmin.idv.tw"}],"dependencies":{"@taichunmin/buffer":"^0.13.16","@taichunmin/crc":"^0.0.22","@types/lodash-es":"^4.17.12","debug":"^4.4.3","jszip":"^3.10.1","lodash-es":"^4.18.1","serialport":"^13.0.0","web-serial-polyfill":"^1.0.15","webbluetooth":"^3.7.0"},"devDependencies":{"@microsoft/api-extractor":"^7.58.9","@tsconfig/node-lts":"^24.0.0","@types/debug":"^4.1.13","@types/finalhandler":"^1.2.4","@types/html-minifier":"^4.0.6","@types/livereload":"^0.9.5","@types/node":"^25.9.3","@types/pug":"^2.0.10","@types/serve-static":"^2.2.0","@types/uglify-js":"^3.17.5","@types/web-bluetooth":"^0.0.21","@typescript-eslint/eslint-plugin":"^7.18.0","@typescript-eslint/parser":"^7.18.0","@vitest/coverage-v8":"^4.1.9","chokidar":"^5.0.0","concurrently":"^10.0.3","dayjs":"^1.11.21","dotenv":"^17.4.2","esbuild-plugins-node-modules-polyfill":"^1.8.1","eslint":"^8.57.0","eslint-config-love":"^43","eslint-config-standard":"^17.1.0","eslint-plugin-import":"^2.32.0","eslint-plugin-local-rules":"^3.0.2","eslint-plugin-n":"^17.24.0","eslint-plugin-promise":"^7.3.0","eslint-plugin-pug":"^1.2.7","eslint-plugin-tsdoc":"^0.5.2","fast-glob":"^3.3.3","finalhandler":"^2.1.1","html-minifier":"^4.0.0","jstransformer-sass":"^1.0.0","livereload":"^0.10.3","node-watch":"^0.7.4","nodemon":"^3.1.14","pug":"^3.0.4","rimraf":"^6.1.3","serve-static":"^2.2.1","supports-color":"^10.2.2","tsup":"^8.5.1","tsx":"^4.22.4","type-fest":"^5.7.0","typedoc":"^0.28.19","typedoc-plugin-ga":"^1.1.1","typedoc-plugin-llms-txt":"^0.1.2","typedoc-plugin-markdown":"^4.12.0","typedoc-plugin-mdn-links":"^5.1.1","typedoc-plugin-missing-exports":"^4.1.3","typedoc-plugin-rename-defaults":"^0.7.3","typescript":"^6.0.3","utility-types":"^3.11.0","vitest":"^4.1.9"},"exports":{"./package.json":"./package.json",".":{"types":{"import":"./dist/index.d.mts","require":"./dist/index.d.ts"},"script":"./dist/index.global.js","import":"./dist/index.mjs","require":"./dist/index.js"},"./*":{"types":{"import":"./dist/*.d.mts","require":"./dist/*.d.ts"},"script":"./dist/*.global.js","import":"./dist/*.mjs","require":"./dist/*.js"}},"keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"repository":{"type":"git","url":"git+https://github.com/taichunmin/chameleon-ultra.js.git"},"resolutions":{"**/jstransformer-scss":"^2.0.0"},"scripts":{"build:cjsInterop":"tsx ./build-utils/cjsInterop.ts","build:docs":"typedoc && tsx ./build-utils/typedoc.ts","build:js":"tsup","build:pug":"tsx ./pug/build.ts","build:sitemap":"tsx ./build-utils/sitemap.ts","build":"yarn build:js && yarn build:cjsInterop && yarn build:docs && yarn build:pug && yarn build:sitemap","dev:docs":"nodemon --watch src --watch documents --ext ts,md --exec \"yarn build:docs\"","dev:https":"tsx ./build-utils/https.ts","dev:js":"yarn build:js --watch","dev:pug":"nodemon --watch pug --ext pug --exec \"yarn build:pug\"","dev":"DEBUG_COLORS=1 concurrently --names \"DOC,HTTPS,PUG,TS\" -c \"bgGray,bgGreen,bgGray,bgBlue,bgYellow\" \"yarn dev:docs\" \"yarn dev:https\" \"yarn dev:pug\" \"yarn dev:js\"","lint:ci":"eslint --ext .mjs,.js,.js,.ts,.pug .","lint":"yarn lint:ci --fix","mkcert":"mkdir ./mkcert && mkcert -key-file ./mkcert/key.pem -cert-file ./mkcert/cert.pem -ecdsa localhost","publish:test":"npm pack --dry-run","test:ci":"yarn test --run --coverage","test":"vitest -r ./src --testTimeout 180000"},"gitHead":"60a66c1730560a9c1dba59507b68718dddb9650a","types":"./dist/index.d.ts","_id":"chameleon-ultra.js@0.4.7","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-186iaCTJG5T0/EURD6DKlnnNnC165PJND5ASjnAssiAbNJyrSL+RMn3o0NHsxSjAMzvkWia+b5etvVv84zling==","shasum":"32ca2137a4df3ee57090fe0dd69868e2f5521c86","tarball":"https://registry.npmjs.org/chameleon-ultra.js/-/chameleon-ultra.js-0.4.7.tgz","fileCount":57,"unpackedSize":1742697,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/chameleon-ultra.js@0.4.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDdbY2Ka7GJZNiRykxPGJ3fQqTF+DwBqSGWHfnruD6r2AIgM9wPqNiQCawvud42kEQR5niWcnpr+qbKl4DWBorK9lk="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:749685f6-9c86-4d94-9962-85057eb5ca79"}},"directories":{},"maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chameleon-ultra.js_0.4.7_1781668820756_0.9324704972155711"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-08T08:32:23.251Z","modified":"2026-06-17T04:00:21.161Z","0.1.0":"2023-09-08T08:32:23.609Z","0.1.1":"2023-09-08T09:58:55.955Z","0.1.2":"2023-09-09T06:07:33.698Z","0.1.3":"2023-09-12T16:09:20.623Z","0.1.4":"2023-09-12T16:54:25.508Z","0.1.5":"2023-09-13T01:37:36.068Z","0.1.6":"2023-09-13T10:02:57.693Z","0.1.7":"2023-09-14T06:19:31.138Z","0.1.8":"2023-09-14T09:32:19.714Z","0.1.9":"2023-09-15T15:41:53.917Z","0.1.10":"2023-09-17T05:46:38.487Z","0.1.11":"2023-09-19T02:50:53.765Z","0.1.12":"2023-09-19T17:16:04.415Z","0.1.13":"2023-09-21T06:02:31.007Z","0.1.14":"2023-09-25T15:22:46.771Z","0.1.15":"2023-09-26T06:29:37.746Z","0.1.16":"2023-09-26T13:17:52.960Z","0.1.17":"2023-09-26T13:59:55.046Z","0.1.18":"2023-09-26T14:32:23.741Z","0.2.0":"2023-09-26T17:15:03.337Z","0.2.1":"2023-10-01T18:02:21.446Z","0.2.2":"2023-10-02T16:21:42.052Z","0.2.3":"2023-10-03T17:39:05.931Z","0.2.4":"2023-10-05T16:14:14.625Z","0.2.5":"2023-10-12T05:03:54.727Z","0.2.6":"2023-10-13T16:14:25.686Z","0.2.7":"2023-10-14T10:55:36.980Z","0.2.8":"2023-10-15T10:36:28.435Z","0.2.9":"2023-10-21T07:15:47.403Z","0.2.10":"2023-10-23T01:35:34.647Z","0.2.11":"2023-10-23T15:16:53.140Z","0.2.12":"2023-11-07T00:11:17.575Z","0.2.13":"2023-11-07T02:51:38.554Z","0.2.14":"2023-11-08T05:48:24.713Z","0.2.15":"2023-11-16T17:31:58.745Z","0.2.16":"2023-11-23T17:04:54.608Z","0.2.17":"2023-11-25T15:56:27.277Z","0.2.18":"2023-12-27T05:37:56.099Z","0.2.19":"2024-01-17T08:14:50.631Z","0.2.20":"2024-01-17T16:49:16.607Z","0.2.21":"2024-02-20T02:18:05.111Z","0.2.22":"2024-05-16T17:41:40.469Z","0.3.0":"2024-05-31T18:26:18.010Z","0.3.1":"2024-06-03T04:52:27.227Z","0.3.2":"2024-06-03T05:19:56.864Z","0.3.3":"2024-06-04T03:15:19.041Z","0.3.4":"2024-06-04T03:42:21.917Z","0.3.5":"2024-06-04T14:12:12.460Z","0.3.6":"2024-06-04T14:47:05.719Z","0.3.7":"2024-06-07T03:26:23.252Z","0.3.8":"2024-06-10T10:27:11.625Z","0.3.9":"2024-06-11T05:32:57.749Z","0.3.10":"2024-06-21T19:38:17.010Z","0.3.11":"2024-07-02T11:10:39.909Z","0.3.12":"2024-07-03T17:37:27.205Z","0.3.13":"2024-07-08T14:50:38.632Z","0.3.14":"2024-07-08T16:58:05.104Z","0.3.15":"2024-07-16T06:55:06.544Z","0.3.16":"2024-08-04T09:21:21.497Z","0.3.17":"2024-09-23T00:03:04.430Z","0.3.18":"2024-09-23T00:21:37.169Z","0.3.19":"2024-10-30T08:12:36.357Z","0.3.20":"2024-11-01T04:23:24.977Z","0.3.21":"2024-11-01T13:25:28.774Z","0.3.22":"2024-11-04T20:01:17.811Z","0.3.23":"2024-11-13T10:27:40.886Z","0.3.24":"2024-11-15T08:11:02.974Z","0.3.25":"2024-11-15T10:57:15.481Z","0.3.26":"2025-04-25T10:29:02.678Z","0.3.27":"2025-04-28T07:44:12.798Z","0.3.28":"2025-05-13T11:14:55.784Z","0.3.29":"2025-05-14T02:37:41.726Z","0.3.30":"2025-06-24T10:08:35.281Z","0.3.31":"2025-06-24T10:31:48.477Z","0.3.32":"2025-06-30T03:41:41.738Z","0.3.33":"2025-06-30T04:30:22.745Z","0.3.34":"2025-08-12T08:04:13.093Z","0.4.0":"2025-08-12T19:17:53.517Z","0.4.1":"2025-12-21T22:50:28.343Z","0.4.2":"2026-03-19T04:05:32.569Z","0.4.3":"2026-03-19T10:56:07.308Z","0.4.4":"2026-03-20T12:08:06.772Z","0.4.5":"2026-03-22T21:33:09.747Z","0.4.6":"2026-03-25T03:46:59.884Z","0.4.7":"2026-06-17T04:00:20.903Z"},"bugs":{"url":"https://github.com/taichunmin/chameleon-ultra.js/issues"},"author":{"name":"taichunmin","email":"taichunmin@gmail.com"},"license":"MIT","homepage":"https://taichunmin.idv.tw/chameleon-ultra.js/","keywords":["browser","chameleon-ultra","chrome","COM","mifare classic","nfc","RFID","serial port","serial","serialport","UART","web bluetooth","web serial","web-bluetooth-api","web-serial-api"],"repository":{"type":"git","url":"git+https://github.com/taichunmin/chameleon-ultra.js.git"},"description":"A JavaScript SDK for ChameleonUltra using Web Bluetooth, Web Serial and SerialPort.","contributors":[{"name":"Chunmin Tai","email":"taichunmin@gmail.com","url":"https://taichunmin.idv.tw"}],"maintainers":[{"name":"taichunmin","email":"taichunmin@gmail.com"}],"readme":"<div align=\"center\">\n\n<h1>chameleon-ultra.js</h1>\n\n<p>A JavaScript SDK for ChameleonUltra support Web Bluetooth API, Web Serial API and Node.js.</p>\n\n<p>\n<a href=\"https://taichunmin.idv.tw/chameleon-ultra.js/documents/Demos.html\"><b>Demo</b></a> •\n<a href=\"https://taichunmin.idv.tw/chameleon-ultra.js/\"><b>Documentation</b></a> •\n<a href=\"https://taichunmin.idv.tw/chameleon-ultra.js/classes/index.ChameleonUltra.html\"><b>Reference</b></a>\n</p>\n\n[![npm version](https://img.shields.io/npm/v/chameleon-ultra.js.svg?logo=npm)](https://www.npmjs.org/package/chameleon-ultra.js)\n[![jsdelivr hits](https://img.shields.io/jsdelivr/npm/hm/chameleon-ultra.js?logo=jsdelivr)](https://www.jsdelivr.com/package/npm/chameleon-ultra.js)\n[![Build status](https://img.shields.io/github/actions/workflow/status/taichunmin/chameleon-ultra.js/ci.yml?branch=master)](https://github.com/taichunmin/chameleon-ultra.js/actions/workflows/ci.yml)\n[![Coverage Status](https://img.shields.io/coverallsCoverage/github/taichunmin/chameleon-ultra.js?branch=master)](https://coveralls.io/github/taichunmin/chameleon-ultra.js?branch=master)\n[![install size](https://img.shields.io/badge/dynamic/json?url=https://packagephobia.com/v2/api.json?p=chameleon-ultra.js&query=$.install.pretty&label=install%20size)](https://packagephobia.now.sh/result?p=chameleon-ultra.js)\n[![npm bundle size](https://img.shields.io/bundlephobia/minzip/chameleon-ultra.js)](https://bundlephobia.com/package/chameleon-ultra.js@latest)\n[![npm downloads](https://img.shields.io/npm/dm/chameleon-ultra.js.svg)](https://npm-stat.com/charts.html?package=chameleon-ultra.js)\n[![GitHub contributors](https://img.shields.io/github/contributors/taichunmin/chameleon-ultra.js)](https://github.com/taichunmin/chameleon-ultra.js/graphs/contributors)\n[![Known vulnerabilities](https://snyk.io/test/npm/chameleon-ultra.js/badge.svg)](https://snyk.io/test/npm/chameleon-ultra.js)\n[![MIT License](https://img.shields.io/github/license/taichunmin/chameleon-ultra.js)](https://github.com/taichunmin/chameleon-ultra.js/blob/master/LICENSE)\n\n</div>\n\n![](https://i.imgur.com/bWJGSGq.png)\n\n## Browser & OS compatibility\n\n### SerialPort (Node.js)\n\n[Node SerialPort](https://serialport.io/docs/) is a JavaScript library for connecting to serial ports that works in NodeJS and Electron.\n\n### Web Bluetooth API\n\nA subset of the Web Bluetooth API is available in ChromeOS, Chrome for Android 6.0, Mac (Chrome 56) and Windows 10 (Chrome 70). See MDN's [Browser compatibility](https://developer.mozilla.org/docs/Web/API/Web_Bluetooth_API#Browser_compatibility) table for more information.\n\nFor iPhone and iPad, the Web Bluetooth API is available in [Bluefy – Web BLE Browser](https://apps.apple.com/app/bluefy-web-ble-browser/id1492822055).\n\nFor Linux and earlier versions of Windows, enable the `#experimental-web-platform-features` flag in `about://flags`.\n\n### Web Serial API\n\nThe Web Serial API is available on all desktop platforms (ChromeOS, Linux, macOS, and Windows) in Chrome 89. See MDN's [Browser compatibility](https://developer.mozilla.org/docs/Web/API/Serial#browser_compatibility) table for more information.\n\n### Web Serial API Polyfill\n\nOn Android, support for USB-based serial ports is possible using the WebUSB API and the [Serial API polyfill](https://github.com/google/web-serial-polyfill). This polyfill is limited to hardware and platforms where the device is accessible via the WebUSB API because it has not been claimed by a built-in device driver.\n\n## Installing\n\n### Package manager\n\nUse npm or yarn to install the package.\n\n```bash\n# Use npm\n$ npm install chameleon-ultra.js\n\n# Use yarn\n$ yarn add chameleon-ultra.js\n```\n\nOnce the package is installed, you can import the library using `import` or `require`:\n\n```js\n// import\nimport { Buffer, ChameleonUltra } from 'chameleon-ultra.js'\nimport SerialPortAdapter from 'chameleon-ultra.js/plugin/SerialPortAdapter'\nimport WebbleAdapter from 'chameleon-ultra.js/plugin/WebbleAdapter'\nimport WebserialAdapter from 'chameleon-ultra.js/plugin/WebserialAdapter'\n\n// require\nconst { Buffer, ChameleonUltra } = require('chameleon-ultra.js')\nconst SerialPortAdapter = require('chameleon-ultra.js/plugin/SerialPortAdapter')\nconst WebbleAdapter = require('chameleon-ultra.js/plugin/WebbleAdapter')\nconst WebserialAdapter = require('chameleon-ultra.js/plugin/WebserialAdapter')\n```\n\n### CDN\n\nPowered by jsDelivr CDN:\n\n```html\n<!-- script -->\n<script src=\"https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/dist/index.global.js\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/dist/Crypto1.global.js\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/dist/plugin/WebbleAdapter.global.js\"></script>\n<script src=\"https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/dist/plugin/WebserialAdapter.global.js\"></script>\n<script>\n  const { Buffer, ChameleonUltra, WebbleAdapter, WebserialAdapter } = window.ChameleonUltraJS\n</script>\n\n<!-- module -->\n<script type=\"module\">\n  import { Buffer, ChameleonUltra } from 'https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/+esm'\n  import WebbleAdapter from 'https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/plugin/WebbleAdapter/+esm'\n  import WebserialAdapter from 'https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/plugin/WebserialAdapter/+esm'\n</script>\n\n<!-- module + async import -->\n<script type=\"module\">\n  const { Buffer, ChameleonUltra } = await import('https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/+esm')\n  const { default: WebbleAdapter } = await import('https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/plugin/WebbleAdapter/+esm')\n  const { default: WebserialAdapter } = await import('https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/plugin/WebserialAdapter/+esm')\n</script>\n```\n\nAfter importing the SDK, you need to register exactly one adapter to the `ChameleonUltra` instance:\n\n```js\nconst ultraUsb = new ChameleonUltra()\nultraUsb.use(new WebserialAdapter())\nconst ultraBle = new ChameleonUltra()\nultraBle.use(new WebbleAdapter())\n```\n\n## Getting Started\n\n### Slot Enable and Emulate Mifare 1K\n\n```js\nasync function run (ultra) {\n  const { Buffer, DeviceMode, FreqType, Slot, TagType } = await import('https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/+esm')\n  // set slot tag type and reset data\n  await ultra.cmdSlotChangeTagType(Slot.SLOT_8, TagType.MIFARE_1024)\n  await ultra.cmdSlotResetTagType(Slot.SLOT_8, TagType.MIFARE_1024)\n  // enable slot\n  await ultra.cmdSlotSetEnable(Slot.SLOT_8, FreqType.HF, true)\n  // set active slot\n  await ultra.cmdSlotSetActive(Slot.SLOT_8)\n  // set anti-collision and write emu block\n  await ultra.cmdHf14aSetAntiCollData({\n    uid: Buffer.from('11223344', 'hex'), \n    atqa: Buffer.from('0400', 'hex'), \n    sak: Buffer.from('08', 'hex'),\n  })\n  await ultra.cmdMf1EmuWriteBlock(0, Buffer.from('11223344440804000000000000000000', 'hex'))\n  // save slot settings\n  await ultra.cmdSlotSaveSettings()\n  // set device mode\n  await ultra.cmdChangeDeviceMode(DeviceMode.TAG)\n}\n\n// you can run in DevTools of https://taichunmin.idv.tw/chameleon-ultra.js/test.html\nawait run(vm.ultra)\n\n// or run with new ChaneleonUltra instance\nconst { ChameleonUltra } = await import('https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/+esm')\nconst { default: WebserialAdapter } = await import('https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/plugin/WebserialAdapter/+esm')\nconst ultraUsb = new ChameleonUltra()\nultraUsb.use(new WebserialAdapter())\nawait run(ultraUsb)\n```\n\n### Set new BLE Pairing Key and Enable BLE Pairing\n\n```js\nasync function run (ultra) {\n  await ultra.cmdBleSetPairingKey('654321')\n  await ultra.cmdBleDeleteAllBonds() // need to delete all bonds before change pairing mode\n  await ultra.cmdBleSetPairingMode(true)\n}\n\n// you can run in DevTools of https://taichunmin.idv.tw/chameleon-ultra.js/test.html\nawait run(vm.ultra)\n\n// or run with new ChaneleonUltra instance\nconst { ChameleonUltra } = await import('https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/+esm')\nconst { default: WebserialAdapter } = await import('https://cdn.jsdelivr.net/npm/chameleon-ultra.js@0/plugin/WebserialAdapter/+esm')\nconst ultraUsb = new ChameleonUltra()\nultraUsb.use(new WebserialAdapter())\nawait run(ultraUsb)\n```\n\n## Related links\n\n- [GitHub RfidResearchGroup/ChameleonUltra](https://github.com/RfidResearchGroup/ChameleonUltra)\n- [Chameleon Ultra Guide](https://chameleonultra.com/docs)\n- [Chameleon Ultra GUI Documentation](https://docs.chameleonultragui.dev/)\n\n## Star History\n\n<a href=\"https://www.star-history.com/#taichunmin/chameleon-ultra.js&type=timeline&legend=bottom-right\">\n <picture>\n   <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=taichunmin/chameleon-ultra.js&type=timeline&theme=dark&legend=bottom-right\" />\n   <source media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=taichunmin/chameleon-ultra.js&type=timeline&legend=bottom-right\" />\n   <img alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=taichunmin/chameleon-ultra.js&type=timeline&legend=bottom-right\" />\n </picture>\n</a>\n\n## Dependents (projects / website using chameleon-ultra.js)\n\n- [nfctool.cn](https://ultra.nfctool.cn/)\n- [Sil333033/autopwn](https://github.com/Sil333033/Chameleon-Ultra-javascript-autopwn)\n- [chameleon-ultra.cn](https://chameleon-ultra.cn/)\n- Sil's Website: `https://drosi.nl/cu` (link is broken!)\n- Tech Security Tools's Website: `https://chameleon-ultra.com/` (link is broken!)\n","readmeFilename":"README.md"}