This commit is contained in:
fisker Cheung authored and GitHub committed 2020-05-21 12:25:01 +08:00
1 parent b438ad47d1
commit 6d49e3b3c1
6 files changed
+114 -12

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
#### Fix broken URLs with commas in srcset ([#8359](https://github.com/prettier/prettier/pull/8359) by [@fisker](https://github.com/fisker))
<!-- prettier-ignore -->
```html
<!-- Input -->
<img
srcset="
_20200401_145009_szrhju_c_scale,w_200.jpg 200w,
_20200401_145009_szrhju_c_scale,w_1400.jpg 1400w"
src="_20200401_145009_szrhju_c_scale,w_1400.jpg"
>
<!-- Prettier stable -->
<img
srcset="
_20200401_145009_szrhju_c_scale,
w_200.jpg 200w,
_20200401_145009_szrhju_c_scale,
w_1400.jpg 1400w
"
src="_20200401_145009_szrhju_c_scale,w_1400.jpg"
/>
<!-- Prettier master -->
<img
srcset="
_20200401_145009_szrhju_c_scale,w_200.jpg 200w,
_20200401_145009_szrhju_c_scale,w_1400.jpg 1400w
"
src="_20200401_145009_szrhju_c_scale,w_1400.jpg"
/>
```
+1 -1
View File
@@ -60,6 +60,7 @@
"minimist": "1.2.5",
"n-readlines": "1.0.0",
"outdent": "0.7.1",
"parse-srcset": "ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee",
"please-upgrade-node": "3.2.0",
"postcss-less": "3.1.4",
"postcss-media-query-parser": "0.2.3",
@@ -71,7 +72,6 @@
"remark-parse": "5.0.0",
"resolve": "1.17.0",
"semver": "7.3.2",
"srcset": "2.0.1",
"string-width": "4.2.0",
"tslib": "1.13.0",
"typescript": "3.9.3",
+12 -6
View File
@@ -3,20 +3,26 @@
const {
builders: { concat, ifBreak, join, line },
} = require("../document");
const parseSrcset = require("srcset").parse;
const parseSrcset = require("parse-srcset");
function printImgSrcset(value) {
const srcset = parseSrcset(value);
const srcset = parseSrcset(value, {
logger: {
error(message) {
throw new Error(message);
},
},
});
const hasW = srcset.some((src) => src.width);
const hasH = srcset.some((src) => src.height);
const hasX = srcset.some((src) => src.density);
const hasW = srcset.some(({ w }) => w);
const hasH = srcset.some(({ h }) => h);
const hasX = srcset.some(({ d }) => d);
if (hasW + hasH + hasX > 1) {
throw new Error("Mixed descriptor in srcset is not supported");
}
const key = hasW ? "width" : hasH ? "height" : "density";
const key = hasW ? "w" : hasH ? "h" : "d";
const unit = hasW ? "w" : hasH ? "h" : "x";
const getMax = (values) => Math.max(...values);
@@ -423,6 +423,27 @@ sizes="(max-width: 66rem) 100vw, 66rem" alt=""/>
srcset="
/media/examples/surfer-240-200.jpg
">
<!-- #8150 -->
<img
sizes="(max-width: 1400px) 100vw, 1400px"
srcset="
_20200401_145009_szrhju_c_scale,w_200.jpg 200w,
_20200401_145009_szrhju_c_scale,w_379.jpg 379w,
_20200401_145009_szrhju_c_scale,w_515.jpg 515w,
_20200401_145009_szrhju_c_scale,w_630.jpg 630w,
_20200401_145009_szrhju_c_scale,w_731.jpg 731w,
_20200401_145009_szrhju_c_scale,w_828.jpg 828w,
_20200401_145009_szrhju_c_scale,w_921.jpg 921w,
_20200401_145009_szrhju_c_scale,w_995.jpg 995w,
_20200401_145009_szrhju_c_scale,w_1072.jpg 1072w,
_20200401_145009_szrhju_c_scale,w_1145.jpg 1145w,
_20200401_145009_szrhju_c_scale,w_1216.jpg 1216w,
_20200401_145009_szrhju_c_scale,w_1284.jpg 1284w,
_20200401_145009_szrhju_c_scale,w_1350.jpg 1350w,
_20200401_145009_szrhju_c_scale,w_1398.jpg 1398w,
_20200401_145009_szrhju_c_scale,w_1400.jpg 1400w"
src="_20200401_145009_szrhju_c_scale,w_1400.jpg"
alt="">
=====================================output=====================================
<img
@@ -454,6 +475,29 @@ srcset="
alt=""
/>
<img srcset="/media/examples/surfer-240-200.jpg" />
<!-- #8150 -->
<img
sizes="(max-width: 1400px) 100vw, 1400px"
srcset="
_20200401_145009_szrhju_c_scale,w_200.jpg 200w,
_20200401_145009_szrhju_c_scale,w_379.jpg 379w,
_20200401_145009_szrhju_c_scale,w_515.jpg 515w,
_20200401_145009_szrhju_c_scale,w_630.jpg 630w,
_20200401_145009_szrhju_c_scale,w_731.jpg 731w,
_20200401_145009_szrhju_c_scale,w_828.jpg 828w,
_20200401_145009_szrhju_c_scale,w_921.jpg 921w,
_20200401_145009_szrhju_c_scale,w_995.jpg 995w,
_20200401_145009_szrhju_c_scale,w_1072.jpg 1072w,
_20200401_145009_szrhju_c_scale,w_1145.jpg 1145w,
_20200401_145009_szrhju_c_scale,w_1216.jpg 1216w,
_20200401_145009_szrhju_c_scale,w_1284.jpg 1284w,
_20200401_145009_szrhju_c_scale,w_1350.jpg 1350w,
_20200401_145009_szrhju_c_scale,w_1398.jpg 1398w,
_20200401_145009_szrhju_c_scale,w_1400.jpg 1400w
"
src="_20200401_145009_szrhju_c_scale,w_1400.jpg"
alt=""
/>
================================================================================
`;
+21
View File
@@ -12,3 +12,24 @@ sizes="(max-width: 66rem) 100vw, 66rem" alt=""/>
srcset="
/media/examples/surfer-240-200.jpg
">
<!-- #8150 -->
<img
sizes="(max-width: 1400px) 100vw, 1400px"
srcset="
_20200401_145009_szrhju_c_scale,w_200.jpg 200w,
_20200401_145009_szrhju_c_scale,w_379.jpg 379w,
_20200401_145009_szrhju_c_scale,w_515.jpg 515w,
_20200401_145009_szrhju_c_scale,w_630.jpg 630w,
_20200401_145009_szrhju_c_scale,w_731.jpg 731w,
_20200401_145009_szrhju_c_scale,w_828.jpg 828w,
_20200401_145009_szrhju_c_scale,w_921.jpg 921w,
_20200401_145009_szrhju_c_scale,w_995.jpg 995w,
_20200401_145009_szrhju_c_scale,w_1072.jpg 1072w,
_20200401_145009_szrhju_c_scale,w_1145.jpg 1145w,
_20200401_145009_szrhju_c_scale,w_1216.jpg 1216w,
_20200401_145009_szrhju_c_scale,w_1284.jpg 1284w,
_20200401_145009_szrhju_c_scale,w_1350.jpg 1350w,
_20200401_145009_szrhju_c_scale,w_1398.jpg 1398w,
_20200401_145009_szrhju_c_scale,w_1400.jpg 1400w"
src="_20200401_145009_szrhju_c_scale,w_1400.jpg"
alt="">
+4 -5
View File
@@ -5934,6 +5934,10 @@ parse-json@^5.0.0:
json-parse-better-errors "^1.0.1"
lines-and-columns "^1.1.6"
parse-srcset@ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee:
version "1.0.2"
resolved "https://codeload.github.com/ikatyang/parse-srcset/tar.gz/54eb9c1cb21db5c62b4d0e275d7249516df6f0ee"
parse5@5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
@@ -7039,11 +7043,6 @@ sprintf-js@~1.0.2:
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
srcset@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/srcset/-/srcset-2.0.1.tgz#8f842d357487eb797f413d9c309de7a5149df5ac"
integrity sha512-00kZI87TdRKwt+P8jj8UZxbfp7mK2ufxcIMWvhAOZNJTRROimpHeruWrGvCZneiuVDLqdyHefVp748ECTnyUBQ==
sshpk@^1.7.0:
version "1.16.1"
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"