buttplug 1.0.13 → 1.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi.d.ts +9 -4
  3. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi.js +2 -2
  4. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg.js +6 -630
  5. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg.wasm +0 -0
  6. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg.wasm.d.ts +6 -6
  7. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg_node.js +799 -0
  8. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg_web.js +788 -0
  9. package/dist/module/buttplug_ffi.d.ts +2 -1
  10. package/dist/module/buttplug_ffi.js +2747 -2105
  11. package/dist/module/client.d.ts +2 -2
  12. package/dist/module/client.js +13 -13
  13. package/dist/module/client.js.map +1 -1
  14. package/dist/module/connectors.d.ts +2 -2
  15. package/dist/module/connectors.js +19 -14
  16. package/dist/module/connectors.js.map +1 -1
  17. package/dist/module/device.d.ts +4 -3
  18. package/dist/module/device.js +15 -14
  19. package/dist/module/device.js.map +1 -1
  20. package/dist/module/errors.d.ts +1 -1
  21. package/dist/module/errors.js +1 -1
  22. package/dist/module/errors.js.map +1 -1
  23. package/dist/module/ffi.d.ts +19 -19
  24. package/dist/module/ffi.js +52 -47
  25. package/dist/module/ffi.js.map +1 -1
  26. package/dist/module/index.d.ts +8 -8
  27. package/dist/module/index.js +8 -6
  28. package/dist/module/index.js.map +1 -1
  29. package/dist/module/sorter.d.ts +1 -1
  30. package/dist/module/sorter.js +1 -1
  31. package/dist/module/sorter.js.map +1 -1
  32. package/dist/module/web_index.d.ts +1 -1
  33. package/dist/module/web_index.js +1 -1
  34. package/dist/module/web_index.js.map +1 -1
  35. package/dist/web/0.buttplug.js +663 -384
  36. package/dist/web/1.buttplug.min.js +1 -1
  37. package/dist/web/1.buttplug.min.js.map +1 -1
  38. package/dist/web/b0219b34bc18e1ad0240.module.wasm +0 -0
  39. package/dist/web/buttplug.js +825 -740
  40. package/dist/web/buttplug.min.js +8 -8
  41. package/dist/web/buttplug.min.js.map +1 -1
  42. package/dist/web/e5566a8b6a3fda978549.module.wasm +0 -0
  43. package/index.html +6 -10
  44. package/package.json +28 -17
  45. package/tsconfig.json +0 -1
  46. package/{webpack.base.js → webpack.base.cjs} +30 -6
  47. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi.js.map +0 -1
  48. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg.d.ts +0 -117
  49. package/dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg.js.map +0 -1
  50. package/dist/module/buttplug_ffi.js.map +0 -1
  51. package/dist/web/17a5dc1db11d74b795d7.module.wasm +0 -0
  52. package/dist/web/7cd0851698bfb0cd22ea.module.wasm +0 -0
package/index.html CHANGED
@@ -3,22 +3,18 @@
3
3
  <body>
4
4
  <button id="run" onclick="scan()">Run</button>
5
5
  <script lang="javascript"
6
- src="/dist/web/buttplug.min.js">
6
+ src="./dist/web/buttplug.min.js">
7
7
  </script>
8
8
  <script lang="javascript">
9
9
  let client;
