Skip to content

Commit 27dcd98

Browse files
committed
Improved the algorithm significantly for every file type.
1 parent 6ed3565 commit 27dcd98

9 files changed

Lines changed: 1471 additions & 224 deletions

File tree

package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@
1212
"lint": "npm run lint:ts",
1313
"dev": "astro dev",
1414
"start": "astro dev",
15-
"build": "astro build && node scripts/compress-assets.mjs",
15+
"build": "npm run optimize && astro build && npm run compress:custom",
1616
"build:no-compress": "astro build",
17-
"compress": "node scripts/compress-assets.mjs",
17+
"optimize": "tsx scripts/optimize-images.mjs",
18+
"compress:custom": "tsx scripts/compress-custom.mjs",
1819
"preview": "astro preview",
1920
"astro": "astro"
2021
},
@@ -31,6 +32,8 @@
3132
"@typescript-eslint/parser": "^8.0.1",
3233
"eslint": "^9.9.0",
3334
"stylelint": "^16.8.1",
34-
"stylelint-config-standard": "^36.0.1"
35+
"stylelint-config-standard": "^36.0.1",
36+
"ts-node": "^10.9.2",
37+
"tsx": "^4.20.6"
3538
}
3639
}
-2.57 MB
Binary file not shown.

public/compression-stats.json

