From b55317bfb7beecd8cbe8199a47950332467707fd Mon Sep 17 00:00:00 2001
From: AkiraFukushima
Date: Tue, 25 Sep 2018 08:54:23 +0900
Subject: [PATCH] refs #579 Add font-manager and rebuild electron for
font-manager
---
package-lock.json | 189 +++++++++++++++++++++++++++++++++++++++++++++-
package.json | 7 +-
src/main/index.js | 5 ++
3 files changed, 197 insertions(+), 4 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 73fc5d4730..812e344227 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -3245,6 +3245,12 @@
"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",
@@ -4440,6 +4446,12 @@
"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",
@@ -5161,6 +5173,129 @@
"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",
@@ -6789,6 +6924,14 @@
"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",
@@ -11018,8 +11161,7 @@
"nan": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
- "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
- "dev": true
+ "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA=="
},
"nanomatch": {
"version": "1.2.13",
@@ -11107,6 +11249,15 @@
"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",
@@ -11734,6 +11885,18 @@
"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",
@@ -14778,6 +14941,28 @@
"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",
diff --git a/package.json b/package.json
index 40ea5aa255..b30324638a 100644
--- a/package.json
+++ b/package.json
@@ -38,8 +38,9 @@
"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",
- "mocha": "BABEL_ENV=test mocha --require babel-register --recursive ./test/mocha/**/*.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"
},
"build": {
"productName": "Whalebird",
@@ -104,6 +105,7 @@
"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",
@@ -153,6 +155,7 @@
"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/index.js b/src/main/index.js
index c02ce8d12e..5efa74b34c 100644
--- a/src/main/index.js
+++ b/src/main/index.js
@@ -10,6 +10,7 @@ import path from 'path'
import ContextMenu from 'electron-context-menu'
import * as Splashscreen from '@trodi/electron-splashscreen'
import openAboutWindow from 'about-window'
+import fontManager from 'font-manager'
import Authentication from './auth'
import Account from './account'
@@ -19,6 +20,10 @@ import Hashtags from './hashtags'
import i18n from '../config/i18n'
import Language from '../constants/language'
+fontManager.getAvailableFonts(function (fonts) {
+ console.log(fonts)
+})
+
/**
* Context menu
*/