diff --git a/.prettierignore b/.prettierignore
index beb4bd5..8ed31e8 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -6,3 +6,4 @@ glicons.scss
 images/icons/template/icons-contribution.hbs
 images/icons/template/mapping.json
 images/icons/template/styles.hbs
+src/emojis.generated.ts
diff --git a/scripts/generateEmojiShortcodeMap.mjs b/scripts/generateEmojiShortcodeMap.mjs
index 5a8342b..437d2d9 100644
--- a/scripts/generateEmojiShortcodeMap.mjs
+++ b/scripts/generateEmojiShortcodeMap.mjs
@@ -15,15 +15,13 @@ async function generate() {
 	const files = ['github.raw.json', 'emojibase.raw.json']; //, 'iamcal.raw.json', 'joypixels.raw.json'];
 
 	for (const file of files) {
-		await download(
-			`https://raw.githubusercontent.com/milesj/emojibase/master/packages/data/en/shortcodes/${file}`,
-			file,
-		);
-
 		/**
 		 * @type {Record<string, string | string[]>}}
 		 */
-		const data = JSON.parse(fs.readFileSync(path.join(process.cwd(), file), 'utf8'));
+		const data = await downloadToJSON(
+			`https://raw.githubusercontent.com/milesj/emojibase/master/packages/data/en/shortcodes/${file}`,
+		);
+
 		for (const [emojis, codes] of Object.entries(data)) {
 			const emoji = emojis
 				.split('-')
@@ -37,21 +35,19 @@ async function generate() {
 				shortcodeMap.set(code, emoji);
 			}
 		}
-
-		fs.unlink(file, () => {});
 	}
 
 	// 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/packages/gitmojis/src/gitmojis.json',
-		'gitmojis.json',
-	);
-
 	/**
 	 * @type {({ code: string; emoji: string })[]}
 	 */
-	const gitmojis = JSON.parse(fs.readFileSync(path.join(process.cwd(), 'gitmojis.json'), 'utf8')).gitmojis;
+	const gitmojis = (
+		await downloadToJSON(
+			'https://raw.githubusercontent.com/carloscuesta/gitmoji/master/packages/gitmojis/src/gitmojis.json',
+		)
+	).gitmojis;
+
 	for (const emoji of gitmojis) {
 		if (emoji.code.startsWith(':') && emoji.code.endsWith(':')) {
 			emoji.code = emoji.code.substring(1, emoji.code.length - 2);
@@ -64,8 +60,6 @@ async function generate() {
 		shortcodeMap.set(emoji.code, emoji.emoji);
 	}
 
-	fs.unlink('gitmojis.json', () => {});
-
 	// Sort the emojis for easier diff checking
 	const list = [...shortcodeMap.entries()];
 	list.sort();
@@ -76,21 +70,20 @@ async function generate() {
 	}, Object.create(null));
 
 	fs.writeFileSync(
-		path.join(process.cwd(), 'src/emojis.compressed.ts'),
+		path.join(process.cwd(), 'src/emojis.generated.ts'),
 		`export const emojis = '${LZString.compressToBase64(JSON.stringify(map))}';\n`,
 		'utf8',
 	);
 }
 
-function download(url, destination) {
+function downloadToJSON(url) {
 	return new Promise(resolve => {
-		const stream = fs.createWriteStream(destination);
 		https.get(url, rsp => {
-			rsp.pipe(stream);
-			stream.on('finish', () => {
-				stream.close();
-				resolve();
-			});
+			rsp.setEncoding('utf8');
+
+			let data = '';
+			rsp.on('data', chunk => (data += chunk));
+			rsp.on('end', () => resolve(JSON.parse(data)));
 		});
 	});
 }
diff --git a/src/emojis.compressed.ts b/src/emojis.generated.ts
similarity index 100%
rename from src/emojis.compressed.ts
rename to src/emojis.generated.ts
diff --git a/src/emojis.ts b/src/emojis.ts
index 766f3b8..fa40cc7 100644
--- a/src/emojis.ts
+++ b/src/emojis.ts
@@ -1,4 +1,4 @@
-import { emojis as compressed } from './emojis.compressed';
+import { emojis as compressed } from './emojis.generated';
 import { decompressFromBase64LZString } from './system/string';
 
 const emojiRegex = /:([-+_a-z0-9]+):/g;