Lines changed: 320 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,320 @@
1+
{
2+
"totalFiles": 52,
3+
"totalOriginalSize": 11761498,
4+
"totalCompressedSize": 10632926,
5+
"compressionRatio": 9.59547839909508,
6+
"files": [
7+
{
8+
"path": "assets/LonghornLogo.svg",
9+
"originalSize": 1645,
10+
"compressedSize": 860,
11+
"ratio": 47.72036474164134
12+
},
13+
{
14+
"path": "assets/RGB_formal_Cockrell_Cockrell.jpg",
15+
"originalSize": 122935,
16+
"compressedSize": 102992,
17+
"ratio": 16.222393948021306
18+
},
19+
{
20+
"path": "assets/at-work.jpg",
21+
"originalSize": 5004123,
22+
"compressedSize": 4939827,
23+
"ratio": 1.2848605040283734
24+
},
25+
{
26+
"path": "assets/backgrounds/bg-footer-dark-1440w.jpg",
27+
"originalSize": 15589,
28+
"compressedSize": 7889,
29+
"ratio": 49.39380332285586
30+
},
31+
{
32+
"path": "assets/backgrounds/bg-footer-dark-800w.jpg",
33+
"originalSize": 6360,
34+
"compressedSize": 3922,
35+
"ratio": 38.33333333333333
36+
},
37+
{
38+
"path": "assets/backgrounds/bg-footer-light-1440w.jpg",
39+
"originalSize": 12614,
40+
"compressedSize": 4107,
41+
"ratio": 67.44093863960678
42+
},
43+
{
44+
"path": "assets/backgrounds/bg-footer-light-800w.jpg",
45+
"originalSize": 4735,
46+
"compressedSize": 2159,
47+
"ratio": 54.403379091869056
48+
},
49+
{
50+
"path": "assets/backgrounds/bg-main-dark-1440w.jpg",
51+
"originalSize": 28973,
52+
"compressedSize": 22479,
53+
"ratio": 22.41397162875781
54+
},
55+
{
56+
"path": "assets/backgrounds/bg-main-dark-800w.jpg",
57+
"originalSize": 12727,
58+
"compressedSize": 11151,
59+
"ratio": 12.383122495482047
60+
},
61+
{
62+
"path": "assets/backgrounds/bg-main-dark.svg",
63+
"originalSize": 1197,
64+
"compressedSize": 575,
65+
"ratio": 51.96324143692566
66+
},
67+
{
68+
"path": "assets/backgrounds/bg-main-light-1440w.jpg",
69+
"originalSize": 21502,
70+
"compressedSize": 13552,
71+
"ratio": 36.97330480885499
72+
},
73+
{
74+
"path": "assets/backgrounds/bg-main-light-800w.jpg",
75+
"originalSize": 14098,
76+
"compressedSize": 10562,
77+
"ratio": 25.08157185416371
78+
},
79+
{
80+
"path": "assets/backgrounds/bg-main-light.svg",
81+
"originalSize": 1148,
82+
"compressedSize": 567,
83+
"ratio": 50.609756097560975
84+
},
85+
{
86+
"path": "assets/backgrounds/bg-subtle-1-dark-1440w.jpg",
87+
"originalSize": 21122,
88+
"compressedSize": 12793,
89+
"ratio": 39.43281886185021
90+
},
91+
{
92+
"path": "assets/backgrounds/bg-subtle-1-dark-800w.jpg",
93+
"originalSize": 6710,
94+
"compressedSize": 4614,
95+
"ratio": 31.23695976154992
96+
},
97+
{
98+
"path": "assets/backgrounds/bg-subtle-1-light-1440w.jpg",
99+
"originalSize": 15807,
100+
"compressedSize": 8027,
101+
"ratio": 49.21870057569431
102+
},
103+
{
104+
"path": "assets/backgrounds/bg-subtle-1-light-800w.jpg",
105+
"originalSize": 6340,
106+
"compressedSize": 3778,
107+
"ratio": 40.41009463722397
108+
},
109+
{
110+
"path": "assets/backgrounds/bg-subtle-2-dark-1440w.jpg",
111+
"originalSize": 16804,
112+
"compressedSize": 8725,
113+
"ratio": 48.077838609854794
114+
},
115+
{
116+
"path": "assets/backgrounds/bg-subtle-2-dark-800w.jpg",
117+
"originalSize": 7519,
118+
"compressedSize": 4660,
119+
"ratio": 38.02367336081925
120+
},
121+
{
122+
"path": "assets/backgrounds/bg-subtle-2-light-1440w.jpg",
123+
"originalSize": 14445,
124+
"compressedSize": 6665,
125+
"ratio": 53.85946694357909
126+
},
127+
{
128+
"path": "assets/backgrounds/bg-subtle-2-light-800w.jpg",
129+
"originalSize": 5420,
130+
"compressedSize": 2878,
131+
"ratio": 46.90036900369003
132+
},
133+
{
134+
"path": "assets/backgrounds/noise.png",
135+
"originalSize": 27223,
136+
"compressedSize": 27205,
137+
"ratio": 0.06612055982073706
138+
},
139+
{
140+
"path": "assets/duke-java/3D/Duke/Duke.png",
141+
"originalSize": 229198,
142+
"compressedSize": 220425,
143+
"ratio": 3.827694831543038
144+
},
145+
{
146+
"path": "assets/duke-java/3D/Duke Car/Bonnet-Map.png",
147+
"originalSize": 37094,
148+
"compressedSize": 32427,
149+
"ratio": 12.58154957675096
150+
},
151+
{
152+
"path": "assets/duke-java/3D/Duke Car/Duke Car.png",
153+
"originalSize": 753635,
154+
"compressedSize": 751761,
155+
"ratio": 0.2486614873247639
156+
},
157+
{
158+
"path": "assets/duke-java/3D/Duke Car/Wheel.png",
159+
"originalSize": 776237,
160+
"compressedSize": 775691,
161+
"ratio": 0.07033934223696914
162+
},
163+
{
164+
"path": "assets/duke-java/3D/Duke Waving/openduke.png",
165+
"originalSize": 488001,
166+
"compressedSize": 486987,
167+
"ratio": 0.20778645945397356
168+
},
169+
{
170+
"path": "assets/duke-java/3D/Duke Waving/wave.png",
171+
"originalSize": 94026,
172+
"compressedSize": 92955,
173+
"ratio": 1.1390466466721927
174+
},
175+
{
176+
"path": "assets/duke-java/3D/Welder Duke/Dukes-Lab-5k.jpg",
177+
"originalSize": 2277742,
178+
"compressedSize": 1694190,
179+
"ratio": 25.619758515231318
180+
},
181+
{
182+
"path": "assets/duke-java/vector/Agent.svg",
183+
"originalSize": 30855,
184+
"compressedSize": 7340,
185+
"ratio": 76.21131097066926
186+
},
187+
{
188+
"path": "assets/duke-java/vector/Boxer.svg",
189+
"originalSize": 109596,
190+
"compressedSize": 33678,
191+
"ratio": 69.2707763057046
192+
},
193+
{
194+
"path": "assets/duke-java/vector/ChezDuke.svg",
195+
"originalSize": 33110,
196+
"compressedSize": 23093,
197+
"ratio": 30.25369978858351
198+
},
199+
{
200+
"path": "assets/duke-java/vector/Hips.svg",
201+
"originalSize": 4035,
202+
"compressedSize": 2009,
203+
"ratio": 50.210656753407676
204+
},
205+
{
206+
"path": "assets/duke-java/vector/Juggler.svg",
207+
"originalSize": 99431,
208+
"compressedSize": 26381,
209+
"ratio": 73.46803310838672
210+
},
211+
{
212+
"path": "assets/duke-java/vector/NyaNya.svg",
213+
"originalSize": 25241,
214+
"compressedSize": 7710,
215+
"ratio": 69.45445901509449
216+
},
217+
{
218+
"path": "assets/duke-java/vector/Palmtree.svg",
219+
"originalSize": 76425,
220+
"compressedSize": 25281,
221+
"ratio": 66.92051030421982
222+
},
223+
{
224+
"path": "assets/duke-java/vector/Paper.svg",
225+
"originalSize": 7270,
226+
"compressedSize": 3236,
227+
"ratio": 55.488308115543326
228+
},
229+
{
230+
"path": "assets/duke-java/vector/Reward.svg",
231+
"originalSize": 6714,
232+
"compressedSize": 2777,
233+
"ratio": 58.638665475126594
234+
},
235+
{
236+
"path": "assets/duke-java/vector/Snooze.svg",
237+
"originalSize": 7946,
238+
"compressedSize": 3020,
239+
"ratio": 61.99345582683111
240+
},
241+
{
242+
"path": "assets/duke-java/vector/Surfing.svg",
243+
"originalSize": 76724,
244+
"compressedSize": 23028,
245+
"ratio": 69.98592357019969
246+
},
247+
{
248+
"path": "assets/duke-java/vector/Thinking.svg",
249+
"originalSize": 5157,
250+
"compressedSize": 2247,
251+
"ratio": 56.42815590459569
252+
},
253+
{
254+
"path": "assets/duke-java/vector/ThumbsUp.svg",
255+
"originalSize": 5250,
256+
"compressedSize": 2077,
257+
"ratio": 60.438095238095244
258+
},
259+
{
260+
"path": "assets/duke-java/vector/Tumbling.svg",
261+
"originalSize": 22565,
262+
"compressedSize": 12916,
263+
"ratio": 42.7609129182362
264+
},
265+
{
266+
"path": "assets/duke-java/vector/Wave.svg",
267+
"originalSize": 3567,
268+
"compressedSize": 1570,
269+
"ratio": 55.985421923184745
270+
},
271+
{
272+
"path": "assets/portrait.jpg",
273+
"originalSize": 1098605,
274+
"compressedSize": 1090847,
275+
"ratio": 0.7061682770422517
276+
},
277+
{
278+
"path": "assets/stock-1.jpg",
279+
"originalSize": 39459,
280+
"compressedSize": 39151,
281+
"ratio": 0.7805570338832668
282+
},
283+
{
284+
"path": "assets/stock-2.jpg",
285+
"originalSize": 20120,
286+
"compressedSize": 19548,
287+
"ratio": 2.8429423459244485
288+
},
289+
{
290+
"path": "assets/stock-3.jpg",
291+
"originalSize": 21810,
292+
"compressedSize": 20509,
293+
"ratio": 5.965153599266393
294+
},
295+
{
296+
"path": "assets/stock-4.jpg",
297+
"originalSize": 27864,
298+
"compressedSize": 27567,
299+
"ratio": 1.065891472868219
300+
},
301+
{
302+
"path": "compression-worker.js",
303+
"originalSize": 9810,
304+
"compressedSize": 2713,
305+
"ratio": 72.34454638124363
306+
},
307+
{
308+
"path": "favicon.svg",
309+
"originalSize": 749,
310+
"compressedSize": 452,
311+
"ratio": 39.65287049399199
312+
},
313+
{
314+
"path": "sw.js",
315+
"originalSize": 4226,
316+
"compressedSize": 1353,
317+
"ratio": 67.9839091339328
318+
}
319+
]
320+
}

0 commit comments

Comments
 (0)