10
- Buttplug.buttplugInit().then(async () => {
10
+ Buttplug.buttplugInit().then(() => {
11
11
  console.log("Library loaded")
12
12
  Buttplug.activateConsoleLogger("debug");
13
13
  client = new Buttplug.ButtplugClient("Test Client");
14
- // let connector = new Buttplug.ButtplugEmbeddedConnectorOptions();
15
- let connector = new Buttplug.ButtplugWebsocketConnectorOptions();
16
- connector.address = "ws://localhost:12345"
17
- // Now we connect. If anything goes wrong here, we'll throw, but outside of an
18
- // issue with arguments, embedded connections should never fail.
19
- await client.connect(connector);
20
- // Test and make sure calling init again doesn't freak out.
21
- await Buttplug.buttplugInit();
14
+ let connector = new Buttplug.ButtplugEmbeddedConnectorOptions();
15
+ // Now we connect. If anything goes wrong here, we'll throw, but outside of an
16
+ // issue with arguments, embedded connections should never fail.
17
+ client.connect(connector);
22
18
  });
23
19
 
24
20
  function scan() {
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "Nonpolynomial, LLC <kyle@nonpolynomial.com>"
5
5
  ],
6
6
  "description": "Buttplug WASM library for web applications (Node/Web). Does not work for native node at the moment.",
7
- "version": "1.0.13",
7
+ "version": "1.0.17",
8
8
  "license": "BSD-3-Clause",
9
9
  "homepage": "https://buttplug.io",
10
10
  "repository": {
@@ -15,35 +15,46 @@
15
15
  "url": "https://github.com/buttplugio/buttplug-rs-ffi/issues"
16
16
  },
17
17
  "scripts": {
18
- "dev": "webpack-dev-server --hot --config webpack.base.js --env development",
18
+ "dev": "webpack-dev-server --hot --config webpack.base.cjs --env development",
19
19
  "build:publish": "rimraf dist && yarn build:rust && yarn build:webpack && yarn build:webpack:production",
20
- "build:rust": "rimraf src/buttplug-rs-ffi && cd ../ffi && cross-env RUSTFLAGS=\"--cfg=web_sys_unstable_apis\" wasm-pack build -d../js/src/buttplug-rs-ffi --release -- --features wasm --no-default-features && cd ../js && rimraf src/buttplug-rs-ffi/.gitignore src/buttplug-rs-ffi/package.json src/buttplug-rs-ffi/README.md",
21
- "build:main": "tsc -p tsconfig.json && copyfiles -u 1 \"src/**/*.d.ts\" dist/module && copyfiles -u 1 \"src/**/*.wasm\" dist/module",
22
- "build:proto": "pbjs -t static-module -w commonjs -o src/buttplug_ffi.js ../protobuf_schemas/buttplug_rs_ffi.proto && pbjs -t static-module ../protobuf_schemas/buttplug_rs_ffi.proto | pbts -o src/buttplug_ffi.d.ts -",
23
- "build:webpack": "yarn build:main && webpack --progress --config webpack.base.js --env development",
24
- "build:webpack:production": "webpack --progress --config webpack.base.js --env production"
20
+ "build:rust": "rimraf src/buttplug-rs-ffi && cd ../ffi && cross-env RUSTFLAGS=\"--cfg=web_sys_unstable_apis\" wasm-pack build -d../js/src/buttplug-rs-ffi --release -- --features wasm --no-default-features && cd ../js && node scripts/modularize.cjs wasm-pack && rimraf src/buttplug-rs-ffi/.gitignore src/buttplug-rs-ffi/package.json src/buttplug-rs-ffi/README.md",
21
+ "build:main": "tsc -p tsconfig.json && copyfiles -u 1 \"src/**/*.js\" dist/module && copyfiles -u 1 \"src/**/*.d.ts\" dist/module && copyfiles -u 1 \"src/**/*.wasm\" dist/module",
22
+ "build:proto": "pbjs -t static-module -w es6 -o src/buttplug_ffi.js ../protobuf_schemas/buttplug_rs_ffi.proto && node scripts/modularize.cjs pbjs && pbjs -t static-module ../protobuf_schemas/buttplug_rs_ffi.proto | pbts -o src/buttplug_ffi.d.ts -",
23
+ "build:webpack": "yarn build:main && webpack --progress --config webpack.base.cjs --env development",
24
+ "build:webpack:production": "webpack --progress --config webpack.base.cjs --env production"
25
25
  },
26
26
  "sideEffects": "false",
27
+ "type": "module",
27
28
  "main": "./dist/module/index.js",
29
+ "exports": {
30
+ "node": "./dist/module/index.js",
31
+ "browser": "./dist/web/buttplug.min.js"
32
+ },
33
+ "imports": {
34
+ "#buttplug_rs_ffi_bg": {
35
+ "node": "./dist/module/buttplug-rs-ffi/buttplug_rs_ffi_bg_node.js"
36
+ }
37
+ },
28
38
  "types": "./dist/module/index.d.ts",
29
39
  "dependencies": {
30
- "protobufjs": "^6.10.2"
40
+ "protobufjs": "^6.11.2",
41
+ "websocket": "^1.0.34"
31
42
  },
32
43
  "devDependencies": {
33
44
  "copyfiles": "^2.4.1",
34
45
  "cross-env": "^7.0.3",
35
- "fork-ts-checker-webpack-plugin": "^6.1.0",
36
- "html-loader": "^1.3.2",
46
+ "fork-ts-checker-webpack-plugin": "^6.5.0",
47
+ "html-loader": "^3.0.1",
37
48
  "rimraf": "^3.0.2",
38
- "ts-loader": "^8.0.17",
39
- "ts-node": "^9.1.1",
40
- "ts-proto": "^1.55.0",
41
- "typescript": "^4.1.5",
42
- "uglify-js": "^3.12.7",
49
+ "ts-loader": "^9",
50
+ "ts-node": "^10.4.0",
51
+ "ts-proto": "^1.93.1",
52
+ "typescript": "^4.5.2",
53
+ "uglify-js": "^3.14.4",
43
54
  "webpack": "^4",
44
55
  "webpack-cli": "^3",
45
56
  "webpack-dev-server": "^3.11.2",
46
- "webpack-merge": "^5.7.3",
47
- "yarn": "^1.22.10"
57
+ "webpack-merge": "^5.8.0",
58
+ "yarn": "^1.22.17"
48
59
  }
49
60
  }
package/tsconfig.json CHANGED
@@ -13,7 +13,6 @@
13
13
  "declaration": true,
14
14
  "outDir": "./dist/module",
15
15
  "esModuleInterop": true,
16
- "allowJs": true
17
16
  },
