From e88cec263543085679c223c5aa17dfad76b2db2a Mon Sep 17 00:00:00 2001 From: Nathan Kellenicki Date: Tue, 22 Dec 2020 17:35:48 -0800 Subject: [PATCH] Added buffer shim to webpack --- package-lock.json | 23 ++++++++++++++++++++--- package.json | 3 ++- src/webbleabstraction.ts | 2 +- webpack.config.js | 9 +++++++++ 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0bd7bf1..7a3973b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "node-poweredup", - "version": "6.7.0", + "version": "6.8.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -412,8 +412,7 @@ "base64-js": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "optional": true + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" }, "big.js": { "version": "5.2.2", @@ -501,6 +500,24 @@ "node-releases": "^1.1.67" } }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + }, + "dependencies": { + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + } + } + }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", diff --git a/package.json b/package.json index 4795cbb..43f59a8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-poweredup", - "version": "6.8.0", + "version": "6.8.1", "description": "A Javascript module to interface with LEGO Powered Up components.", "homepage": "https://github.com/nathankellenicki/node-poweredup/", "main": "dist/node/index-node.js", @@ -24,6 +24,7 @@ "@types/debug": "4.1.5", "@types/node": "^14.14.14", "@types/web-bluetooth": "0.0.9", + "buffer": "^6.0.3", "ink-docstrap": "^1.3.2", "jsdoc": "^3.6.6", "jsdoc-to-markdown": "^6.0.1", diff --git a/src/webbleabstraction.ts b/src/webbleabstraction.ts index 5afe811..62a7e6f 100644 --- a/src/webbleabstraction.ts +++ b/src/webbleabstraction.ts @@ -130,7 +130,7 @@ export class WebBLEDevice extends EventEmitter implements IBLEAbstraction { public writeToCharacteristic (uuid: string, data: Buffer) { - return this._queue = this._queue.then(() => this._characteristics[uuid].writeValue(data)); + return this._queue = this._queue.then(() => this._characteristics[uuid].writeValueWithoutResponse(data)); } diff --git a/webpack.config.js b/webpack.config.js index b76bafc..ea0358d 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,8 +1,14 @@ +const webpack = require('webpack'); const path = require("path"); module.exports = { entry: "./src/index-browser.ts", devtool: "source-map", + plugins: [ + new webpack.ProvidePlugin({ + Buffer: ['buffer', 'Buffer'], + }) + ], module: { rules: [ { @@ -17,6 +23,9 @@ module.exports = { "noble-mac": "noble-mac" }, resolve: { + alias: { + buffer: 'buffer' + }, extensions: [".ts", ".js"] }, output: {