Tried using bindings module

Setup native module properly so that it can be shipped with the app
This commit is contained in:
Kylart 2019-11-06 16:53:31 +01:00
parent 52116817b9
commit 05e9d5b6e8
5 changed files with 42 additions and 10 deletions

View File

@ -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'))

17
bindings/package.json Normal file
View File

@ -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"
}

25
package-lock.json generated
View File

@ -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",

View File

@ -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",

View File

@ -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