From b74c68cf457165b763acd4514254bd35a464208c Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Sat, 29 Sep 2018 19:20:05 +0900
Subject: [PATCH] fix: Use system-font-families instead of font-manager because
it is not native module
---
.circleci/config.yml | 4 +-
package-lock.json | 235 +++++++------------------------------------
package.json | 8 +-
src/main/fonts.js | 13 +--
4 files changed, 48 insertions(+), 212 deletions(-)
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 1cf7585f..35c603e4 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -7,10 +7,10 @@ jobs:
steps:
- checkout
- run:
- name: python
+ name: git
command: |
apt-get update
- apt-get install -y python build-essential libfontconfig-dev
+ apt-get install -y git
- restore_cache:
name: Restoring cache - node_modules
keys:
diff --git a/package-lock.json b/package-lock.json
index c60e3c3c..f235892a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1973,7 +1973,6 @@
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz",
"integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=",
- "dev": true,
"requires": {
"babel-runtime": "^6.22.0",
"core-js": "^2.4.0",
@@ -1983,8 +1982,7 @@
"regenerator-runtime": {
"version": "0.10.5",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
- "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
- "dev": true
+ "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
}
}
},
@@ -3245,12 +3243,6 @@
"restore-cursor": "^2.0.0"
}
},
- "cli-spinners": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz",
- "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==",
- "dev": true
- },
"cli-width": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
@@ -4446,12 +4438,6 @@
"repeating": "^2.0.0"
}
},
- "detect-libc": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
- "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
- "dev": true
- },
"detect-node": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz",
@@ -5173,129 +5159,6 @@
"mime": "^2.3.1"
}
},
- "electron-rebuild": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-1.8.2.tgz",
- "integrity": "sha512-EeR4dgb6NN7ybxduUWMeeLhU/EuF+FzwFZJfMJXD0bx96K+ttAieCXOn9lTO5nA9Qn3hiS7pEpk8pZ9StpGgSg==",
- "dev": true,
- "requires": {
- "colors": "^1.2.0",
- "debug": "^2.6.3",
- "detect-libc": "^1.0.3",
- "fs-extra": "^3.0.1",
- "node-abi": "^2.0.0",
- "node-gyp": "^3.6.0",
- "ora": "^1.2.0",
- "rimraf": "^2.6.1",
- "spawn-rx": "^2.0.10",
- "yargs": "^7.0.2"
- },
- "dependencies": {
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true
- },
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
- }
- },
- "colors": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz",
- "integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==",
- "dev": true
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "fs-extra": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
- "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^3.0.0",
- "universalify": "^0.1.0"
- }
- },
- "jsonfile": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
- "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6"
- }
- },
- "os-locale": {
- "version": "1.4.0",
- "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "dev": true,
- "requires": {
- "lcid": "^1.0.0"
- }
- },
- "which-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
- "dev": true
- },
- "y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
- "dev": true
- },
- "yargs": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
- "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^1.4.0",
- "read-pkg-up": "^1.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^1.0.2",
- "which-module": "^1.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^5.0.0"
- }
- },
- "yargs-parser": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
- "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
- "dev": true,
- "requires": {
- "camelcase": "^3.0.0"
- }
- }
- }
- },
"electron-to-chromium": {
"version": "1.3.52",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.52.tgz",
@@ -6924,14 +6787,6 @@
"debug": "^3.1.0"
}
},
- "font-manager": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/font-manager/-/font-manager-0.3.0.tgz",
- "integrity": "sha512-6N3pzO+9kxE3yD9c4VN7reg5fqgFvjcUdxZmwauRzsExaeKRu0APfEi3DOISFakokybgKlZcLFQHawwc2TMpQQ==",
- "requires": {
- "nan": ">=2.10.0"
- }
- },
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -7140,12 +6995,14 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -7160,17 +7017,20 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
@@ -7287,7 +7147,8 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"ini": {
"version": "1.3.5",
@@ -7299,6 +7160,7 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -7313,6 +7175,7 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -7320,12 +7183,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
@@ -7344,6 +7209,7 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -7424,7 +7290,8 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"object-assign": {
"version": "4.1.1",
@@ -7436,6 +7303,7 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"wrappy": "1"
}
@@ -7557,6 +7425,7 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -11161,7 +11030,8 @@
"nan": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
- "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA=="
+ "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
+ "dev": true
},
"nanomatch": {
"version": "1.2.13",
@@ -11249,15 +11119,6 @@
"lower-case": "^1.1.1"
}
},
- "node-abi": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.4.4.tgz",
- "integrity": "sha512-DQ9Mo2mf/XectC+s6+grPPRQ1Z9gI3ZbrGv6nyXRkjwT3HrE0xvtvrfnH7YHYBLgC/KLadg+h3XHnhZw1sv88A==",
- "dev": true,
- "requires": {
- "semver": "^5.4.1"
- }
- },
"node-fetch": {
"version": "1.6.3",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz",
@@ -11885,18 +11746,6 @@
"wordwrap": "~1.0.0"
}
},
- "ora": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz",
- "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==",
- "dev": true,
- "requires": {
- "chalk": "^2.1.0",
- "cli-cursor": "^2.1.0",
- "cli-spinners": "^1.0.1",
- "log-symbols": "^2.1.0"
- }
- },
"original": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/original/-/original-1.0.1.tgz",
@@ -14941,28 +14790,6 @@
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
},
- "spawn-rx": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/spawn-rx/-/spawn-rx-2.0.12.tgz",
- "integrity": "sha512-gOPXiQQFQ9lTOLuys0iMn3jfxxv9c7zzwhbYLOEbQGvEShHVJ5sSR1oD3Daj88os7jKArDYT7rbOKdvNhe7iEg==",
- "dev": true,
- "requires": {
- "debug": "^2.5.1",
- "lodash.assign": "^4.2.0",
- "rxjs": "^5.1.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
"spdx-correct": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
@@ -16082,6 +15909,20 @@
"integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=",
"dev": true
},
+ "system-font-families": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/system-font-families/-/system-font-families-0.4.1.tgz",
+ "integrity": "sha512-XQK5qAYsbEI6SkCEwezRDsPV44T2G4NNQ/xcx7D/8XM3S+rqYlNxsGcLT7vO6vdT4hc/mlRef7S6+KGIetTwdg==",
+ "requires": {
+ "babel-polyfill": "^6.23.0"
+ },
+ "dependencies": {
+ "ttfinfo": {
+ "version": "git+https://github.com/rBurgett/ttfinfo.git#f00e43e2a6d4c8a12a677df20b7804492d50863c",
+ "from": "git+https://github.com/rBurgett/ttfinfo.git#f00e43e2a6d4c8a12a677df20b7804492d50863c"
+ }
+ }
+ },
"table": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
diff --git a/package.json b/package.json
index e5751b78..f103404c 100644
--- a/package.json
+++ b/package.json
@@ -38,9 +38,8 @@
"pack:renderer": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js",
"test": "npm run unit && npm run e2e",
"unit": "karma start test/unit/karma.conf.js",
- "postinstall": "npm run lint:fix && npm run electron-rebuild",
- "mocha": "BABEL_ENV=test mocha --require babel-register --recursive ./test/mocha/**/*.js",
- "electron-rebuild": "./node_modules/.bin/electron-rebuild"
+ "postinstall": "npm run lint:fix",
+ "mocha": "BABEL_ENV=test mocha --require babel-register --recursive ./test/mocha/**/*.js"
},
"build": {
"productName": "Whalebird",
@@ -105,7 +104,6 @@
"electron-window-state": "^4.1.1",
"element-ui": "^2.4.7",
"emojilib": "^2.3.0",
- "font-manager": "^0.3.0",
"hawk": "^7.0.7",
"hoek": "^5.0.3",
"i18next": "^11.5.0",
@@ -121,6 +119,7 @@
"rc": "^1.2.7",
"request": "^2.85.0",
"simplayer": "0.0.8",
+ "system-font-families": "^0.4.1",
"tunnel-agent": "^0.6.0",
"vue": "^2.3.3",
"vue-awesome": "^3.0.0",
@@ -155,7 +154,6 @@
"electron-debug": "^1.4.0",
"electron-devtools-installer": "^2.2.4",
"electron-packager": "^12.0.2",
- "electron-rebuild": "^1.8.2",
"eslint": "^5.2.0",
"eslint-config-standard": "^12.0.0-alpha.0",
"eslint-friendly-formatter": "^4.0.1",
diff --git a/src/main/fonts.js b/src/main/fonts.js
index a604bf43..03c977c6 100644
--- a/src/main/fonts.js
+++ b/src/main/fonts.js
@@ -1,14 +1,11 @@
-import fontManager from 'font-manager'
+import SystemFonts from 'system-font-families'
const fonts = () => {
- return new Promise((resolve, reject) => {
- fontManager.getAvailableFonts((fonts) => {
- const families = fonts.map(f => {
- return f.family
- })
- resolve(Array.from(new Set(families)).sort())
+ const systemFonts = new SystemFonts()
+ return systemFonts.getFonts()
+ .then(res => {
+ return Array.from(new Set(res)).sort()
})
- })
}
export default fonts