1 parent
b438ad47d1
commit
6d49e3b3c1
6 files changed
+114
-12
No files matched your search
@@ -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
@@ -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",
|
||||
|
||||
@@ -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=""
|
||||
/>
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
@@ -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="">
|
||||
@@ -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"
|
||||
|
||||
Reference in new issue
Block a user