Commit Graph

902 Commits

Author SHA1 Message Date
Donny/강동윤
32f18068ad
fix(es/minifier): Preserve more side effects (#5853)
**Description:**

We now preserve more side effects.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/5680.
2022-09-14 06:51:56 +00:00
SWC Bot
0a56a2d5ab chore: Publish crates 2022-09-14 06:10:39 +00:00
magic-akari
2b2464271a
fix(es/codegen): Remove redundant ; after export default decl (#5851) 2022-09-14 06:07:15 +00:00
SWC Bot
ad4b0d200c chore: Publish crates 2022-09-14 05:05:55 +00:00
Donny/강동윤
a5f7b6946f
fix(es/minifier): Don't replace parameters of IIFE if it's recursive (#5852)
**Description:**

While investigating, I found that problem is not the analysis of recursive functions. Instead, it was a problem with the IIFE evaluator, which replaces parameters even if it's recursive.

**Related issue:**

 - Closes https://github.com/swc-project/swc/issues/5846
2022-09-14 05:02:14 +00:00
Donny/강동윤
0284c1bf40
test(es/transforms): Enable tests for fixed issues (#5845) 2022-09-13 10:32:00 +00:00
SWC Bot
76d22dfeb1 chore: Publish crates 2022-09-13 07:46:53 +00:00
SWC Bot
cae41739d5 chore: Publish crates 2022-09-13 06:48:34 +00:00
Donny/강동윤
fe3072b12a
perf(es/minifier): Reduce type sizes (#5843) 2022-09-13 06:45:33 +00:00
SWC Bot
c624c3de03 chore: Publish crates 2022-09-13 06:06:00 +00:00
SWC Bot
d16fb9a8cf chore: Publish crates 2022-09-13 05:04:36 +00:00
Alexander Akait
ccd618ce54
perf(html/minifier): Improve performance (#5838) 2022-09-13 14:01:41 +09:00
SWC Bot
d8c1e4a62e chore: Publish crates 2022-09-13 03:56:39 +00:00
Austaras
8567a38c4a
feat(es/minifier): Extend inlining of identifiers to multi-usage (#5832) 2022-09-13 03:52:47 +00:00
SWC Bot
b2c0fbd7ba chore: Publish crates 2022-09-13 02:19:15 +00:00
SWC Bot
2df19176fb chore: Publish crates 2022-09-12 05:16:53 +00:00
SWC Bot
9f28c246dc chore: Publish crates 2022-09-12 04:34:08 +00:00
SWC Bot
2b1e73737f chore: Publish crates 2022-09-11 06:21:56 +00:00
Donny/강동윤
cfe575e35a
perf(es/minifier): Make expression simplifier stateless and parallel (#5819) 2022-09-11 06:18:44 +00:00
SWC Bot
5fe032c01a chore: Publish crates 2022-09-11 03:00:57 +00:00
SWC Bot
4084fc1aeb chore: Publish crates 2022-09-10 17:14:48 +00:00
SWC Bot
961a9047c0 chore: Publish crates 2022-09-10 15:07:06 +00:00
SWC Bot
417b1f2a92 chore: Publish crates 2022-09-10 07:23:37 +00:00
Donny/강동윤
7391cc99b1
perf(css/minifier): Use JsWord instead of &str (#5806) 2022-09-10 07:20:51 +00:00
SWC Bot
4c078b0ac3 chore: Publish crates 2022-09-10 06:04:28 +00:00
SWC Bot
c8bb70f97e chore: Publish crates 2022-09-10 05:48:09 +00:00
SWC Bot
575940e770 chore: Publish crates 2022-09-09 08:09:53 +00:00
SWC Bot
54b108dc51 chore: Publish crates 2022-09-09 05:55:06 +00:00
Donny/강동윤
21fbcb9621
refactor(es/renamer): Rename PARALLEL to MANGLE (#5790)
**Description:**

Actually, performance issue comes from collision, not parallelism. So I renamed the associated constant.
2022-09-09 05:51:45 +00:00
SWC Bot
701fa74631 chore: Publish crates 2022-09-09 05:05:59 +00:00
Donny/강동윤
f11461d3f5
test(es): Enable tests for fixed issues (#5784) 2022-09-08 15:05:39 +00:00
SWC Bot
9b723cc6f5 chore: Publish crates 2022-09-08 08:11:24 +00:00
Austaras
ee26337a25
feat(es/minifier): Inline lazily initialized variables (#5737)
Safety:

For a function-local variable, an expression with side-effects would be a call, including an indirect one with a member expression.

 - If the call is function-local, it will be analyzed by the analyzer and inliner will not work.
 - If the call is not a function-local one, it cannot modify the local variable.
2022-09-08 08:07:43 +00:00
SWC Bot
32cd51dc29 chore: Publish crates 2022-09-08 05:26:49 +00:00
Donny/강동윤
24b60d2b64
feat(es/minifier): Change order of renaming to align with terser (#5780)
**Description:**

 - Change the order of renaming to match one of `terser`.
2022-09-08 05:23:23 +00:00
SWC Bot
d2188eac3f chore: Publish crates 2022-09-08 04:28:01 +00:00
SWC Bot
bad9811ea8 chore: Publish crates 2022-09-07 06:16:59 +00:00
SWC Bot
4507b10219 chore: Publish crates 2022-09-07 05:32:06 +00:00
Donny/강동윤
c2d10503db
perf(es/minifier): Make passes more parallel (#5773) 2022-09-07 14:28:36 +09:00
SWC Bot
0649b054b4 chore: Publish crates 2022-09-07 04:49:51 +00:00
Donny/강동윤
32a73fbf22
fix(es/minifier): Fix calculation of character frequency (#5772) 2022-09-07 04:46:21 +00:00
SWC Bot
c9a6c2193e chore: Publish crates 2022-09-07 03:54:49 +00:00
Austaras
90852f5aa6
fix(es/minifier): Fix analysis of assignments and classes (#5770) 2022-09-07 03:51:42 +00:00
SWC Bot
51b9d694be chore: Publish crates 2022-09-06 13:28:30 +00:00
Donny/강동윤
9d29abcd5b
chore(es/minifier): Fix size calculator script (#5767) 2022-09-06 22:23:57 +09:00
SWC Bot
e654741336 chore: Publish crates 2022-09-06 12:41:54 +00:00
Donny/강동윤
60ce462215
feat(es/minifier): Align name mangler with terser (#5763) 2022-09-06 21:37:58 +09:00
SWC Bot
910526980b chore: Publish crates 2022-09-06 05:39:57 +00:00
Donny/강동윤
27e9254280
perf(es/minifier): Make MultiReplacer single-pass (#5761) 2022-09-06 14:36:53 +09:00
SWC Bot
8493c88b06 chore: Publish crates 2022-09-06 01:42:23 +00:00
Austaras
948d708144
fix(es/minifier): Don't drop parameters in an exported function (#5757) 2022-09-06 10:39:23 +09:00
SWC Bot
912dd8f6a1 chore: Publish crates 2022-09-05 09:28:21 +00:00
Donny/강동윤
6e2002a148
perf(es/minifier): Improve codegen of name mangler (#5751) 2022-09-05 09:25:10 +00:00
SWC Bot
b6efd4300e chore: Publish crates 2022-09-05 07:09:22 +00:00
Donny/강동윤
8789184d44
perf(es/minifier): Cache the list of bindings for DCE (#5750) 2022-09-05 07:05:44 +00:00
OJ Kwon
1202762f30
chore(swc_core): Update deps (#5748) 2022-09-05 03:46:07 +00:00
SWC Bot
e7c565dbb2 chore: Publish crates 2022-09-04 16:24:37 +00:00
Donny/강동윤
96b2e17a8f
perf(es/minifier): Pre-allocate in analyzer (#5743) 2022-09-04 16:21:26 +00:00
Donny/강동윤
4e989807d7
chore(es/minifier): Fix example (#5739) 2022-09-04 22:18:05 +09:00
Donny/강동윤
74b3d2170c chore: Publish crates 2022-09-04 17:27:19 +09:00
Donny/강동윤
6ba6da62d7
perf(es/minifier): Make dead branch remover parallel (#5734) 2022-09-04 07:33:26 +00:00
SWC Bot
30bbe6ac4d chore: Publish crates 2022-09-04 04:52:28 +00:00
Donny/강동윤
8963db0a1d
perf(es/minifier): Skip useless analysis if not required (#5733) 2022-09-04 13:49:30 +09:00
SWC Bot
fafafecb3d chore: Publish crates 2022-09-03 07:37:21 +00:00
Austaras
5b2d024788
feat(es/minifier): Relax requirement for IIFE invokation (#5721) 2022-09-03 07:33:31 +00:00
SWC Bot
a3a66c1191 chore: Publish crates 2022-09-03 06:47:08 +00:00
Donny/강동윤
31c516a922
perf(es/minifier): Optimize precompress optimizer (#5727) 2022-09-03 15:43:50 +09:00
OJ Kwon
d6e67b5944
feat(atoms): Introduce bytecheck-ed rkyv version (#5686) 2022-09-03 14:29:02 +09:00
Donny/강동윤
5e151c8a8e
feat(es/minifier): Support cycles in DCE (#5715) 2022-09-03 04:41:54 +00:00
SWC Bot
d242605aa1 chore: Publish crates 2022-09-01 16:34:13 +00:00
Donny/강동윤
8827c38faf
feat(es/minifier): Make DCE single-pass (#5699) 2022-09-01 16:30:21 +00:00
SWC Bot
1232fa634a chore: Publish crates 2022-09-01 10:39:21 +00:00
Austaras
4ef99f346b
feat(es/minifier): Relax function inline requirement (#5607) 2022-09-01 19:36:16 +09:00
SWC Bot
3a0b749f1e chore: Publish crates 2022-09-01 04:39:40 +00:00
Donny/강동윤
1085667049
perf(es/minifier): Enable parallel processing (#5705) 2022-09-01 13:36:30 +09:00
OJ Kwon
7686faece5
fix(swc_core): Bump versions (#5706) 2022-09-01 13:08:04 +09:00
SWC Bot
e1deec44cc chore: Publish crates 2022-08-31 11:15:03 +00:00
Donny/강동윤
5e2b6d5551
feat(es/minifier): Remove useless ES version check (#5703) 2022-08-31 11:11:54 +00:00
SWC Bot
c92a8360e0 chore: Publish crates 2022-08-31 10:36:29 +00:00
Donny/강동윤
217f519940
feat(es/minifier): Ignore closure in initializer from sequential inliner (#5702) 2022-08-31 10:33:22 +00:00
SWC Bot
32f6b672da chore: Publish crates 2022-08-31 07:50:59 +00:00
Donny/강동윤
fc28242b99
feat(es/minifier): Exclude JSON from alias list (#5698) 2022-08-31 16:47:52 +09:00
SWC Bot
1ba1ad4984 chore: Publish crates 2022-08-30 08:04:12 +00:00
Donny/강동윤
fd39bb6bff
fix(es/minifier): Don't inline variables declared multiple times (#5667) 2022-08-30 07:52:21 +00:00
SWC Bot
815a7e6f3c chore: Publish crates 2022-08-30 03:25:43 +00:00
Donny/강동윤
d43334eb92
feat(es/minifier): Remove redundant check (#5664) 2022-08-30 12:22:18 +09:00
SWC Bot
e951aa6996 chore: Publish crates 2022-08-29 10:14:19 +00:00
Donny/강동윤
537449e53b
fix(es/codegen): Emit trailing semicolon (#5659) 2022-08-29 10:10:55 +00:00
SWC Bot
f2a0eef4f1 chore: Publish crates 2022-08-28 03:18:09 +00:00
Donny/강동윤
100f359e5d
fix(es/minifier): Fix optimization of template literals with escape (#5650) 2022-08-28 03:15:12 +00:00
SWC Bot
7a8a172479 chore: Publish crates 2022-08-26 10:09:47 +00:00
Donny/강동윤
a06e6e9ce5
fix(es/minifier): Fix alias analyzer (#5639) 2022-08-26 10:06:25 +00:00
SWC Bot
048beefb33 chore: Publish crates 2022-08-26 08:49:14 +00:00
Donny/강동윤
d44bbffa02
fix(es/minifier): Revert alias analyzer work (#5634) 2022-08-26 08:45:49 +00:00
SWC Bot
fdd29c9fe5 chore: Publish crates 2022-08-26 08:00:02 +00:00
Donny/강동윤
00e635b9ea
fix(es/minifier): Improve alias analyzer (#5500) 2022-08-26 07:56:40 +00:00
SWC Bot
b4416492d1 chore: Publish crates 2022-08-26 05:26:36 +00:00
Donny/강동윤
d81fe67e4b
feat(es/minifier): Improve gzipped size (#5631) 2022-08-26 05:23:01 +00:00
SWC Bot
1dd17ffd23 chore: Publish crates 2022-08-25 16:14:21 +00:00
SWC Bot
e5926186ee chore: Publish crates 2022-08-25 09:01:43 +00:00
SWC Bot
3ea433bd0a chore: Publish crates 2022-08-25 04:53:03 +00:00
OJ Kwon
1769191f9a
chore(swc_core): Update dependency version (#5595) 2022-08-23 10:10:30 +09:00
OJ Kwon
9bc40e3d08
build(swc_core): Fix dependency version (#5593) 2022-08-23 00:21:29 +00:00
SWC Bot
1d235e0d06 chore: Publish crates 2022-08-22 00:45:24 +00:00
SWC Bot
2c35990a07 chore: Publish crates 2022-08-21 08:33:31 +00:00
Donny/강동윤
7f5095dd5e
test(es/minifier): Add tests for size (#5561) 2022-08-19 06:03:42 +00:00
SWC Bot
1434376ce9 chore: Publish crates 2022-08-19 04:30:32 +00:00
Austaras
69f8945911
feat(es/minifier): Remove more functions and classes (#5552) 2022-08-19 04:28:06 +00:00
SWC Bot
2ed9f8f4b1 chore: Publish crates 2022-08-18 05:51:23 +00:00
Donny/강동윤
38b8ca05ad
feat(es/minifier): Optimize numeric property names (#5548) 2022-08-18 14:48:54 +09:00
SWC Bot
5155fe0144 chore: Publish crates 2022-08-18 03:00:38 +00:00
Donny/강동윤
7487e3341d
feat(es/minifier): Optimize more string property names (#5545) 2022-08-18 11:58:05 +09:00
Donny/강동윤
935a2fbd00
feat(dbg-swc): Improve minifier comparator (#5541) 2022-08-18 09:37:19 +09:00
SWC Bot
04602f3485 chore: Publish crates 2022-08-17 23:27:05 +00:00
Austaras
d2f3e29bb0
feat(es/minifier): Ignore recursive usage for function calls and pure calls (#5526) 2022-08-17 23:24:10 +00:00
SWC Bot
1bdf6a7385 chore: Publish crates 2022-08-17 13:08:48 +00:00
Austaras
5aa96e00d8
fix(es/minifier): Remove recklessly inline (#5528) 2022-08-17 13:06:01 +00:00
Donny/강동윤
69ce1b24d5
test(es/minifier): Remove useless, slow tests (#5502) 2022-08-17 15:12:30 +09:00
Donny/강동윤
f7b34e70e9 chore: Publish crates 2022-08-17 14:28:18 +09:00
SWC Bot
554b459e26 chore: Publish crates 2022-08-14 09:59:22 +00:00
Donny/강동윤
40bb695f64
fix(es/minifier): Fix context of call/new expressions (#5487) 2022-08-14 18:56:35 +09:00
OJ Kwon
76797b1fc1
build(bindings): Bump up swc_core (#5484) 2022-08-14 07:48:15 +00:00
SWC Bot
0391d2c1a9 chore: Publish crates 2022-08-14 06:18:04 +00:00
Donny/강동윤
2045fe6273
fix(es/minifier): Remove wrong code (#5485) 2022-08-14 15:15:03 +09:00
SWC Bot
5abf38b361 chore: Publish crates 2022-08-14 05:12:12 +00:00
Donny/강동윤
1a0a2b5842
perf(es/minifier): Remove needless allocation of name mangler (#5483) 2022-08-14 05:09:36 +00:00
Donny/강동윤
925839adc6 chore: Publish crates 2022-08-13 19:11:26 +09:00
Donny/강동윤
1b089be611 chore: Publish crates 2022-08-13 14:09:52 +09:00
Donny/강동윤
d2f2a1315b chore: Publish crates 2022-08-13 00:49:08 +09:00
SWC Bot
415c495505 chore: Publish crates 2022-08-12 13:42:01 +00:00
Donny/강동윤
3eb1f4b2b1
chore(ci): Fix lints (#5462) 2022-08-12 13:13:35 +00:00
Donny/강동윤
033e05677a chore: Publish crates 2022-08-12 15:18:06 +09:00
OJ Kwon
072eb13bf1
build(es): Bump up packages (#5451) 2022-08-11 23:58:00 +00:00
OJ Kwon
e25b37d579
build(atoms): Bump swc_atoms (#5442) 2022-08-11 18:52:44 +09:00
SWC Bot
cdb9bbd707 chore: Publish crates 2022-08-08 03:00:13 +00:00
Donny/강동윤
7b8658eef2
test(es/minifier): Organize simple size tests (#5402) 2022-08-06 22:01:01 +09:00
SWC Bot
368033183e chore: Publish crates 2022-08-05 13:27:33 +00:00
Austaras
ca21fd0c4d
fix(es/minifier): Inline vars declared in conditional paths (#5392) 2022-08-05 13:25:28 +00:00
Donny/강동윤
86da5441e6
test(es/minifier): Organize simple size tests (#5403) 2022-08-05 16:42:59 +09:00
Donny/강동윤
a46669d334
test(es/minifier): Add snapshots of compressed libraries (#5389) 2022-08-04 08:32:59 +00:00
Austaras
e37b7e8caa
feat(es/codegen): Remove more whitespaces from BinExpr (#5380) 2022-08-04 16:52:06 +09:00
Donny/강동윤
84a1ef856a
test(es/minifier): Update the golden list (#5378) 2022-08-03 21:17:47 +09:00
SWC Bot
87409946a0 chore: Publish crates 2022-08-03 10:22:47 +00:00
Donny/강동윤
3943eb24d1
feat(es/minifier): Consider char frequencies (#5375) 2022-08-03 10:20:17 +00:00
Austaras
77497e4fbe
fix(es/fixer): Don't insert extra paren when left of BinExpr is UpdateExpr (#5376) 2022-08-03 08:41:40 +00:00
SWC Bot
efd43c67c3 chore: Publish crates 2022-08-03 06:22:21 +00:00
Donny/강동윤
6552d1a6f7
perf(es/minifier): Make postcompress pass parallel (#5374) 2022-08-03 06:20:04 +00:00
SWC Bot
e13f9230f2 chore: Publish crates 2022-08-03 04:08:12 +00:00
Donny/강동윤
4fdbe40c74
feat(es/minifier): Remove duplicate var declarations (#5373) 2022-08-03 13:05:56 +09:00
SWC Bot
b7573451b3 chore: Publish crates 2022-08-02 11:39:47 +00:00
Austaras
b221f90117
fix(es/minifier): Optimize inlining function calls with a literal in arguments (#5365) 2022-08-02 11:37:40 +00:00
SWC Bot
4ae8ff383f chore: Publish crates 2022-08-01 05:19:11 +00:00
OJ Kwon
fbdc9af5ca
fix(es/minifier): Allow single-thread mode (#5353) 2022-08-01 05:16:51 +00:00
Austaras
8611161c02
fix(es/minifier): Ignore member expression without side-effects in assign position (#5344) 2022-07-31 16:40:58 +09:00
SWC Bot
f8f62eada4 chore: Publish crates 2022-07-29 08:07:24 +00:00
SWC Bot
328e8123a1 chore: Publish crates 2022-07-29 04:51:13 +00:00
Austaras
11f495ad37
fix(es/minifier): Check if an inlined value is mutated (#5318) 2022-07-29 04:49:09 +00:00
SWC Bot
731c4bc4f3 chore: Publish crates 2022-07-29 02:42:20 +00:00
Donny/강동윤
64a99461ec
fix(es/minifier): Change default es version to es5 (#5333) 2022-07-29 02:40:14 +00:00
OJ Kwon
5c9ea16b2a
build(cargo): Update packages (#5331) 2022-07-29 08:30:41 +09:00
SWC Bot
129a886e13 chore: Publish crates 2022-07-27 04:18:47 +00:00
Austaras
0f254d5ce5
feat(es/codegen): Remove extra space before a private method (#5295) 2022-07-26 03:35:49 +00:00
SWC Bot
9eb04096b1 chore: Publish crates 2022-07-24 13:57:43 +00:00
Austaras
ee84842d22
fix(es/minifier): Preserve order of side-effects in sequences pass (#5283) 2022-07-24 13:55:37 +00:00
Donny/강동윤
a37fdca969 chore: Publish crates 2022-07-22 21:06:43 +09:00
Donny/강동윤
037a53d5d1
perf(es/ast): Use Atom in some places (#5271) 2022-07-22 20:09:25 +09:00
SWC Bot
aef6de4647 chore: Publish crates 2022-07-20 08:27:46 +00:00
Austaras
6573324d9c
feat(es/minifier): Calculate correct size (#5253) 2022-07-20 08:25:26 +00:00
SWC Bot
fe74b7067c chore: Publish crates 2022-07-20 04:10:58 +00:00
OJ Kwon
0d91741eb9
build(cargo): Align dependency versions (#5248) 2022-07-20 03:42:04 +00:00
Donny/강동윤
54982d4d72 chore: Publish crates 2022-07-19 11:38:23 +09:00
Austaras
3f0856db2e
feat(es/codegen): Optimize number and bigint literal (#5223) 2022-07-18 03:27:03 +00:00
Austaras
2e9c9bea1a
fix(es/minifier): Fix size calculation of numbers (#5232) 2022-07-17 18:07:35 +09:00
Donny/강동윤
d3b0996617 chore: Publish crates 2022-07-16 23:30:15 +09:00
SWC Bot
a23464055d chore: Publish crates 2022-07-13 06:09:56 +00:00
Donny/강동윤
16ece4dce0
fix(es/minifier): Don't merge exported declarations (#5193) 2022-07-13 06:07:31 +00:00
Donny/강동윤
b433b69263 chore: Publish crates 2022-07-12 23:58:30 +09:00
Alexander Akait
dada2d7d55
feat(html/minifier): Allow specifying options for other tools (#5125) 2022-07-11 13:08:40 +00:00
SWC Bot
c21ffbef2c chore: Publish crates 2022-07-11 11:39:30 +00:00
Donny/강동윤
d8f57abd26
perf(es/minifier): Remove wrong logic (#5178) 2022-07-11 11:37:13 +00:00
SWC Bot
0a13105e84 chore: Publish crates 2022-07-11 09:00:07 +00:00
SWC Bot
2bd5b4413a chore: Publish crates 2022-07-09 10:17:04 +00:00
SWC Bot
297228a690 chore: Publish crates 2022-07-07 07:48:49 +00:00
SWC Bot
40dabaddfd chore: Publish crates 2022-07-07 04:38:01 +00:00
SWC Bot
9385103649 chore: Publish crates 2022-07-06 04:44:10 +00:00
SWC Bot
64ccb589b7 chore: Publish crates 2022-07-06 03:55:25 +00:00
Donny/강동윤
0e4a03ccc6
fix(es/minifier): Don't inline a callable expression if it's used as a reference (#5118) 2022-07-06 03:53:11 +00:00
Donny/강동윤
b76b4999cc
fix(es/codegen): Fix codegen of some non-ascii characters (#5108) 2022-07-05 10:22:25 +00:00
Austaras
9519e801ea
fix(es/resolver): Fix handling of block scoped functions (#5092) 2022-07-05 05:04:49 +00:00
SWC Bot
162671ce32 chore: Publish crates 2022-07-03 05:56:40 +00:00
SWC Bot
4da97e9d4a chore: Publish crates 2022-07-02 04:20:10 +00:00
SWC Bot
f5447cd1b1 chore: Publish crates 2022-07-02 03:53:10 +00:00
Donny/강동윤
c2c923e205 chore: Publish crates 2022-07-01 11:50:45 +09:00
SWC Bot
ff75f8136f chore: Publish crates 2022-06-30 01:49:17 +00:00
SWC Bot
73874486b2 chore: Publish crates 2022-06-29 11:05:08 +00:00
SWC Bot
5576c3c601 chore: Publish crates 2022-06-29 03:37:57 +00:00
SWC Bot
c4fe6e2286 chore: Publish crates 2022-06-28 06:58:45 +00:00
Donny/강동윤
a15bb48524
feat(es/minifier): Handle pure annotations on member expressions (#5050) 2022-06-28 06:55:59 +00:00
Donny/강동윤
8b042745c6 chore: Publish crates 2022-06-27 21:36:54 +09:00
SWC Bot
f41c82ac67 chore: Publish crates 2022-06-26 19:10:58 +00:00