fix(windows): fix starting under some path'es

This commit is contained in:
Alexey Kasyanchuk
2018-09-23 00:56:45 +03:00
parent 1f421b9d55
commit ed67c4a95c
3 changed files with 19 additions and 2 deletions

7
package-lock.json generated
View File

@ -6163,6 +6163,11 @@
"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
"optional": true
},
"detect-onebyte-encoding": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/detect-onebyte-encoding/-/detect-onebyte-encoding-1.0.2.tgz",
"integrity": "sha512-JmhHYhr7w6GlklJTzws0QCfsX71s57q1zkQHQ8sOJmMdtZ5W+5Mwsw8wKGicfR79cZxMXO+0sqQagwRTxRFdIw=="
},
"dev-null": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dev-null/-/dev-null-0.1.1.tgz",
@ -6783,7 +6788,7 @@
},
"minimist": {
"version": "1.2.0",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},

View File

@ -117,6 +117,7 @@
"cheerio": "^1.0.0-rc.2",
"compare-versions": "^3.1.0",
"debug": "^3.1.0",
"detect-onebyte-encoding": "^1.0.2",
"electron-context-menu": "^0.9.1",
"electron-log": "^2.2.14",
"electron-updater": "^2.21.10",

View File

@ -12,6 +12,7 @@ const findFiles = require('./findFiles')
const _ = require('lodash')
const isRunning = require('is-running')
const portCheck = require('./portCheck')
const detectOnebyteEncoding = require('detect-onebyte-encoding')
const findGoodPort = async (port, host) => {
while (!(await portCheck(port, host))) {
@ -150,8 +151,18 @@ const writeSphinxConfig = async (path, dbPath) => {
isInitDb = true
}
// fix db path under windows platform (one-byte path)
if(/^win/.test(process.platform))
config = iconv.encode(config, 'win1251')
{
let encoding = detectOnebyteEncoding(dbPath)
let encoding2 = detectOnebyteEncoding(path)
if(encoding != encoding2)
{
encoding = detectOnebyteEncoding(config)
}
config = iconv.encode(config, encoding)
logT('sphinx', 'config encoded to', encoding)
}
fs.writeFileSync(`${path}/sphinx.conf`, config)
logT('sphinx', `writed sphinx config to ${path}`)