18
17
  "include": [
19
18
  "./src/**/*",
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
  var path = require('path');
3
+ var fs = require('fs');
3
4
  var webpack = require('webpack');
4
5
  const { merge } = require('webpack-merge');
5
6
 
@@ -26,6 +27,9 @@ const base = {
26
27
  commonjs: "buttplug-commonjs"
27
28
  }
28
29
  },
30
+ externals: {
31
+ websocket: 'commonjs websocket'
32
+ },
29
33
  module: {
30
34
  rules: [
31
35
  {
@@ -52,18 +56,38 @@ const base = {
52
56
  },
53
57
  devtool: 'inline-source-map',
54
58
  plugins: [
55
- new webpack.NamedModulesPlugin()
56
- ],
57
- node: {
58
- fs: 'empty'
59
- }
59
+ // ES Module imports require file extensions, but Webpack 4.x/ts-loader doesn't understand
60
+ // how to handle that. Instead, we rewrite those imports to use a '.ts' extension instead,
61
+ // if one exists.
62
+ new webpack.NormalModuleReplacementPlugin(/\.js$/, resource => {
63
+ if (resource.request.startsWith("./") && resource.request.endsWith(".js")) {
64
+ if (fs.existsSync(path.join(resource.context, resource.request.slice(0, -3) + ".ts"))) {
65
+ resource.request = resource.request.slice(0, -3) + ".ts";
66
+ return;
67
+ }
68
+ }
69
+ }),
70
+
71
+ // Webpack 4.x/ts-loader doesn't understand NodeJS import maps, which we use to
72
+ // redirect the wasm->js interop script into different variations based on whether
73
+ // we are running in NodeJS or in the browser. The following rewrites the import
74
+ // mapping for '#buttplug_rs_ffi_bg' to point to the webpack-compatible version.
75
+ new webpack.NormalModuleReplacementPlugin(/^#/, resource => {
76
+ if (resource.request === "#buttplug_rs_ffi_bg") {
77
+ resource.request = path.join(__dirname, "src/buttplug-rs-ffi/buttplug_rs_ffi_bg_web.js");
78
+ }
79
+ }),
80
+ ]
60
81
  };
61
82
 
