feat(minifier): minify String::concat into template literal#8443
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
6ab26ad to
0ab0835
Compare
db5beeb to
72dc0d1
Compare
CodSpeed Performance ReportMerging #8443 will not alter performanceComparing Summary
|
0ab0835 to
a031cb7
Compare
72dc0d1 to
0a5a1c2
Compare
a031cb7 to
a024338
Compare
0a5a1c2 to
fb985ab
Compare
a024338 to
9900d1e
Compare
fb985ab to
d6df4f8
Compare
Merge activity
|
Then it shouldn't 😅 what's broken? |
9900d1e to
df9b2d1
Compare
Compress `"".concat(a, "b", c)` into `` `${a}b${c}` ``.
I'm not sure if this should be merged. It works for antd but it doesn't for typescript.
**References**
- [Spec of `String::concat`](https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.concat)
- [Spec of template literal](https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals-runtime-semantics-evaluation)
d6df4f8 to
f928cb5
Compare
Ah, I just mean it makes the output larger when gziped. It's not broken.
|
df9b2d1 to
991a22f
Compare
Compress `"".concat(a, "b", c)` into `` `${a}b${c}` ``.
I'm not sure if this should be merged. It works for antd but it doesn't for typescript.
**References**
- [Spec of `String::concat`](https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.concat)
- [Spec of template literal](https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals-runtime-semantics-evaluation)
f928cb5 to
917a5e7
Compare
Compress `"".concat(a, "b", c)` into `` `${a}b${c}` ``.
I'm not sure if this should be merged. It works for antd but it doesn't for typescript.
**References**
- [Spec of `String::concat`](https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.concat)
- [Spec of template literal](https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals-runtime-semantics-evaluation)
Compress `"".concat(a, "b", c)` into `` `${a}b${c}` ``.
I'm not sure if this should be merged. It works for antd but it doesn't for typescript.
**References**
- [Spec of `String::concat`](https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.concat)
- [Spec of template literal](https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals-runtime-semantics-evaluation)
a252a7a to
044b0ff
Compare
|
I'm not sure why the gzip works better for TypeScript without this PR. Maybe it's because |
Compress `"".concat(a, "b", c)` into `` `${a}b${c}` ``.
I'm not sure if this should be merged. It works for antd but it doesn't for typescript.
**References**
- [Spec of `String::concat`](https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.concat)
- [Spec of template literal](https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals-runtime-semantics-evaluation)
044b0ff to
9b297fe
Compare
Compress `"".concat(a, "b", c)` into `` `${a}b${c}` ``.
I'm not sure if this should be merged. It works for antd but it doesn't for typescript.
**References**
- [Spec of `String::concat`](https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.concat)
- [Spec of template literal](https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals-runtime-semantics-evaluation)
9b297fe to
cfcac66
Compare
7700322 to
df82694
Compare
Compress `"".concat(a, "b", c)` into `` `${a}b${c}` ``.
I'm not sure if this should be merged. It works for antd but it doesn't for typescript.
**References**
- [Spec of `String::concat`](https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.concat)
- [Spec of template literal](https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals-runtime-semantics-evaluation)
cfcac66 to
f2497d2
Compare
df82694 to
3cf8a9c
Compare
Compress `"".concat(a, "b", c)` into `` `${a}b${c}` ``.
I'm not sure if this should be merged. It works for antd but it doesn't for typescript.
**References**
- [Spec of `String::concat`](https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.concat)
- [Spec of template literal](https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals-runtime-semantics-evaluation)
daec006 to
96d0189
Compare
Compress `"".concat(a, "b", c)` into `` `${a}b${c}` ``.
I'm not sure if this should be merged. It works for antd but it doesn't for typescript.
**References**
- [Spec of `String::concat`](https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.concat)
- [Spec of template literal](https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals-runtime-semantics-evaluation)
96d0189 to
bd98584
Compare
Compress `"".concat(a, "b", c)` into `` `${a}b${c}` ``.
I'm not sure if this should be merged. It works for antd but it doesn't for typescript.
**References**
- [Spec of `String::concat`](https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.concat)
- [Spec of template literal](https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals-runtime-semantics-evaluation)
bd98584 to
6f58dfb
Compare
Compress `"".concat(a, "b", c)` into `` `${a}b${c}` ``.
~~I'm not sure if this should be merged. It works for antd but it doesn't for typescript.~~ Now with #8839, it works well for typescript as well.
**References**
- [Spec of `String::concat`](https://tc39.es/ecma262/multipage/text-processing.html#sec-string.prototype.concat)
- [Spec of template literal](https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals-runtime-semantics-evaluation)
3cf8a9c to
b4ee617
Compare
When thinking about why #8443 made the gzip size increased, I thought it maybe because the backquotes appear more than before the PR. So I changed the codegen to prefer backquotes than double/single quotes. It seems this separate change have a positive effect with some projects. My guess is that in most projects, back quotes does not appear in string literals than double quotes and single quotes. The gzipped size slightly increases for `bundle.min.js`, `victory.js`, `antd.js`, but those will be decreased by #8443 except for `bundle.min.js`.
6f58dfb to
e623745
Compare

Compress
"".concat(a, "b", c)into`${a}b${c}`.I'm not sure if this should be merged. It works for antd but it doesn't for typescript.Now with #8839, it works well for typescript as well.References
String::concat