Kaynağa Gözat

Adds gitmojis & better automates emoji build

main
Eric Amodio 6 yıl önce
ebeveyn
işleme
3d620107ec
3 değiştirilmiş dosya ile 51 ekleme ve 6 silme
  1. +1
    -1
      emoji/emojis.json
  2. +49
    -5
      emoji/shortcodeToEmoji.js
  3. +1
    -0
      package.json

+ 1
- 1
emoji/emojis.json
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle


+ 49
- 5
emoji/shortcodeToEmoji.js Dosyayı Görüntüle

@ -1,13 +1,15 @@
const fs = require('fs');
const https = require('https');
const path = require('path');
// Get emoji data from https://github.com/milesj/emojibase
// https://github.com/milesj/emojibase/blob/master/packages/data/en/data.json
async function generate() {
let map = Object.create(null);
function generate() {
const map = Object.create(null);
// Get emoji data from https://github.com/milesj/emojibase
// https://github.com/milesj/emojibase/blob/master/packages/data/en/raw.json
await download('https://raw.githubusercontent.com/milesj/emojibase/master/packages/data/en/raw.json', 'raw.json');
const emojis = require(path.join(process.cwd(), 'data.json'));
const emojis = require(path.join(process.cwd(), 'raw.json'));
for (const emoji of emojis) {
if (emoji.shortcodes == null || emoji.shortcodes.length === 0) continue;
@ -19,7 +21,49 @@ function generate() {
}
}
fs.unlink('raw.json', () => {});
// Get gitmoji data from https://github.com/carloscuesta/gitmoji
// https://github.com/carloscuesta/gitmoji/blob/master/src/data/gitmojis.json
await download(
'https://raw.githubusercontent.com/carloscuesta/gitmoji/master/src/data/gitmojis.json',
'gitmojis.json'
);
const gitmojis = require(path.join(process.cwd(), 'gitmojis.json')).gitmojis;
for (const emoji of gitmojis) {
if (map[emoji.code] !== undefined) {
console.warn(emoji.code);
continue;
}
map[emoji.code] = emoji.emoji;
}
fs.unlink('gitmojis.json', () => {});
// Sort the emojis for easier diff checking
const list = Object.entries(map);
list.sort();
map = list.reduce((m, [key, value]) => {
m[key] = value;
return m;
}, Object.create(null));
fs.writeFileSync(path.join(process.cwd(), 'emojis.json'), JSON.stringify(map), 'utf8');
}
function download(url, destination) {
return new Promise((resolve, reject) => {
const stream = fs.createWriteStream(destination);
https.get(url, rsp => {
rsp.pipe(stream);
stream.on('finish', () => {
stream.close();
resolve();
});
});
});
}
generate();

+ 1
- 0
package.json Dosyayı Görüntüle

@ -3654,6 +3654,7 @@
"watch": "webpack --watch --env.development",
"ui:optimize": "webpack --config-name ui --env.optimizeImages",
"ui:watch": "webpack --watch --config-name ui --env.development",
"update:emoji": "pushd emoji && node ./shortcodeToEmoji.js && popd",
"postinstall": "node ./node_modules/vscode/bin/install",
"vscode:prepublish": "npm run reset && npm run bundle"
},

Yükleniyor…
İptal
Kaydet