62
- const production = {
83
+ const production = {
63
84
  mode: "production",
64
85
  output: {
65
86
  filename: `buttplug.min.js`
66
87
  },
88
+ externals: {
89
+ websocket: 'commonjs websocket'
90
+ },
67
91
  optimization: {
68
92
  minimize: true,
69
93
  mangleWasmImports: false
@@ -1 +0,0 @@
1
- {"version":3,"file":"buttplug_rs_ffi.js","sourceRoot":"","sources":["../../../src/buttplug-rs-ffi/buttplug_rs_ffi.js"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC"}
@@ -1,117 +0,0 @@
1
- /**
2
- * @param {Function} callback
3
- * @param {string} client_name
4
- * @returns {number}
5
- */
6
- export function buttplug_create_client(callback: Function, client_name: string): number;
7
- /**
8
- * @param {number} ptr
9
- */
10
- export function buttplug_free_client(ptr: number): void;
11
- /**
12
- * @param {number} client_ptr
13
- * @param {Uint8Array} buf
14
- */
15
- export function buttplug_parse_client_message(client_ptr: number, buf: Uint8Array): void;
16
- /**
17
- * @param {number} client_ptr
18
- * @param {number} device_index
19
- * @returns {number}
20
- */
21
- export function buttplug_create_device(client_ptr: number, device_index: number): number;
22
- /**
23
- * @param {number} device_ptr
24
- * @param {Uint8Array} buf
25
- */
26
- export function buttplug_parse_device_message(device_ptr: number, buf: Uint8Array): void;
27
- /**
28
- * @param {number} ptr
29
- */
30
- export function buttplug_free_device(ptr: number): void;
31
- /**
32
- * @param {string} max_level
33
- */
34
- export function buttplug_activate_env_logger(max_level: string): void;
35
- export function __wbindgen_object_drop_ref(arg0: any): void;
36
- export function __wbindgen_object_clone_ref(arg0: any): number;
37
- export function __wbg_log_e6bbcfdff8337573(arg0: any, arg1: any): void;
38
- export function __wbindgen_string_new(arg0: any, arg1: any): number;
39
- export function __wbindgen_cb_drop(arg0: any): boolean;
40
- export function __wbg_new_59cb74e423758ede(): number;
41
- export function __wbg_stack_558ba5917b466edd(arg0: any, arg1: any): void;
42
- export function __wbg_error_4bb6c2a97407129a(arg0: any, arg1: any): void;
43
- export function __wbg_log_b7dcb3facc73166d(arg0: any, arg1: any): void;
44
- export function __wbg_log_96295d68ab8338df(arg0: any, arg1: any, arg2: any, arg3: any, arg4: any, arg5: any, arg6: any, arg7: any): void;
45
- export function __wbg_mark_55c5ecfe509deb6a(arg0: any, arg1: any): void;
46
- export function __wbg_measure_608563106d70d48a(arg0: any, arg1: any, arg2: any, arg3: any): void;
47
- export function __wbg_Window_f826a1dec163bacb(arg0: any): number;
48
- export function __wbindgen_is_undefined(arg0: any): boolean;
49
- export function __wbg_WorkerGlobalScope_967d186155183d38(arg0: any): number;
50
- export function __wbg_instanceof_Window_5993230e7331f098(arg0: any): boolean;
51
- export function __wbg_navigator_da501e0baab77d64(arg0: any): number;
52
- export function __wbg_clearTimeout_4fe71f721d0606af(arg0: any, arg1: any): void;
53
- export function __wbg_setTimeout_d75246e77e993c5d(...args: any[]): any;
54
- export function __wbg_getCharacteristic_c7f9dcc72f7a86f6(arg0: any, arg1: any, arg2: any): number;
55
- export function __wbg_value_ce5e4fe742d36a1c(arg0: any): number;
56
- export function __wbg_setoncharacteristicvaluechanged_ece60eda828cb0ef(arg0: any, arg1: any): void;
57
- export function __wbg_readValue_988440034a0e12ce(arg0: any): number;
58
- export function __wbg_startNotifications_c88eeb920d1eb45c(arg0: any): number;
59
- export function __wbg_writeValue_1c451e0da8c56ca9(arg0: any, arg1: any, arg2: any): number;
60
- export function __wbg_target_90b16facc122062f(arg0: any): number;
61
- export function __wbg_requestDevice_2d1b71cc28a67a5a(arg0: any, arg1: any): number;
62
- export function __wbg_id_45ecf3258c9f7dd7(arg0: any, arg1: any): void;
63
- export function __wbg_name_fe9ee17e821ecea5(arg0: any, arg1: any): void;
64
- export function __wbg_gatt_99df2e5380097484(arg0: any): number;
65
- export function __wbg_setongattserverdisconnected_80e78a9d86abdf7b(arg0: any, arg1: any): void;
66
- export function __wbg_clearTimeout_af54ac34efe00770(arg0: any, arg1: any): void;
67
- export function __wbg_setTimeout_c5be4c054c4d7da5(...args: any[]): any;
68
- export function __wbg_bluetooth_18ee05df03af2352(arg0: any): number;
69
- export function __wbg_setonopen_c3975a4f895a052a(arg0: any, arg1: any): void;
70
- export function __wbg_setonerror_add0a293158012fc(arg0: any, arg1: any): void;
71
- export function __wbg_setonmessage_0d42c79be06de84f(arg0: any, arg1: any): void;
72
- export function __wbg_new_fd9f3bfb89d96362(...args: any[]): any;
73
- export function __wbg_close_3797d4fae932c9b9(...args: any[]): any;
74
- export function __wbg_send_ca85b0e6799803ef(...args: any[]): any;
75
- export function __wbg_connect_d31afa0760e2294e(arg0: any): number;
76
- export function __wbg_getPrimaryService_903e198e60097b4a(arg0: any, arg1: any, arg2: any): number;
77
- export function __wbg_data_437e74b835241e70(arg0: any): number;
78
- export function __wbg_call_e5847d15cc228e4f(...args: any[]): any;
79
- export function __wbg_new_7c995f2adeba6fb5(): number;
80
- export function __wbg_push_3f7c76b58919ce0d(arg0: any, arg1: any): any;
81
- export function __wbg_buffer_32296c67828fee6c(arg0: any): number;
82
- export function __wbg_byteLength_da948e1afd83c8f8(arg0: any): any;
83
- export function __wbg_newnoargs_2349ba6aefe72376(arg0: any, arg1: any): number;
84
- export function __wbg_call_d63edb857edf16f6(...args: any[]): any;
85
- export function __wbg_new_59986c8731bebaa1(): number;
86
- export function __wbg_resolve_e0690143406c88cb(arg0: any): number;
87
- export function __wbg_then_9caf23122e4fd5d3(arg0: any, arg1: any): number;
88
- export function __wbg_then_16663faf60ffbe95(arg0: any, arg1: any, arg2: any): number;
89
- export function __wbg_self_35a0fda3eb965abe(...args: any[]): any;
90
- export function __wbg_window_88a6f88dd3a474f1(...args: any[]): any;
91
- export function __wbg_globalThis_1d843c4ad7b6a1f5(...args: any[]): any;
92
- export function __wbg_global_294ce70448e8fbbf(...args: any[]): any;
93
- export function __wbg_buffer_0be9fb426f2dd82b(arg0: any): number;
94
- export function __wbg_newwithbyteoffsetandlength_85b7ce82b001ea08(arg0: any, arg1: any, arg2: any): number;
95
- export function __wbg_length_3a5138f465b971ad(arg0: any): any;
96
- export function __wbg_new_4e8d18dbf9cd5240(arg0: any): number;
97
- export function __wbg_set_4769de301eb521d7(arg0: any, arg1: any, arg2: any): void;
98
- export function __wbg_newwithbyteoffset_0a6b0ce9d45270c3(arg0: any, arg1: any): number;
99
- export function __wbg_set_7e15d36563072b19(...args: any[]): any;
100
- export function __wbg_getRandomValues_11115a852729f4e8(...args: any[]): any;
101
- export function __wbg_randomFillSync_a2d002fc3b8e30f7(...args: any[]): any;
102
- export function __wbg_self_a5f0fe5564782787(...args: any[]): any;
103
- export function __wbg_static_accessor_MODULE_7f278c5446c126c8(): number;
104
- export function __wbg_require_29e58b5f6f133563(...args: any[]): any;
105
- export function __wbg_crypto_d91429ea1a087f70(arg0: any): number;
106
- export function __wbg_msCrypto_c8be2bb4fc7d8cd3(arg0: any): number;
107
- export function __wbindgen_is_string(arg0: any): boolean;
108
- export function __wbindgen_string_get(arg0: any, arg1: any): void;
109
- export function __wbindgen_debug_string(arg0: any, arg1: any): void;
110
- export function __wbindgen_throw(arg0: any, arg1: any): never;
111
- export function __wbindgen_memory(): number;
112
- export function __wbindgen_closure_wrapper677(arg0: any, arg1: any, arg2: any): number;
113
- export function __wbindgen_closure_wrapper679(arg0: any, arg1: any, arg2: any): number;
114
- export function __wbindgen_closure_wrapper681(arg0: any, arg1: any, arg2: any): number;
115
- export function __wbindgen_closure_wrapper683(arg0: any, arg1: any, arg2: any): number;
116
- export function __wbindgen_closure_wrapper2493(arg0: any, arg1: any, arg2: any): number;
117
- export function __wbindgen_closure_wrapper4268(arg0: any, arg1: any, arg2: any): number;
@@ -1 +0,0 @@
1
- {"version":3,"file":"buttplug_rs_ffi_bg.js","sourceRoot":"","sources":["../../../src/buttplug-rs-ffi/buttplug_rs_ffi_bg.js"],"names":[],"mappings":"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"}