Skip to content

Commit 9034cc4

Browse files
authored
Merge pull request #162 from electron/malept/refactor/filenamify
refactor(Cache): replace sanitize-filename with filenamify
2 parents 8e287c2 + 68b879c commit 9034cc4

File tree

4 files changed

+32
-30
lines changed

4 files changed

+32
-30
lines changed

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
"dependencies": {
2727
"debug": "^4.1.1",
2828
"env-paths": "^2.2.0",
29+
"filenamify": "^4.1.0",
2930
"fs-extra": "^8.1.0",
3031
"got": "^9.6.0",
3132
"progress": "^2.0.3",
32-
"sanitize-filename": "^1.6.2",
3333
"sumchecker": "^3.0.1"
3434
},
3535
"devDependencies": {
@@ -40,7 +40,6 @@
4040
"@types/jest": "^24.0.13",
4141
"@types/node": "^12.0.2",
4242
"@types/progress": "^2.0.3",
43-
"@types/sanitize-filename": "^1.1.28",
4443
"husky": "^2.3.0",
4544
"jest": "^24.8.0",
4645
"lint-staged": "^8.1.7",

src/Cache.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import debug from 'debug';
22
import envPaths from 'env-paths';
3+
import * as filenamify from 'filenamify';
34
import * as fs from 'fs-extra';
45
import * as path from 'path';
56
import * as url from 'url';
6-
import * as sanitize from 'sanitize-filename';
77

88
const d = debug('@electron/get:cache');
99

@@ -18,7 +18,7 @@ export class Cache {
1818
const { search, hash, ...rest } = url.parse(downloadUrl);
1919
const strippedUrl = url.format(rest);
2020

21-
const sanitizedUrl = sanitize(strippedUrl);
21+
const sanitizedUrl = filenamify(strippedUrl, { maxLength: 255, replacement: '' });
2222
return path.resolve(this.cacheRoot, sanitizedUrl, fileName);
2323
}
2424

test/Cache.spec.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import * as fs from 'fs-extra';
22
import * as os from 'os';
33
import * as path from 'path';
4-
import * as sanitize from 'sanitize-filename';
54

65
import { Cache } from '../src/Cache';
76

@@ -10,7 +9,7 @@ describe('Cache', () => {
109
let cache: Cache;
1110

1211
const dummyUrl = 'dummy://';
13-
const sanitizedDummyUrl = sanitize(dummyUrl);
12+
const sanitizedDummyUrl = 'dummy';
1413

1514
beforeEach(async () => {
1615
cacheDir = await fs.mkdtemp(path.resolve(os.tmpdir(), 'electron-download-spec-'));

yarn.lock

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -602,11 +602,6 @@
602602
dependencies:
603603
"@types/node" "*"
604604

605-
"@types/sanitize-filename@^1.1.28":
606-
version "1.1.28"
607-
resolved "https://registry.yarnpkg.com/@types/sanitize-filename/-/sanitize-filename-1.1.28.tgz#baa18f5ce4330fcbb3ea7b62f65550963d9aaa07"
608-
integrity sha1-uqGPXOQzD8uz6nti9lVQlj2aqgc=
609-
610605
"@types/stack-utils@^1.0.1":
611606
version "1.0.1"
612607
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
@@ -2224,6 +2219,20 @@ figures@^2.0.0:
22242219
dependencies:
22252220
escape-string-regexp "^1.0.5"
22262221

2222+
filename-reserved-regex@^2.0.0:
2223+
version "2.0.0"
2224+
resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229"
2225+
integrity sha1-q/c9+rc10EVECr/qLZHzieu/oik=
2226+
2227+
filenamify@^4.1.0:
2228+
version "4.1.0"
2229+
resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.1.0.tgz#54d110810ae74eebfe115c1b995bd07e03cf2184"
2230+
integrity sha512-KQV/uJDI9VQgN7sHH1Zbk6+42cD6mnQ2HONzkXUfPJ+K2FC8GZ1dpewbbHw0Sz8Tf5k3EVdHVayM4DoAwWlmtg==
2231+
dependencies:
2232+
filename-reserved-regex "^2.0.0"
2233+
strip-outer "^1.0.1"
2234+
trim-repeated "^1.0.0"
2235+
22272236
fill-range@^4.0.0:
22282237
version "4.0.0"
22292238
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
@@ -6118,13 +6127,6 @@ sane@^4.0.3:
61186127
minimist "^1.1.1"
61196128
walker "~1.0.5"
61206129

6121-
sanitize-filename@^1.6.2:
6122-
version "1.6.2"
6123-
resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.2.tgz#01b4fc8809f14e9d22761fe70380fe7f3f902185"
6124-
integrity sha512-cmTzND7RMxUB+f7gI+4+KAVHWEg0lfXvQJdko+FXDP5bNbGIdx4KMP5pX6lv5jfT9jSf6OBbjyxjFtZQwYA/ig==
6125-
dependencies:
6126-
truncate-utf8-bytes "^1.0.0"
6127-
61286130
sax@^1.2.4:
61296131
version "1.2.4"
61306132
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
@@ -6685,6 +6687,13 @@ strip-json-comments@~2.0.1:
66856687
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
66866688
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
66876689

6690+
strip-outer@^1.0.1:
6691+
version "1.0.1"
6692+
resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631"
6693+
integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==
6694+
dependencies:
6695+
escape-string-regexp "^1.0.2"
6696+
66886697
sumchecker@^3.0.1:
66896698
version "3.0.1"
66906699
resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42"
@@ -6885,18 +6894,18 @@ trim-off-newlines@^1.0.0:
68856894
resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3"
68866895
integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM=
68876896

6897+
trim-repeated@^1.0.0:
6898+
version "1.0.0"
6899+
resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21"
6900+
integrity sha1-42RqLqTokTEr9+rObPsFOAvAHCE=
6901+
dependencies:
6902+
escape-string-regexp "^1.0.2"
6903+
68886904
trim-right@^1.0.1:
68896905
version "1.0.1"
68906906
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
68916907
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
68926908

6893-
truncate-utf8-bytes@^1.0.0:
6894-
version "1.0.2"
6895-
resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b"
6896-
integrity sha1-QFkjkJWS1W94pYGENLC3hInKXys=
6897-
dependencies:
6898-
utf8-byte-length "^1.0.1"
6899-
69006909
ts-jest@^24.0.0:
69016910
version "24.0.2"
69026911
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.2.tgz#8dde6cece97c31c03e80e474c749753ffd27194d"
@@ -7120,11 +7129,6 @@ use@^3.1.0:
71207129
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
71217130
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
71227131

7123-
utf8-byte-length@^1.0.1:
7124-
version "1.0.4"
7125-
resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61"
7126-
integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=
7127-
71287132
util-deprecate@^1.0.1, util-deprecate@~1.0.1:
71297133
version "1.0.2"
71307134
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"

0 commit comments

Comments
 (0)