Skip to content
This repository was archived by the owner on May 17, 2021. It is now read-only.

Commit 0c60448

Browse files
authored
chore: tweak font donwload script (#149)
1 parent 19c3196 commit 0c60448

File tree

2 files changed

+46
-33
lines changed

2 files changed

+46
-33
lines changed

.npmignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@ test/
1313
.storybook/
1414
lib/index.html
1515
lib/index.js.map
16+
17+
scripts/**/*
18+
!scripts/download-akzidenz.js

scripts/download-akzidenz.js

Lines changed: 43 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,51 +2,54 @@
22
const path = require('path');
33
const https = require('https');
44
const fs = require('fs');
5+
const stream = require('stream');
6+
const util = require('util');
7+
const pipeline = util.promisify(stream.pipeline);
8+
const fsAccess = util.promisify(fs.access);
59

610
const download = (url, destDir) => {
711
const destFileName = path.join(destDir, path.basename(url));
812
const destFile = fs.createWriteStream(destFileName);
913
console.log('Downloading', url, 'to', path.relative(process.cwd(), destFileName));
1014

11-
return new Promise((resolve, reject) => {
15+
return new Promise((resolve) => {
1216
https.get(url, (response) => {
13-
response.pipe(destFile)
14-
.once('error', reject)
15-
.on('finish', resolve);
17+
resolve(pipeline(response, destFile));
1618
});
1719
});
1820
};
1921

22+
const AKZIDENZ_CDN_BASE_URL = 'https://d2va9gm4j17fy9.cloudfront.net/fonts/';
2023
const AKZIDENZ_CDN_URLS = [
21-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdita.eot',
22-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdita.svg',
23-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdita.ttf',
24-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdita.woff',
25-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdlig.eot',
26-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdlig.svg',
27-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdlig.ttf',
28-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdlig.woff',
29-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdligcnd.eot',
30-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdligcnd.svg',
31-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdligcnd.ttf',
32-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdligcnd.woff',
33-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdligita.eot',
34-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdligita.svg',
35-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdligita.ttf',
36-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdligita.woff',
37-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdmed.eot',
38-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdmed.svg',
39-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdmed.ttf',
40-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdmed.woff',
41-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdmedita.eot',
42-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdmedita.svg',
43-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdmedita.ttf',
44-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdmedita.woff',
45-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdreg.eot',
46-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdreg.svg',
47-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdreg.ttf',
48-
'https://d2va9gm4j17fy9.cloudfront.net/fonts/akzidgrostdreg.woff'
49-
];
24+
'akzidgrostdita.eot',
25+
'akzidgrostdita.svg',
26+
'akzidgrostdita.ttf',
27+
'akzidgrostdita.woff',
28+
'akzidgrostdlig.eot',
29+
'akzidgrostdlig.svg',
30+
'akzidgrostdlig.ttf',
31+
'akzidgrostdlig.woff',
32+
'akzidgrostdligcnd.eot',
33+
'akzidgrostdligcnd.svg',
34+
'akzidgrostdligcnd.ttf',
35+
'akzidgrostdligcnd.woff',
36+
'akzidgrostdligita.eot',
37+
'akzidgrostdligita.svg',
38+
'akzidgrostdligita.ttf',
39+
'akzidgrostdligita.woff',
40+
'akzidgrostdmed.eot',
41+
'akzidgrostdmed.svg',
42+
'akzidgrostdmed.ttf',
43+
'akzidgrostdmed.woff',
44+
'akzidgrostdmedita.eot',
45+
'akzidgrostdmedita.svg',
46+
'akzidgrostdmedita.ttf',
47+
'akzidgrostdmedita.woff',
48+
'akzidgrostdreg.eot',
49+
'akzidgrostdreg.svg',
50+
'akzidgrostdreg.ttf',
51+
'akzidgrostdreg.woff'
52+
].map((filename) => `${AKZIDENZ_CDN_BASE_URL}${filename}`);
5053

5154
const FONTS_DIRECTORY = path.resolve(
5255
__dirname,
@@ -57,6 +60,13 @@ const FONTS_DIRECTORY = path.resolve(
5760
);
5861

5962
(async() => {
63+
try {
64+
await fsAccess(FONTS_DIRECTORY);
65+
} catch (err) {
66+
// We only want to install the fonts when we are in a project which is.
67+
return;
68+
}
69+
6070
await Promise.all(
6171
AKZIDENZ_CDN_URLS.map(url => download(url, FONTS_DIRECTORY))
6272
);

0 commit comments

Comments
 (0)