From 05e9d5b6e8eb13474441cdc42c825b07d88395e2 Mon Sep 17 00:00:00 2001 From: Kylart Date: Wed, 6 Nov 2019 16:53:31 +0100 Subject: [PATCH] Tried using bindings module Setup native module properly so that it can be shipped with the app --- bindings/example.js | 2 +- bindings/package.json | 17 +++++++++++++++++ package-lock.json | 25 +++++++++++++++++++------ package.json | 3 ++- vue.config.js | 5 +++-- 5 files changed, 42 insertions(+), 10 deletions(-) create mode 100644 bindings/package.json diff --git a/bindings/example.js b/bindings/example.js index 416a01b..afea0ea 100644 --- a/bindings/example.js +++ b/bindings/example.js @@ -1,4 +1,4 @@ -const { parseName, torrent } = require('./build/Release/kawabinds') +const { parseName, torrent } = require('bindings')('kawabinds.node') console.log(torrent) console.log(parseName('[Ouroboros]_Fullmetal_Alchemist_Brotherhood_-_01.mkv')) diff --git a/bindings/package.json b/bindings/package.json new file mode 100644 index 0000000..fcf7985 --- /dev/null +++ b/bindings/package.json @@ -0,0 +1,17 @@ +{ + "name": "kawabinds", + "version": "0.1.0", + "description": "KawAnime's native bindings", + "main": "index.js", + "directories": { + "lib": "lib" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": { + "name": "Kylart", + "email": "Kylart.dev@gmail.com" + }, + "license": "MIT" +} diff --git a/package-lock.json b/package-lock.json index 971c6f3..0f32ef2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3274,6 +3274,14 @@ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "bitfield": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bitfield/-/bitfield-0.1.0.tgz", @@ -8019,6 +8027,11 @@ } } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", @@ -12738,6 +12751,12 @@ "to-regex": "^3.0.1" } }, + "native-ext-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/native-ext-loader/-/native-ext-loader-2.3.0.tgz", + "integrity": "sha512-awBQEfD25+YLi1voefLbjHiUt0yfm3Z4mBOLqbzFVR8ZOVv0MebeN9fhNiY0fxVEFiyBYtr/hF2VWfuMSCfFlw==", + "dev": true + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -12881,12 +12900,6 @@ } } }, - "node-loader": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/node-loader/-/node-loader-0.6.0.tgz", - "integrity": "sha1-x5fvUQle1YWZArFX9jhPY2HgWug=", - "dev": true - }, "node-releases": { "version": "1.1.28", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.28.tgz", diff --git a/package.json b/package.json index 53d4364..c9a0201 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "test": "cross-env IS_TEST=true mocha --reporter mochawesome" }, "dependencies": { + "bindings": "^1.5.0", "buttercup": "^2.15.4", "chalk": "^2.4.2", "electron-updater": "^4.1.2", @@ -72,7 +73,7 @@ "material-design-icons-iconfont": "^5.0.1", "mocha": "^6.2.0", "mochawesome": "^4.1.0", - "node-loader": "^0.6.0", + "native-ext-loader": "^2.3.0", "pug": "^2.0.4", "pug-plain-loader": "^1.0.0", "roboto-fontface": "^0.10.0", diff --git a/vue.config.js b/vue.config.js index e82fc3c..3bda664 100644 --- a/vue.config.js +++ b/vue.config.js @@ -37,6 +37,7 @@ module.exports = { }, pluginOptions: { electronBuilder: { + externals: ['kawabinds'], builderOptions: { appId: 'KawAnime', productName: 'KawAnime', @@ -80,8 +81,8 @@ module.exports = { .module .rule('node') .test(/\.node$/) - .use('node-loader') - .loader('node-loader') + .use('native-ext-loader') + .loader('native-ext-loader') .end() config