mirror of
https://github.com/oven-sh/bun
synced 2026-02-02 23:18:47 +00:00
Compare commits
4249 Commits
jarred/lin
...
derrick/fi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
78d6743f58 | ||
|
|
f8114d09fd | ||
|
|
4969f068f6 | ||
|
|
4a1470d26c | ||
|
|
5a3b634982 | ||
|
|
520ecc21ac | ||
|
|
8911c398d9 | ||
|
|
1738588f38 | ||
|
|
5e60a9363f | ||
|
|
cd20a84f18 | ||
|
|
e07dd6194a | ||
|
|
bcabf31121 | ||
|
|
5cb6890fad | ||
|
|
f1e6ea2254 | ||
|
|
56a6cf716e | ||
|
|
3517ce8e23 | ||
|
|
3c525b4962 | ||
|
|
e945be72b4 | ||
|
|
3002a7e14f | ||
|
|
c18165b30f | ||
|
|
e18863df1b | ||
|
|
41f23273b0 | ||
|
|
e62a422c14 | ||
|
|
91f7e6c66d | ||
|
|
946424cf86 | ||
|
|
270b07e85e | ||
|
|
b458abedbb | ||
|
|
4ef60da8a9 | ||
|
|
0e7f69f179 | ||
|
|
84ee02cb4b | ||
|
|
7a92bf87c8 | ||
|
|
55c1311aef | ||
|
|
beed35e55e | ||
|
|
5cd37e5e8a | ||
|
|
1761379135 | ||
|
|
30b10d5fb1 | ||
|
|
ca58556c54 | ||
|
|
a1b2c23671 | ||
|
|
5d60aae3b3 | ||
|
|
2392e48e9d | ||
|
|
3386afc0bc | ||
|
|
1a1014525b | ||
|
|
c30a110641 | ||
|
|
ced6201cb0 | ||
|
|
905a3313b5 | ||
|
|
f0475e89c5 | ||
|
|
cb75b4799f | ||
|
|
5f1150442a | ||
|
|
94b6ab02c2 | ||
|
|
631181a503 | ||
|
|
83a5c9f3da | ||
|
|
791f8ab0a1 | ||
|
|
da11bb4a82 | ||
|
|
94409770de | ||
|
|
c505f172b8 | ||
|
|
9972e553a0 | ||
|
|
cdbdc55cbf | ||
|
|
3f472bd511 | ||
|
|
4eb3067ef5 | ||
|
|
3c8701362b | ||
|
|
fadd1c0152 | ||
|
|
1e19d59273 | ||
|
|
cfd42c3999 | ||
|
|
98010efefc | ||
|
|
020f49dcd6 | ||
|
|
1e841a7881 | ||
|
|
b0d1cc1df7 | ||
|
|
0a835ba963 | ||
|
|
2b1b897375 | ||
|
|
87983464d8 | ||
|
|
d5565ab2cd | ||
|
|
8dc811e4aa | ||
|
|
1e1c817603 | ||
|
|
e2ed31b7e7 | ||
|
|
a7d9f16107 | ||
|
|
bbbb4835b4 | ||
|
|
f191993c8f | ||
|
|
994e58b5ea | ||
|
|
59639ba654 | ||
|
|
d22e3ebf9a | ||
|
|
0873a15a63 | ||
|
|
20718b972e | ||
|
|
a951859c55 | ||
|
|
3005d9e348 | ||
|
|
7f96f72d65 | ||
|
|
7550658fab | ||
|
|
80736043d6 | ||
|
|
3b259211df | ||
|
|
6b777c4b0b | ||
|
|
81a6aef771 | ||
|
|
f41bb3fb20 | ||
|
|
e0557d70e3 | ||
|
|
e2231f15e8 | ||
|
|
a19c7b4304 | ||
|
|
4a328609b9 | ||
|
|
021331f154 | ||
|
|
647093ff73 | ||
|
|
7df50add99 | ||
|
|
c99059db9f | ||
|
|
237bcdf99f | ||
|
|
0b395ca1dc | ||
|
|
c1fd06c56d | ||
|
|
f79301c620 | ||
|
|
4ae33cbf45 | ||
|
|
59655d0587 | ||
|
|
7edaf736a2 | ||
|
|
c770db7d52 | ||
|
|
cbc015d8d8 | ||
|
|
18e143ae7b | ||
|
|
8989a1883e | ||
|
|
983b747020 | ||
|
|
1ba95a65ee | ||
|
|
54b8cbd972 | ||
|
|
4eb9e8bb5a | ||
|
|
80c2da73ef | ||
|
|
4ba564dbf1 | ||
|
|
5fc8bc8f04 | ||
|
|
9fd3b5587b | ||
|
|
04b00229cf | ||
|
|
8a29c64302 | ||
|
|
2345e268bc | ||
|
|
97066d034d | ||
|
|
5f24c8a4a8 | ||
|
|
96438a4d58 | ||
|
|
5b3cf8bec5 | ||
|
|
c02b921983 | ||
|
|
0b0aadfc5f | ||
|
|
905aff3cfc | ||
|
|
9e6d39bae6 | ||
|
|
f651f74f9d | ||
|
|
01b908ad64 | ||
|
|
8a2729e75f | ||
|
|
9b3db96308 | ||
|
|
b86915c808 | ||
|
|
be706fecb4 | ||
|
|
2e94d1a033 | ||
|
|
fc6c4bbefb | ||
|
|
2fc6913085 | ||
|
|
f444e628ca | ||
|
|
42be4e52fe | ||
|
|
385c81d67b | ||
|
|
8b0a7b9fb8 | ||
|
|
2c5e1cb7d7 | ||
|
|
7be1e85c6d | ||
|
|
4cc9a43089 | ||
|
|
01c81a5f57 | ||
|
|
85eda20587 | ||
|
|
940ecd05a8 | ||
|
|
7c8a196c76 | ||
|
|
79a2f81447 | ||
|
|
0504bb8984 | ||
|
|
d726a17aca | ||
|
|
33e93e6789 | ||
|
|
c8da2618ee | ||
|
|
8e9af05d6a | ||
|
|
ba0b5baee4 | ||
|
|
384a9cda5e | ||
|
|
97ec866f85 | ||
|
|
ef3c9b7c6d | ||
|
|
6260aaac5f | ||
|
|
d3dab09690 | ||
|
|
f8f8353108 | ||
|
|
66234d9d57 | ||
|
|
3d60b870ee | ||
|
|
3ae23091c6 | ||
|
|
092b86321c | ||
|
|
da07811427 | ||
|
|
c0dd284136 | ||
|
|
504972fa5d | ||
|
|
f78f423d0b | ||
|
|
c4ca4c70d1 | ||
|
|
d94b96d9f4 | ||
|
|
74251fbf5e | ||
|
|
08a738c6c8 | ||
|
|
cc369ad9d0 | ||
|
|
a94bba6399 | ||
|
|
f6a62c01bf | ||
|
|
979074de2b | ||
|
|
958504296d | ||
|
|
75a3c25ff8 | ||
|
|
3da9c728d6 | ||
|
|
85733abe79 | ||
|
|
89625c0cc8 | ||
|
|
2d881b88f9 | ||
|
|
9ef33312b1 | ||
|
|
1d58da3cb3 | ||
|
|
c0dee9adf1 | ||
|
|
afd66c62ff | ||
|
|
57da449442 | ||
|
|
62d1e46b92 | ||
|
|
b988a63429 | ||
|
|
e322dfb589 | ||
|
|
989ac717fc | ||
|
|
3ceb2655d8 | ||
|
|
8c3a2ff6cc | ||
|
|
b9d143c99d | ||
|
|
f40d6bd94d | ||
|
|
4f7d06500c | ||
|
|
f6bbfa7e40 | ||
|
|
435fdbfddc | ||
|
|
83602b6834 | ||
|
|
3b808f5ac5 | ||
|
|
aaf1624346 | ||
|
|
a98e0adc7d | ||
|
|
06487ef64f | ||
|
|
b2fdcad77b | ||
|
|
51f9a91736 | ||
|
|
d7b73dd4fc | ||
|
|
5931e350cd | ||
|
|
e7a14f857d | ||
|
|
79abd245e2 | ||
|
|
2b622162ef | ||
|
|
5a3e0836b1 | ||
|
|
24c4d92c0b | ||
|
|
184c56704b | ||
|
|
feea8824f1 | ||
|
|
028e48ed97 | ||
|
|
609222d05e | ||
|
|
5d91922c5d | ||
|
|
d66831c4f3 | ||
|
|
7f1caaaa44 | ||
|
|
42fc49d413 | ||
|
|
72970ecd15 | ||
|
|
f9b573aa89 | ||
|
|
bbf8a17bf5 | ||
|
|
8c8accf968 | ||
|
|
24be0f4fc5 | ||
|
|
e59c6f642d | ||
|
|
1bdb4b2466 | ||
|
|
ca0ab9508f | ||
|
|
68fd43313d | ||
|
|
b06ca07eee | ||
|
|
01ed3045cb | ||
|
|
6b3be4d821 | ||
|
|
e399bceb3c | ||
|
|
a8fca7d679 | ||
|
|
b249d1b75b | ||
|
|
3495b7c1f8 | ||
|
|
3c20290e49 | ||
|
|
0df3485132 | ||
|
|
3ea983578f | ||
|
|
000a0c9dca | ||
|
|
c1d7ec9564 | ||
|
|
9e909dcae1 | ||
|
|
3c1ad4b568 | ||
|
|
743531b4ac | ||
|
|
d1834b5a92 | ||
|
|
e38a3e5d85 | ||
|
|
6a1fc20835 | ||
|
|
95c747f598 | ||
|
|
65302a1db5 | ||
|
|
c4557e57a1 | ||
|
|
f61d9e340d | ||
|
|
47a2548cbf | ||
|
|
5516adec57 | ||
|
|
4e920d73b7 | ||
|
|
a92258355d | ||
|
|
5bbaa7b400 | ||
|
|
de8ace9fbe | ||
|
|
375f69559f | ||
|
|
7d15a040fd | ||
|
|
3236a99b2d | ||
|
|
18d4cfd4f2 | ||
|
|
6255fe6a4b | ||
|
|
dd9691289f | ||
|
|
e98aae195c | ||
|
|
5741d4f9b4 | ||
|
|
1bed749d8c | ||
|
|
bbe66a4367 | ||
|
|
f649aae36f | ||
|
|
9f9db85a94 | ||
|
|
bbc2dacd84 | ||
|
|
0bb9493e47 | ||
|
|
14efd03b48 | ||
|
|
d5b11be769 | ||
|
|
007133d060 | ||
|
|
6279358cbc | ||
|
|
ca34a09a4d | ||
|
|
b746579863 | ||
|
|
8549134658 | ||
|
|
27e40b0836 | ||
|
|
b57f51fda2 | ||
|
|
fad1742410 | ||
|
|
768f4539e8 | ||
|
|
37b16a9007 | ||
|
|
a2d96f9040 | ||
|
|
b5519af7e7 | ||
|
|
9d94f148dc | ||
|
|
5cf64b07be | ||
|
|
e301fde96d | ||
|
|
2a7687fff8 | ||
|
|
780f7de843 | ||
|
|
660eb46b17 | ||
|
|
c6f3044654 | ||
|
|
b374c67c16 | ||
|
|
ce960f9506 | ||
|
|
ab49f95ef2 | ||
|
|
047754d5dd | ||
|
|
b400dfb386 | ||
|
|
88538b7c2c | ||
|
|
79138c4c7c | ||
|
|
24fbcb8f52 | ||
|
|
51e437e8a0 | ||
|
|
e6c2f48895 | ||
|
|
cf961336d0 | ||
|
|
b44615a916 | ||
|
|
fd740d41e5 | ||
|
|
46a9b124f5 | ||
|
|
7c2180194c | ||
|
|
3150ff49a7 | ||
|
|
2fe5b4da2f | ||
|
|
0b94ccdf8c | ||
|
|
845421c44b | ||
|
|
42ea8b2402 | ||
|
|
a13e64c286 | ||
|
|
60d0e6b73f | ||
|
|
a315ee7e03 | ||
|
|
57672eb266 | ||
|
|
511c0ab386 | ||
|
|
d9306c2681 | ||
|
|
aa17f97d13 | ||
|
|
e547efbf4a | ||
|
|
3d243e5e95 | ||
|
|
5ea8fe8c90 | ||
|
|
84b2cc1739 | ||
|
|
15ce587fa2 | ||
|
|
20a4b72ff4 | ||
|
|
41d778fbfb | ||
|
|
5f3a6f2bf3 | ||
|
|
58185e139a | ||
|
|
51d69d8c85 | ||
|
|
4dd2cb33b7 | ||
|
|
31f025fa02 | ||
|
|
81317a52ea | ||
|
|
7d29782896 | ||
|
|
1aa4cd2f6a | ||
|
|
c7f411bd88 | ||
|
|
60e6a47bb0 | ||
|
|
d9dc15115c | ||
|
|
159ee8ddfc | ||
|
|
84634117a9 | ||
|
|
5ea278e1c6 | ||
|
|
9e29159f44 | ||
|
|
e23832d1ce | ||
|
|
9665d7d216 | ||
|
|
c114956788 | ||
|
|
61bf957b99 | ||
|
|
2cbac4bbdd | ||
|
|
320c23543c | ||
|
|
0ea8de4087 | ||
|
|
7129303347 | ||
|
|
8582bc08ec | ||
|
|
eeea1707a1 | ||
|
|
b7e08cb937 | ||
|
|
054413ba1f | ||
|
|
04dcf180d5 | ||
|
|
79094e6643 | ||
|
|
682af03cdc | ||
|
|
1564f75d06 | ||
|
|
224f980081 | ||
|
|
2369bade48 | ||
|
|
10cd5aaa15 | ||
|
|
f4668e45f8 | ||
|
|
a1e62e6bf9 | ||
|
|
e009be1c5d | ||
|
|
af0bc28c51 | ||
|
|
bb5450fad0 | ||
|
|
5bb8c42bdb | ||
|
|
69114ac0a9 | ||
|
|
8830cbc51e | ||
|
|
23c90a76c2 | ||
|
|
714ce7619d | ||
|
|
34b2e9acc2 | ||
|
|
4c818b9364 | ||
|
|
cee33485d0 | ||
|
|
f052e66df5 | ||
|
|
46e34a3fa9 | ||
|
|
2bcae716d1 | ||
|
|
4281a68a2b | ||
|
|
ab020b2275 | ||
|
|
0617896d70 | ||
|
|
1c3cb22d1f | ||
|
|
275a635ad7 | ||
|
|
35bf039dfb | ||
|
|
de9a2b9fe5 | ||
|
|
201cbb20e4 | ||
|
|
8c51db0879 | ||
|
|
10b04fbd26 | ||
|
|
bdc43c1696 | ||
|
|
bc028168a8 | ||
|
|
00f428b627 | ||
|
|
d28a4dbb00 | ||
|
|
0a30bf0212 | ||
|
|
04658776e4 | ||
|
|
369e9f3fbd | ||
|
|
1b7b37232e | ||
|
|
fe4f39fd17 | ||
|
|
9cc03cd71a | ||
|
|
d9f9fc975b | ||
|
|
bdbc0f23e7 | ||
|
|
ba6908aed7 | ||
|
|
4e6b905a98 | ||
|
|
43f2a8eb85 | ||
|
|
c72629d88a | ||
|
|
33cf491fea | ||
|
|
2f917f7030 | ||
|
|
207282862e | ||
|
|
3c054253e1 | ||
|
|
2c0fd28e72 | ||
|
|
b8586b33da | ||
|
|
beaf91590a | ||
|
|
d84f79bcc1 | ||
|
|
917cbc8d5d | ||
|
|
074f236994 | ||
|
|
03eb000ad6 | ||
|
|
9a184c8279 | ||
|
|
b53a332809 | ||
|
|
a09b515a62 | ||
|
|
8eddfc61a8 | ||
|
|
37525db5cf | ||
|
|
e9eb88355b | ||
|
|
9f5564b4bc | ||
|
|
931ba9ad49 | ||
|
|
851b8acb76 | ||
|
|
7a158e68ae | ||
|
|
cb36b4d1ab | ||
|
|
2621fbf206 | ||
|
|
d7ab2c04ec | ||
|
|
f84f77d1ed | ||
|
|
425f4b0de1 | ||
|
|
7b70ed52fa | ||
|
|
8cf1707cd3 | ||
|
|
9f4d7690ac | ||
|
|
5854d39525 | ||
|
|
b4e6ca0462 | ||
|
|
f408749182 | ||
|
|
92da72beb0 | ||
|
|
a896d6c46c | ||
|
|
4eed310a45 | ||
|
|
1daa61a45f | ||
|
|
03490afdb3 | ||
|
|
e1e5f8c43b | ||
|
|
b655d09387 | ||
|
|
e0503faec7 | ||
|
|
bddf523ac9 | ||
|
|
1506a25198 | ||
|
|
1abc89e391 | ||
|
|
3cb462a3e6 | ||
|
|
f8b87e3ee2 | ||
|
|
e6f055e9fb | ||
|
|
f999bdca26 | ||
|
|
e75ce84c37 | ||
|
|
b631ea7d72 | ||
|
|
7b59d9d97c | ||
|
|
d28247573c | ||
|
|
56884b5f1d | ||
|
|
887496bcf9 | ||
|
|
da43761032 | ||
|
|
4efce63dad | ||
|
|
2a33bd2cc5 | ||
|
|
b337e36da1 | ||
|
|
77d0828179 | ||
|
|
eccd854dbc | ||
|
|
a64f2f5466 | ||
|
|
d3cd753d4d | ||
|
|
f423791e19 | ||
|
|
a6cadce6f6 | ||
|
|
51d0c3b79f | ||
|
|
7672ee95af | ||
|
|
512acf072e | ||
|
|
4ee11d922c | ||
|
|
885049831f | ||
|
|
e5106d320c | ||
|
|
ede2a494bc | ||
|
|
48df99c496 | ||
|
|
ed15259623 | ||
|
|
4272038743 | ||
|
|
002f4ecc9e | ||
|
|
495f25501f | ||
|
|
0992c3867d | ||
|
|
58a78ef8b7 | ||
|
|
740027975b | ||
|
|
706406af48 | ||
|
|
39493e5d94 | ||
|
|
a249c79983 | ||
|
|
6459288c85 | ||
|
|
4726b7e227 | ||
|
|
358f388a46 | ||
|
|
4f35d0537b | ||
|
|
1d9c982488 | ||
|
|
5e6e8ece4e | ||
|
|
964c4037de | ||
|
|
1bc76511ec | ||
|
|
35509126a6 | ||
|
|
8765092591 | ||
|
|
46678c46ee | ||
|
|
e8d948b9d9 | ||
|
|
f891d1df50 | ||
|
|
faad250559 | ||
|
|
74e87b5a8a | ||
|
|
819a63e3ec | ||
|
|
c65c320b09 | ||
|
|
a53ed1bde1 | ||
|
|
d2190ea6f3 | ||
|
|
b7850565f4 | ||
|
|
10996a797a | ||
|
|
949d715a14 | ||
|
|
90388aa7ea | ||
|
|
1671977af7 | ||
|
|
8aec181f16 | ||
|
|
37753e9787 | ||
|
|
8519ff02e6 | ||
|
|
397cb6600b | ||
|
|
bef469ea55 | ||
|
|
ac7ad4d5c6 | ||
|
|
0b27a26edb | ||
|
|
e12dc23c62 | ||
|
|
7fec8a96ab | ||
|
|
14b063d802 | ||
|
|
99fa95b954 | ||
|
|
f27fdf932b | ||
|
|
d0dbafb32f | ||
|
|
b5bd98c0ef | ||
|
|
e851e5fddb | ||
|
|
1aff60d2ba | ||
|
|
d5c81b7423 | ||
|
|
ddb6eced34 | ||
|
|
5c3c50372b | ||
|
|
af0acaff37 | ||
|
|
9090f06612 | ||
|
|
7a193ed243 | ||
|
|
c168c70e60 | ||
|
|
557c2e97d7 | ||
|
|
64871b2bfb | ||
|
|
ce2cdb44e1 | ||
|
|
348ad87013 | ||
|
|
0e900c8ca9 | ||
|
|
61673fa705 | ||
|
|
d1a4f4fd69 | ||
|
|
0b915fed03 | ||
|
|
7b23cb5cd7 | ||
|
|
04328c163b | ||
|
|
5a95fae533 | ||
|
|
47f0e14477 | ||
|
|
0ef25c65ec | ||
|
|
b0c89baac7 | ||
|
|
7bc20c994c | ||
|
|
033b8936c9 | ||
|
|
6336d01743 | ||
|
|
cc062855af | ||
|
|
d68f44d604 | ||
|
|
ffacc1d02d | ||
|
|
1be13fa192 | ||
|
|
46094189f4 | ||
|
|
0c8fe888b9 | ||
|
|
57fcd882fc | ||
|
|
b2e48477db | ||
|
|
e4805d0895 | ||
|
|
e9eaab727b | ||
|
|
2ded9af4f7 | ||
|
|
2aa304a29d | ||
|
|
3419d3bc02 | ||
|
|
a6644eac24 | ||
|
|
6c23035769 | ||
|
|
4a698ed52c | ||
|
|
e1fcc810cb | ||
|
|
6bfb65b312 | ||
|
|
dc330701d2 | ||
|
|
d434370500 | ||
|
|
9806c301dd | ||
|
|
73416ebb62 | ||
|
|
bddf484c2c | ||
|
|
21531f1e80 | ||
|
|
ac36ea51cf | ||
|
|
ae3fcb5bd8 | ||
|
|
5767ad3fc5 | ||
|
|
4f41c3fb40 | ||
|
|
b249ed7257 | ||
|
|
2b4dcc8c81 | ||
|
|
15a5aa1a68 | ||
|
|
3cf229a898 | ||
|
|
e94172255d | ||
|
|
d21aee5143 | ||
|
|
65a56c2560 | ||
|
|
1bd71f2f44 | ||
|
|
fe33073f2e | ||
|
|
14d52897ad | ||
|
|
ca434fba6e | ||
|
|
55f8029dc2 | ||
|
|
a3dc33c133 | ||
|
|
a274ddba3a | ||
|
|
8e36485a76 | ||
|
|
5f2e74bbcc | ||
|
|
ce6fc8609b | ||
|
|
a251669fa1 | ||
|
|
4f6636b3ca | ||
|
|
28a3093d48 | ||
|
|
fe0506b88e | ||
|
|
e78f891acd | ||
|
|
948fdfe482 | ||
|
|
757d19c2f7 | ||
|
|
a4b67ccbff | ||
|
|
1fca6becd3 | ||
|
|
6965b5c192 | ||
|
|
dfa62b660d | ||
|
|
5ff2cd3418 | ||
|
|
f56eec6fa3 | ||
|
|
65330a32cc | ||
|
|
003237b086 | ||
|
|
70f89b1bfc | ||
|
|
4f5f01a748 | ||
|
|
e41d7a0bd5 | ||
|
|
b745ae2667 | ||
|
|
2f1e9b2eb8 | ||
|
|
c68b11e8cb | ||
|
|
16d20bde09 | ||
|
|
bea44d948e | ||
|
|
b230e7a73a | ||
|
|
e024116b77 | ||
|
|
79b6d4734a | ||
|
|
dc26181da4 | ||
|
|
0603991beb | ||
|
|
17fa4211ac | ||
|
|
81a1d8f589 | ||
|
|
055f1e9639 | ||
|
|
cac11ee826 | ||
|
|
f8d9a8be87 | ||
|
|
9c601542d0 | ||
|
|
7c7769a7c7 | ||
|
|
17e8181b4e | ||
|
|
ee939f7a6d | ||
|
|
6cc89eff2c | ||
|
|
d6d04cab24 | ||
|
|
bb95f90a62 | ||
|
|
1806322554 | ||
|
|
38b5a85d8a | ||
|
|
68b55cd855 | ||
|
|
43b4e1b67b | ||
|
|
f3fb712051 | ||
|
|
f6779193c0 | ||
|
|
29f72efac3 | ||
|
|
4985a44fe2 | ||
|
|
6a9bc6f6c2 | ||
|
|
bf6b174233 | ||
|
|
5de98f23bb | ||
|
|
1d02104c51 | ||
|
|
4f22c39651 | ||
|
|
6c01a1191f | ||
|
|
b95f7d5bbc | ||
|
|
c32013dbba | ||
|
|
6cdb7e77dd | ||
|
|
0e7ed4c667 | ||
|
|
3b802c9a13 | ||
|
|
996e5dd235 | ||
|
|
025749027b | ||
|
|
44babb9ce5 | ||
|
|
a63fe2be24 | ||
|
|
bf75f61ddf | ||
|
|
1b608fcc8a | ||
|
|
c4cf38601b | ||
|
|
25fc19e7c6 | ||
|
|
9c3b2f7ad6 | ||
|
|
436b8e1461 | ||
|
|
272e71fec2 | ||
|
|
4ba97c7687 | ||
|
|
3df5843503 | ||
|
|
20eff9f6d2 | ||
|
|
69eedb4c92 | ||
|
|
4a8bbc2216 | ||
|
|
92b766095d | ||
|
|
b18e4064a2 | ||
|
|
58b67347e6 | ||
|
|
1a0fb4cf83 | ||
|
|
6393e1e709 | ||
|
|
a78b6f920d | ||
|
|
7da520b22e | ||
|
|
45dc75b3be | ||
|
|
1cce9da80a | ||
|
|
21bf3ddaf2 | ||
|
|
514f2a8edd | ||
|
|
5f5d74c534 | ||
|
|
b3b70035a1 | ||
|
|
666f5c5ea9 | ||
|
|
55488ad77f | ||
|
|
23fd28afc3 | ||
|
|
f6cb20f516 | ||
|
|
096abc638a | ||
|
|
d3fc1ee7d2 | ||
|
|
cd2bf2591d | ||
|
|
8428bd90a3 | ||
|
|
6872af907c | ||
|
|
dc906ba0c7 | ||
|
|
36b814de57 | ||
|
|
142ad97886 | ||
|
|
cbc3daf739 | ||
|
|
4f91f66a37 | ||
|
|
1671e3cc7e | ||
|
|
24a85f8de6 | ||
|
|
2432150321 | ||
|
|
38141e3aa7 | ||
|
|
5f5ef81f11 | ||
|
|
a1e786011d | ||
|
|
7b4c8802a1 | ||
|
|
dddbce8a41 | ||
|
|
7ce8328d28 | ||
|
|
b62c45fea3 | ||
|
|
7deca69820 | ||
|
|
8753c483ff | ||
|
|
2149e1f0a0 | ||
|
|
c52ebd96ba | ||
|
|
904716f56b | ||
|
|
a858261832 | ||
|
|
9fccbf9364 | ||
|
|
41a023e21d | ||
|
|
cf378d51fd | ||
|
|
7f5022db0c | ||
|
|
9ea025c543 | ||
|
|
477747142a | ||
|
|
29b0e3eaf7 | ||
|
|
9ab21ceb59 | ||
|
|
f7f1b60444 | ||
|
|
da257336b0 | ||
|
|
565996a087 | ||
|
|
fac1c49727 | ||
|
|
3a760ec0ec | ||
|
|
d90a638101 | ||
|
|
047a8d3f0d | ||
|
|
2c4777f579 | ||
|
|
0642cf31f3 | ||
|
|
b1b3f7af54 | ||
|
|
cb41d77d2a | ||
|
|
0fd7d3a8c3 | ||
|
|
8bc459ba99 | ||
|
|
5c312ec0c9 | ||
|
|
bf92c36be1 | ||
|
|
253cb391b3 | ||
|
|
55c262a321 | ||
|
|
af3931371e | ||
|
|
9ccc455f8d | ||
|
|
8b0a3c75cb | ||
|
|
fac4efb9b9 | ||
|
|
f17080df7f | ||
|
|
2077e563b7 | ||
|
|
1604666988 | ||
|
|
6c6e680d91 | ||
|
|
9f222c5ed2 | ||
|
|
3d0b297306 | ||
|
|
ce5cbb0491 | ||
|
|
9bf03a84c1 | ||
|
|
3e9bb6859b | ||
|
|
86f0b08b8d | ||
|
|
38db5f1c83 | ||
|
|
9f10724eda | ||
|
|
bb8c803bdf | ||
|
|
9d167deb10 | ||
|
|
093fe1bae9 | ||
|
|
9dc3fbcfc4 | ||
|
|
be9bab5c29 | ||
|
|
52eac73726 | ||
|
|
f05e23ed20 | ||
|
|
b4abb0f337 | ||
|
|
41c983b386 | ||
|
|
f84b2ec6d1 | ||
|
|
e0cb7e4342 | ||
|
|
204f514633 | ||
|
|
5005188a13 | ||
|
|
8189f78eed | ||
|
|
2eb19a96b1 | ||
|
|
fd26d2e9fa | ||
|
|
370d9c2931 | ||
|
|
c00359a521 | ||
|
|
71d0e14210 | ||
|
|
d925367cae | ||
|
|
179cd18f70 | ||
|
|
072cd5a745 | ||
|
|
c52d9fd1b6 | ||
|
|
e45f72e8e4 | ||
|
|
645cf90335 | ||
|
|
e5b2e3c602 | ||
|
|
897d7bd564 | ||
|
|
07cb04e311 | ||
|
|
b1fcc9e6bf | ||
|
|
1f174b9d95 | ||
|
|
c154402c45 | ||
|
|
17b8056b31 | ||
|
|
40160ec6d6 | ||
|
|
fe92a89b93 | ||
|
|
1cb5a73243 | ||
|
|
70fa1564c2 | ||
|
|
fcd8397db2 | ||
|
|
4688d72945 | ||
|
|
c55f59e030 | ||
|
|
be108c0fea | ||
|
|
4e3fb8ed5b | ||
|
|
9d3f1e0d26 | ||
|
|
88ca7fd738 | ||
|
|
30e1fe1035 | ||
|
|
562595fa02 | ||
|
|
d6520cd761 | ||
|
|
13cfca4814 | ||
|
|
e20461d961 | ||
|
|
d04c0d51fe | ||
|
|
a5b25c5a79 | ||
|
|
6142715c06 | ||
|
|
34e130a3e0 | ||
|
|
09434f1486 | ||
|
|
1a92b92f8a | ||
|
|
fb903bb091 | ||
|
|
34fce03f0f | ||
|
|
bfa40d1d3f | ||
|
|
f829bd7190 | ||
|
|
ab4e662484 | ||
|
|
35ba83584f | ||
|
|
50cf083668 | ||
|
|
dd9325d8c9 | ||
|
|
3b7626aacb | ||
|
|
a9aa3e732c | ||
|
|
ae0ea761ce | ||
|
|
1a3a0adc63 | ||
|
|
006a2f37dd | ||
|
|
65b543fba6 | ||
|
|
b459d09030 | ||
|
|
97fa2702d1 | ||
|
|
4af4d3eeca | ||
|
|
1e0155faf2 | ||
|
|
81033c52fb | ||
|
|
86639fe62a | ||
|
|
54e7a6f57a | ||
|
|
32826119fc | ||
|
|
12f586eeb7 | ||
|
|
f9f169bb9e | ||
|
|
2fe27fdeea | ||
|
|
19afe95cc6 | ||
|
|
af410879cd | ||
|
|
26e32ec1cb | ||
|
|
3a60764f32 | ||
|
|
5398ed52d8 | ||
|
|
6ede31cb04 | ||
|
|
88ddb103f2 | ||
|
|
525d055d4a | ||
|
|
4c8a08d6ba | ||
|
|
280c45c269 | ||
|
|
8bb080fc7c | ||
|
|
619d931568 | ||
|
|
50a3853eb4 | ||
|
|
0bfd00e734 | ||
|
|
0b1d4ff81b | ||
|
|
792ad30a8c | ||
|
|
ed5595f792 | ||
|
|
5c8cbf9806 | ||
|
|
57342459dd | ||
|
|
901c4f57aa | ||
|
|
1c6da5934d | ||
|
|
e5344bfcc5 | ||
|
|
46a85358d7 | ||
|
|
6632135ec0 | ||
|
|
7b73dcf906 | ||
|
|
75b1ef1ef4 | ||
|
|
830f83a44d | ||
|
|
88d6615e4e | ||
|
|
cc1b340cff | ||
|
|
8ccf5a07ca | ||
|
|
10a8c6acdd | ||
|
|
2cd1d44739 | ||
|
|
de536fc953 | ||
|
|
a1456767f7 | ||
|
|
e0feff22c9 | ||
|
|
44ff09015c | ||
|
|
3c45182097 | ||
|
|
c02da2c5a6 | ||
|
|
5cd91fa1a3 | ||
|
|
d21739af1a | ||
|
|
bd372e9cf4 | ||
|
|
afe04aa8bf | ||
|
|
9b2bad8bed | ||
|
|
7622f2e339 | ||
|
|
3d05cb017d | ||
|
|
1c54deab52 | ||
|
|
28d71e2d9f | ||
|
|
02c920f4fd | ||
|
|
1b50ecc52b | ||
|
|
f8ea534f3b | ||
|
|
9aea2f90a5 | ||
|
|
38cc698b4d | ||
|
|
f13f465024 | ||
|
|
e8d6ad6d66 | ||
|
|
434f1bffad | ||
|
|
0b0db78799 | ||
|
|
b3434a8b88 | ||
|
|
223ce77eca | ||
|
|
ec9787770e | ||
|
|
360a007f16 | ||
|
|
76652ac3ca | ||
|
|
14cec299f5 | ||
|
|
55c42f1663 | ||
|
|
85808700c8 | ||
|
|
73fba0c5f1 | ||
|
|
7060008b83 | ||
|
|
ae4f2d63c8 | ||
|
|
9129309f0a | ||
|
|
c987bdcbf9 | ||
|
|
f6a451256f | ||
|
|
71b942b581 | ||
|
|
cd2e9e9dcf | ||
|
|
347309b26f | ||
|
|
8d67870da4 | ||
|
|
04e0583c31 | ||
|
|
c37d0be027 | ||
|
|
4c136cddd7 | ||
|
|
b50dc40fb8 | ||
|
|
6160dc3995 | ||
|
|
a1f40400c1 | ||
|
|
c940f00e2d | ||
|
|
97ccbc189a | ||
|
|
0a2c101c28 | ||
|
|
c526a6bce8 | ||
|
|
da9b2452a7 | ||
|
|
210ae2ffb2 | ||
|
|
9f16906499 | ||
|
|
605c429770 | ||
|
|
b064872d9a | ||
|
|
ff36fa8a53 | ||
|
|
19682b4225 | ||
|
|
536bd72de9 | ||
|
|
87ca9948ec | ||
|
|
57e5c35277 | ||
|
|
8b4c3ec0c7 | ||
|
|
9c7eb75a9a | ||
|
|
b0fe167910 | ||
|
|
6223030360 | ||
|
|
1835e4b9f9 | ||
|
|
8ca49f906a | ||
|
|
dac6c48b1e | ||
|
|
2b0694ec8c | ||
|
|
26bfc4f0a3 | ||
|
|
fbec10758b | ||
|
|
30d43b027f | ||
|
|
693b1c9b23 | ||
|
|
ce0efc37cc | ||
|
|
11c105aa1d | ||
|
|
9167aedcc8 | ||
|
|
fc4c3e3199 | ||
|
|
61a8490c66 | ||
|
|
abd6e496ab | ||
|
|
8e1b2ba32e | ||
|
|
c7fc8fdf96 | ||
|
|
7f4bb93782 | ||
|
|
a10a8e9c70 | ||
|
|
b595ddf20d | ||
|
|
4bd9b20c8a | ||
|
|
9190061ba4 | ||
|
|
41f9fd85f6 | ||
|
|
cdff2697ef | ||
|
|
ca02695993 | ||
|
|
9a2f2a94bf | ||
|
|
e22c245d08 | ||
|
|
171242680d | ||
|
|
5995f2ed71 | ||
|
|
abbde39a02 | ||
|
|
e1a17aff4c | ||
|
|
b8c5646c49 | ||
|
|
62b0b601c2 | ||
|
|
e43b4815b5 | ||
|
|
923d9c1bbb | ||
|
|
e3a6007a76 | ||
|
|
00ae8f79e4 | ||
|
|
dc1330aef5 | ||
|
|
3c1e3792d6 | ||
|
|
603164e66a | ||
|
|
f19b5ce409 | ||
|
|
f356da1b5e | ||
|
|
07a2f80cbc | ||
|
|
2888f43c8a | ||
|
|
697e105ffa | ||
|
|
5d7174d789 | ||
|
|
ab3b072249 | ||
|
|
690e79445d | ||
|
|
bce68bc898 | ||
|
|
94091a7522 | ||
|
|
2852520d90 | ||
|
|
abf3a13433 | ||
|
|
cebd351e61 | ||
|
|
19cff80af8 | ||
|
|
9830e50a29 | ||
|
|
820e6605f8 | ||
|
|
c06bba77d4 | ||
|
|
4ba217bc42 | ||
|
|
a42a9e901c | ||
|
|
3482d76175 | ||
|
|
63c9315b24 | ||
|
|
40126bbe60 | ||
|
|
70615f4036 | ||
|
|
1b1b96aff8 | ||
|
|
de1e963ffa | ||
|
|
a299b1b8e3 | ||
|
|
4cc0eebf4b | ||
|
|
b1e97edc59 | ||
|
|
a56dfe486b | ||
|
|
e9c3529476 | ||
|
|
c9a4bdf44d | ||
|
|
c6fe82018a | ||
|
|
3016723198 | ||
|
|
e453b949dd | ||
|
|
1236e3f59c | ||
|
|
c6d314e954 | ||
|
|
2c548d45f8 | ||
|
|
4c741cc8b6 | ||
|
|
4b5af13ac0 | ||
|
|
35cbfa63a6 | ||
|
|
dd84681d30 | ||
|
|
0a1fca5d7d | ||
|
|
af033c02c5 | ||
|
|
40506e33e7 | ||
|
|
b542921f3d | ||
|
|
b0a7f8df92 | ||
|
|
32e16bda23 | ||
|
|
e32ada318a | ||
|
|
b011610bb3 | ||
|
|
723c7c56dc | ||
|
|
6b7a0c1d3f | ||
|
|
22f7981cff | ||
|
|
ad29d9ffb3 | ||
|
|
8200f43a04 | ||
|
|
3fceae8070 | ||
|
|
8cd8e34719 | ||
|
|
930981c9d9 | ||
|
|
f8b22d51a9 | ||
|
|
2b1b7eb6b3 | ||
|
|
e241e503b7 | ||
|
|
39940ec1f5 | ||
|
|
f725b7e1ab | ||
|
|
da66bed946 | ||
|
|
58fe024aea | ||
|
|
6205cf3fe4 | ||
|
|
fb6c87da07 | ||
|
|
d0fb442c59 | ||
|
|
1c949354c6 | ||
|
|
3a042cdb48 | ||
|
|
a97914fff3 | ||
|
|
ec00838a03 | ||
|
|
860bd53fb3 | ||
|
|
477638435c | ||
|
|
cb384dfa29 | ||
|
|
dd15a98879 | ||
|
|
6b2637468c | ||
|
|
ab4f4bca6d | ||
|
|
73a611a3b9 | ||
|
|
c5333ab597 | ||
|
|
75e8c4699c | ||
|
|
8fcb0ff0b6 | ||
|
|
dbd569d2ab | ||
|
|
40eca63653 | ||
|
|
e7eadcde5a | ||
|
|
36adee4dc8 | ||
|
|
9fe1ad93cb | ||
|
|
8311761c82 | ||
|
|
8702f965a2 | ||
|
|
888a685e26 | ||
|
|
51c1d18e68 | ||
|
|
af6476ca74 | ||
|
|
614d256cb6 | ||
|
|
3867431ed1 | ||
|
|
1f7f5646de | ||
|
|
40623cf967 | ||
|
|
d07e4f8bd1 | ||
|
|
e4bf189e9d | ||
|
|
2292ef8d0e | ||
|
|
a114af4eea | ||
|
|
5152aebde1 | ||
|
|
1310a1d99e | ||
|
|
a20d3eaebb | ||
|
|
3cc61f8e30 | ||
|
|
ef2c9c330c | ||
|
|
5db06105ba | ||
|
|
24433ceb27 | ||
|
|
ff797f7410 | ||
|
|
cef32c1123 | ||
|
|
50d4cedd92 | ||
|
|
27ad376071 | ||
|
|
eebcd30067 | ||
|
|
1afe2f05dc | ||
|
|
170e3117d7 | ||
|
|
fc08e69039 | ||
|
|
25918ddd2a | ||
|
|
edfd2af949 | ||
|
|
dffaeaca1e | ||
|
|
88bdae8218 | ||
|
|
fdfe00452b | ||
|
|
b38d553d60 | ||
|
|
0833275f03 | ||
|
|
4252d015ca | ||
|
|
9fd0072740 | ||
|
|
4dbbdb1671 | ||
|
|
4b5c9acc72 | ||
|
|
b63218206d | ||
|
|
349ccf229b | ||
|
|
85602b406a | ||
|
|
cc6077fbf5 | ||
|
|
495534a054 | ||
|
|
57513f38d3 | ||
|
|
0b3abf2c78 | ||
|
|
9294ef73b7 | ||
|
|
36ec06493e | ||
|
|
6068ad15d4 | ||
|
|
c2c9173eff | ||
|
|
99e7856269 | ||
|
|
1355d415e9 | ||
|
|
410059c9f3 | ||
|
|
80096884f6 | ||
|
|
d2dd2ae306 | ||
|
|
5c3ce875b2 | ||
|
|
6970250b57 | ||
|
|
c880c53199 | ||
|
|
75371d1462 | ||
|
|
2c762f47c9 | ||
|
|
3246efa580 | ||
|
|
4060afb7c7 | ||
|
|
e4d3f51161 | ||
|
|
1777e9d0b1 | ||
|
|
707b454bf4 | ||
|
|
ca4c99b1bf | ||
|
|
a302549d3e | ||
|
|
1a7418e890 | ||
|
|
c1219a3b48 | ||
|
|
632e4ac6ac | ||
|
|
18ae17871d | ||
|
|
09ebb217dd | ||
|
|
dbccfc2b26 | ||
|
|
28f7240dd3 | ||
|
|
9f10956ce1 | ||
|
|
c9a50b2f2d | ||
|
|
d683d7185d | ||
|
|
fc13938fc6 | ||
|
|
f8e8b10e10 | ||
|
|
050292229f | ||
|
|
906e97223a | ||
|
|
dc10b24730 | ||
|
|
d3ef6c330a | ||
|
|
4700762132 | ||
|
|
08d606c3d7 | ||
|
|
ed82b919a0 | ||
|
|
4fa065180b | ||
|
|
cd9b47315c | ||
|
|
062c3948ba | ||
|
|
bff3b902e8 | ||
|
|
3b4900193b | ||
|
|
bab317edd1 | ||
|
|
1dac9248ad | ||
|
|
c57b32fa0c | ||
|
|
43c22b4411 | ||
|
|
bee72be733 | ||
|
|
ea159b6004 | ||
|
|
ac72f28fc8 | ||
|
|
e4e7966d64 | ||
|
|
48cb526e0b | ||
|
|
fd6d28a9fa | ||
|
|
944dc988bf | ||
|
|
2fac218a36 | ||
|
|
16c184efdf | ||
|
|
6b5c49c269 | ||
|
|
af6a43c49b | ||
|
|
18310cfd7c | ||
|
|
9046767da4 | ||
|
|
f70c83345a | ||
|
|
52f5f9545a | ||
|
|
1434fb66d3 | ||
|
|
f325a0016b | ||
|
|
9d7bcac680 | ||
|
|
8d11ab3c35 | ||
|
|
56e491ad8a | ||
|
|
9296a369de | ||
|
|
9050e6ee87 | ||
|
|
84af4f0133 | ||
|
|
6338413696 | ||
|
|
fbec7bda6a | ||
|
|
0f371a2869 | ||
|
|
c30346cf5d | ||
|
|
64ef2389dc | ||
|
|
6ec55cbeeb | ||
|
|
3430cdd91b | ||
|
|
9702568161 | ||
|
|
016a9d6535 | ||
|
|
9f10c1a805 | ||
|
|
7631a47612 | ||
|
|
b8851143f9 | ||
|
|
f3028ff6f3 | ||
|
|
3d35fae890 | ||
|
|
1636291b03 | ||
|
|
e69e8d35b9 | ||
|
|
9438540bf9 | ||
|
|
d34179b9eb | ||
|
|
90074ce98c | ||
|
|
fd0054a800 | ||
|
|
0fb5f15673 | ||
|
|
16929129f0 | ||
|
|
524e48a81d | ||
|
|
76b1a3a88d | ||
|
|
b74351e55f | ||
|
|
a1b4dc42cb | ||
|
|
5ae5125919 | ||
|
|
82a68cd3da | ||
|
|
a41150836a | ||
|
|
e637b43117 | ||
|
|
443ba0f396 | ||
|
|
71ea4a2c9b | ||
|
|
a8ab18bd50 | ||
|
|
ce91423a19 | ||
|
|
5875d1419b | ||
|
|
24a9bc23b7 | ||
|
|
97c3688788 | ||
|
|
0b915b1dd2 | ||
|
|
5fcbfa780f | ||
|
|
a736010fdd | ||
|
|
b733125085 | ||
|
|
5ef36f1b6f | ||
|
|
7cc772cd39 | ||
|
|
7ae73fad68 | ||
|
|
96dcfd3cfe | ||
|
|
9833841101 | ||
|
|
1cd67b62e9 | ||
|
|
ffde9f7842 | ||
|
|
2819509786 | ||
|
|
5b222996c8 | ||
|
|
62e22b2995 | ||
|
|
2346be55fc | ||
|
|
61d0c4042b | ||
|
|
de0b373c7c | ||
|
|
2c1926993b | ||
|
|
e14a3af491 | ||
|
|
0968fd339f | ||
|
|
2ca1861a54 | ||
|
|
ce9daa4857 | ||
|
|
e15fb6b9b2 | ||
|
|
f1ffc72a62 | ||
|
|
37eee4235d | ||
|
|
871d530d6a | ||
|
|
16b1e84138 | ||
|
|
100ce7b62f | ||
|
|
c01cba3ab5 | ||
|
|
ef1607c088 | ||
|
|
123e8c8d2b | ||
|
|
9667eec9de | ||
|
|
26625f3e2a | ||
|
|
e94e6d8d95 | ||
|
|
f0bc50eb71 | ||
|
|
6163fb830e | ||
|
|
167948f5c3 | ||
|
|
37d191bc02 | ||
|
|
da7b648971 | ||
|
|
8b7f43f855 | ||
|
|
21770eb0f3 | ||
|
|
17be8023d9 | ||
|
|
9754c5b32b | ||
|
|
a16cb39423 | ||
|
|
dfefb05b10 | ||
|
|
55bdf2682c | ||
|
|
3a50ae92ec | ||
|
|
fe77f6a2f3 | ||
|
|
cd35218141 | ||
|
|
daeef8d5b3 | ||
|
|
184230058a | ||
|
|
a08b323e61 | ||
|
|
745cc5c655 | ||
|
|
3719c3b736 | ||
|
|
0e424de684 | ||
|
|
285ef0ca01 | ||
|
|
ce0df52b7e | ||
|
|
e03204dccf | ||
|
|
0dea2d8515 | ||
|
|
31469bb05b | ||
|
|
b4f8e5cdb9 | ||
|
|
cefec77646 | ||
|
|
7c7adc1361 | ||
|
|
af6609b0a3 | ||
|
|
3ae950d829 | ||
|
|
c2f64d4da1 | ||
|
|
9b941dd800 | ||
|
|
4b9f6baf79 | ||
|
|
a675cbd13b | ||
|
|
bd77afb2df | ||
|
|
681f5a521f | ||
|
|
f55b9a8530 | ||
|
|
da6f954e0d | ||
|
|
453eaf6871 | ||
|
|
0ce709d96a | ||
|
|
fd808dec52 | ||
|
|
ac949f8181 | ||
|
|
48c2c8c049 | ||
|
|
2e2e134a1b | ||
|
|
4e8bd97d9c | ||
|
|
a31eb6a80c | ||
|
|
b0dd7bee5b | ||
|
|
a291c1676f | ||
|
|
7bfa302b75 | ||
|
|
0935ab14d6 | ||
|
|
9797b676b1 | ||
|
|
2b02f7eb99 | ||
|
|
71e2c26577 | ||
|
|
b78b36ce33 | ||
|
|
0130efeedf | ||
|
|
35b51fcbb5 | ||
|
|
9a5aa059f9 | ||
|
|
8b91360a33 | ||
|
|
85d80d8fb7 | ||
|
|
695da9ee29 | ||
|
|
d114e9040b | ||
|
|
c600196b1a | ||
|
|
3d8edcb77b | ||
|
|
f496740c19 | ||
|
|
0c2a207d82 | ||
|
|
e9c456ff5c | ||
|
|
bcbe1b410a | ||
|
|
206820d27a | ||
|
|
8d8b72cf3f | ||
|
|
a3cc9aaf6f | ||
|
|
812424bf46 | ||
|
|
8af05c28a3 | ||
|
|
970600724d | ||
|
|
c038f513d3 | ||
|
|
1e5978ad4f | ||
|
|
2dbc991af9 | ||
|
|
c4b9c12677 | ||
|
|
d7759b88ee | ||
|
|
25e4fcf5c8 | ||
|
|
ce382788b0 | ||
|
|
c7874ed3fe | ||
|
|
65affacc50 | ||
|
|
6e9159a9ad | ||
|
|
dda23a6076 | ||
|
|
8d71a931a3 | ||
|
|
0a67d7e951 | ||
|
|
52f3377d9e | ||
|
|
b24a9b29d7 | ||
|
|
bac93e14ad | ||
|
|
1454e448e6 | ||
|
|
9b16e245ba | ||
|
|
c2f59e72d6 | ||
|
|
7a5cfc4bae | ||
|
|
f5129dbd1a | ||
|
|
07cbc0193a | ||
|
|
1c1346dfa9 | ||
|
|
58af6db3a7 | ||
|
|
342234eb64 | ||
|
|
93cfc7edbb | ||
|
|
5b6a2d9efe | ||
|
|
5ddfd912ef | ||
|
|
e9cc9ae816 | ||
|
|
ba2a7d72e7 | ||
|
|
308affdcf0 | ||
|
|
07e2c898c6 | ||
|
|
b9fad14f87 | ||
|
|
5a71521021 | ||
|
|
11aa17a57c | ||
|
|
d2397b60e7 | ||
|
|
c31422b308 | ||
|
|
7ea9909618 | ||
|
|
62fa5d59cb | ||
|
|
7acf5d3831 | ||
|
|
1112eb75e3 | ||
|
|
ef268c5ee5 | ||
|
|
15b7f9793f | ||
|
|
04cc1968db | ||
|
|
4891be8d0d | ||
|
|
cc46604bdb | ||
|
|
bcbd448767 | ||
|
|
892c020b00 | ||
|
|
8e5b1c44bc | ||
|
|
2340e7e6e5 | ||
|
|
98ecfc4f76 | ||
|
|
0ca42e81f3 | ||
|
|
8b2d07e82e | ||
|
|
3e9f7ab3e4 | ||
|
|
89524d55bd | ||
|
|
2dc07d7505 | ||
|
|
4e73726bee | ||
|
|
dfc27e3c30 | ||
|
|
c78f7463a9 | ||
|
|
793a42e7f5 | ||
|
|
700c31dd13 | ||
|
|
f023b89b73 | ||
|
|
5eb431dcd0 | ||
|
|
5d99398850 | ||
|
|
43fc696d7b | ||
|
|
bfe9d594a9 | ||
|
|
8651799097 | ||
|
|
9d8fb81413 | ||
|
|
34c0f77319 | ||
|
|
7b628ca09c | ||
|
|
5dc260d07e | ||
|
|
86ac5f09bc | ||
|
|
1c492e2791 | ||
|
|
d7dbe6f329 | ||
|
|
c1734c6ec5 | ||
|
|
b2141a204f | ||
|
|
ce90e0c372 | ||
|
|
296fb41e92 | ||
|
|
30992a8b05 | ||
|
|
af5c4dedca | ||
|
|
8b3afa5831 | ||
|
|
574ecfb9c4 | ||
|
|
466f9a3eb0 | ||
|
|
6644c2fd17 | ||
|
|
49447decdd | ||
|
|
4720270763 | ||
|
|
e49dcfeff7 | ||
|
|
70e778c2a8 | ||
|
|
975477d0f0 | ||
|
|
1580b5fb56 | ||
|
|
ebf4ac4e83 | ||
|
|
64b3d28d41 | ||
|
|
07a4b26697 | ||
|
|
cf55a38879 | ||
|
|
7a734e0a28 | ||
|
|
e0b35b3086 | ||
|
|
49bec758b7 | ||
|
|
950d03a9ea | ||
|
|
e6a1209c53 | ||
|
|
f2316a8eda | ||
|
|
8f58e07ea1 | ||
|
|
9943ca916d | ||
|
|
75a76fb836 | ||
|
|
2a0ab2aa9b | ||
|
|
fd5398ce80 | ||
|
|
633bef7ef1 | ||
|
|
fcd09abec6 | ||
|
|
38071ce9d5 | ||
|
|
8642ac8e86 | ||
|
|
57d6ef26e9 | ||
|
|
6a38441562 | ||
|
|
4b8409096d | ||
|
|
39dc989915 | ||
|
|
5273415ce5 | ||
|
|
47a91e7457 | ||
|
|
f5c6875da5 | ||
|
|
eec11a6651 | ||
|
|
b95e6602c3 | ||
|
|
6897372258 | ||
|
|
ee1d506d06 | ||
|
|
d620500757 | ||
|
|
65dd2214d9 | ||
|
|
3d8bc140aa | ||
|
|
d8f40e080d | ||
|
|
6ab53fca36 | ||
|
|
8fafc2f9ed | ||
|
|
c4580ee2ca | ||
|
|
a8fa61ed68 | ||
|
|
f3779b8e73 | ||
|
|
ca5b996299 | ||
|
|
baf218c233 | ||
|
|
7880e6e6c8 | ||
|
|
97305b7461 | ||
|
|
1fca65fdf6 | ||
|
|
aaa019ce37 | ||
|
|
32d2be0d08 | ||
|
|
83e4d04ce7 | ||
|
|
8901d23685 | ||
|
|
98a03c192d | ||
|
|
f4419bd240 | ||
|
|
07e1a158e9 | ||
|
|
2641884342 | ||
|
|
b1bc549cf7 | ||
|
|
8cf57eb582 | ||
|
|
aa404ded34 | ||
|
|
eee5046b82 | ||
|
|
9222a5d376 | ||
|
|
0a0f8ff41c | ||
|
|
fe7180bc74 | ||
|
|
bdf733973c | ||
|
|
0f45386673 | ||
|
|
88d2a97670 | ||
|
|
922c361f6a | ||
|
|
0e4db0b28f | ||
|
|
d150a2f4dd | ||
|
|
5eeb704f25 | ||
|
|
e3c2a95e5f | ||
|
|
e45ddc086f | ||
|
|
51ced7d3e3 | ||
|
|
036e580045 | ||
|
|
9eaed7cec7 | ||
|
|
eb5b298bc1 | ||
|
|
5de8271181 | ||
|
|
f4ff5ecbdf | ||
|
|
1ebebbc698 | ||
|
|
b3f5131981 | ||
|
|
8399d31af2 | ||
|
|
1d2b52d15c | ||
|
|
4fe8b8e5b7 | ||
|
|
cb1114dba6 | ||
|
|
c720bdc324 | ||
|
|
bc412e1f6f | ||
|
|
ddd151a23b | ||
|
|
ac20150d04 | ||
|
|
9594c82180 | ||
|
|
93b663e43d | ||
|
|
65820893c9 | ||
|
|
6a65631cbd | ||
|
|
382be2cb46 | ||
|
|
0aa3a0a5b0 | ||
|
|
77b449856d | ||
|
|
b59d93b01e | ||
|
|
afe34df3cc | ||
|
|
9af4c0420e | ||
|
|
952a4ab94a | ||
|
|
e210f271bb | ||
|
|
64b20cac88 | ||
|
|
f90c09d715 | ||
|
|
5644da1a3e | ||
|
|
a2d6e58875 | ||
|
|
0815c83974 | ||
|
|
65ca0503a7 | ||
|
|
5f68c562f9 | ||
|
|
9ba080e829 | ||
|
|
4df0385c23 | ||
|
|
75cad910db | ||
|
|
262f00df3e | ||
|
|
1dce0b2af1 | ||
|
|
c33f39b39c | ||
|
|
bcc4580cdc | ||
|
|
dba3aaedab | ||
|
|
c9cd8bd13b | ||
|
|
5c1ca0cc47 | ||
|
|
2ac8c83be0 | ||
|
|
66869f2239 | ||
|
|
1bc5036d2e | ||
|
|
bcdc68ac94 | ||
|
|
f8d5c4594f | ||
|
|
437dc22862 | ||
|
|
271178d1a5 | ||
|
|
5287b482e6 | ||
|
|
4fe24a4f3c | ||
|
|
551cb26afb | ||
|
|
d9ae284463 | ||
|
|
00d5f6699b | ||
|
|
3ca4bab2d5 | ||
|
|
e9c855f837 | ||
|
|
f09e7ac630 | ||
|
|
e511b14b2a | ||
|
|
6ca32d800d | ||
|
|
218ab7f967 | ||
|
|
099ad31deb | ||
|
|
2644b9d792 | ||
|
|
67cdf1c9b3 | ||
|
|
1eddf254e1 | ||
|
|
c148c33510 | ||
|
|
429abc1278 | ||
|
|
3dca3baaec | ||
|
|
bbb6e25c68 | ||
|
|
b428227895 | ||
|
|
6c8ba6c5fc | ||
|
|
01f567e915 | ||
|
|
f44f98be33 | ||
|
|
16f24086f8 | ||
|
|
f4ab46a8bd | ||
|
|
8ae4c745e1 | ||
|
|
b274d22205 | ||
|
|
159a1e4bf2 | ||
|
|
a6596ace70 | ||
|
|
28ad93f02f | ||
|
|
4575df38e6 | ||
|
|
b36b7fee16 | ||
|
|
01847cabd2 | ||
|
|
9a721adbff | ||
|
|
ceb78d2bb9 | ||
|
|
02644ab65a | ||
|
|
98c2d20ab0 | ||
|
|
84e76ce4ad | ||
|
|
05a382172f | ||
|
|
766ce5ab7b | ||
|
|
463f2b7dab | ||
|
|
a6b089bd17 | ||
|
|
05bca1e4e4 | ||
|
|
73a18c99e6 | ||
|
|
c795c6742d | ||
|
|
cc2c50ad09 | ||
|
|
f990df97ce | ||
|
|
5d7ed5cbce | ||
|
|
12dbc1ed7b | ||
|
|
cf78745271 | ||
|
|
52865750da | ||
|
|
6b45f39322 | ||
|
|
31b8ad8230 | ||
|
|
49c4f29c1f | ||
|
|
a35730a7b6 | ||
|
|
b8993dbd78 | ||
|
|
c94091d8b1 | ||
|
|
4c01845f32 | ||
|
|
b17f5b750e | ||
|
|
a16dcbbb5b | ||
|
|
c74df4c880 | ||
|
|
e34190fe66 | ||
|
|
7cbb9add48 | ||
|
|
35a6946b63 | ||
|
|
1cb8f0fa73 | ||
|
|
5bca8a1d47 | ||
|
|
7e93c2368e | ||
|
|
9fad889f26 | ||
|
|
95294d245c | ||
|
|
c5b600ad48 | ||
|
|
9cce277eaf | ||
|
|
7e3fe03fb0 | ||
|
|
1bc8c92e2f | ||
|
|
f0d332e287 | ||
|
|
e7ecedf3e9 | ||
|
|
d034c004f9 | ||
|
|
7ba61bc983 | ||
|
|
2b55f2d00f | ||
|
|
4d19970663 | ||
|
|
5ccb4f10d2 | ||
|
|
6375982d19 | ||
|
|
58882c0555 | ||
|
|
fd7be10f3a | ||
|
|
1c1ba17908 | ||
|
|
ef25009bcd | ||
|
|
3c5b68caa7 | ||
|
|
37fe03e1ca | ||
|
|
36d5d764d8 | ||
|
|
b310d7c40d | ||
|
|
290fb7f7e7 | ||
|
|
aa0be51d40 | ||
|
|
77bab6c782 | ||
|
|
9d81d24a7a | ||
|
|
de848d4e1c | ||
|
|
440eba7c9b | ||
|
|
cf81ee5f41 | ||
|
|
e29ef5561f | ||
|
|
6ef45c9e33 | ||
|
|
2094667417 | ||
|
|
928f6e068b | ||
|
|
e253ce0948 | ||
|
|
58feb81c36 | ||
|
|
f4ac41b5d9 | ||
|
|
033eebce29 | ||
|
|
40a187f0de | ||
|
|
a8d499208b | ||
|
|
a5a1435867 | ||
|
|
ed9abb0cb0 | ||
|
|
fcce3ff5ac | ||
|
|
85c4c25bc2 | ||
|
|
35bd08f7d7 | ||
|
|
cfa7a43ee7 | ||
|
|
52c962cb5b | ||
|
|
43c1f17d1f | ||
|
|
a04c29aaf1 | ||
|
|
af5a062424 | ||
|
|
8882e52539 | ||
|
|
ccc22bb968 | ||
|
|
05953a0680 | ||
|
|
d132c131eb | ||
|
|
1e8af74564 | ||
|
|
1ff60e7534 | ||
|
|
7b7b4b46af | ||
|
|
d61ef19ecf | ||
|
|
b765619ad6 | ||
|
|
e8b848dfcf | ||
|
|
467a106db0 | ||
|
|
3d6d2651da | ||
|
|
a5eaa907e2 | ||
|
|
50284f38a6 | ||
|
|
09c6802891 | ||
|
|
4bdad99ead | ||
|
|
56885fae4d | ||
|
|
d173f777a7 | ||
|
|
94ea5f28db | ||
|
|
b70f6fcb51 | ||
|
|
6fecda6b73 | ||
|
|
cbae4a31aa | ||
|
|
13364767fb | ||
|
|
3e73ea2e26 | ||
|
|
21b8f80a99 | ||
|
|
23f1e008a2 | ||
|
|
380e7e1cfb | ||
|
|
2106afc4d4 | ||
|
|
97cd944237 | ||
|
|
5cf39ef6c5 | ||
|
|
90727f305e | ||
|
|
78dd366272 | ||
|
|
dddc645d4b | ||
|
|
bd547ace80 | ||
|
|
194a5c896e | ||
|
|
7c5c4f5694 | ||
|
|
6b25e6935e | ||
|
|
bebce1ec63 | ||
|
|
eea925e7e0 | ||
|
|
a1e0af20b8 | ||
|
|
9e342c17b2 | ||
|
|
9bd4a8f7bb | ||
|
|
ed56c1350e | ||
|
|
0c6512cd33 | ||
|
|
75b14341af | ||
|
|
fa3404920a | ||
|
|
353f899309 | ||
|
|
bdbd70ca0f | ||
|
|
87746d611b | ||
|
|
a00eb95e29 | ||
|
|
e468a61811 | ||
|
|
4ee298fe20 | ||
|
|
999d39ec0b | ||
|
|
6772d3a102 | ||
|
|
ba0657410d | ||
|
|
03fde4c3fd | ||
|
|
b189b6e947 | ||
|
|
3b247daf75 | ||
|
|
6b556a186f | ||
|
|
03f0431800 | ||
|
|
b56979ebe1 | ||
|
|
4123ce1a4f | ||
|
|
5d52e22aee | ||
|
|
ae4595f9e2 | ||
|
|
8ccfe2957f | ||
|
|
63adad8caf | ||
|
|
162c3f2d13 | ||
|
|
e03cde7cd5 | ||
|
|
27736f1103 | ||
|
|
81dc410e50 | ||
|
|
731adbc9a0 | ||
|
|
dba221ba22 | ||
|
|
45249b4a71 | ||
|
|
0450615b61 | ||
|
|
9f45ec1959 | ||
|
|
4bb610c984 | ||
|
|
0769f90301 | ||
|
|
31db186baf | ||
|
|
2501cb0160 | ||
|
|
a2ac1d22af | ||
|
|
fcf77792bc | ||
|
|
b582d64df2 | ||
|
|
552e21c6ab | ||
|
|
2a0357814a | ||
|
|
583135aef7 | ||
|
|
80f9ae7789 | ||
|
|
959b6a80d0 | ||
|
|
3c1a9bcb74 | ||
|
|
386ba0abfd | ||
|
|
146aafed92 | ||
|
|
2f89501a6e | ||
|
|
b11069420d | ||
|
|
5a81acce3a | ||
|
|
8a43083415 | ||
|
|
6df6dac128 | ||
|
|
d3c4f5c444 | ||
|
|
e68c4f584b | ||
|
|
ff5f2c357d | ||
|
|
285b47ff36 | ||
|
|
0a113d7f0c | ||
|
|
dea662c796 | ||
|
|
4ec6520927 | ||
|
|
b0da58ad89 | ||
|
|
43b5105a5e | ||
|
|
c93ae8666c | ||
|
|
d8052f733d | ||
|
|
e7966f37ec | ||
|
|
7e6e1cbf96 | ||
|
|
2c39345fb4 | ||
|
|
43f74ebcfe | ||
|
|
aa44ac4b24 | ||
|
|
acf177f651 | ||
|
|
02a61e5277 | ||
|
|
8d138061a9 | ||
|
|
dd0dafbeec | ||
|
|
3ae3cdaa64 | ||
|
|
4f2d74edb9 | ||
|
|
4aa3bc7bee | ||
|
|
6c6e8509ad | ||
|
|
5875bb3195 | ||
|
|
25de617c92 | ||
|
|
1abe377e20 | ||
|
|
88b85752a2 | ||
|
|
fde64ace31 | ||
|
|
3369881e73 | ||
|
|
f42a0759f8 | ||
|
|
e19da7bb36 | ||
|
|
306132eda3 | ||
|
|
1be0100911 | ||
|
|
7896361084 | ||
|
|
bdf6b3e312 | ||
|
|
af36e99317 | ||
|
|
8e84f361ac | ||
|
|
c921e4a3f1 | ||
|
|
f524c72095 | ||
|
|
b09290b9cb | ||
|
|
7de90a82b0 | ||
|
|
c412d0069e | ||
|
|
277360e656 | ||
|
|
a61b959491 | ||
|
|
09da245aa0 | ||
|
|
872304852e | ||
|
|
75741d7d44 | ||
|
|
849c743cd2 | ||
|
|
52144c0577 | ||
|
|
1e9706d76d | ||
|
|
db51f285f8 | ||
|
|
8392a86300 | ||
|
|
6edae78c6f | ||
|
|
136c696043 | ||
|
|
2e71ea4db9 | ||
|
|
7914adff1e | ||
|
|
2dcd9e7eb9 | ||
|
|
2a6acf3c90 | ||
|
|
cd7f6db1d3 | ||
|
|
15e8e67017 | ||
|
|
105350b826 | ||
|
|
d003fb4288 | ||
|
|
c2d6ceb0f3 | ||
|
|
7c7cec0416 | ||
|
|
ddfd2fd442 | ||
|
|
c654a6fceb | ||
|
|
bced6fab58 | ||
|
|
cd9680c61c | ||
|
|
80f797b2e5 | ||
|
|
2960a5cd72 | ||
|
|
0d4b4c4942 | ||
|
|
c772256e93 | ||
|
|
4b5e7cdab7 | ||
|
|
588669ea6a | ||
|
|
e6c58ae4f2 | ||
|
|
afb1dc1d79 | ||
|
|
7500f4b2ca | ||
|
|
8d96b184df | ||
|
|
5c620959bb | ||
|
|
08bff8e090 | ||
|
|
8bcf68e5e0 | ||
|
|
e5af1ea3bc | ||
|
|
6afbf1b166 | ||
|
|
600929ee6d | ||
|
|
d2874f6a49 | ||
|
|
a1a0c18478 | ||
|
|
ba65185bcb | ||
|
|
a17221258d | ||
|
|
a00380c7c2 | ||
|
|
2ef7a12383 | ||
|
|
d54470ef98 | ||
|
|
17bbdf790e | ||
|
|
bcad0d4de7 | ||
|
|
9ab63dced8 | ||
|
|
e79ed4f738 | ||
|
|
b897ad3ec2 | ||
|
|
daed2a79f9 | ||
|
|
0a5470e802 | ||
|
|
a02b2d1c5b | ||
|
|
0cc88b8669 | ||
|
|
c4fbcaeb21 | ||
|
|
a85413c802 | ||
|
|
24a5f9ba29 | ||
|
|
e9f376825c | ||
|
|
3c0f18f704 | ||
|
|
f7e9b91701 | ||
|
|
e7246837a1 | ||
|
|
fd4a210b84 | ||
|
|
9a7874a680 | ||
|
|
5c2ec9cad2 | ||
|
|
5b248962e7 | ||
|
|
65027bff99 | ||
|
|
f35e13d57e | ||
|
|
04572506ba | ||
|
|
ebf78e5ea6 | ||
|
|
7e695c0086 | ||
|
|
40b7b99c2c | ||
|
|
61de6032af | ||
|
|
b901f55164 | ||
|
|
9eac93d176 | ||
|
|
a4ced701dc | ||
|
|
0d65a1fe10 | ||
|
|
de50c709a4 | ||
|
|
3b5ad05627 | ||
|
|
1ea4dc13f0 | ||
|
|
74a600b833 | ||
|
|
4b271ee430 | ||
|
|
6e4e5fa94c | ||
|
|
8e9042142c | ||
|
|
5a2425d585 | ||
|
|
bf19759188 | ||
|
|
0bcd812bd5 | ||
|
|
2769c74c74 | ||
|
|
64c93a0569 | ||
|
|
f01bc3c752 | ||
|
|
9bba47129a | ||
|
|
54b03f6e8a | ||
|
|
71930db9b0 | ||
|
|
e4016c1a77 | ||
|
|
b37ffde4ed | ||
|
|
dd7a346ac8 | ||
|
|
d3963d6ea2 | ||
|
|
0592b1dbed | ||
|
|
7b3dbf1108 | ||
|
|
60e8cf4746 | ||
|
|
a396e69384 | ||
|
|
6eebd11a06 | ||
|
|
56ac919f54 | ||
|
|
cbc1e407c3 | ||
|
|
e55d6eed2b | ||
|
|
ed18a318b9 | ||
|
|
80969a59a5 | ||
|
|
a0f8b8c68a | ||
|
|
5774069cfe | ||
|
|
83ad9fa780 | ||
|
|
a63a0ccc10 | ||
|
|
734775e410 | ||
|
|
4987067a18 | ||
|
|
a6ab6e2131 | ||
|
|
a9e4ff2029 | ||
|
|
7eea306b0f | ||
|
|
7b708255f5 | ||
|
|
46e8717e6c | ||
|
|
e85f8011d5 | ||
|
|
ae02cad3f5 | ||
|
|
f0529ca253 | ||
|
|
349eb9481d | ||
|
|
889ed66a01 | ||
|
|
ede7576899 | ||
|
|
299c61896e | ||
|
|
fb03027b5b | ||
|
|
d3ec0e204f | ||
|
|
9bd8e6e604 | ||
|
|
3086fff66d | ||
|
|
2b709315e3 | ||
|
|
a7adf3d369 | ||
|
|
59113ea3ae | ||
|
|
5fc353797f | ||
|
|
6190130626 | ||
|
|
f6cd941522 | ||
|
|
a6c216db00 | ||
|
|
4394169405 | ||
|
|
6e5665de4e | ||
|
|
ea6d96f409 | ||
|
|
2659febd1b | ||
|
|
1405158dfb | ||
|
|
d6d8c0b80d | ||
|
|
d9491fe022 | ||
|
|
3609063d81 | ||
|
|
7904f49b5d | ||
|
|
d35ca945c2 | ||
|
|
a20a341729 | ||
|
|
7381c33f76 | ||
|
|
1091ee2318 | ||
|
|
b79dd18ca5 | ||
|
|
3abfc3566b | ||
|
|
71992634a6 | ||
|
|
90ff529b55 | ||
|
|
5a8b3b8ad7 | ||
|
|
418972b423 | ||
|
|
c1d4917593 | ||
|
|
65d6e28b4f | ||
|
|
3c435f7856 | ||
|
|
659c3e0e12 | ||
|
|
1e9cba9972 | ||
|
|
c3bf97002d | ||
|
|
16452c16da | ||
|
|
05970fe1fb | ||
|
|
0f20d5913d | ||
|
|
0acf8a6618 | ||
|
|
547ac721fa | ||
|
|
8ff70a6224 | ||
|
|
b880c6663c | ||
|
|
66e52396dc | ||
|
|
92225faa82 | ||
|
|
36718c45fc | ||
|
|
118c134918 | ||
|
|
85dbb9cc92 | ||
|
|
e11f1476af | ||
|
|
f5d896542a | ||
|
|
961d0a159a | ||
|
|
1597424d17 | ||
|
|
465e185a74 | ||
|
|
5abee04991 | ||
|
|
a884ca155e | ||
|
|
d3f912a79e | ||
|
|
5d7aabb38a | ||
|
|
adda6f6dd1 | ||
|
|
5191a57037 | ||
|
|
7d1c9fa1a4 | ||
|
|
dd5996379d | ||
|
|
a0d471eda5 | ||
|
|
f58501fc62 | ||
|
|
80dc9b97f2 | ||
|
|
d018b08082 | ||
|
|
576ee66f20 | ||
|
|
b55b49ac4e | ||
|
|
712f4a7f5d | ||
|
|
528972ef8b | ||
|
|
8b4c7434c3 | ||
|
|
b0760bbab5 | ||
|
|
ac8bcb5edb | ||
|
|
2b98ffd776 | ||
|
|
b373126927 | ||
|
|
34bb627a54 | ||
|
|
92584630c3 | ||
|
|
6035ef353a | ||
|
|
4bd42e1cf0 | ||
|
|
f95919b5a3 | ||
|
|
43657c4dd8 | ||
|
|
e158ee542d | ||
|
|
6256b88768 | ||
|
|
57d9c500a8 | ||
|
|
35d1f51d75 | ||
|
|
1ee94d5bd2 | ||
|
|
d513a62862 | ||
|
|
76ef4fc976 | ||
|
|
fe858a9196 | ||
|
|
6770356c5b | ||
|
|
ebccbaeee9 | ||
|
|
b64c71eece | ||
|
|
4b4bc8a380 | ||
|
|
485ef8c4fc | ||
|
|
5b880512fb | ||
|
|
3b43a192f1 | ||
|
|
911f74496d | ||
|
|
7118df32bb | ||
|
|
73c0300d63 | ||
|
|
0cf76f628e | ||
|
|
ee83e25120 | ||
|
|
d6fb068230 | ||
|
|
e1e3cee16a | ||
|
|
fb6d438485 | ||
|
|
f84f7f8acb | ||
|
|
8e912b4a20 | ||
|
|
6c5472a84c | ||
|
|
1f887bb863 | ||
|
|
1739513095 | ||
|
|
621fe3f5d2 | ||
|
|
0196bbee21 | ||
|
|
e4670b7513 | ||
|
|
4601531bf0 | ||
|
|
520f7e78ac | ||
|
|
9962df69d6 | ||
|
|
47498eb375 | ||
|
|
c78c810294 | ||
|
|
8dc6f839a9 | ||
|
|
c8d51cc05a | ||
|
|
c99a9a6cb7 | ||
|
|
fb95f6b225 | ||
|
|
c747a08649 | ||
|
|
ee5144924b | ||
|
|
ba9c64dc14 | ||
|
|
57f2208bdf | ||
|
|
a2313cede3 | ||
|
|
996a7ade9f | ||
|
|
024233feeb | ||
|
|
48058fac99 | ||
|
|
9a9bb823f6 | ||
|
|
73ab469102 | ||
|
|
c6967634c9 | ||
|
|
f0c283c632 | ||
|
|
4654de7ee5 | ||
|
|
b59908d291 | ||
|
|
a22b333f2a | ||
|
|
636e71d54e | ||
|
|
6ea9332c87 | ||
|
|
72184748d8 | ||
|
|
797d52beb5 | ||
|
|
d875c9988a | ||
|
|
8c1157be22 | ||
|
|
f32153754c | ||
|
|
44ee4caf6f | ||
|
|
e4fb842757 | ||
|
|
780b919e26 | ||
|
|
f7c32745e0 | ||
|
|
bd8c7915b9 | ||
|
|
91cff94739 | ||
|
|
0c9fb7e063 | ||
|
|
70e2bda971 | ||
|
|
0d54275314 | ||
|
|
b64bfc0153 | ||
|
|
9afed496a8 | ||
|
|
3bf467375b | ||
|
|
aaffcb410f | ||
|
|
d3e0955ddc | ||
|
|
5d4fbf7f02 | ||
|
|
4a927e09b7 | ||
|
|
a577e3507f | ||
|
|
cb67add26a | ||
|
|
2470c0d090 | ||
|
|
2d8dfeff49 | ||
|
|
18290dee8b | ||
|
|
9137862bc7 | ||
|
|
288178e94c | ||
|
|
ebb4f85feb | ||
|
|
f5527c976e | ||
|
|
ab7f57239d | ||
|
|
a822135603 | ||
|
|
6190dc5da5 | ||
|
|
090a913660 | ||
|
|
db2f101971 | ||
|
|
41f4302d39 | ||
|
|
91cada219b | ||
|
|
7d3459f53d | ||
|
|
cf4c9912c3 | ||
|
|
b685cd49a6 | ||
|
|
9c960fcafd | ||
|
|
4acc0351cf | ||
|
|
2f212d1386 | ||
|
|
1e54e94cc2 | ||
|
|
48f64bc6e5 | ||
|
|
667303fc86 | ||
|
|
6768db9a6e | ||
|
|
d516e3523b | ||
|
|
a6d4283986 | ||
|
|
abd9d8bcab | ||
|
|
430532feec | ||
|
|
cf5939c425 | ||
|
|
bbcc08dbb4 | ||
|
|
77b5999b73 | ||
|
|
2f553df8be | ||
|
|
17045601e7 | ||
|
|
0f987a5601 | ||
|
|
fb48557154 | ||
|
|
14846710c5 | ||
|
|
2ba3a6fbbc | ||
|
|
027d64c78f | ||
|
|
d653341e03 | ||
|
|
fd09b30538 | ||
|
|
eea02d9500 | ||
|
|
c7e0ed8e21 | ||
|
|
c34e9ced81 | ||
|
|
344998a873 | ||
|
|
6f7af725ff | ||
|
|
e553e82acc | ||
|
|
78d5a0f201 | ||
|
|
53a8ab5715 | ||
|
|
544ab558dc | ||
|
|
edd550a5ee | ||
|
|
c3ea15f4bc | ||
|
|
efdc60372f | ||
|
|
6f3a092564 | ||
|
|
d1ad1089bc | ||
|
|
29af6560d3 | ||
|
|
ef742f2fa8 | ||
|
|
2c70badad6 | ||
|
|
0d9ebb1fd2 | ||
|
|
ba2c24e77c | ||
|
|
d1cc2b85cb | ||
|
|
7c996fe2e6 | ||
|
|
f9f573ebb4 | ||
|
|
476b3c7404 | ||
|
|
500e5ed949 | ||
|
|
b995e7797d | ||
|
|
69b32a01c4 | ||
|
|
d3ba6f0f12 | ||
|
|
f6002b799b | ||
|
|
874344eead | ||
|
|
6567224125 | ||
|
|
7907de58be | ||
|
|
b686003710 | ||
|
|
cd7dd0f007 | ||
|
|
6ecf7ec138 | ||
|
|
0ab0d35542 | ||
|
|
460ee12906 | ||
|
|
13e2ac08bd | ||
|
|
589993192a | ||
|
|
4812fb8faf | ||
|
|
e105cfcca8 | ||
|
|
f2569c8c6e | ||
|
|
4aec5151e5 | ||
|
|
ac8dd5e59b | ||
|
|
c9f1d146c2 | ||
|
|
180068e46c | ||
|
|
6e59b996ba | ||
|
|
39d111fa63 | ||
|
|
4821b9c10b | ||
|
|
457a13e238 | ||
|
|
6bc0bc2f63 | ||
|
|
856589bd98 | ||
|
|
2fa51493c5 | ||
|
|
4d3698e842 | ||
|
|
647110d513 | ||
|
|
425846f868 | ||
|
|
013dfb0498 | ||
|
|
7168a40328 | ||
|
|
66a297888f | ||
|
|
a02f42f84c | ||
|
|
7d5464adbe | ||
|
|
95c1785271 | ||
|
|
292f60a8a8 | ||
|
|
cfcd8a1531 | ||
|
|
cf4ec2b109 | ||
|
|
628cbc8eb3 | ||
|
|
f66c277e54 | ||
|
|
6544b2b57e | ||
|
|
3943ce5ac5 | ||
|
|
e93bdc79c7 | ||
|
|
3059d0fbb3 | ||
|
|
dc3a1170d4 | ||
|
|
07050901a6 | ||
|
|
f70784a6d1 | ||
|
|
77a0f335cb | ||
|
|
31cfcf2c9f | ||
|
|
5bd5678ba3 | ||
|
|
1c04073e5e | ||
|
|
8fbd92e37d | ||
|
|
7bb75f5553 | ||
|
|
6d6a89780b | ||
|
|
3decfcc442 | ||
|
|
32185fe791 | ||
|
|
3739816ce2 | ||
|
|
874692c9c9 | ||
|
|
a589153d89 | ||
|
|
252f8a0eec | ||
|
|
86173f355a | ||
|
|
b15d862275 | ||
|
|
729e55a357 | ||
|
|
da616966a8 | ||
|
|
92c6837460 | ||
|
|
d8a3c0f841 | ||
|
|
729d445b68 | ||
|
|
25f820c6bf | ||
|
|
a77825799e | ||
|
|
7db88ca6b5 | ||
|
|
9843a9de53 | ||
|
|
aa97c1da2f | ||
|
|
dce542a623 | ||
|
|
e4e915d2ec | ||
|
|
f05428e4f3 | ||
|
|
20249b9f80 | ||
|
|
41575b982c | ||
|
|
b4feb33df9 | ||
|
|
d8dfddffe2 | ||
|
|
8c81fd5fc0 | ||
|
|
0aa0eefd4e | ||
|
|
fa2d6a0d40 | ||
|
|
d1ae1771eb | ||
|
|
08314c328e | ||
|
|
d450c4cdee | ||
|
|
659d4497d0 | ||
|
|
772350a309 | ||
|
|
cf0ee82926 | ||
|
|
150f33c6fa | ||
|
|
56aec17b9b | ||
|
|
92aeb0af55 | ||
|
|
759bfadb93 | ||
|
|
93d03e5147 | ||
|
|
e3a00268eb | ||
|
|
527eb40a2c | ||
|
|
2cdbd2de83 | ||
|
|
d9f6a3f2d2 | ||
|
|
6db9e10ff1 | ||
|
|
1947c62539 | ||
|
|
0843e383b2 | ||
|
|
624bebd20f | ||
|
|
41b03b5c4c | ||
|
|
bfa5b29555 | ||
|
|
13693b7b63 | ||
|
|
1bc3747042 | ||
|
|
689666f17c | ||
|
|
0c12f1684f | ||
|
|
07c010a377 | ||
|
|
9e4c11e280 | ||
|
|
7f836f2d73 | ||
|
|
abd042ea4a | ||
|
|
f004115dae | ||
|
|
d057b89a33 | ||
|
|
dda85d92c9 | ||
|
|
ab888d2ebe | ||
|
|
be9efacf1b | ||
|
|
71025c8bcc | ||
|
|
89f08aae27 | ||
|
|
38cc869104 | ||
|
|
5d8a99e1d4 | ||
|
|
5eaf6d713e | ||
|
|
b4049016ca | ||
|
|
9eaa427ec9 | ||
|
|
5b1eaa7719 | ||
|
|
e6fbbd48db | ||
|
|
56e88fb4dd | ||
|
|
d93f093313 | ||
|
|
dbde52504d | ||
|
|
6d88a3d9c0 | ||
|
|
fddf8f8163 | ||
|
|
f4e578b598 | ||
|
|
a5d0706c78 | ||
|
|
0740cecbfb | ||
|
|
b86ca5f67b | ||
|
|
cc4a164f20 | ||
|
|
40184a9511 | ||
|
|
8859815d7b | ||
|
|
60a0b10174 | ||
|
|
9d54e2ca92 | ||
|
|
89c182e9c5 | ||
|
|
e441360ca7 | ||
|
|
fc26e92b3e | ||
|
|
3e70df3fb3 | ||
|
|
7cda36c601 | ||
|
|
5ccf606107 | ||
|
|
b8eea5cc4a | ||
|
|
c88dd2c52c | ||
|
|
78bf1150ff | ||
|
|
7a20836a1b | ||
|
|
1467ec137a | ||
|
|
552e93bfba | ||
|
|
e617dee621 | ||
|
|
609edc368f | ||
|
|
5b4dcb8d16 | ||
|
|
cdd1a2bdc0 | ||
|
|
43de33afc7 | ||
|
|
958fc3d4f5 | ||
|
|
aecc849692 | ||
|
|
882559f0b9 | ||
|
|
ca21c00f86 | ||
|
|
960cb1a8d5 | ||
|
|
8a3a5c3b74 | ||
|
|
99d61877d6 | ||
|
|
224cfa91fb | ||
|
|
1af67dbe15 | ||
|
|
55bfa6cd02 | ||
|
|
1d0124093c | ||
|
|
70078f48c0 | ||
|
|
44d1b217ac | ||
|
|
3672bb85eb | ||
|
|
6f741e8c10 | ||
|
|
d4767ca763 | ||
|
|
07e695da03 | ||
|
|
4f72021007 | ||
|
|
bc73d21917 | ||
|
|
7ca297a5cc | ||
|
|
e114fca5ee | ||
|
|
d0ca9f2499 | ||
|
|
95daafee0f | ||
|
|
37e4848c6f | ||
|
|
78cd9e89f3 | ||
|
|
15c40f5ea3 | ||
|
|
5f3256d939 | ||
|
|
a2b22c339e | ||
|
|
aed5e39f4d | ||
|
|
bd1e64b9b1 | ||
|
|
31f3050356 | ||
|
|
ba36f5db7e | ||
|
|
a372a0dd6d | ||
|
|
aba032e176 | ||
|
|
e31f44c3d1 | ||
|
|
0d12a1f9ee | ||
|
|
036eb2a9ed | ||
|
|
2eb889be89 | ||
|
|
dd07717b80 | ||
|
|
36a82cfb93 | ||
|
|
6fce02bd85 | ||
|
|
93767bf78f | ||
|
|
a779fc180f | ||
|
|
223ce6b22d | ||
|
|
5d4673742e | ||
|
|
05eb1e5684 | ||
|
|
b4ac7697ac | ||
|
|
2cfc1d42a3 | ||
|
|
be1f469ec5 | ||
|
|
a37f86e89d | ||
|
|
2bd0dcfdfa | ||
|
|
e75535d14c | ||
|
|
1d6923bead | ||
|
|
732124e3dd | ||
|
|
a15e66cc7b | ||
|
|
3eacfe2314 | ||
|
|
89c0d9dd56 | ||
|
|
b21d0f0b22 | ||
|
|
61b2821472 | ||
|
|
1f86e0c87e | ||
|
|
d1ea51e9f2 | ||
|
|
5de2e2c71e | ||
|
|
2c1051f539 | ||
|
|
247f4810c5 | ||
|
|
47b6dc9eea | ||
|
|
aea3b4e280 | ||
|
|
12e0496a79 | ||
|
|
aa87d40f4b | ||
|
|
7d1eced8c6 | ||
|
|
123267685f | ||
|
|
0bec7001ba | ||
|
|
3c87fbfd37 | ||
|
|
fd00950852 | ||
|
|
eb2a6aee4d | ||
|
|
84e8d08ec6 | ||
|
|
92e8eaf581 | ||
|
|
e8e58a511f | ||
|
|
08e40efe11 | ||
|
|
01a0aee1e8 | ||
|
|
8def37c14e | ||
|
|
b3760cd723 | ||
|
|
1cb870be16 | ||
|
|
35232fa422 | ||
|
|
77342a2268 | ||
|
|
b834e21192 | ||
|
|
f4188b3ddc | ||
|
|
963c08d472 | ||
|
|
29b9ced11a | ||
|
|
8ac108ba06 | ||
|
|
8014a0b8d8 | ||
|
|
3bd83eb134 | ||
|
|
a5ebcefeeb | ||
|
|
c806e778d6 | ||
|
|
3850fc5b0b | ||
|
|
6bac11f066 | ||
|
|
bc2ca8afbd | ||
|
|
e403b6111f | ||
|
|
d613ba5fcd | ||
|
|
4dee9be3eb | ||
|
|
61afb8955c | ||
|
|
61d548c7bf | ||
|
|
c1efeefb8a | ||
|
|
3b6c3d8196 | ||
|
|
97cceb47b9 | ||
|
|
94637711b9 | ||
|
|
bdf28e42f6 | ||
|
|
1687455a3f | ||
|
|
84e40a4f74 | ||
|
|
bce60a5a86 | ||
|
|
a7b0bc8790 | ||
|
|
30ca112260 | ||
|
|
b487eb7e13 | ||
|
|
5d24f45ac1 | ||
|
|
c1f65ef975 | ||
|
|
d6ce585ef3 | ||
|
|
c80e048ab3 | ||
|
|
b6a8675658 | ||
|
|
2c0c91e2d0 | ||
|
|
6b97680224 | ||
|
|
c76bebca0b | ||
|
|
b534c4d661 | ||
|
|
170d09b6bd | ||
|
|
b4fc584d18 | ||
|
|
5b2d9f8128 | ||
|
|
d629cfafd6 | ||
|
|
7b125c9731 | ||
|
|
0e3df25526 | ||
|
|
66e8d7346f | ||
|
|
d29dcf3680 | ||
|
|
164483c137 | ||
|
|
6ab5ae8a7a | ||
|
|
5b760fe7c4 | ||
|
|
162e8911db | ||
|
|
bea2cc9cbc | ||
|
|
ce2261dffa | ||
|
|
fa562fa56d | ||
|
|
5bfd241167 | ||
|
|
5a85cc4386 | ||
|
|
ed4a021f85 | ||
|
|
83c1d7c9ef | ||
|
|
de6aed65fb | ||
|
|
57ce49654c | ||
|
|
00bc2638ce | ||
|
|
4605aff04a | ||
|
|
d104c286c8 | ||
|
|
16d5325874 | ||
|
|
e3362a0fda | ||
|
|
f0fdda5678 | ||
|
|
bb2d67e361 | ||
|
|
91e96a8da8 | ||
|
|
8b1924f6c2 | ||
|
|
c6d732eee2 | ||
|
|
21ab47d9fe | ||
|
|
d70e92e79f | ||
|
|
15466865e0 | ||
|
|
125a4c747b | ||
|
|
69668d49e5 | ||
|
|
5cee316d8c | ||
|
|
98393ca849 | ||
|
|
012564d738 | ||
|
|
3403621fc2 | ||
|
|
de23f2f8aa | ||
|
|
b6aa988716 | ||
|
|
a3b48b3229 | ||
|
|
d7ef268e18 | ||
|
|
ba999c9ac3 | ||
|
|
92b27b338d | ||
|
|
eb129d9f90 | ||
|
|
5e270f9d77 | ||
|
|
7e13d6cbfe | ||
|
|
7e6fe52c46 | ||
|
|
893d245dca | ||
|
|
516b54578d | ||
|
|
d49ba50289 | ||
|
|
22f74756b4 | ||
|
|
f07463bdfd | ||
|
|
75374fdc32 | ||
|
|
0332d47424 | ||
|
|
d531d0851f | ||
|
|
e26f96b748 | ||
|
|
8fa1c5ebf1 | ||
|
|
ef18443b6e | ||
|
|
d066c7de30 | ||
|
|
fd56d0f116 | ||
|
|
77fbfb3fbb | ||
|
|
6590d1f8bf | ||
|
|
2d39e44520 | ||
|
|
2c6e5c3fc4 | ||
|
|
4b4df5095e | ||
|
|
1c11dc6630 | ||
|
|
2eb3319351 | ||
|
|
683b171c3f | ||
|
|
ea241fcec7 | ||
|
|
ab1d83fe8d | ||
|
|
5e739acfbb | ||
|
|
a4b8fccfa7 | ||
|
|
9822ea96b8 | ||
|
|
94db83040e | ||
|
|
12f97f1364 | ||
|
|
0aacddb971 | ||
|
|
7e866bb441 | ||
|
|
c2cf1d6493 | ||
|
|
612fad706f | ||
|
|
6728551dc4 | ||
|
|
64a2dda02f | ||
|
|
8d28e72e8a | ||
|
|
0137e5cf94 | ||
|
|
89ca887ea0 | ||
|
|
42414d5667 | ||
|
|
8bb283e616 | ||
|
|
32e2345e53 | ||
|
|
9e31602a20 | ||
|
|
5d0be616b7 | ||
|
|
e7251c0d55 | ||
|
|
1871bbc6a4 | ||
|
|
add1c91425 | ||
|
|
1788503892 | ||
|
|
95aa76b9fa | ||
|
|
95101870e4 | ||
|
|
f2c21b7733 | ||
|
|
d273948f16 | ||
|
|
bb79687f8e | ||
|
|
3db3057d42 | ||
|
|
f6d73cb06e | ||
|
|
b3522b2feb | ||
|
|
710edd34d2 | ||
|
|
743ad44c0a | ||
|
|
9db701ab41 | ||
|
|
a0f9a6ed60 | ||
|
|
1d79703d24 | ||
|
|
f357377de9 | ||
|
|
87adeb61c5 | ||
|
|
e6a5cab1d2 | ||
|
|
9884a5fe14 | ||
|
|
55ff561429 | ||
|
|
4708dd26ca | ||
|
|
3e969244ac | ||
|
|
ac3835227e | ||
|
|
c6393bcd27 | ||
|
|
7d164ad8c7 | ||
|
|
3abb72037b | ||
|
|
34c478a4c4 | ||
|
|
98592fb85d | ||
|
|
6edf0289ed | ||
|
|
faedbf0a61 | ||
|
|
b08d3b2cd6 | ||
|
|
1e810d229e | ||
|
|
a82c486878 | ||
|
|
d42ae4824b | ||
|
|
b1ebe54456 | ||
|
|
ac76e3b004 | ||
|
|
43b18663fd | ||
|
|
45e1fc946d | ||
|
|
65eb232028 | ||
|
|
7cd3d13011 | ||
|
|
764fb63617 | ||
|
|
4de7978b27 | ||
|
|
696bb3b026 | ||
|
|
fb82e2bf86 | ||
|
|
403a916bd5 | ||
|
|
20cdb197e2 | ||
|
|
1f68b8ada0 | ||
|
|
fdfbf16940 | ||
|
|
12c2659765 | ||
|
|
8561dcdee4 | ||
|
|
ded2bcfda5 | ||
|
|
d5173f71d4 | ||
|
|
61ca99cfd9 | ||
|
|
862155fa5e | ||
|
|
74309a1f9e | ||
|
|
8cdb55d94f | ||
|
|
489299cdcc | ||
|
|
b744634141 | ||
|
|
a8789fc858 | ||
|
|
14def643f7 | ||
|
|
a3398650b5 | ||
|
|
65daaf332d | ||
|
|
63995da2c2 | ||
|
|
f3b118d0ad | ||
|
|
f01a2a3360 | ||
|
|
a0566f0fbe | ||
|
|
4b8425938a | ||
|
|
8fa3536aba | ||
|
|
10712a790a | ||
|
|
9cd148de7d | ||
|
|
9b1d4e1a45 | ||
|
|
b089f1adae | ||
|
|
76d54c572a | ||
|
|
7d25dae75e | ||
|
|
282eaef435 | ||
|
|
80dcd30b48 | ||
|
|
76e04ad82b | ||
|
|
afa0d4f3a3 | ||
|
|
e21a65fd05 | ||
|
|
295249cf08 | ||
|
|
91fb170c4a | ||
|
|
0878659513 | ||
|
|
69cebbfca2 | ||
|
|
3c4510573e | ||
|
|
4285d8ec0b | ||
|
|
c2a8c10834 | ||
|
|
4e05fd0541 | ||
|
|
b97e81b27f | ||
|
|
e08cc968cb | ||
|
|
9bee40813f | ||
|
|
5ac6920591 | ||
|
|
70b1beb18b | ||
|
|
964aa40612 | ||
|
|
7e58c7e89a | ||
|
|
3db549fdb5 | ||
|
|
87401392ba | ||
|
|
795c172d9e | ||
|
|
cfe60996c2 | ||
|
|
da3f131185 | ||
|
|
ac06ce2160 | ||
|
|
69653729f0 | ||
|
|
81eb47de0e | ||
|
|
57cf035a73 | ||
|
|
ddaab5a836 | ||
|
|
f97e6d04a7 | ||
|
|
daeede28db | ||
|
|
70f9294e15 | ||
|
|
2c0e8e0a99 | ||
|
|
7f4b1a5797 | ||
|
|
138ee2803d | ||
|
|
c9fee3bd04 | ||
|
|
db5951337e | ||
|
|
d652e87473 | ||
|
|
57eac42a91 | ||
|
|
d61f877a94 | ||
|
|
7eb575d7f8 | ||
|
|
8e5eda79de | ||
|
|
82051a5f22 | ||
|
|
17b9167e52 | ||
|
|
30542225c6 | ||
|
|
759b6c18fd | ||
|
|
0e1941ce21 | ||
|
|
039fb0732c | ||
|
|
6c91aa6e51 | ||
|
|
2eed081b50 | ||
|
|
7551041fa1 | ||
|
|
41a97c5bf9 | ||
|
|
20ed1c32d3 | ||
|
|
969cf9fd48 | ||
|
|
d29930db3a | ||
|
|
015333de8c | ||
|
|
89b9d167d1 | ||
|
|
2693a3beff | ||
|
|
feb315cf9c | ||
|
|
779e5ccc16 | ||
|
|
7b19de97d4 | ||
|
|
5d71d0a0b4 | ||
|
|
42b47fe4d9 | ||
|
|
5a9e381d84 | ||
|
|
f4e118e40a | ||
|
|
071d4c155b | ||
|
|
044f23739c | ||
|
|
05a4991a5f | ||
|
|
078ceb7168 | ||
|
|
9554dd1c33 | ||
|
|
7fd12ca3ae | ||
|
|
e84494b0e0 | ||
|
|
afc7da33c9 | ||
|
|
d820a9890f | ||
|
|
a9f0d334bb | ||
|
|
cee3783e58 | ||
|
|
fceb88005d | ||
|
|
e3c888a7cc | ||
|
|
25267397f6 | ||
|
|
931e461c87 | ||
|
|
409758dd11 | ||
|
|
cd28c3ca83 | ||
|
|
25533b9e08 | ||
|
|
be70e08671 | ||
|
|
480d4b98c7 | ||
|
|
3b7e421eaf | ||
|
|
b069ff253e | ||
|
|
abc15f4d30 | ||
|
|
70bb8bda23 | ||
|
|
665acdb170 | ||
|
|
27ad502119 | ||
|
|
e8b2af1eae | ||
|
|
4d718931be | ||
|
|
290166adb0 | ||
|
|
c2ed8d0240 | ||
|
|
51e5d3ea70 | ||
|
|
c73fcb0731 | ||
|
|
e6b70c3e01 | ||
|
|
614f64ba82 | ||
|
|
b8263d0975 | ||
|
|
95d68b26a6 | ||
|
|
db39c8e109 | ||
|
|
449c248f08 | ||
|
|
66c5a941b3 | ||
|
|
4592b1ccb5 | ||
|
|
9bfd1801aa | ||
|
|
b099e7232f | ||
|
|
c657c7b846 | ||
|
|
eaf09310cd | ||
|
|
fffb69ce61 | ||
|
|
5c989c957a | ||
|
|
8af0764b3b | ||
|
|
c7727b136b | ||
|
|
7a6b6639bc | ||
|
|
08bf4694ca | ||
|
|
60cc51379d | ||
|
|
e035084e49 | ||
|
|
bed878f290 | ||
|
|
0066d162cb | ||
|
|
e0011fd6ba | ||
|
|
8e0ee052eb | ||
|
|
3207ae5570 | ||
|
|
996c1468fa | ||
|
|
fe973a5ab0 | ||
|
|
4f13208547 | ||
|
|
5fa5df02f5 | ||
|
|
89cd35f07f | ||
|
|
7b2ab994e5 | ||
|
|
1f77f2102e | ||
|
|
ab7183217a | ||
|
|
47a9a452d8 | ||
|
|
b3fa316c5e | ||
|
|
b09a22aaf5 | ||
|
|
ba3a7c2bcf | ||
|
|
7539e5b72c | ||
|
|
4dedb51a23 | ||
|
|
3e8d669398 | ||
|
|
c4c94731e1 | ||
|
|
e2f5a742ca | ||
|
|
c5538cfe10 | ||
|
|
d96dcfc398 | ||
|
|
88ea61cfca | ||
|
|
2e4b5f3037 | ||
|
|
e577e753a5 | ||
|
|
04b5e87f42 | ||
|
|
7a97f62c72 | ||
|
|
8bbcb5006e | ||
|
|
4f4c446bc4 | ||
|
|
b5bf409384 | ||
|
|
3fb96b9039 | ||
|
|
e3866b77fe | ||
|
|
c321ddfa9b | ||
|
|
ed4f4ae4e2 | ||
|
|
4bf5dc1df9 | ||
|
|
b6a3a655ae | ||
|
|
4df62a67e7 | ||
|
|
3cfafb6dc4 | ||
|
|
0651f195dd | ||
|
|
309350e74c | ||
|
|
0132b7164e | ||
|
|
2fc881540b | ||
|
|
29a759a655 | ||
|
|
b54a51adb9 | ||
|
|
0b222c2bb0 | ||
|
|
c49d46b6af | ||
|
|
ceefcfcbb7 | ||
|
|
75138577cd | ||
|
|
889ce65974 | ||
|
|
42bda98db7 | ||
|
|
5f482b4565 | ||
|
|
89af1474d8 | ||
|
|
690d22c8b6 | ||
|
|
dc4cc070fc | ||
|
|
7d84dca254 | ||
|
|
322780f649 | ||
|
|
e3fb88b06a | ||
|
|
be5789fe01 | ||
|
|
120b2670da | ||
|
|
a5027d46ae | ||
|
|
3434b9ecf3 | ||
|
|
92a46c292f | ||
|
|
142cce2f29 | ||
|
|
d83aa176a3 | ||
|
|
f105a2fea7 | ||
|
|
6d230fc93e | ||
|
|
b5cc5ca669 | ||
|
|
dead6e3afc | ||
|
|
dc3d0c41fe | ||
|
|
30bdaf80ef | ||
|
|
07d77c1e00 | ||
|
|
5e5f0bd293 | ||
|
|
9974142eef | ||
|
|
6e9be9f1cc | ||
|
|
b1389f1b02 | ||
|
|
b3bd413c3b | ||
|
|
7cd93e6670 | ||
|
|
fa343fa8ad | ||
|
|
1f93de264f | ||
|
|
735f4b5c38 | ||
|
|
2509613bbe | ||
|
|
0b5a8057f2 | ||
|
|
b0a397280e | ||
|
|
bc85dd2330 | ||
|
|
a6b128590d | ||
|
|
8313f19eb8 | ||
|
|
be99967d67 | ||
|
|
f787976bca | ||
|
|
af327cc4f1 | ||
|
|
ce742f665a | ||
|
|
521ccba387 | ||
|
|
b8c50936a6 | ||
|
|
c1e8f3b593 | ||
|
|
0134c14ebf | ||
|
|
d87ea9c88a | ||
|
|
7dc76bf709 | ||
|
|
20ec3d9bbd | ||
|
|
0ed0fd2db0 | ||
|
|
f4eecd3782 | ||
|
|
2e920aaac3 | ||
|
|
216300f2b5 | ||
|
|
394ec8dcbc | ||
|
|
dcb437b1ad | ||
|
|
1be9e3cf2d | ||
|
|
6b82b67065 | ||
|
|
d21cfe6202 | ||
|
|
88698bc998 | ||
|
|
475304c3f5 | ||
|
|
5d39d3a3b2 | ||
|
|
07379ecb4e | ||
|
|
257f3f997a | ||
|
|
d1aea89c7d | ||
|
|
6b33912f42 | ||
|
|
e4f67a7fc9 | ||
|
|
9737c01058 | ||
|
|
2a3438186a | ||
|
|
881a3b28a7 | ||
|
|
b3f4f8db24 | ||
|
|
7175422a2b | ||
|
|
8fad34a29b | ||
|
|
8526f77c70 | ||
|
|
86a4ab704d | ||
|
|
d5613308f9 | ||
|
|
3d1259ea36 | ||
|
|
a82eac2195 | ||
|
|
312ea407a2 | ||
|
|
695162e9fa | ||
|
|
7a978f9381 | ||
|
|
c78556048c | ||
|
|
3e68ead0fa | ||
|
|
74f4c8bcab | ||
|
|
89fb624c5b | ||
|
|
6bcaa33751 | ||
|
|
8b73afad95 | ||
|
|
f63ddac287 | ||
|
|
21ac71f740 | ||
|
|
7df84b38b7 | ||
|
|
8ce7c83779 | ||
|
|
5de13e0038 | ||
|
|
09a7b01ee7 | ||
|
|
fe89fc8a64 | ||
|
|
1a7b546055 | ||
|
|
e92c832697 | ||
|
|
b633573ad0 | ||
|
|
c97ca4830e | ||
|
|
3b78cfe71a | ||
|
|
422bdf692a | ||
|
|
fa1d4c2d7f | ||
|
|
942c70c795 | ||
|
|
75fa87482d | ||
|
|
1fc9b93ed6 | ||
|
|
38430fbf0e | ||
|
|
64466e3259 | ||
|
|
6918e20f22 | ||
|
|
6b903de12c | ||
|
|
f1f3501628 | ||
|
|
e866fa1203 | ||
|
|
90940ec240 | ||
|
|
79caba9506 | ||
|
|
7083ef47bb | ||
|
|
234dd04c86 | ||
|
|
6f095a6394 | ||
|
|
8a52e09e8b | ||
|
|
2ea7970a82 | ||
|
|
069fce0033 | ||
|
|
57e42cc538 | ||
|
|
2498784d14 | ||
|
|
ec14a2ef5d | ||
|
|
8f93cc37d2 | ||
|
|
9a43eb903d | ||
|
|
5a6010deda | ||
|
|
a168c51395 | ||
|
|
5aae8726ef | ||
|
|
aff9d232b1 | ||
|
|
d0a9b404c3 | ||
|
|
e3b3631634 | ||
|
|
7b8113c7c7 | ||
|
|
2d1538e698 | ||
|
|
1316dd1a4f | ||
|
|
13f1cdca7b | ||
|
|
00977c75ba | ||
|
|
0e9056eca5 | ||
|
|
4ab4ae77ac | ||
|
|
4638871050 | ||
|
|
13cd18e614 | ||
|
|
0a8976c1e0 | ||
|
|
19515ca63a | ||
|
|
f4504292cf | ||
|
|
6d71749c70 | ||
|
|
777e5f47be | ||
|
|
e97934a225 | ||
|
|
e65c82a032 | ||
|
|
6f39b8f576 | ||
|
|
7b93123133 | ||
|
|
d6831cf801 | ||
|
|
64f1af0aa6 | ||
|
|
313ad01e42 | ||
|
|
44b0c8153a | ||
|
|
c8f6337f1f | ||
|
|
7998a43b04 | ||
|
|
17c1f403c1 | ||
|
|
1422055304 | ||
|
|
3ca113059d | ||
|
|
f4f07f8993 | ||
|
|
187fd9f61f | ||
|
|
69eeff1f76 | ||
|
|
4204baabe6 | ||
|
|
01b1fee284 | ||
|
|
bdb5e4aa56 | ||
|
|
026657d83b | ||
|
|
e35895888e | ||
|
|
90ead2d992 | ||
|
|
43622a8eb7 | ||
|
|
eeff004ec2 | ||
|
|
1bf898828b | ||
|
|
0a742506ff | ||
|
|
701d6ec45d | ||
|
|
787769ac39 | ||
|
|
33950c0ae7 | ||
|
|
99ebef0b2f | ||
|
|
880f6a17b8 | ||
|
|
0456845256 | ||
|
|
ce081f15e9 | ||
|
|
da9a19037f | ||
|
|
d43a645535 | ||
|
|
50d5b872f9 | ||
|
|
ccf57c7f3e | ||
|
|
2cc265361d | ||
|
|
5ee063f6b2 | ||
|
|
50c8747c97 | ||
|
|
3598f0ed8a | ||
|
|
7c5c6cd519 | ||
|
|
093807391a | ||
|
|
18c923596a | ||
|
|
d3de5ff017 | ||
|
|
f8f2ec8f35 | ||
|
|
af6c18ccc5 | ||
|
|
4f5aa438d6 | ||
|
|
bd2f818500 | ||
|
|
29f240ac79 | ||
|
|
c53dc308be | ||
|
|
cb8e5d2cd9 | ||
|
|
d8d5b1a071 | ||
|
|
bb64920cf0 | ||
|
|
427c39b858 | ||
|
|
b0d5903aba | ||
|
|
dbc28a24ac | ||
|
|
51fbbea1d3 | ||
|
|
696710fd7a | ||
|
|
5ace39e4cb | ||
|
|
b878f9054c | ||
|
|
871780fd28 | ||
|
|
4c5eb4b4db | ||
|
|
117ca5355d | ||
|
|
1a02782539 | ||
|
|
c7941bfab0 | ||
|
|
88b60e6f10 | ||
|
|
c5a2172c7b | ||
|
|
b2d847a273 | ||
|
|
4fb5e068bc | ||
|
|
4be4540acf | ||
|
|
a9d99dc0e5 | ||
|
|
d1922d4742 | ||
|
|
d85c59208c | ||
|
|
17d625a735 | ||
|
|
42f61ebf8a | ||
|
|
5e55c02bc6 | ||
|
|
ea7d38cea7 | ||
|
|
4b36efd50a | ||
|
|
c3b96c90d3 | ||
|
|
c0584c5102 | ||
|
|
87c71207e3 | ||
|
|
149bbc12b5 | ||
|
|
78cae049d2 | ||
|
|
7b4f239d33 | ||
|
|
80d4faa8ab | ||
|
|
4bb3f207ed | ||
|
|
2ccb063d20 | ||
|
|
710303be7a | ||
|
|
f337082c82 | ||
|
|
a306d4ae40 | ||
|
|
ea80cd1cd8 | ||
|
|
114c0e8ed2 | ||
|
|
9ccb520e9e | ||
|
|
fb3a262f4b | ||
|
|
50560e169c | ||
|
|
36c249e9c1 | ||
|
|
608b906bd5 | ||
|
|
09146d1c11 | ||
|
|
3f9c5edbf5 | ||
|
|
1ed74ab59b | ||
|
|
0d4a2539a8 | ||
|
|
4cedceaae2 | ||
|
|
7eeacfe672 | ||
|
|
0a86a4ea80 | ||
|
|
d91e897413 | ||
|
|
953ddef482 | ||
|
|
effcad912d | ||
|
|
26a9c1c47b | ||
|
|
e9b4e5a374 | ||
|
|
7576caa54a | ||
|
|
a6901fdac1 | ||
|
|
8c271e5640 | ||
|
|
7600e94ddc | ||
|
|
c5804cd6ff | ||
|
|
5e4b50dc6c | ||
|
|
152f63b019 | ||
|
|
1958f7adb5 | ||
|
|
789b17d333 | ||
|
|
d08aa46381 | ||
|
|
f90ea81d58 | ||
|
|
7e96e82cad | ||
|
|
64b0087e84 | ||
|
|
fe5ef864f1 | ||
|
|
0d56e91e00 | ||
|
|
293a9bc811 | ||
|
|
b8c6865ce0 | ||
|
|
1795b6570c | ||
|
|
152e3cb7bf | ||
|
|
2bc873d8b6 | ||
|
|
2e817195d2 | ||
|
|
12dbc5dfa4 | ||
|
|
026e75c46b | ||
|
|
f6ea59dbd9 | ||
|
|
986895f8c1 | ||
|
|
0694bbce00 | ||
|
|
3bd12180de | ||
|
|
208885e3d2 | ||
|
|
896195f5e3 | ||
|
|
23596b48ca | ||
|
|
0b7897f26c | ||
|
|
08c4f8b103 | ||
|
|
a9b32275f1 | ||
|
|
d1eba784b9 | ||
|
|
ead77e074d | ||
|
|
a3ee0bb291 | ||
|
|
a71c1288a6 | ||
|
|
3182c5d304 | ||
|
|
8effa39410 | ||
|
|
5f50de2b39 | ||
|
|
b37cb73802 | ||
|
|
806e406b67 | ||
|
|
3ad7c23221 | ||
|
|
5b9d5d55e8 | ||
|
|
5c9859e7f2 | ||
|
|
2e1e50486f | ||
|
|
27be64cf12 | ||
|
|
4dd6472908 | ||
|
|
dfa3e19cbf | ||
|
|
fbac824975 | ||
|
|
e77a8db546 | ||
|
|
77a3d791b1 | ||
|
|
bb8626e120 | ||
|
|
931670b7cb | ||
|
|
427de61702 | ||
|
|
1d58a7aadd | ||
|
|
f49c3416d5 | ||
|
|
4f2fc299a9 | ||
|
|
efb4baacdf | ||
|
|
59109a309f | ||
|
|
8f1b2b2350 | ||
|
|
1ecd66e55d | ||
|
|
06ac065d4d | ||
|
|
946404a365 | ||
|
|
ab871d771a | ||
|
|
e11f44e039 | ||
|
|
c27577147c | ||
|
|
79974e4d81 | ||
|
|
eeab75998d | ||
|
|
3a0577ba96 | ||
|
|
37aafb61be | ||
|
|
ad9ced2cc7 | ||
|
|
a0717e6fa7 | ||
|
|
9cecbf42a6 | ||
|
|
cafa9cc3e4 | ||
|
|
a7181cb222 | ||
|
|
aa8080f441 | ||
|
|
65aae0ddad | ||
|
|
90f1f326ca | ||
|
|
8383544bb5 | ||
|
|
65f1733d6f | ||
|
|
37e63eff22 | ||
|
|
24dd80e69a | ||
|
|
7b8de76267 | ||
|
|
17ab2c18eb | ||
|
|
3db3413929 | ||
|
|
32eb20702e | ||
|
|
17a7e2b241 | ||
|
|
83c0ad11ac | ||
|
|
6db46c6d00 | ||
|
|
4ba0e7b7d8 | ||
|
|
7637cfb0a6 | ||
|
|
f5c7c81780 | ||
|
|
44bad4b8e6 | ||
|
|
906a4bd75a | ||
|
|
f8b48ebec6 | ||
|
|
a7bfc48bcc | ||
|
|
6f1891462d | ||
|
|
d00fe1f8af | ||
|
|
5a80a2e216 | ||
|
|
3ab56cee8a | ||
|
|
6f78decf44 | ||
|
|
68e5b0d842 | ||
|
|
fa6bb0fc7c | ||
|
|
103a527128 | ||
|
|
054d873936 | ||
|
|
9f2f33e4e6 | ||
|
|
acb7439232 | ||
|
|
635d553b64 | ||
|
|
fe55720c6c | ||
|
|
08e8eabc6f | ||
|
|
665a359413 | ||
|
|
022e399bff | ||
|
|
2578f426b6 | ||
|
|
37bc3c8872 | ||
|
|
55825c0e33 | ||
|
|
6e735b710a | ||
|
|
8ec958ec01 | ||
|
|
e5a71462b8 | ||
|
|
423d208790 | ||
|
|
83659b898d | ||
|
|
7653a2338e | ||
|
|
8325db48ab | ||
|
|
eadca53e7b | ||
|
|
8cb9391534 | ||
|
|
106979876e | ||
|
|
b9d82ee402 | ||
|
|
776909a72d | ||
|
|
91026d4d1d | ||
|
|
4749df7c51 | ||
|
|
6bf3ae5a18 | ||
|
|
a6de6d630a | ||
|
|
b1e7d38f72 | ||
|
|
cf566ab785 | ||
|
|
9c54b0605d | ||
|
|
ff38312b7d | ||
|
|
b06e520ae4 | ||
|
|
f33d23c0b4 | ||
|
|
b9567eb193 | ||
|
|
7139316ef5 | ||
|
|
6b215dcbbf | ||
|
|
d7c75937a1 | ||
|
|
272f1dea33 | ||
|
|
b4c50d1d28 | ||
|
|
4244e74d96 | ||
|
|
f71c4bb8a4 | ||
|
|
3141b928f8 | ||
|
|
614d810ef4 | ||
|
|
ac91f98528 | ||
|
|
1252b6b7df | ||
|
|
7842da78bc | ||
|
|
dad8b16878 | ||
|
|
3881b7a69c | ||
|
|
0471fae54a | ||
|
|
a3d0b45cc0 | ||
|
|
e72264608b | ||
|
|
eb93ae0d26 | ||
|
|
73836e19b7 | ||
|
|
4257373654 | ||
|
|
297ddfd972 | ||
|
|
969fcd2213 | ||
|
|
18b1a36d84 | ||
|
|
89c99700f6 | ||
|
|
7c6386d81e | ||
|
|
757a1686f0 | ||
|
|
611cdd69b1 | ||
|
|
90c573cd42 | ||
|
|
71ca909008 | ||
|
|
8570b4a9d7 | ||
|
|
d67c95d8eb | ||
|
|
bfd7f3398c | ||
|
|
fce94e29a0 | ||
|
|
5d51b4c397 | ||
|
|
5ec5b657be | ||
|
|
3d057950b9 | ||
|
|
29f0159eae | ||
|
|
95c0f28dee | ||
|
|
185f74dfae | ||
|
|
9369663317 | ||
|
|
e7626b6e04 | ||
|
|
29a718e25d | ||
|
|
8fca3f2487 | ||
|
|
ce442aa3e1 | ||
|
|
6470f26be2 | ||
|
|
9018986600 | ||
|
|
25f15688f0 | ||
|
|
078a7c4c55 | ||
|
|
cc1e19ade0 | ||
|
|
27501a0576 | ||
|
|
2e2521c638 | ||
|
|
bcdd2cf220 | ||
|
|
e8394905d4 | ||
|
|
afe42bc327 | ||
|
|
86f6e30cca | ||
|
|
4a24240d9f | ||
|
|
347b348865 | ||
|
|
d4afa5477d | ||
|
|
7792ef1bde | ||
|
|
5dce6f63d0 | ||
|
|
d43f7aa6aa | ||
|
|
705325d6c5 | ||
|
|
1430cb5e34 | ||
|
|
71fcb7b86c | ||
|
|
3a48954586 | ||
|
|
49aee10cfa | ||
|
|
a571c56b4c | ||
|
|
7b5bf62ad5 | ||
|
|
869eea4bb2 | ||
|
|
ffc900e1b3 | ||
|
|
dded255306 | ||
|
|
9c5dead232 | ||
|
|
0191cabe6e | ||
|
|
e1747c0dd7 | ||
|
|
e50ccc25db | ||
|
|
3a788fa035 | ||
|
|
9715c9223a | ||
|
|
ca6cdb4e98 | ||
|
|
e431dbe5bd | ||
|
|
3063df9b78 | ||
|
|
d8f174e54c | ||
|
|
51abe58a1a | ||
|
|
7f1415c7ae | ||
|
|
6cf3a08780 | ||
|
|
2b45c8dffe | ||
|
|
860d7e93c0 | ||
|
|
dabcac2e96 | ||
|
|
c03b7a6f19 | ||
|
|
909e6a6bab | ||
|
|
a2f91b167d | ||
|
|
b2b8c7f0b7 | ||
|
|
29554f4de3 | ||
|
|
735dc8f1d6 | ||
|
|
a9577c9ba8 | ||
|
|
a89726b30c | ||
|
|
3225a4e7e8 | ||
|
|
432e823f7e | ||
|
|
62541f1ac8 | ||
|
|
faf137b9be | ||
|
|
3c9e30ffcd | ||
|
|
b22a3f5973 | ||
|
|
4232000020 | ||
|
|
475aab6cc3 | ||
|
|
dddd9c23e4 | ||
|
|
1064b9dada | ||
|
|
baffe26dd1 | ||
|
|
1993f9f9a5 | ||
|
|
7f00482cfe | ||
|
|
b2a69a35b8 | ||
|
|
a52a948a70 | ||
|
|
94cbfa4579 | ||
|
|
1a4ccd3f5c | ||
|
|
68cb6130d3 | ||
|
|
64b74ede87 | ||
|
|
213960a04a | ||
|
|
170e58a99d | ||
|
|
f3c4bfcbae | ||
|
|
fa971895a8 | ||
|
|
a5a9f8e821 | ||
|
|
0a547304a7 | ||
|
|
45e7bb0027 | ||
|
|
5d7c34093f | ||
|
|
9322cec8f2 | ||
|
|
047501999d | ||
|
|
30f5e0d37c | ||
|
|
205a6d45b5 | ||
|
|
d47e0de175 | ||
|
|
8c470194ce | ||
|
|
410a6bd32d | ||
|
|
af69b47c22 | ||
|
|
fb2c7e5f38 | ||
|
|
4a1c195b24 | ||
|
|
1489e48950 | ||
|
|
5922ba29ac | ||
|
|
1de275325e | ||
|
|
14301284af | ||
|
|
adeb880d7f | ||
|
|
857e9bee00 | ||
|
|
711e0cef78 | ||
|
|
73449bf433 | ||
|
|
4aabccfc79 | ||
|
|
1e2a61c6a0 | ||
|
|
844fae826f | ||
|
|
ef8d1a95a4 | ||
|
|
bf4943eec1 | ||
|
|
97d17904d3 | ||
|
|
98af486b89 | ||
|
|
8f27b27a0e | ||
|
|
aced5882d1 | ||
|
|
839fd03472 | ||
|
|
fb5a90cb1b | ||
|
|
64a83f1427 | ||
|
|
f684a16051 | ||
|
|
2666b45f2a | ||
|
|
aad33c2611 | ||
|
|
ff2335a910 | ||
|
|
32733210dc | ||
|
|
9f5a1705a5 | ||
|
|
b4c1cea735 | ||
|
|
2572636004 | ||
|
|
3a962f3bad | ||
|
|
bfa2bc6736 | ||
|
|
354ed2880c | ||
|
|
9db4d195a7 | ||
|
|
0808f29375 | ||
|
|
7dbfb3ef41 | ||
|
|
333bccee5d | ||
|
|
25c35e59b4 | ||
|
|
ff7785e023 | ||
|
|
0e138bcc8f | ||
|
|
ecea12d206 | ||
|
|
61d1c7b6b2 | ||
|
|
b5cec4b704 | ||
|
|
e895605e5f | ||
|
|
f5a79ea6d2 | ||
|
|
de0cf42111 | ||
|
|
ec9e4eb97e | ||
|
|
47b6a82920 | ||
|
|
28f77b9823 | ||
|
|
4ac8c1bd84 | ||
|
|
962b7fa8d9 | ||
|
|
d6ebb478e3 | ||
|
|
2b8893da53 | ||
|
|
744f52fb27 | ||
|
|
43b9f9462f | ||
|
|
d89aa9a9e6 | ||
|
|
084d78be29 | ||
|
|
9c627e884d | ||
|
|
da83583cdf | ||
|
|
4d9ae0df06 | ||
|
|
4d95e44317 | ||
|
|
4b7235ac5f | ||
|
|
4152c1b177 | ||
|
|
dc5745080d | ||
|
|
3dfac788fa | ||
|
|
c56ff7efb4 | ||
|
|
114c560912 | ||
|
|
1576d183c9 | ||
|
|
0e0bfe91d0 | ||
|
|
d3559d1cca | ||
|
|
222a1cc9e8 | ||
|
|
03103925bd | ||
|
|
9e470cb48e | ||
|
|
376602a65c | ||
|
|
8493cfe983 | ||
|
|
d11ac34dcb | ||
|
|
08bc06dfe0 | ||
|
|
f4fbf84294 | ||
|
|
56ae4bcb55 | ||
|
|
ec61dc0665 | ||
|
|
b21b0ea849 | ||
|
|
318c423e14 | ||
|
|
834ff71157 | ||
|
|
39a187d32e | ||
|
|
146d2cc231 | ||
|
|
87c95d45f7 | ||
|
|
f7f2f6e6b8 | ||
|
|
3e803b3a58 | ||
|
|
22c01ca14c | ||
|
|
111f0921f5 | ||
|
|
8c515c7077 | ||
|
|
04579909ff | ||
|
|
40ff3e4618 | ||
|
|
c0a446df02 | ||
|
|
8f7cf6bf47 | ||
|
|
4a7b5892af | ||
|
|
9a5aa95893 | ||
|
|
8d623e21b6 | ||
|
|
7a87e41ab8 | ||
|
|
f62f184241 | ||
|
|
8ea69cb5d1 | ||
|
|
97f0cef391 | ||
|
|
85084c6db9 | ||
|
|
a09b995651 | ||
|
|
4098484ff5 | ||
|
|
91b24c6032 | ||
|
|
38d0f0bbd0 | ||
|
|
d3e39632bf | ||
|
|
43ae61e095 | ||
|
|
bd31c88814 | ||
|
|
02c59df1b3 | ||
|
|
f6c05ef7a1 | ||
|
|
505e4b80fd | ||
|
|
cd8d88716f | ||
|
|
d3a93d5273 | ||
|
|
ed9637de50 | ||
|
|
4e744c057b | ||
|
|
4b717fe554 | ||
|
|
236a0fde35 | ||
|
|
306d309209 | ||
|
|
a8f4cd271e | ||
|
|
3cd129544e | ||
|
|
1004e924ff | ||
|
|
c013ede227 | ||
|
|
914b363a37 | ||
|
|
8ad349dcf0 | ||
|
|
7146bfc04a | ||
|
|
e852bc0980 | ||
|
|
8a9b1416ed | ||
|
|
9da7a1ff0a | ||
|
|
219aa57fbd | ||
|
|
5930ac09b7 | ||
|
|
8837c3c10b | ||
|
|
0d0dd65a6a | ||
|
|
0ac9c4276f | ||
|
|
0edf6fd1e4 | ||
|
|
c9d6c25f71 | ||
|
|
73fed6c093 | ||
|
|
75f238fcb3 | ||
|
|
8706f77eb7 | ||
|
|
3cf0689d46 | ||
|
|
623f77e097 | ||
|
|
61d6f8f18f | ||
|
|
6480193c65 | ||
|
|
23a31b3771 | ||
|
|
112b352b03 | ||
|
|
a48c20d470 | ||
|
|
5fd47bc613 | ||
|
|
6966d94d90 | ||
|
|
5311219de7 | ||
|
|
4119f60010 | ||
|
|
0960f3d6d1 | ||
|
|
64b49ddd95 | ||
|
|
2c27526a34 | ||
|
|
fe6b340382 | ||
|
|
8148b8824f | ||
|
|
be0c4b5451 | ||
|
|
168c6138d8 | ||
|
|
b9555a5775 | ||
|
|
b78fff9386 | ||
|
|
963c89cab2 | ||
|
|
d7ef6efd04 | ||
|
|
35fef33868 | ||
|
|
8a9e81d514 | ||
|
|
b17df61043 | ||
|
|
4e0cdf34b6 | ||
|
|
a97dec5c30 | ||
|
|
ad0834bedb | ||
|
|
b53c63910d | ||
|
|
5c0908ee52 | ||
|
|
7f33846005 | ||
|
|
4afda10b82 | ||
|
|
cc0e581bc3 | ||
|
|
df1aa76cc5 | ||
|
|
a3a2fb1e4f | ||
|
|
915dadd9d7 | ||
|
|
d899e0ac6f | ||
|
|
3915e01cfb | ||
|
|
2fc6da125f | ||
|
|
ba4013816d | ||
|
|
b64113b7d9 | ||
|
|
a9483dd8dc | ||
|
|
5f2fb86a76 | ||
|
|
386ba990bf | ||
|
|
7f1b5c09de | ||
|
|
fcfdd71c06 | ||
|
|
73336bbc00 | ||
|
|
e7fa50635f | ||
|
|
fddec80755 | ||
|
|
dac3389b27 | ||
|
|
c952eb7dea | ||
|
|
6a28cfd2ba | ||
|
|
e4693b8aaf | ||
|
|
87e78e2a48 | ||
|
|
6ac9b5fa9d | ||
|
|
71449c8638 | ||
|
|
a17088363f | ||
|
|
83004f0a0a | ||
|
|
c42fbbd10e | ||
|
|
d068d80ab9 | ||
|
|
eb142a6be5 | ||
|
|
9fde2b28e1 | ||
|
|
195723180b | ||
|
|
2e051cebaa | ||
|
|
795d0b056c | ||
|
|
d7c69d3b78 | ||
|
|
059aa425b7 | ||
|
|
aaf5c28c5b | ||
|
|
3083bbadc1 | ||
|
|
150ca5d686 | ||
|
|
58d1e2e1be | ||
|
|
090bae9a94 | ||
|
|
113f0427ab | ||
|
|
36520d6ec1 | ||
|
|
2a7d8df4c5 | ||
|
|
ac6a2bf2e5 | ||
|
|
3c1cb806d4 | ||
|
|
e5587c2b31 | ||
|
|
8128c79e81 | ||
|
|
ae5e2f5af2 | ||
|
|
a8b7b2a6b9 | ||
|
|
111bef7f06 | ||
|
|
6f1c6fbc1a | ||
|
|
31cd05191d | ||
|
|
efb8c4e36b | ||
|
|
ed71379aa1 | ||
|
|
b1c3fce49b | ||
|
|
e75c711c68 | ||
|
|
8d031f13c0 | ||
|
|
42a73f91fe | ||
|
|
c508fd9b13 | ||
|
|
c62949b98e | ||
|
|
0b640c785f | ||
|
|
fe17d51b03 | ||
|
|
565cf23d92 | ||
|
|
020e2e00c3 | ||
|
|
f4870050e0 | ||
|
|
f31e67b13d | ||
|
|
6f4d48cc6c | ||
|
|
fb34ebc674 | ||
|
|
6c867c34d7 | ||
|
|
70a56028b6 | ||
|
|
08327e2748 | ||
|
|
6d6b7f93f3 | ||
|
|
0d95cf8f5b | ||
|
|
471f9aec19 | ||
|
|
b5beb20e08 | ||
|
|
c8b6e2d5cd | ||
|
|
8ccb833421 | ||
|
|
93ec969005 | ||
|
|
5a42b59e91 | ||
|
|
266870fee8 | ||
|
|
ca5245bb9b | ||
|
|
84b3c952d9 | ||
|
|
6ef71a800f | ||
|
|
77778aeadf | ||
|
|
e8275b767e | ||
|
|
efdf7fb93e | ||
|
|
1fd2d26185 | ||
|
|
cac19d9e8b | ||
|
|
1d03df7d33 | ||
|
|
90ae5cd897 | ||
|
|
bb346c8d2b | ||
|
|
317932204e | ||
|
|
a48c7e1d83 | ||
|
|
336a4b6ac2 | ||
|
|
c9c7521f4f | ||
|
|
b455bc467d | ||
|
|
d1df057d08 | ||
|
|
062aebeba0 | ||
|
|
cff83a3fec | ||
|
|
b08d5267cb | ||
|
|
1ce37acde6 | ||
|
|
b7cd0c63e5 | ||
|
|
a866da84d9 | ||
|
|
6908f44aa2 | ||
|
|
181b8a2744 | ||
|
|
5a7bebc8b5 | ||
|
|
536d6ab302 | ||
|
|
99446ffa8a | ||
|
|
143973e031 | ||
|
|
bb5ad6e1ad | ||
|
|
6ae433249d | ||
|
|
5f5b824ade | ||
|
|
34abc8116c | ||
|
|
1efaaefd63 | ||
|
|
cfd635786a | ||
|
|
11e3faa8da | ||
|
|
1002990619 | ||
|
|
a94bbd8f3c | ||
|
|
46354da728 | ||
|
|
2c7c2b3fa6 | ||
|
|
938d866c1b | ||
|
|
42ff5415ba | ||
|
|
0e52be8427 | ||
|
|
5105614b83 | ||
|
|
77fc310a70 | ||
|
|
3541177d50 | ||
|
|
3c3ab57cf6 | ||
|
|
b73e7a9732 | ||
|
|
2047140dda | ||
|
|
b7e2f6c71a | ||
|
|
e1505d88b1 | ||
|
|
d04e5ea0ba | ||
|
|
3ebcd9bbe7 | ||
|
|
ab9ccc985a | ||
|
|
2188be219e | ||
|
|
a34792ce16 | ||
|
|
9160c9ae31 | ||
|
|
8e05fbf43f | ||
|
|
c59ff7416a | ||
|
|
c943072193 | ||
|
|
d39cc1fb5f | ||
|
|
005a0ec931 | ||
|
|
2cfdf29364 | ||
|
|
7254c71683 | ||
|
|
328534605f | ||
|
|
5eb7383613 | ||
|
|
75c2f4f394 | ||
|
|
6cbe506915 | ||
|
|
3d6ac8face | ||
|
|
14fe014fdf | ||
|
|
8f16eeb82a | ||
|
|
84e5072741 | ||
|
|
3f72da9d0b | ||
|
|
873e12c7c6 | ||
|
|
fecfb784ee | ||
|
|
5a7014a418 | ||
|
|
ceae7ef672 | ||
|
|
67b09911c1 | ||
|
|
3043bb70e1 | ||
|
|
ff99155f7d | ||
|
|
dc2dae5d87 | ||
|
|
76eeb5df42 | ||
|
|
185a985a85 | ||
|
|
834e8359ee | ||
|
|
503f70bba4 | ||
|
|
c3e45b662a | ||
|
|
4f16f87b4d | ||
|
|
9db1a5786d | ||
|
|
b9b150f147 | ||
|
|
0eecec75e2 | ||
|
|
581f3540b6 | ||
|
|
68dabd4d25 | ||
|
|
59b171db04 | ||
|
|
e97ebfb036 | ||
|
|
7380d03e00 | ||
|
|
5be558ef15 | ||
|
|
a7116cf353 | ||
|
|
3147f69435 | ||
|
|
0ef9b00dc7 | ||
|
|
bc05793cbe | ||
|
|
fd349f3020 | ||
|
|
df5a3c4da4 | ||
|
|
fe415a30c5 | ||
|
|
382208e59c | ||
|
|
ed02a24e0e | ||
|
|
e712d3458c | ||
|
|
685681dedc | ||
|
|
b412da6b8a | ||
|
|
03dc674c2d | ||
|
|
d0bcd3c6fb | ||
|
|
6649218e17 | ||
|
|
453fae4a5c | ||
|
|
3f32222360 | ||
|
|
479705e8ce | ||
|
|
e8fc9d5c9b | ||
|
|
38d3b200b5 | ||
|
|
a0551a9b8b | ||
|
|
be03fc273a | ||
|
|
ab496e9e34 | ||
|
|
81e7576150 | ||
|
|
2e69f15c20 | ||
|
|
0c7b35d0ab | ||
|
|
e12f10ae0e | ||
|
|
961b704a8e | ||
|
|
4ee8055f17 | ||
|
|
394335fa91 | ||
|
|
8125c05be0 | ||
|
|
059f01d23a | ||
|
|
5f80f9c814 | ||
|
|
0cee57f1d9 | ||
|
|
eab99b3bae | ||
|
|
a1e1509358 | ||
|
|
39d8b0c8c1 | ||
|
|
1356029bea | ||
|
|
b8af8a1af0 | ||
|
|
06c79cffae | ||
|
|
430fe09d6d | ||
|
|
5455c71f93 | ||
|
|
e2d6c692c4 | ||
|
|
501fab0bef | ||
|
|
1f1c337eb6 | ||
|
|
1c9131a5d7 | ||
|
|
fb758a32e1 | ||
|
|
d4c55557c3 | ||
|
|
0e39174c48 | ||
|
|
40401a6ed2 | ||
|
|
74ea36ac1c | ||
|
|
2d48674c5b | ||
|
|
42c7d887d3 | ||
|
|
8dcaaa9e09 | ||
|
|
267e926a38 | ||
|
|
11e6ffaae9 | ||
|
|
6a5dd6ed58 | ||
|
|
bcd68b937d | ||
|
|
9fab7ca06c | ||
|
|
4082a34599 | ||
|
|
f9debc72fa | ||
|
|
b363402f45 | ||
|
|
b0942fbc37 | ||
|
|
e3a12ea1a9 | ||
|
|
5dd6fb8547 | ||
|
|
8586d2e41c | ||
|
|
ba1e95fd43 | ||
|
|
e7538d7b26 | ||
|
|
2b7ebaceb2 | ||
|
|
3de3c3c143 | ||
|
|
0e0e325e5b | ||
|
|
e97106c770 | ||
|
|
50f8e0daa8 | ||
|
|
efcf846b2c | ||
|
|
afe3e13345 | ||
|
|
461c769ac4 | ||
|
|
0dc0d6c31c | ||
|
|
49d8ea4886 | ||
|
|
e66776a79f | ||
|
|
3036cbe552 | ||
|
|
393aa076bc | ||
|
|
0ef6f81843 | ||
|
|
339fe00dfe | ||
|
|
6382bb5333 | ||
|
|
41c60fb848 | ||
|
|
8df49bc823 | ||
|
|
ab4129061e | ||
|
|
021a670d86 | ||
|
|
fa27551428 | ||
|
|
538243dc3b | ||
|
|
d83c610002 | ||
|
|
196f7eb101 | ||
|
|
a1167d80b2 | ||
|
|
a765b13f52 | ||
|
|
45b3e9d03c | ||
|
|
5844166047 | ||
|
|
c6dcc1cd9e | ||
|
|
118ed4d2ab | ||
|
|
9fcd2c53c8 | ||
|
|
da80830bc5 | ||
|
|
b060056480 | ||
|
|
b71df3a3d4 | ||
|
|
128e9861f9 | ||
|
|
5d2cb27562 | ||
|
|
75e340bfbf | ||
|
|
b5744e5da4 | ||
|
|
7bad5770a1 | ||
|
|
809c1e46d8 | ||
|
|
c056093125 | ||
|
|
88ea1de80f | ||
|
|
7c8a835fa0 | ||
|
|
c6317888da | ||
|
|
9f1946ce70 | ||
|
|
32be2866f6 | ||
|
|
448d60ebbf | ||
|
|
c536370ab8 | ||
|
|
dccc6bf1af | ||
|
|
e331ebbf7d | ||
|
|
b1660fa468 | ||
|
|
4af743766d | ||
|
|
8f35f16c7e | ||
|
|
e08710e373 | ||
|
|
48b9af1298 | ||
|
|
cec59bc580 | ||
|
|
dff23f5a7b | ||
|
|
bcdff7f6f0 | ||
|
|
49dbf79e81 | ||
|
|
1610ff33ea | ||
|
|
b5fd121f26 | ||
|
|
c292ea7b94 | ||
|
|
de56f3a562 | ||
|
|
94e469c803 | ||
|
|
0d369baf9d | ||
|
|
0ab00df154 | ||
|
|
6167d95167 | ||
|
|
d582e42d4d | ||
|
|
6da14ae310 | ||
|
|
442f85e89e | ||
|
|
8cf8bf441e | ||
|
|
2cc25f64f2 | ||
|
|
035008cd9d | ||
|
|
e7f1ff14d6 | ||
|
|
c092d2ba70 | ||
|
|
d1783babd9 | ||
|
|
7519f364e5 | ||
|
|
7f9ab7dfce | ||
|
|
f9d87f28f6 | ||
|
|
dd7225fb2a | ||
|
|
134748a238 | ||
|
|
b57d890cbd | ||
|
|
50163e1385 | ||
|
|
fde4cd4d17 | ||
|
|
b6e164355b | ||
|
|
2e9af40bca | ||
|
|
2f45c3d2cd | ||
|
|
d763c0ab4e | ||
|
|
baa93d4b37 | ||
|
|
dd7659c643 | ||
|
|
aed6f89772 | ||
|
|
39af1ccc7c | ||
|
|
52f4ba767a | ||
|
|
0f853a2fee | ||
|
|
ca807afba2 | ||
|
|
e349e54cb8 | ||
|
|
39218ec0f7 | ||
|
|
908d9d86b3 | ||
|
|
92f3efeac2 | ||
|
|
a772b56cb6 | ||
|
|
bd6b9a58d3 | ||
|
|
873cacc15a | ||
|
|
55ff681976 | ||
|
|
618ecdb76c | ||
|
|
8af6ad7278 | ||
|
|
c07de8c4d3 | ||
|
|
e10fe8aaad | ||
|
|
feb45edf6d | ||
|
|
0a916543b3 | ||
|
|
2c53ff2980 | ||
|
|
b2fcc027a9 | ||
|
|
1dc78ba4b7 | ||
|
|
04e0910dea | ||
|
|
d19a6199ea | ||
|
|
e8925e47b0 | ||
|
|
cc712668f0 | ||
|
|
f7dbf5ac38 | ||
|
|
283a01493c | ||
|
|
f82aa92c38 | ||
|
|
7660f72745 | ||
|
|
4e4f2058c2 | ||
|
|
ca25e32c0f | ||
|
|
5a1f60c729 | ||
|
|
ac242f94ca | ||
|
|
9ab9b01a64 | ||
|
|
cdeb39bd7f | ||
|
|
1d01ffeb9e | ||
|
|
25a49005cc | ||
|
|
875b60dfe5 | ||
|
|
c071037485 | ||
|
|
4edfa171f0 | ||
|
|
0eb3cdc43c | ||
|
|
f747fd9dfa | ||
|
|
c06e34c687 | ||
|
|
7f62169b5e | ||
|
|
5b2c7ad1f3 | ||
|
|
c535cd7613 | ||
|
|
6e21c9927c | ||
|
|
c3d9804e85 | ||
|
|
30c79875a3 | ||
|
|
a79153f6e0 | ||
|
|
87319ba73d | ||
|
|
cb18bf7e5d | ||
|
|
304a36b814 | ||
|
|
6ee673095c | ||
|
|
cf4964c8f4 | ||
|
|
a1b88e85fd | ||
|
|
46a8215092 | ||
|
|
62694f0ee9 | ||
|
|
e8bdf1c7db | ||
|
|
2af4192756 | ||
|
|
fd80d0a22d | ||
|
|
86743ab361 | ||
|
|
cca8081f2e | ||
|
|
5c5b246cc3 | ||
|
|
469a36e3b6 | ||
|
|
f9d333bec2 | ||
|
|
38879cd3d9 | ||
|
|
eb3123adb8 | ||
|
|
2b4f20b94c | ||
|
|
19949c0743 | ||
|
|
8d03e0cf02 | ||
|
|
265b1035f4 | ||
|
|
8e0230b756 | ||
|
|
478273e044 | ||
|
|
d0c2f5495c | ||
|
|
4a09ad51f0 | ||
|
|
5bef1b46d3 | ||
|
|
3bec430192 | ||
|
|
18f0093b18 | ||
|
|
adfaa21d03 | ||
|
|
01d1f1d258 | ||
|
|
4e775d275c | ||
|
|
035f6fe5e1 | ||
|
|
bba74499e5 | ||
|
|
b61cbb1df8 | ||
|
|
1a60d7df98 | ||
|
|
89a7e3bf2f | ||
|
|
fe1a6cee10 | ||
|
|
6a66d9f7fb | ||
|
|
fadbcca99c | ||
|
|
0b48e7272d | ||
|
|
23bdc6f792 | ||
|
|
de7274fcff | ||
|
|
b126392a8e | ||
|
|
d2a9e31fd3 | ||
|
|
6d61bcc4e1 | ||
|
|
d8e3ca4a88 | ||
|
|
351184991a | ||
|
|
14b51ef57c | ||
|
|
7a836382b3 | ||
|
|
360dec4fb9 | ||
|
|
83cf1be2b9 | ||
|
|
241525947c | ||
|
|
76a99eaa18 | ||
|
|
4bceb57ad1 | ||
|
|
c7705a6325 | ||
|
|
4f78e2c47c | ||
|
|
6789aed119 | ||
|
|
291f26cba0 | ||
|
|
a3458ce6e3 | ||
|
|
a7eb5397a4 | ||
|
|
fc03ed2969 | ||
|
|
12f1991771 | ||
|
|
57946e114c | ||
|
|
8b3463e73f | ||
|
|
3cb7dbe921 | ||
|
|
d11102d858 | ||
|
|
183911514a | ||
|
|
bc3c17ffc8 | ||
|
|
3379289024 | ||
|
|
562a8df46b | ||
|
|
68e2869d64 | ||
|
|
c6818cc55c | ||
|
|
08b3bab2ec | ||
|
|
34771aad22 | ||
|
|
109d53d461 | ||
|
|
958520f557 | ||
|
|
12c311da3f | ||
|
|
d7d9df726b | ||
|
|
a368182769 | ||
|
|
2a9fd30d36 | ||
|
|
082a944e0b | ||
|
|
e1b68665db | ||
|
|
c64ef1e2f4 | ||
|
|
3063c2e64d | ||
|
|
38f46169d9 | ||
|
|
c1aa0323dc | ||
|
|
673b755987 | ||
|
|
3d6fab6e49 | ||
|
|
d0823beef5 | ||
|
|
b0e98892e5 | ||
|
|
0006d28cbb | ||
|
|
42dcc4e217 | ||
|
|
13582981e4 | ||
|
|
d4c1bf6c67 | ||
|
|
3ef55d10ae | ||
|
|
5ce171d92c | ||
|
|
e409148941 | ||
|
|
d44abd8e4d | ||
|
|
5c38b6c355 | ||
|
|
04ecfdd794 | ||
|
|
fc59a32b63 | ||
|
|
fd57e2d9a6 | ||
|
|
303a5ea898 | ||
|
|
d502d0bcd6 | ||
|
|
2018f5020a | ||
|
|
92a7849e98 | ||
|
|
59bdb62966 | ||
|
|
eab1938012 | ||
|
|
d97bd79c86 | ||
|
|
35c05f61e5 | ||
|
|
a5181c8ed1 | ||
|
|
aa545ac0dc | ||
|
|
ac9bd094f3 | ||
|
|
becf55febc | ||
|
|
c41cc80700 | ||
|
|
20b1a27d05 | ||
|
|
a027e9b6bc | ||
|
|
3fe676e9c9 | ||
|
|
bffe8e918b | ||
|
|
92e5fe9fd5 | ||
|
|
b107ac1659 | ||
|
|
5537c03569 | ||
|
|
4ab7c82405 | ||
|
|
6e8cd2e3e5 | ||
|
|
c0c7527497 | ||
|
|
e71cb5c8c9 | ||
|
|
cdbb4cf68a | ||
|
|
204d468ad2 | ||
|
|
1844212f34 | ||
|
|
fbb0342511 | ||
|
|
92b174b315 | ||
|
|
0ba9784be2 | ||
|
|
2c50cf7284 | ||
|
|
bea0dca55d | ||
|
|
1676af9de9 | ||
|
|
3d48bdaad1 | ||
|
|
1b474d4f97 | ||
|
|
4467167f99 | ||
|
|
36ec8bb99b | ||
|
|
bc5f99dc43 | ||
|
|
4d4966592e | ||
|
|
f1fff3af7e | ||
|
|
83e553d6a9 | ||
|
|
173724b402 | ||
|
|
64d3927879 | ||
|
|
49ad70b11c | ||
|
|
0d0b769bcc | ||
|
|
fb2aa186b7 | ||
|
|
ef94826f95 | ||
|
|
d79f34e960 | ||
|
|
4ce6e4a9cb | ||
|
|
9cf2771549 | ||
|
|
daf583e4cb | ||
|
|
51e55f4b6e | ||
|
|
f30527b6d9 | ||
|
|
17b186933d | ||
|
|
fd57edceff | ||
|
|
1876c0e11a | ||
|
|
cd5c740368 | ||
|
|
e2eef2bb25 | ||
|
|
ad3c19a160 | ||
|
|
07bb25f7b1 | ||
|
|
edd0223377 | ||
|
|
34a8a623f4 | ||
|
|
f854539ea9 | ||
|
|
cd1b8ccde7 | ||
|
|
cf3f8d2bb0 | ||
|
|
f1a0e718b3 | ||
|
|
08e0a51036 | ||
|
|
8e0f21cc91 | ||
|
|
ae7843f244 | ||
|
|
b5b47e6525 | ||
|
|
e7a4f9f507 | ||
|
|
658926189f | ||
|
|
154c8372e3 | ||
|
|
a68b5eef86 | ||
|
|
65ea1e4647 | ||
|
|
f8f85430c0 | ||
|
|
d8a2eb81e3 | ||
|
|
9a9c0df6b0 | ||
|
|
0a86beccc7 | ||
|
|
2fe9791127 | ||
|
|
b856d50c3f | ||
|
|
dde2b80e1d | ||
|
|
49b954462d | ||
|
|
c51dac1282 | ||
|
|
0d002c7057 | ||
|
|
1d03e90b5c | ||
|
|
25ac773cf3 | ||
|
|
ecb069ac85 | ||
|
|
a6cf6c4069 | ||
|
|
6854d83842 | ||
|
|
4aab78f619 | ||
|
|
95d2860930 | ||
|
|
70db76a798 | ||
|
|
07bf3eb1e9 | ||
|
|
237e672e70 | ||
|
|
61d436c29d | ||
|
|
22ea3e76f9 | ||
|
|
0089d04459 | ||
|
|
26ee46ad5b | ||
|
|
417c4e0faa | ||
|
|
b6675dd0ab | ||
|
|
dff40c5220 | ||
|
|
1fd426432e | ||
|
|
97c43ef787 | ||
|
|
a546e56669 | ||
|
|
4b52192974 | ||
|
|
fb10e0c4cb | ||
|
|
a44cb9708f | ||
|
|
c7fc08056a | ||
|
|
12ba37e43a | ||
|
|
928346b842 | ||
|
|
b81c895e1d | ||
|
|
d434e5aeac | ||
|
|
2250db41b4 | ||
|
|
826db9021e | ||
|
|
ad61279621 | ||
|
|
5ce1b36130 | ||
|
|
a1f17f70eb | ||
|
|
a0f086ba85 | ||
|
|
8d095a235f | ||
|
|
ff1417421b | ||
|
|
00fb04f309 | ||
|
|
a3cc17fbe6 | ||
|
|
fd27d403d7 | ||
|
|
6d29e314a0 | ||
|
|
902e438e6c | ||
|
|
096d668d83 | ||
|
|
49c5c32714 | ||
|
|
9a70d8daa2 | ||
|
|
79eb8d9d78 | ||
|
|
221b280856 | ||
|
|
933378ab80 | ||
|
|
bd51d194cf | ||
|
|
1e27c7d8ce | ||
|
|
7d554ed175 | ||
|
|
e72d765961 | ||
|
|
9ce38b86ab | ||
|
|
05bdda7b07 | ||
|
|
d68f18c77a | ||
|
|
ae6349e573 | ||
|
|
0541cff2ad | ||
|
|
e69f8c36d2 | ||
|
|
e7f191c08b | ||
|
|
6a2372b0b2 | ||
|
|
0592515639 | ||
|
|
a6c4bba6c2 | ||
|
|
5691bf385b | ||
|
|
a149f0abb9 | ||
|
|
eae7051111 | ||
|
|
adb6be05d1 | ||
|
|
4e889c7b47 | ||
|
|
2ed6605cc3 | ||
|
|
42c264bf7b | ||
|
|
fe6564b533 | ||
|
|
f6923f21b1 | ||
|
|
edfc61889c | ||
|
|
08c8ca18a7 | ||
|
|
9e4f16ac8b | ||
|
|
03ece0568d | ||
|
|
2dcb465d50 | ||
|
|
c93655c717 | ||
|
|
6f6510169e | ||
|
|
cfe159f636 | ||
|
|
213f361551 | ||
|
|
3582941791 | ||
|
|
a3cd9347e6 | ||
|
|
449c8b5f36 | ||
|
|
1f7af3754d | ||
|
|
72df6b9be2 | ||
|
|
044c0cfdc3 | ||
|
|
3c43f65234 | ||
|
|
bd2d284c53 | ||
|
|
ffea9c010b | ||
|
|
44351b57f7 | ||
|
|
4bbb938de8 | ||
|
|
437270e0af | ||
|
|
09b7f4c95d | ||
|
|
38f83c50c4 | ||
|
|
2f06dc5755 | ||
|
|
d6b66e2155 | ||
|
|
309298fa42 | ||
|
|
a0a2fa964b | ||
|
|
0c769d0f61 | ||
|
|
1b90619890 | ||
|
|
0ea34216de | ||
|
|
53374ac54a | ||
|
|
6355ac219e | ||
|
|
384ad96637 | ||
|
|
0361b0df70 | ||
|
|
a1b8c20c3f | ||
|
|
de01d581c1 | ||
|
|
f1bda194e0 | ||
|
|
a84b62452c | ||
|
|
e039ba5130 | ||
|
|
e67dd8947b | ||
|
|
2d6a4a4956 | ||
|
|
f394581ed8 | ||
|
|
33b0c89e7c | ||
|
|
4e3aa3c289 | ||
|
|
58b196c583 | ||
|
|
3dc53c3d13 | ||
|
|
4f2c1cfe85 | ||
|
|
6e16b3cf84 | ||
|
|
9f0ab479b0 | ||
|
|
884b5e13ee | ||
|
|
7d4aab4cf1 | ||
|
|
6bb0c03d8d | ||
|
|
797c94b0e9 | ||
|
|
e63fbcefe9 | ||
|
|
dcc29d3db6 | ||
|
|
be66c01829 | ||
|
|
21b9884606 | ||
|
|
fd6d93292c | ||
|
|
9000165718 | ||
|
|
54b313cc5a | ||
|
|
2461c11536 | ||
|
|
f17345ffe4 | ||
|
|
4908a63f61 | ||
|
|
da7de899e1 | ||
|
|
44108d6a26 | ||
|
|
c7fb978b7b | ||
|
|
0db94d94d6 | ||
|
|
92e489760d | ||
|
|
decee7616f | ||
|
|
deafd3d0d4 | ||
|
|
b9bbd819be | ||
|
|
b956ea5a5e | ||
|
|
cf2e81b036 | ||
|
|
bf2732599c | ||
|
|
10696680ff | ||
|
|
7e159cb5cd | ||
|
|
74cda61c88 | ||
|
|
9dfe57a3f7 | ||
|
|
f10dcd780c | ||
|
|
bee7efb5d9 | ||
|
|
0039b53d21 | ||
|
|
9f86acbe58 | ||
|
|
bbc1bcbed1 | ||
|
|
3ed824fe0f | ||
|
|
fe24b96d61 | ||
|
|
4b6d8a152f | ||
|
|
e21b9afdf2 | ||
|
|
901d7d8759 | ||
|
|
4b618f9ad1 | ||
|
|
0f7bc76f39 | ||
|
|
6d997ab201 | ||
|
|
8f7f4ae72f | ||
|
|
c85b5f6a87 | ||
|
|
ba5f9887fb | ||
|
|
9e3e9a2d6d | ||
|
|
88a5e2d34d | ||
|
|
afc346d6f1 | ||
|
|
4dd398ca7a | ||
|
|
756bfc9077 | ||
|
|
f646250a91 | ||
|
|
24c567086f | ||
|
|
05b1696df7 | ||
|
|
0baa3b511e | ||
|
|
d793088575 | ||
|
|
9aa7f9ed18 | ||
|
|
e7f6cf12a5 | ||
|
|
e2ba468924 | ||
|
|
85760c0a4c | ||
|
|
0db7af6166 | ||
|
|
5e3d1dd4b5 | ||
|
|
6eb9a36a22 | ||
|
|
e88e9401f1 | ||
|
|
829b4287dd | ||
|
|
2bf7b5a7ab | ||
|
|
1c83f3091c | ||
|
|
dfd08e7c55 | ||
|
|
3b28af17db | ||
|
|
5a03dfb9a4 | ||
|
|
fa1aa301e8 | ||
|
|
ae7b91efe2 | ||
|
|
6d9ccd9b8e | ||
|
|
0d79435ce2 | ||
|
|
4ee2fdf1c6 | ||
|
|
cd273daa1b | ||
|
|
c2e9d49f69 | ||
|
|
38a9c92eec | ||
|
|
1d0f442718 | ||
|
|
1e8babe185 | ||
|
|
69d3b5ca60 | ||
|
|
a493c18193 | ||
|
|
5370ea71c0 | ||
|
|
0afec7739b | ||
|
|
a7173d54ce | ||
|
|
3b10cfae80 | ||
|
|
bd14ad9e6e | ||
|
|
9507cd8ed6 | ||
|
|
dfe74cb5c4 | ||
|
|
00e7b7c3d5 | ||
|
|
d2be50bf4d | ||
|
|
f0f3d6d4eb | ||
|
|
21d918921a | ||
|
|
55095edee6 | ||
|
|
6a7deab74d | ||
|
|
7db27f11d0 | ||
|
|
3ebb4feb98 | ||
|
|
e8dab9bfcf | ||
|
|
dc3eee44a9 | ||
|
|
9e8463af33 | ||
|
|
dd2bdd09db | ||
|
|
0eb3c1d393 | ||
|
|
cb6a1b7225 | ||
|
|
38c73788e1 | ||
|
|
2c89122ce9 | ||
|
|
2eae013ebf | ||
|
|
1247a9c93d | ||
|
|
5c6dd19826 | ||
|
|
9d0ee5c5cd | ||
|
|
3affc2a2d8 | ||
|
|
02bdaa6d10 | ||
|
|
aee263d050 | ||
|
|
7ac4abf8a0 | ||
|
|
139622e0b8 | ||
|
|
aaa4aaf53f | ||
|
|
73c27a9a25 |
28
.devcontainer/README.md
Normal file
28
.devcontainer/README.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Bun's Dev Container
|
||||
|
||||
To get started, login to GitHub and clone bun's GitHub repo into `/build/bun`
|
||||
|
||||
# First time setup
|
||||
|
||||
```bash
|
||||
gh auth login # if it fails to open a browser, use Personal Access Token instead
|
||||
gh repo clone oven-sh/bun . -- --depth=1 --progress -j8
|
||||
```
|
||||
|
||||
# Compile bun dependencies (zig is already compiled)
|
||||
|
||||
```bash
|
||||
make devcontainer
|
||||
```
|
||||
|
||||
# Build bun for development
|
||||
|
||||
```bash
|
||||
make dev
|
||||
```
|
||||
|
||||
# Run bun
|
||||
|
||||
```bash
|
||||
bun-debug help
|
||||
```
|
||||
70
.devcontainer/devcontainer.json
Normal file
70
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,70 @@
|
||||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
|
||||
// https://github.com/microsoft/vscode-dev-containers/tree/v0.209.6/containers/docker-existing-dockerfile
|
||||
{
|
||||
"name": "bun (Ubuntu)",
|
||||
|
||||
// Sets the run context to one level up instead of the .devcontainer folder.
|
||||
"context": "..",
|
||||
"hostRequirements": { "memory": "16gb" },
|
||||
|
||||
// Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename.
|
||||
"dockerFile": "../Dockerfile.devcontainer",
|
||||
|
||||
// Set *default* container specific settings.json values on container create.
|
||||
"settings": {
|
||||
"terminal.integrated.shell.linux": "/bin/zsh",
|
||||
"zigLanguageClient.path": "/home/ubuntu/zls/zig-out/bin/zls",
|
||||
"zig.zigPath": "/build/zig/zig",
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||
},
|
||||
|
||||
// Add the IDs of extensions you want installed when the container is created.
|
||||
"extensions": [
|
||||
"AugusteRame.zls-vscode",
|
||||
"ms-vscode.cpptools",
|
||||
"/home/ubuntu/vscode-zig.vsix",
|
||||
"vadimcn.vscode-lldb",
|
||||
"esbenp.prettier-vscode",
|
||||
"xaver.clang-format"
|
||||
],
|
||||
"postCreateCommand": "cd /build/bun; bash /build/getting-started.sh; cat /build/README.md",
|
||||
|
||||
"build": {
|
||||
"target": "bun.devcontainer",
|
||||
"cacheFrom": ["ghcr.io/oven-sh/bun.devcontainer:latest"],
|
||||
"args": {
|
||||
"BUILDARCH": "${localEnv:DOCKER_BUILDARCH:amd64}",
|
||||
"--platform": "linux/${localEnv:DOCKER_BUILDARCH:amd64}",
|
||||
"--tag": "ghcr.io/oven-sh/bun.devcontainer:latest"
|
||||
}
|
||||
},
|
||||
"runArgs": [
|
||||
"--ulimit",
|
||||
"memlock=-1:-1",
|
||||
"--ulimit",
|
||||
"nofile=65536:65536",
|
||||
"--cap-add=SYS_PTRACE",
|
||||
"--security-opt",
|
||||
"seccomp=unconfined"
|
||||
],
|
||||
"workspaceMount": "source=bun,target=/build/bun,type=volume",
|
||||
"workspaceFolder": "/build/bun",
|
||||
"mounts": [
|
||||
"source=bun-install,target=/home/ubuntu/.bun,type=volume",
|
||||
"source=bun-config,target=/home/ubuntu/.config,type=volume"
|
||||
],
|
||||
|
||||
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||
"forwardPorts": [3000, 8081, 8080]
|
||||
|
||||
// Uncomment the next line to run commands after the container is created - for example installing curl.
|
||||
// "postCreateCommand": "apt-get update && apt-get install -y curl",
|
||||
|
||||
// Uncomment when using a ptrace-based debugger like C++, Go, and Rust
|
||||
|
||||
// Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker.
|
||||
// "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ],
|
||||
|
||||
// Uncomment to connect as a non-root user if you've added one. See https://aka.ms/vscode-remote/containers/non-root.
|
||||
// "remoteUser": "vscode"
|
||||
}
|
||||
61
.devcontainer/limits.conf
Normal file
61
.devcontainer/limits.conf
Normal file
@@ -0,0 +1,61 @@
|
||||
# /etc/security/limits.conf
|
||||
#
|
||||
#Each line describes a limit for a user in the form:
|
||||
#
|
||||
#<domain> <type> <item> <value>
|
||||
#
|
||||
#Where:
|
||||
#<domain> can be:
|
||||
# - a user name
|
||||
# - a group name, with @group syntax
|
||||
# - the wildcard *, for default entry
|
||||
# - the wildcard %, can be also used with %group syntax,
|
||||
# for maxlogin limit
|
||||
# - NOTE: group and wildcard limits are not applied to root.
|
||||
# To apply a limit to the root user, <domain> must be
|
||||
# the literal username root.
|
||||
#
|
||||
#<type> can have the two values:
|
||||
# - "soft" for enforcing the soft limits
|
||||
# - "hard" for enforcing hard limits
|
||||
#
|
||||
#<item> can be one of the following:
|
||||
# - core - limits the core file size (KB)
|
||||
# - data - max data size (KB)
|
||||
# - fsize - maximum filesize (KB)
|
||||
# - memlock - max locked-in-memory address space (KB)
|
||||
# - nofile - max number of open file descriptors
|
||||
# - rss - max resident set size (KB)
|
||||
# - stack - max stack size (KB)
|
||||
# - cpu - max CPU time (MIN)
|
||||
# - nproc - max number of processes
|
||||
# - as - address space limit (KB)
|
||||
# - maxlogins - max number of logins for this user
|
||||
# - maxsyslogins - max number of logins on the system
|
||||
# - priority - the priority to run user process with
|
||||
# - locks - max number of file locks the user can hold
|
||||
# - sigpending - max number of pending signals
|
||||
# - msgqueue - max memory used by POSIX message queues (bytes)
|
||||
# - nice - max nice priority allowed to raise to values: [-20, 19]
|
||||
# - rtprio - max realtime priority
|
||||
# - chroot - change root to directory (Debian-specific)
|
||||
#
|
||||
#<domain> <type> <item> <value>
|
||||
#
|
||||
|
||||
* soft memlock 33554432
|
||||
* hard memlock 33554432
|
||||
* soft nofile 33554432
|
||||
* hard nofile 33554432
|
||||
|
||||
#* soft core 0
|
||||
#root hard core 100000
|
||||
#* hard rss 10000
|
||||
#@student hard nproc 20
|
||||
#@faculty soft nproc 20
|
||||
#@faculty hard nproc 50
|
||||
#ftp hard nproc 0
|
||||
#ftp - chroot /ftp
|
||||
#@student - maxlogins 4
|
||||
|
||||
# End of file
|
||||
454
.devcontainer/scripts/common-debian.sh
Normal file
454
.devcontainer/scripts/common-debian.sh
Normal file
@@ -0,0 +1,454 @@
|
||||
#!/usr/bin/env bash
|
||||
#-------------------------------------------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
|
||||
#-------------------------------------------------------------------------------------------------------------
|
||||
#
|
||||
# Docs: https://github.com/microsoft/vscode-dev-containers/blob/main/script-library/docs/common.md
|
||||
# Maintainer: The VS Code and Codespaces Teams
|
||||
#
|
||||
# Syntax: ./common-debian.sh [install zsh flag] [username] [user UID] [user GID] [upgrade packages flag] [install Oh My Zsh! flag] [Add non-free packages]
|
||||
|
||||
set -e
|
||||
|
||||
INSTALL_ZSH=${1:-"true"}
|
||||
USERNAME=${2:-"automatic"}
|
||||
USER_UID=${3:-"automatic"}
|
||||
USER_GID=${4:-"automatic"}
|
||||
UPGRADE_PACKAGES=${5:-"true"}
|
||||
INSTALL_OH_MYS=${6:-"true"}
|
||||
ADD_NON_FREE_PACKAGES=${7:-"false"}
|
||||
SCRIPT_DIR="$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)"
|
||||
MARKER_FILE="/usr/local/etc/vscode-dev-containers/common"
|
||||
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo -e 'Script must be run as root. Use sudo, su, or add "USER root" to your Dockerfile before running this script.'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Ensure that login shells get the correct path if the user updated the PATH using ENV.
|
||||
rm -f /etc/profile.d/00-restore-env.sh
|
||||
echo "export PATH=${PATH//$(sh -lc 'echo $PATH')/\$PATH}" > /etc/profile.d/00-restore-env.sh
|
||||
chmod +x /etc/profile.d/00-restore-env.sh
|
||||
|
||||
# If in automatic mode, determine if a user already exists, if not use vscode
|
||||
if [ "${USERNAME}" = "auto" ] || [ "${USERNAME}" = "automatic" ]; then
|
||||
USERNAME=""
|
||||
POSSIBLE_USERS=("vscode" "node" "codespace" "$(awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd)")
|
||||
for CURRENT_USER in ${POSSIBLE_USERS[@]}; do
|
||||
if id -u ${CURRENT_USER} > /dev/null 2>&1; then
|
||||
USERNAME=${CURRENT_USER}
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ "${USERNAME}" = "" ]; then
|
||||
USERNAME=vscode
|
||||
fi
|
||||
elif [ "${USERNAME}" = "none" ]; then
|
||||
USERNAME=root
|
||||
USER_UID=0
|
||||
USER_GID=0
|
||||
fi
|
||||
|
||||
# Load markers to see which steps have already run
|
||||
if [ -f "${MARKER_FILE}" ]; then
|
||||
echo "Marker file found:"
|
||||
cat "${MARKER_FILE}"
|
||||
source "${MARKER_FILE}"
|
||||
fi
|
||||
|
||||
# Ensure apt is in non-interactive to avoid prompts
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Function to call apt-get if needed
|
||||
apt_get_update_if_needed()
|
||||
{
|
||||
if [ ! -d "/var/lib/apt/lists" ] || [ "$(ls /var/lib/apt/lists/ | wc -l)" = "0" ]; then
|
||||
echo "Running apt-get update..."
|
||||
apt-get update
|
||||
else
|
||||
echo "Skipping apt-get update."
|
||||
fi
|
||||
}
|
||||
|
||||
# Run install apt-utils to avoid debconf warning then verify presence of other common developer tools and dependencies
|
||||
if [ "${PACKAGES_ALREADY_INSTALLED}" != "true" ]; then
|
||||
|
||||
package_list="apt-utils \
|
||||
openssh-client \
|
||||
gnupg2 \
|
||||
dirmngr \
|
||||
iproute2 \
|
||||
procps \
|
||||
lsof \
|
||||
htop \
|
||||
net-tools \
|
||||
psmisc \
|
||||
curl \
|
||||
wget \
|
||||
rsync \
|
||||
ca-certificates \
|
||||
unzip \
|
||||
zip \
|
||||
nano \
|
||||
vim-tiny \
|
||||
less \
|
||||
jq \
|
||||
lsb-release \
|
||||
apt-transport-https \
|
||||
dialog \
|
||||
libc6 \
|
||||
libgcc1 \
|
||||
libkrb5-3 \
|
||||
libgssapi-krb5-2 \
|
||||
libicu[0-9][0-9] \
|
||||
liblttng-ust[0-9] \
|
||||
libstdc++6 \
|
||||
zlib1g \
|
||||
locales \
|
||||
sudo \
|
||||
ncdu \
|
||||
man-db \
|
||||
strace \
|
||||
manpages \
|
||||
manpages-dev \
|
||||
init-system-helpers"
|
||||
|
||||
# Needed for adding manpages-posix and manpages-posix-dev which are non-free packages in Debian
|
||||
if [ "${ADD_NON_FREE_PACKAGES}" = "true" ]; then
|
||||
# Bring in variables from /etc/os-release like VERSION_CODENAME
|
||||
. /etc/os-release
|
||||
sed -i -E "s/deb http:\/\/(deb|httpredir)\.debian\.org\/debian ${VERSION_CODENAME} main/deb http:\/\/\1\.debian\.org\/debian ${VERSION_CODENAME} main contrib non-free/" /etc/apt/sources.list
|
||||
sed -i -E "s/deb-src http:\/\/(deb|httredir)\.debian\.org\/debian ${VERSION_CODENAME} main/deb http:\/\/\1\.debian\.org\/debian ${VERSION_CODENAME} main contrib non-free/" /etc/apt/sources.list
|
||||
sed -i -E "s/deb http:\/\/(deb|httpredir)\.debian\.org\/debian ${VERSION_CODENAME}-updates main/deb http:\/\/\1\.debian\.org\/debian ${VERSION_CODENAME}-updates main contrib non-free/" /etc/apt/sources.list
|
||||
sed -i -E "s/deb-src http:\/\/(deb|httpredir)\.debian\.org\/debian ${VERSION_CODENAME}-updates main/deb http:\/\/\1\.debian\.org\/debian ${VERSION_CODENAME}-updates main contrib non-free/" /etc/apt/sources.list
|
||||
sed -i "s/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}\/updates main/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}\/updates main contrib non-free/" /etc/apt/sources.list
|
||||
sed -i "s/deb-src http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}\/updates main/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}\/updates main contrib non-free/" /etc/apt/sources.list
|
||||
sed -i "s/deb http:\/\/deb\.debian\.org\/debian ${VERSION_CODENAME}-backports main/deb http:\/\/deb\.debian\.org\/debian ${VERSION_CODENAME}-backports main contrib non-free/" /etc/apt/sources.list
|
||||
sed -i "s/deb-src http:\/\/deb\.debian\.org\/debian ${VERSION_CODENAME}-backports main/deb http:\/\/deb\.debian\.org\/debian ${VERSION_CODENAME}-backports main contrib non-free/" /etc/apt/sources.list
|
||||
# Handle bullseye location for security https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.en.html
|
||||
sed -i "s/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}-security main/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}-security main contrib non-free/" /etc/apt/sources.list
|
||||
sed -i "s/deb-src http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}-security main/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}-security main contrib non-free/" /etc/apt/sources.list
|
||||
echo "Running apt-get update..."
|
||||
apt-get update
|
||||
package_list="${package_list} manpages-posix manpages-posix-dev"
|
||||
else
|
||||
apt_get_update_if_needed
|
||||
fi
|
||||
|
||||
# Install libssl1.1 if available
|
||||
if [[ ! -z $(apt-cache --names-only search ^libssl1.1$) ]]; then
|
||||
package_list="${package_list} libssl1.1"
|
||||
fi
|
||||
|
||||
# Install appropriate version of libssl1.0.x if available
|
||||
libssl_package=$(dpkg-query -f '${db:Status-Abbrev}\t${binary:Package}\n' -W 'libssl1\.0\.?' 2>&1 || echo '')
|
||||
if [ "$(echo "$LIlibssl_packageBSSL" | grep -o 'libssl1\.0\.[0-9]:' | uniq | sort | wc -l)" -eq 0 ]; then
|
||||
if [[ ! -z $(apt-cache --names-only search ^libssl1.0.2$) ]]; then
|
||||
# Debian 9
|
||||
package_list="${package_list} libssl1.0.2"
|
||||
elif [[ ! -z $(apt-cache --names-only search ^libssl1.0.0$) ]]; then
|
||||
# Ubuntu 18.04, 16.04, earlier
|
||||
package_list="${package_list} libssl1.0.0"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Packages to verify are installed: ${package_list}"
|
||||
apt-get -y install --no-install-recommends ${package_list} 2> >( grep -v 'debconf: delaying package configuration, since apt-utils is not installed' >&2 )
|
||||
|
||||
# Install git if not already installed (may be more recent than distro version)
|
||||
if ! type git > /dev/null 2>&1; then
|
||||
apt-get -y install --no-install-recommends git
|
||||
fi
|
||||
|
||||
PACKAGES_ALREADY_INSTALLED="true"
|
||||
fi
|
||||
|
||||
# Get to latest versions of all packages
|
||||
if [ "${UPGRADE_PACKAGES}" = "true" ]; then
|
||||
apt_get_update_if_needed
|
||||
apt-get -y upgrade --no-install-recommends
|
||||
apt-get autoremove -y
|
||||
fi
|
||||
|
||||
# Ensure at least the en_US.UTF-8 UTF-8 locale is available.
|
||||
# Common need for both applications and things like the agnoster ZSH theme.
|
||||
if [ "${LOCALE_ALREADY_SET}" != "true" ] && ! grep -o -E '^\s*en_US.UTF-8\s+UTF-8' /etc/locale.gen > /dev/null; then
|
||||
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
|
||||
locale-gen
|
||||
LOCALE_ALREADY_SET="true"
|
||||
fi
|
||||
|
||||
# Create or update a non-root user to match UID/GID.
|
||||
group_name="${USERNAME}"
|
||||
if id -u ${USERNAME} > /dev/null 2>&1; then
|
||||
# User exists, update if needed
|
||||
if [ "${USER_GID}" != "automatic" ] && [ "$USER_GID" != "$(id -g $USERNAME)" ]; then
|
||||
group_name="$(id -gn $USERNAME)"
|
||||
groupmod --gid $USER_GID ${group_name}
|
||||
usermod --gid $USER_GID $USERNAME
|
||||
fi
|
||||
if [ "${USER_UID}" != "automatic" ] && [ "$USER_UID" != "$(id -u $USERNAME)" ]; then
|
||||
usermod --uid $USER_UID $USERNAME
|
||||
fi
|
||||
else
|
||||
# Create user
|
||||
if [ "${USER_GID}" = "automatic" ]; then
|
||||
groupadd $USERNAME
|
||||
else
|
||||
groupadd --gid $USER_GID $USERNAME
|
||||
fi
|
||||
if [ "${USER_UID}" = "automatic" ]; then
|
||||
useradd -s /bin/bash --gid $USERNAME -m $USERNAME
|
||||
else
|
||||
useradd -s /bin/bash --uid $USER_UID --gid $USERNAME -m $USERNAME
|
||||
fi
|
||||
fi
|
||||
|
||||
# Add sudo support for non-root user
|
||||
if [ "${USERNAME}" != "root" ] && [ "${EXISTING_NON_ROOT_USER}" != "${USERNAME}" ]; then
|
||||
echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME
|
||||
chmod 0440 /etc/sudoers.d/$USERNAME
|
||||
EXISTING_NON_ROOT_USER="${USERNAME}"
|
||||
fi
|
||||
|
||||
# ** Shell customization section **
|
||||
if [ "${USERNAME}" = "root" ]; then
|
||||
user_rc_path="/root"
|
||||
else
|
||||
user_rc_path="/home/${USERNAME}"
|
||||
fi
|
||||
|
||||
# Restore user .bashrc defaults from skeleton file if it doesn't exist or is empty
|
||||
if [ ! -f "${user_rc_path}/.bashrc" ] || [ ! -s "${user_rc_path}/.bashrc" ] ; then
|
||||
cp /etc/skel/.bashrc "${user_rc_path}/.bashrc"
|
||||
fi
|
||||
|
||||
# Restore user .profile defaults from skeleton file if it doesn't exist or is empty
|
||||
if [ ! -f "${user_rc_path}/.profile" ] || [ ! -s "${user_rc_path}/.profile" ] ; then
|
||||
cp /etc/skel/.profile "${user_rc_path}/.profile"
|
||||
fi
|
||||
|
||||
# .bashrc/.zshrc snippet
|
||||
rc_snippet="$(cat << 'EOF'
|
||||
|
||||
if [ -z "${USER}" ]; then export USER=$(whoami); fi
|
||||
if [[ "${PATH}" != *"$HOME/.local/bin"* ]]; then export PATH="${PATH}:$HOME/.local/bin"; fi
|
||||
|
||||
# Display optional first run image specific notice if configured and terminal is interactive
|
||||
if [ -t 1 ] && [[ "${TERM_PROGRAM}" = "vscode" || "${TERM_PROGRAM}" = "codespaces" ]] && [ ! -f "$HOME/.config/vscode-dev-containers/first-run-notice-already-displayed" ]; then
|
||||
if [ -f "/usr/local/etc/vscode-dev-containers/first-run-notice.txt" ]; then
|
||||
cat "/usr/local/etc/vscode-dev-containers/first-run-notice.txt"
|
||||
elif [ -f "/workspaces/.codespaces/shared/first-run-notice.txt" ]; then
|
||||
cat "/workspaces/.codespaces/shared/first-run-notice.txt"
|
||||
fi
|
||||
mkdir -p "$HOME/.config/vscode-dev-containers"
|
||||
# Mark first run notice as displayed after 10s to avoid problems with fast terminal refreshes hiding it
|
||||
((sleep 10s; touch "$HOME/.config/vscode-dev-containers/first-run-notice-already-displayed") &)
|
||||
fi
|
||||
|
||||
# Set the default git editor if not already set
|
||||
if [ -z "$(git config --get core.editor)" ] && [ -z "${GIT_EDITOR}" ]; then
|
||||
if [ "${TERM_PROGRAM}" = "vscode" ]; then
|
||||
if [[ -n $(command -v code-insiders) && -z $(command -v code) ]]; then
|
||||
export GIT_EDITOR="code-insiders --wait"
|
||||
else
|
||||
export GIT_EDITOR="code --wait"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
EOF
|
||||
)"
|
||||
|
||||
# code shim, it fallbacks to code-insiders if code is not available
|
||||
cat << 'EOF' > /usr/local/bin/code
|
||||
#!/bin/sh
|
||||
|
||||
get_in_path_except_current() {
|
||||
which -a "$1" | grep -A1 "$0" | grep -v "$0"
|
||||
}
|
||||
|
||||
code="$(get_in_path_except_current code)"
|
||||
|
||||
if [ -n "$code" ]; then
|
||||
exec "$code" "$@"
|
||||
elif [ "$(command -v code-insiders)" ]; then
|
||||
exec code-insiders "$@"
|
||||
else
|
||||
echo "code or code-insiders is not installed" >&2
|
||||
exit 127
|
||||
fi
|
||||
EOF
|
||||
chmod +x /usr/local/bin/code
|
||||
|
||||
# systemctl shim - tells people to use 'service' if systemd is not running
|
||||
cat << 'EOF' > /usr/local/bin/systemctl
|
||||
#!/bin/sh
|
||||
set -e
|
||||
if [ -d "/run/systemd/system" ]; then
|
||||
exec /bin/systemctl "$@"
|
||||
else
|
||||
echo '\n"systemd" is not running in this container due to its overhead.\nUse the "service" command to start services instead. e.g.: \n\nservice --status-all'
|
||||
fi
|
||||
EOF
|
||||
chmod +x /usr/local/bin/systemctl
|
||||
|
||||
# Codespaces bash and OMZ themes - partly inspired by https://github.com/ohmyzsh/ohmyzsh/blob/master/themes/robbyrussell.zsh-theme
|
||||
codespaces_bash="$(cat \
|
||||
<<'EOF'
|
||||
|
||||
# Codespaces bash prompt theme
|
||||
__bash_prompt() {
|
||||
local userpart='`export XIT=$? \
|
||||
&& [ ! -z "${GITHUB_USER}" ] && echo -n "\[\033[0;32m\]@${GITHUB_USER} " || echo -n "\[\033[0;32m\]\u " \
|
||||
&& [ "$XIT" -ne "0" ] && echo -n "\[\033[1;31m\]➜" || echo -n "\[\033[0m\]➜"`'
|
||||
local gitbranch='`\
|
||||
if [ "$(git config --get codespaces-theme.hide-status 2>/dev/null)" != 1 ]; then \
|
||||
export BRANCH=$(git symbolic-ref --short HEAD 2>/dev/null || git rev-parse --short HEAD 2>/dev/null); \
|
||||
if [ "${BRANCH}" != "" ]; then \
|
||||
echo -n "\[\033[0;36m\](\[\033[1;31m\]${BRANCH}" \
|
||||
&& if git ls-files --error-unmatch -m --directory --no-empty-directory -o --exclude-standard ":/*" > /dev/null 2>&1; then \
|
||||
echo -n " \[\033[1;33m\]✗"; \
|
||||
fi \
|
||||
&& echo -n "\[\033[0;36m\]) "; \
|
||||
fi; \
|
||||
fi`'
|
||||
local lightblue='\[\033[1;34m\]'
|
||||
local removecolor='\[\033[0m\]'
|
||||
PS1="${userpart} ${lightblue}\w ${gitbranch}${removecolor}\$ "
|
||||
unset -f __bash_prompt
|
||||
}
|
||||
__bash_prompt
|
||||
|
||||
EOF
|
||||
)"
|
||||
|
||||
codespaces_zsh="$(cat \
|
||||
<<'EOF'
|
||||
# Codespaces zsh prompt theme
|
||||
__zsh_prompt() {
|
||||
local prompt_username
|
||||
if [ ! -z "${GITHUB_USER}" ]; then
|
||||
prompt_username="@${GITHUB_USER}"
|
||||
else
|
||||
prompt_username="%n"
|
||||
fi
|
||||
PROMPT="%{$fg[green]%}${prompt_username} %(?:%{$reset_color%}➜ :%{$fg_bold[red]%}➜ )" # User/exit code arrow
|
||||
PROMPT+='%{$fg_bold[blue]%}%(5~|%-1~/…/%3~|%4~)%{$reset_color%} ' # cwd
|
||||
PROMPT+='$([ "$(git config --get codespaces-theme.hide-status 2>/dev/null)" != 1 ] && git_prompt_info)' # Git status
|
||||
PROMPT+='%{$fg[white]%}$ %{$reset_color%}'
|
||||
unset -f __zsh_prompt
|
||||
}
|
||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[cyan]%}(%{$fg_bold[red]%}"
|
||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg_bold[yellow]%}✗%{$fg_bold[cyan]%})"
|
||||
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[cyan]%})"
|
||||
__zsh_prompt
|
||||
|
||||
EOF
|
||||
)"
|
||||
|
||||
# Add RC snippet and custom bash prompt
|
||||
if [ "${RC_SNIPPET_ALREADY_ADDED}" != "true" ]; then
|
||||
echo "${rc_snippet}" >> /etc/bash.bashrc
|
||||
echo "${codespaces_bash}" >> "${user_rc_path}/.bashrc"
|
||||
echo 'export PROMPT_DIRTRIM=4' >> "${user_rc_path}/.bashrc"
|
||||
if [ "${USERNAME}" != "root" ]; then
|
||||
echo "${codespaces_bash}" >> "/root/.bashrc"
|
||||
echo 'export PROMPT_DIRTRIM=4' >> "/root/.bashrc"
|
||||
fi
|
||||
chown ${USERNAME}:${group_name} "${user_rc_path}/.bashrc"
|
||||
RC_SNIPPET_ALREADY_ADDED="true"
|
||||
fi
|
||||
|
||||
# Optionally install and configure zsh and Oh My Zsh!
|
||||
if [ "${INSTALL_ZSH}" = "true" ]; then
|
||||
if ! type zsh > /dev/null 2>&1; then
|
||||
apt_get_update_if_needed
|
||||
apt-get install -y zsh
|
||||
fi
|
||||
if [ "${ZSH_ALREADY_INSTALLED}" != "true" ]; then
|
||||
echo "${rc_snippet}" >> /etc/zsh/zshrc
|
||||
ZSH_ALREADY_INSTALLED="true"
|
||||
fi
|
||||
|
||||
# Adapted, simplified inline Oh My Zsh! install steps that adds, defaults to a codespaces theme.
|
||||
# See https://github.com/ohmyzsh/ohmyzsh/blob/master/tools/install.sh for official script.
|
||||
oh_my_install_dir="${user_rc_path}/.oh-my-zsh"
|
||||
if [ ! -d "${oh_my_install_dir}" ] && [ "${INSTALL_OH_MYS}" = "true" ]; then
|
||||
template_path="${oh_my_install_dir}/templates/zshrc.zsh-template"
|
||||
user_rc_file="${user_rc_path}/.zshrc"
|
||||
umask g-w,o-w
|
||||
mkdir -p ${oh_my_install_dir}
|
||||
git clone --depth=1 \
|
||||
-c core.eol=lf \
|
||||
-c core.autocrlf=false \
|
||||
-c fsck.zeroPaddedFilemode=ignore \
|
||||
-c fetch.fsck.zeroPaddedFilemode=ignore \
|
||||
-c receive.fsck.zeroPaddedFilemode=ignore \
|
||||
"https://github.com/ohmyzsh/ohmyzsh" "${oh_my_install_dir}" 2>&1
|
||||
echo -e "$(cat "${template_path}")\nDISABLE_AUTO_UPDATE=true\nDISABLE_UPDATE_PROMPT=true" > ${user_rc_file}
|
||||
sed -i -e 's/ZSH_THEME=.*/ZSH_THEME="codespaces"/g' ${user_rc_file}
|
||||
|
||||
mkdir -p ${oh_my_install_dir}/custom/themes
|
||||
echo "${codespaces_zsh}" > "${oh_my_install_dir}/custom/themes/codespaces.zsh-theme"
|
||||
# Shrink git while still enabling updates
|
||||
cd "${oh_my_install_dir}"
|
||||
git repack -a -d -f --depth=1 --window=1
|
||||
# Copy to non-root user if one is specified
|
||||
if [ "${USERNAME}" != "root" ]; then
|
||||
cp -rf "${user_rc_file}" "${oh_my_install_dir}" /root
|
||||
chown -R ${USERNAME}:${group_name} "${user_rc_path}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Persist image metadata info, script if meta.env found in same directory
|
||||
meta_info_script="$(cat << 'EOF'
|
||||
#!/bin/sh
|
||||
. /usr/local/etc/vscode-dev-containers/meta.env
|
||||
|
||||
# Minimal output
|
||||
if [ "$1" = "version" ] || [ "$1" = "image-version" ]; then
|
||||
echo "${VERSION}"
|
||||
exit 0
|
||||
elif [ "$1" = "release" ]; then
|
||||
echo "${GIT_REPOSITORY_RELEASE}"
|
||||
exit 0
|
||||
elif [ "$1" = "content" ] || [ "$1" = "content-url" ] || [ "$1" = "contents" ] || [ "$1" = "contents-url" ]; then
|
||||
echo "${CONTENTS_URL}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#Full output
|
||||
echo
|
||||
echo "Development container image information"
|
||||
echo
|
||||
if [ ! -z "${VERSION}" ]; then echo "- Image version: ${VERSION}"; fi
|
||||
if [ ! -z "${DEFINITION_ID}" ]; then echo "- Definition ID: ${DEFINITION_ID}"; fi
|
||||
if [ ! -z "${VARIANT}" ]; then echo "- Variant: ${VARIANT}"; fi
|
||||
if [ ! -z "${GIT_REPOSITORY}" ]; then echo "- Source code repository: ${GIT_REPOSITORY}"; fi
|
||||
if [ ! -z "${GIT_REPOSITORY_RELEASE}" ]; then echo "- Source code release/branch: ${GIT_REPOSITORY_RELEASE}"; fi
|
||||
if [ ! -z "${BUILD_TIMESTAMP}" ]; then echo "- Timestamp: ${BUILD_TIMESTAMP}"; fi
|
||||
if [ ! -z "${CONTENTS_URL}" ]; then echo && echo "More info: ${CONTENTS_URL}"; fi
|
||||
echo
|
||||
EOF
|
||||
)"
|
||||
if [ -f "${SCRIPT_DIR}/meta.env" ]; then
|
||||
mkdir -p /usr/local/etc/vscode-dev-containers/
|
||||
cp -f "${SCRIPT_DIR}/meta.env" /usr/local/etc/vscode-dev-containers/meta.env
|
||||
echo "${meta_info_script}" > /usr/local/bin/devcontainer-info
|
||||
chmod +x /usr/local/bin/devcontainer-info
|
||||
fi
|
||||
|
||||
# Write marker file
|
||||
mkdir -p "$(dirname "${MARKER_FILE}")"
|
||||
echo -e "\
|
||||
PACKAGES_ALREADY_INSTALLED=${PACKAGES_ALREADY_INSTALLED}\n\
|
||||
LOCALE_ALREADY_SET=${LOCALE_ALREADY_SET}\n\
|
||||
EXISTING_NON_ROOT_USER=${EXISTING_NON_ROOT_USER}\n\
|
||||
RC_SNIPPET_ALREADY_ADDED=${RC_SNIPPET_ALREADY_ADDED}\n\
|
||||
ZSH_ALREADY_INSTALLED=${ZSH_ALREADY_INSTALLED}" > "${MARKER_FILE}"
|
||||
|
||||
echo "Done!"
|
||||
16
.devcontainer/scripts/getting-started.sh
Normal file
16
.devcontainer/scripts/getting-started.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "To get started, login to GitHub and clone bun's GitHub repo into /build/bun"
|
||||
echo "If it fails to open a browser, login with a Personal Access Token instead"
|
||||
echo "# First time setup"
|
||||
echo "gh auth login"
|
||||
echo "gh repo clone oven-sh/bun . -- --depth=1 --progress -j8"
|
||||
echo ""
|
||||
echo "# Compile bun dependencies (zig is already compiled)"
|
||||
echo "make devcontainer"
|
||||
echo ""
|
||||
echo "# Build bun for development"
|
||||
echo "make dev"
|
||||
echo ""
|
||||
echo "# Run bun"
|
||||
echo "bun-debug"
|
||||
207
.devcontainer/scripts/github.sh
Normal file
207
.devcontainer/scripts/github.sh
Normal file
@@ -0,0 +1,207 @@
|
||||
#!/usr/bin/env bash
|
||||
#-------------------------------------------------------------------------------------------------------------
|
||||
# Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
|
||||
#-------------------------------------------------------------------------------------------------------------
|
||||
#
|
||||
# Docs: https://github.com/microsoft/vscode-dev-containers/blob/main/script-library/docs/github.md
|
||||
# Maintainer: The VS Code and Codespaces Teams
|
||||
#
|
||||
# Syntax: ./github-debian.sh [version]
|
||||
|
||||
CLI_VERSION=${1:-"latest"}
|
||||
|
||||
GITHUB_CLI_ARCHIVE_GPG_KEY=C99B11DEB97541F0
|
||||
GPG_KEY_SERVERS="keyserver hkp://keyserver.ubuntu.com:80
|
||||
keyserver hkps://keys.openpgp.org
|
||||
keyserver hkp://keyserver.pgp.com"
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo -e 'Script must be run as root. Use sudo, su, or add "USER root" to your Dockerfile before running this script.'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get central common setting
|
||||
get_common_setting() {
|
||||
if [ "${common_settings_file_loaded}" != "true" ]; then
|
||||
curl -sfL "https://aka.ms/vscode-dev-containers/script-library/settings.env" -o /tmp/vsdc-settings.env 2>/dev/null || echo "Could not download settings file. Skipping."
|
||||
common_settings_file_loaded=true
|
||||
fi
|
||||
if [ -f "/tmp/vsdc-settings.env" ]; then
|
||||
local multi_line=""
|
||||
if [ "$2" = "true" ]; then multi_line="-z"; fi
|
||||
local result="$(grep ${multi_line} -oP "$1=\"?\K[^\"]+" /tmp/vsdc-settings.env | tr -d '\0')"
|
||||
if [ ! -z "${result}" ]; then declare -g $1="${result}"; fi
|
||||
fi
|
||||
echo "$1=${!1}"
|
||||
}
|
||||
|
||||
# Import the specified key in a variable name passed in as
|
||||
receive_gpg_keys() {
|
||||
get_common_setting $1
|
||||
local keys=${!1}
|
||||
get_common_setting GPG_KEY_SERVERS true
|
||||
|
||||
# Use a temporary locaiton for gpg keys to avoid polluting image
|
||||
export GNUPGHOME="/tmp/tmp-gnupg"
|
||||
mkdir -p ${GNUPGHOME}
|
||||
chmod 700 ${GNUPGHOME}
|
||||
echo -e "disable-ipv6\n${GPG_KEY_SERVERS}" >${GNUPGHOME}/dirmngr.conf
|
||||
# GPG key download sometimes fails for some reason and retrying fixes it.
|
||||
local retry_count=0
|
||||
local gpg_ok="false"
|
||||
set +e
|
||||
until [ "${gpg_ok}" = "true" ] || [ "${retry_count}" -eq "5" ]; do
|
||||
echo "(*) Downloading GPG key..."
|
||||
(echo "${keys}" | xargs -n 1 gpg --recv-keys) 2>&1 && gpg_ok="true"
|
||||
if [ "${gpg_ok}" != "true" ]; then
|
||||
echo "(*) Failed getting key, retring in 10s..."
|
||||
((retry_count++))
|
||||
sleep 10s
|
||||
fi
|
||||
done
|
||||
set -e
|
||||
if [ "${gpg_ok}" = "false" ]; then
|
||||
echo "(!) Failed to get gpg key."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Figure out correct version of a three part version number is not passed
|
||||
find_version_from_git_tags() {
|
||||
local variable_name=$1
|
||||
local requested_version=${!variable_name}
|
||||
if [ "${requested_version}" = "none" ]; then return; fi
|
||||
local repository=$2
|
||||
local prefix=${3:-"tags/v"}
|
||||
local separator=${4:-"."}
|
||||
local last_part_optional=${5:-"false"}
|
||||
if [ "$(echo "${requested_version}" | grep -o "." | wc -l)" != "2" ]; then
|
||||
local escaped_separator=${separator//./\\.}
|
||||
local last_part
|
||||
if [ "${last_part_optional}" = "true" ]; then
|
||||
last_part="(${escaped_separator}[0-9]+)?"
|
||||
else
|
||||
last_part="${escaped_separator}[0-9]+"
|
||||
fi
|
||||
local regex="${prefix}\\K[0-9]+${escaped_separator}[0-9]+${last_part}$"
|
||||
local version_list="$(git ls-remote --tags ${repository} | grep -oP "${regex}" | tr -d ' ' | tr "${separator}" "." | sort -rV)"
|
||||
if [ "${requested_version}" = "latest" ] || [ "${requested_version}" = "current" ] || [ "${requested_version}" = "lts" ]; then
|
||||
declare -g ${variable_name}="$(echo "${version_list}" | head -n 1)"
|
||||
else
|
||||
set +e
|
||||
declare -g ${variable_name}="$(echo "${version_list}" | grep -E -m 1 "^${requested_version//./\\.}([\\.\\s]|$)")"
|
||||
set -e
|
||||
fi
|
||||
fi
|
||||
if [ -z "${!variable_name}" ] || ! echo "${version_list}" | grep "^${!variable_name//./\\.}$" >/dev/null 2>&1; then
|
||||
echo -e "Invalid ${variable_name} value: ${requested_version}\nValid values:\n${version_list}" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "${variable_name}=${!variable_name}"
|
||||
}
|
||||
|
||||
# Import the specified key in a variable name passed in as
|
||||
receive_gpg_keys() {
|
||||
get_common_setting $1
|
||||
local keys=${!1}
|
||||
get_common_setting GPG_KEY_SERVERS true
|
||||
local keyring_args=""
|
||||
if [ ! -z "$2" ]; then
|
||||
keyring_args="--no-default-keyring --keyring $2"
|
||||
fi
|
||||
|
||||
# Use a temporary locaiton for gpg keys to avoid polluting image
|
||||
export GNUPGHOME="/tmp/tmp-gnupg"
|
||||
mkdir -p ${GNUPGHOME}
|
||||
chmod 700 ${GNUPGHOME}
|
||||
echo -e "disable-ipv6\n${GPG_KEY_SERVERS}" >${GNUPGHOME}/dirmngr.conf
|
||||
# GPG key download sometimes fails for some reason and retrying fixes it.
|
||||
local retry_count=0
|
||||
local gpg_ok="false"
|
||||
set +e
|
||||
until [ "${gpg_ok}" = "true" ] || [ "${retry_count}" -eq "5" ]; do
|
||||
echo "(*) Downloading GPG key..."
|
||||
(echo "${keys}" | xargs -n 1 gpg -q ${keyring_args} --recv-keys) 2>&1 && gpg_ok="true"
|
||||
if [ "${gpg_ok}" != "true" ]; then
|
||||
echo "(*) Failed getting key, retring in 10s..."
|
||||
((retry_count++))
|
||||
sleep 10s
|
||||
fi
|
||||
done
|
||||
set -e
|
||||
if [ "${gpg_ok}" = "false" ]; then
|
||||
echo "(!) Failed to get gpg key."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to run apt-get if needed
|
||||
apt_get_update_if_needed() {
|
||||
if [ ! -d "/var/lib/apt/lists" ] || [ "$(ls /var/lib/apt/lists/ | wc -l)" = "0" ]; then
|
||||
echo "Running apt-get update..."
|
||||
apt-get update
|
||||
else
|
||||
echo "Skipping apt-get update."
|
||||
fi
|
||||
}
|
||||
|
||||
# Checks if packages are installed and installs them if not
|
||||
check_packages() {
|
||||
if ! dpkg -s "$@" >/dev/null 2>&1; then
|
||||
apt_get_update_if_needed
|
||||
apt-get -y install --no-install-recommends "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
# Fall back on direct download if no apt package exists
|
||||
# Fetches .deb file to be installed with dpkg
|
||||
install_deb_using_github() {
|
||||
check_packages wget
|
||||
arch=$(dpkg --print-architecture)
|
||||
|
||||
find_version_from_git_tags CLI_VERSION https://github.com/cli/cli
|
||||
cli_filename="gh_${CLI_VERSION}_linux_${arch}.deb"
|
||||
|
||||
mkdir -p /tmp/ghcli
|
||||
pushd /tmp/ghcli
|
||||
wget https://github.com/cli/cli/releases/download/v${CLI_VERSION}/${cli_filename}
|
||||
dpkg -i /tmp/ghcli/${cli_filename}
|
||||
popd
|
||||
rm -rf /tmp/ghcli
|
||||
}
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Install curl, apt-transport-https, curl, gpg, or dirmngr, git if missing
|
||||
check_packages curl ca-certificates apt-transport-https dirmngr gnupg2
|
||||
if ! type git >/dev/null 2>&1; then
|
||||
apt_get_update_if_needed
|
||||
apt-get -y install --no-install-recommends git
|
||||
fi
|
||||
|
||||
# Soft version matching
|
||||
if [ "${CLI_VERSION}" != "latest" ] && [ "${CLI_VERSION}" != "lts" ] && [ "${CLI_VERSION}" != "stable" ]; then
|
||||
find_version_from_git_tags CLI_VERSION "https://github.com/cli/cli"
|
||||
version_suffix="=${CLI_VERSION}"
|
||||
else
|
||||
version_suffix=""
|
||||
fi
|
||||
|
||||
# Install the GitHub CLI
|
||||
echo "Downloading github CLI..."
|
||||
|
||||
install_deb_using_github
|
||||
|
||||
# Method below does not work until cli/cli#6175 is fixed
|
||||
# # Import key safely (new method rather than deprecated apt-key approach) and install
|
||||
# . /etc/os-release
|
||||
# receive_gpg_keys GITHUB_CLI_ARCHIVE_GPG_KEY /usr/share/keyrings/githubcli-archive-keyring.gpg
|
||||
# echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" >/etc/apt/sources.list.d/github-cli.list
|
||||
# apt-get update
|
||||
# apt-get -y install "gh${version_suffix}"
|
||||
# rm -rf "/tmp/gh/gnupg"
|
||||
|
||||
echo "Done!"
|
||||
7
.devcontainer/scripts/nice.sh
Normal file
7
.devcontainer/scripts/nice.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
chsh -s $(which zsh)
|
||||
sh -c "$(curl -fsSL https://starship.rs/install.sh) -- --platform linux_musl" -- --yes
|
||||
echo "eval \"$(starship init zsh)\"" >>~/.zshrc
|
||||
|
||||
curl https://github.com/Jarred-Sumner/vscode-zig/releases/download/march18/zig-0.2.5.vsix >/home/ubuntu/vscode-zig.vsix
|
||||
8
.devcontainer/scripts/zig-env.sh
Normal file
8
.devcontainer/scripts/zig-env.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
curl -L https://github.com/zigtools/zls-vscode/releases/download/1.1.6/zls-vscode-1.1.6.vsix >/home/ubuntu/vscode-zig.vsix
|
||||
git clone https://github.com/zigtools/zls /home/ubuntu/zls
|
||||
cd /home/ubuntu/zls
|
||||
git checkout aabdb0c6ecb3c9a47feff2c2bfb9be4e95adf723
|
||||
git submodule update --init --recursive --progress --depth=1
|
||||
zig build -Drelease-fast
|
||||
9
.devcontainer/workspace.code-workspace
Normal file
9
.devcontainer/workspace.code-workspace
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
// Source code
|
||||
"name": "bun",
|
||||
"path": "bun"
|
||||
},
|
||||
]
|
||||
}
|
||||
9
.devcontainer/zls.json
Normal file
9
.devcontainer/zls.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"zig_exe_path": "/build/zig/zig",
|
||||
"enable_snippets": true,
|
||||
"warn_style": false,
|
||||
"enable_semantic_tokens": true,
|
||||
"operator_completions": true,
|
||||
"include_at_in_builtins": false,
|
||||
"max_detail_length": 1048576
|
||||
}
|
||||
1539
.docker/chrome.json
Normal file
1539
.docker/chrome.json
Normal file
File diff suppressed because it is too large
Load Diff
14
.docker/chromium.pref
Normal file
14
.docker/chromium.pref
Normal file
@@ -0,0 +1,14 @@
|
||||
# Note: 2 blank lines are required between entries
|
||||
Package: *
|
||||
Pin: release a=eoan
|
||||
Pin-Priority: 500
|
||||
|
||||
Package: *
|
||||
Pin: origin "ftp.debian.org"
|
||||
Pin-Priority: 300
|
||||
|
||||
# Pattern includes 'chromium', 'chromium-browser' and similarly
|
||||
# named dependencies:
|
||||
Package: chromium*
|
||||
Pin: origin "ftp.debian.org"
|
||||
Pin-Priority: 700
|
||||
8
.docker/copy-bun-binary.sh
Normal file
8
.docker/copy-bun-binary.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
name=$(openssl rand -hex 12)
|
||||
id=$(docker create --name=bun-binary-$name $CONTAINER_TAG)
|
||||
docker container cp bun-binary-$name:$BUN_RELEASE_DIR bun-binary
|
||||
echo -e "bun-binary-$name"
|
||||
3
.docker/debian.list
Normal file
3
.docker/debian.list
Normal file
@@ -0,0 +1,3 @@
|
||||
deb http://deb.debian.org/debian buster main
|
||||
deb http://deb.debian.org/debian buster-updates main
|
||||
deb http://deb.debian.org/debian-security buster/updates main
|
||||
34
.docker/dockerfile-common.sh
Normal file
34
.docker/dockerfile-common.sh
Normal file
@@ -0,0 +1,34 @@
|
||||
export DOCKER_BUILDKIT=1
|
||||
|
||||
export BUILDKIT_ARCH=$(uname -m)
|
||||
export ARCH=${BUILDKIT_ARCH}
|
||||
|
||||
if [ "$BUILDKIT_ARCH" == "amd64" ]; then
|
||||
export BUILDKIT_ARCH="amd64"
|
||||
export ARCH=x64
|
||||
fi
|
||||
|
||||
if [ "$BUILDKIT_ARCH" == "x86_64" ]; then
|
||||
export BUILDKIT_ARCH="amd64"
|
||||
export ARCH=x64
|
||||
fi
|
||||
|
||||
if [ "$BUILDKIT_ARCH" == "arm64" ]; then
|
||||
export BUILDKIT_ARCH="arm64"
|
||||
export ARCH=aarch64
|
||||
fi
|
||||
|
||||
if [ "$BUILDKIT_ARCH" == "aarch64" ]; then
|
||||
export BUILDKIT_ARCH="arm64"
|
||||
export ARCH=aarch64
|
||||
fi
|
||||
|
||||
if [ "$BUILDKIT_ARCH" == "armv7l" ]; then
|
||||
echo "Unsupported platform: $BUILDKIT_ARCH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export BUILD_ID=$(cat build-id)
|
||||
export CONTAINER_NAME=bun-linux-$ARCH
|
||||
export DEBUG_CONTAINER_NAME=debug-bun-linux-$ARCH
|
||||
export TEMP=/tmp/bun-0.0.$BUILD_ID
|
||||
11
.docker/pull.sh
Normal file
11
.docker/pull.sh
Normal file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
docker pull bunbunbunbun/bun-test-base:latest --platform=linux/amd64
|
||||
docker pull bunbunbunbun/bun-base:latest --platform=linux/amd64
|
||||
docker pull bunbunbunbun/bun-base-with-zig-and-webkit:latest --platform=linux/amd64
|
||||
|
||||
docker tag bunbunbunbun/bun-test-base:latest bun-base:latest
|
||||
docker tag bunbunbunbun/bun-base:latest bun-base:latest
|
||||
docker tag bunbunbunbun/bun-base-with-zig-and-webkit:latest bun-base-with-zig-and-webkit:latest
|
||||
47
.docker/run-dockerfile.sh
Normal file
47
.docker/run-dockerfile.sh
Normal file
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "dockerfile-common.sh"
|
||||
|
||||
export $CONTAINER_NAME=$CONTAINER_NAME-local
|
||||
|
||||
rm -rf $TEMP
|
||||
mkdir -p $TEMP
|
||||
|
||||
docker build . --target release --progress=plain -t $CONTAINER_NAME:latest --build-arg BUILDKIT_INLINE_CACHE=1 --platform=linux/$BUILDKIT_ARCH --cache-from $CONTAINER_NAME:latest
|
||||
|
||||
if (($?)); then
|
||||
echo "Failed to build container"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
id=$(docker create $CONTAINER_NAME:latest)
|
||||
docker cp $id:/home/ubuntu/bun-release $TEMP/$CONTAINER_NAME
|
||||
if (($?)); then
|
||||
echo "Failed to cp container"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $TEMP
|
||||
mkdir -p $TEMP/$CONTAINER_NAME $TEMP/$DEBUG_CONTAINER_NAME
|
||||
mv $CONTAINER_NAME/bun-profile $DEBUG_CONTAINER_NAME/bun
|
||||
zip -r $CONTAINER_NAME.zip $CONTAINER_NAME
|
||||
zip -r $DEBUG_CONTAINER_NAME.zip $DEBUG_CONTAINER_NAME
|
||||
docker rm -v $id
|
||||
abs=$(realpath $TEMP/$CONTAINER_NAME.zip)
|
||||
debug_abs=$(realpath $TEMP/$DEBUG_CONTAINER_NAME.zip)
|
||||
|
||||
case $(uname -s) in
|
||||
"Linux") target="linux" ;;
|
||||
*) target="other" ;;
|
||||
esac
|
||||
|
||||
if [ "$target" = "linux" ]; then
|
||||
if command -v bun --version >/dev/null; then
|
||||
cp $TEMP/$CONTAINER_NAME/bun $(which bun)
|
||||
cp $TEMP/$DEBUG_CONTAINER_NAME/bun $(which bun-profile)
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Saved to:"
|
||||
echo $debug_abs
|
||||
echo $abs
|
||||
9
.docker/run-test.sh
Executable file
9
.docker/run-test.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
bun install
|
||||
bun install --cwd ./test/snippets
|
||||
bun install --cwd ./test/scripts
|
||||
|
||||
make $BUN_TEST_NAME
|
||||
5
.docker/runner.sh
Normal file
5
.docker/runner.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
docker container run --security-opt seccomp=.docker/chrome.json --env GITHUB_WORKSPACE=$GITHUB_WORKSPACE --env BUN_TEST_NAME=$BUN_TEST_NAME --ulimit memlock=-1:-1 --init --rm bun-test:latest
|
||||
5
.docker/unit-tests.sh
Normal file
5
.docker/unit-tests.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euxo pipefail
|
||||
|
||||
docker container run --security-opt seccomp=.docker/chrome.json --env GITHUB_WORKSPACE=$GITHUB_WORKSPACE --ulimit memlock=-1:-1 --init --rm bun-unit-tests:latest
|
||||
@@ -1,6 +1,6 @@
|
||||
node_modules
|
||||
**/node_modules
|
||||
src/javascript/jsc/WebKit/LayoutTests
|
||||
src/bun.js/WebKit/LayoutTests
|
||||
zig-out
|
||||
zig-build
|
||||
**/*.o
|
||||
@@ -10,5 +10,8 @@ examples
|
||||
|
||||
**/.next
|
||||
.git
|
||||
src/javascript/jsc/WebKit/WebKitBuild
|
||||
**/CMakeCache.txt
|
||||
src/bun.js/WebKit
|
||||
**/CMakeCache.txt
|
||||
packages/**/bun
|
||||
packages/**/bun-profile
|
||||
zig-cache
|
||||
|
||||
10
.gitattributes
vendored
Normal file
10
.gitattributes
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
.vscode/launch.json linguist-generated
|
||||
src/api/schema.d.ts linguist-generated
|
||||
fixture.*.c linguist-generated
|
||||
src/api/schema.js linguist-generated
|
||||
src/bun.js/bindings/sqlite/sqlite3.c linguist-vendored
|
||||
src/bun.js/bindings/sqlite/sqlite3_local.h linguist-vendored
|
||||
*.lockb binary diff=lockb
|
||||
*.zig text eol=lf
|
||||
src/bun.js/bindings/simdutf.cpp linguist-vendored
|
||||
src/bun.js/bindings/simdutf.h linguist-vendored
|
||||
35
.github/ISSUE_TEMPLATE/1-install-problem.yml
vendored
Normal file
35
.github/ISSUE_TEMPLATE/1-install-problem.yml
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
name: 📥 Install Problem
|
||||
description: Report an issue during install or upgrade
|
||||
labels: [bug, install]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for submitting a bug report. It helps make Bun better.
|
||||
|
||||
If you need help or support using Bun, and are not reporting an issue, please
|
||||
join our [Discord](https://discord.gg/CXdq2DP29u) server, where you can ask questions in the [`#help`](https://discord.gg/32EtH6p7HN) forum.
|
||||
|
||||
Please try to include as much information as possible.
|
||||
- type: input
|
||||
attributes:
|
||||
label: What platform is your computer?
|
||||
description: |
|
||||
For MacOS and Linux: copy the output of `uname -mprs`
|
||||
For Windows: copy the output of `"$([Environment]::OSVersion | ForEach-Object VersionString) $(if ([Environment]::Is64BitOperatingSystem) { "x64" } else { "x86" })"` in the PowerShell console
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: How did you attempt to install or upgrade?
|
||||
description: Please provide the commands you ran to install or upgrade.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What do you see instead?
|
||||
description: If possible, please provide text instead of a screenshot.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional information
|
||||
description: Is there anything else you think we should know?
|
||||
41
.github/ISSUE_TEMPLATE/2-bug-report.yml
vendored
Normal file
41
.github/ISSUE_TEMPLATE/2-bug-report.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
name: 🐛 Bug Report
|
||||
description: Report an issue that should be fixed
|
||||
labels: [bug]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for submitting a bug report. It helps make Bun better.
|
||||
|
||||
If you need help or support using Bun, and are not reporting a bug, please
|
||||
join our [Discord](https://discord.gg/CXdq2DP29u) server, where you can ask questions in the [`#help`](https://discord.gg/32EtH6p7HN) forum.
|
||||
|
||||
Please try to include as much information as possible.
|
||||
- type: input
|
||||
attributes:
|
||||
label: What version of Bun is running?
|
||||
description: Copy the output of `bun -v`
|
||||
- type: input
|
||||
attributes:
|
||||
label: What platform is your computer?
|
||||
description: |
|
||||
For MacOS and Linux: copy the output of `uname -mprs`
|
||||
For Windows: copy the output of `"$([Environment]::OSVersion | ForEach-Object VersionString) $(if ([Environment]::Is64BitOperatingSystem) { "x64" } else { "x86" })"` in the PowerShell console
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What steps can reproduce the bug?
|
||||
description: Explain the bug and provide a code snippet that can reproduce it.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is the expected behavior?
|
||||
description: If possible, please provide text instead of a screenshot.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What do you see instead?
|
||||
description: If possible, please provide text instead of a screenshot.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional information
|
||||
description: Is there anything else you think we should know?
|
||||
24
.github/ISSUE_TEMPLATE/3-feature-request.yml
vendored
Normal file
24
.github/ISSUE_TEMPLATE/3-feature-request.yml
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
name: 🚀 Feature Request
|
||||
description: Suggest an idea, feature, or enhancement
|
||||
labels: [enhancement]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for submitting an idea. It helps make Bun better.
|
||||
|
||||
If you want to discuss Bun, or learn how others are using Bun, please
|
||||
join our [Discord](https://discord.gg/CXdq2DP29u) server, where you can share in the [`#feedback-ideas`](https://discord.gg/unwUnHBNqy) channel.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is the problem this feature would solve?
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is the feature you are proposing to solve the problem?
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What alternatives have you considered?
|
||||
29
.github/ISSUE_TEMPLATE/4-docs-problem.yml
vendored
Normal file
29
.github/ISSUE_TEMPLATE/4-docs-problem.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
name: 📗 Documentation Request
|
||||
description: Tell us if there is missing or incorrect documentation
|
||||
labels: [documentation]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for submitting a documentation request. It helps make Bun better.
|
||||
|
||||
We are working on moving documentation from the [README](https://github.com/oven-sh/bun#table-of-contents) to a documentation website. Please report as many issues or missing content requests as you can so we can incoperate that in the new documentation.
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: What is the type of issue?
|
||||
multiple: true
|
||||
options:
|
||||
- Documentation is missing
|
||||
- Documentation is incorrect
|
||||
- Documentation is confusing
|
||||
- Example code is not working
|
||||
- Something else
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What is the issue?
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Where did you find it?
|
||||
description: If possible, please provide the URL(s) where you found this issue.
|
||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: 💬 Ask a Question
|
||||
url: https://discord.com/invite/CXdq2DP29u
|
||||
about: Join our Discord server for questions, support requests, or just to chat.
|
||||
47
.github/workflows/bun-dockerhub.yml
vendored
Normal file
47
.github/workflows/bun-dockerhub.yml
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
name: bun-dockerhub
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- dockerhub/Dockerfile
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
paths:
|
||||
- dockerhub/Dockerfile
|
||||
branches:
|
||||
- main
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'oven-sh'
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v3
|
||||
- name: Collect metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: |
|
||||
${{ secrets.DOCKERHUB_USERNAME }}/bun
|
||||
tags: |
|
||||
type=match,pattern=bun-v(\d.\d.\d),group=1
|
||||
type=match,pattern=bun-v(\d.\d),group=1
|
||||
type=match,pattern=bun-v(\d),group=1
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
- name: Login to DockerHub
|
||||
if: github.event_name == 'release'
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Build image
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: ./dockerhub
|
||||
push: ${{ github.event_name == 'release' }}
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
41
.github/workflows/bun-framework-next.yml
vendored
Normal file
41
.github/workflows/bun-framework-next.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
name: bun-framework-next
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- packages/bun-framework-next/**/*
|
||||
branches: [main, bun-framework-next-actions]
|
||||
pull_request:
|
||||
paths:
|
||||
- packages/bun-framework-next/**/*
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: lint, test and build on Node ${{ matrix.node }} and ${{ matrix.os }}
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node: ["14.x"]
|
||||
os: [macOS-latest]
|
||||
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Use Node ${{ matrix.node }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
|
||||
- name: Install PNPM
|
||||
uses: pnpm/action-setup@v2.0.1
|
||||
with:
|
||||
version: 6.21.0
|
||||
|
||||
- name: Install dependencies
|
||||
run: cd packages/bun-framework-next && pnpm install
|
||||
|
||||
- name: Type check bun-framework-next
|
||||
run: cd packages/bun-framework-next && pnpm check
|
||||
30
.github/workflows/bun-homebrew.yml
vendored
Normal file
30
.github/workflows/bun-homebrew.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
name: bun-homebrew
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
- published
|
||||
- edited
|
||||
jobs:
|
||||
homebrew:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'oven-sh' && github.event.release.published_at != null
|
||||
steps:
|
||||
- id: checkout
|
||||
name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: oven-sh/homebrew-bun
|
||||
token: ${{ env.HOMEBREW_TOKEN }}
|
||||
- id: setup-ruby
|
||||
name: Setup Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: '2.6'
|
||||
- id: update-tap
|
||||
name: Update Tap
|
||||
run: ruby scripts/release.rb "${{ github.event.release.tag_name }}"
|
||||
- id: commit-tap
|
||||
name: Commit Tap
|
||||
uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: Release ${{ github.event.release.tag_name }}
|
||||
153
.github/workflows/bun-linux-build.yml
vendored
Normal file
153
.github/workflows/bun-linux-build.yml
vendored
Normal file
@@ -0,0 +1,153 @@
|
||||
name: bun-linux
|
||||
env:
|
||||
REGISTRY: ghcr.io
|
||||
IMAGE_NAME: ${{ github.repository }}
|
||||
TEST_TAG: bun-test'
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- "src/**/*"
|
||||
- "test/**/*"
|
||||
- "build.zig"
|
||||
- "Makefile"
|
||||
- "Dockerfile"
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- "src/**/*"
|
||||
- "test/**/*"
|
||||
- "build.zig"
|
||||
- "Makefile"
|
||||
- "Dockerfile"
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
name: ${{matrix.tag}}
|
||||
runs-on: ${{matrix.runner}}
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- cpu: haswell
|
||||
tag: linux-x64
|
||||
arch: x86_64
|
||||
build_arch: amd64
|
||||
runner: linux-amd64
|
||||
webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-linux-amd64-lto.tar.gz"
|
||||
webkit_basename: "bun-webkit-linux-amd64-lto"
|
||||
build_machine_arch: x86_64
|
||||
- cpu: westmere
|
||||
tag: linux-x64-baseline
|
||||
arch: x86_64
|
||||
build_arch: amd64
|
||||
runner: linux-amd64
|
||||
webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-linux-amd64-lto.tar.gz"
|
||||
webkit_basename: "bun-webkit-linux-amd64-lto"
|
||||
build_machine_arch: x86_64
|
||||
- cpu: native
|
||||
tag: linux-aarch64
|
||||
arch: aarch64
|
||||
build_arch: arm64
|
||||
runner: linux-arm64
|
||||
webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-linux-arm64-lto.tar.gz"
|
||||
webkit_basename: "bun-webkit-linux-arm64-lto"
|
||||
build_machine_arch: aarch64
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
id: buildx
|
||||
with:
|
||||
install: true
|
||||
- name: Run
|
||||
run: |
|
||||
rm -rf ${{runner.temp}}/release
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: |
|
||||
mkdir -p /tmp/.buildx-cache-${{matrix.tag}}
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: .
|
||||
push: false
|
||||
cache-from: type=local,src=/tmp/.buildx-cache-${{matrix.tag}}
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache-${{matrix.tag}}
|
||||
build-args: |
|
||||
ARCH=${{matrix.arch}}
|
||||
BUILDARCH=${{matrix.build_arch}}
|
||||
BUILD_MACHINE_ARCH=${{matrix.build_machine_arch}}
|
||||
CPU_TARGET=${{matrix.cpu}}
|
||||
WEBKIT_URL=${{matrix.webkit_url}}
|
||||
GIT_SHA=${{github.sha}}
|
||||
WEBKIT_BASENAME=${{matrix.webkit_basename}}
|
||||
platforms: linux/${{matrix.build_arch}}
|
||||
target: artifact
|
||||
outputs: type=local,dest=${{runner.temp}}/release
|
||||
- name: Zip
|
||||
run: |
|
||||
# if zip is not found
|
||||
if [ ! -x "$(command -v zip)" ]; then
|
||||
sudo apt-get update && sudo apt-get install -y zip --no-install-recommends
|
||||
fi
|
||||
|
||||
if [ ! -x "$(command -v strip)" ]; then
|
||||
sudo apt-get update && sudo apt-get install -y binutils --no-install-recommends
|
||||
fi
|
||||
|
||||
cd ${{runner.temp}}/release
|
||||
chmod +x bun-profile bun
|
||||
|
||||
mkdir bun-${{matrix.tag}}-profile
|
||||
mkdir bun-${{matrix.tag}}
|
||||
|
||||
strip bun
|
||||
|
||||
mv bun-profile bun-${{matrix.tag}}-profile/bun-profile
|
||||
mv bun bun-${{matrix.tag}}/bun
|
||||
|
||||
zip -r bun-${{matrix.tag}}-profile.zip bun-${{matrix.tag}}-profile
|
||||
zip -r bun-${{matrix.tag}}.zip bun-${{matrix.tag}}
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: bun-${{matrix.tag}}-profile
|
||||
path: ${{runner.temp}}/release/bun-${{matrix.tag}}-profile.zip
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: bun-${{matrix.tag}}
|
||||
path: ${{runner.temp}}/release/bun-${{matrix.tag}}.zip
|
||||
- name: Release
|
||||
id: release
|
||||
uses: ncipollo/release-action@v1
|
||||
if: github.ref == 'refs/heads/main'
|
||||
with:
|
||||
prerelease: true
|
||||
body: "This canary release of Bun corresponds to the commit [${{ github.sha }}]"
|
||||
allowUpdates: true
|
||||
replacesArtifacts: true
|
||||
generateReleaseNotes: true
|
||||
artifactErrorsFailBuild: true
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
name: "Canary (${{github.sha}})"
|
||||
tag: "canary"
|
||||
artifacts: "${{runner.temp}}/release/bun-${{matrix.tag}}.zip,${{runner.temp}}/release/bun-${{matrix.tag}}-profile.zip"
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: bun-obj-${{matrix.tag}}
|
||||
path: ${{runner.temp}}/release/bun-obj
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{matrix.tag}}-dependencies
|
||||
path: ${{runner.temp}}/release/bun-dependencies
|
||||
384
.github/workflows/bun-mac-aarch64.yml
vendored
Normal file
384
.github/workflows/bun-mac-aarch64.yml
vendored
Normal file
@@ -0,0 +1,384 @@
|
||||
name: bun-macOS-aarch64
|
||||
env:
|
||||
REGISTRY: ghcr.io
|
||||
IMAGE_NAME: ${{ github.repository }}
|
||||
TEST_TAG: bun-test'
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- "src/**/*"
|
||||
- "test/**/*"
|
||||
- "build.zig"
|
||||
- "Makefile"
|
||||
- "Dockerfile"
|
||||
pull_request:
|
||||
branches: [main]
|
||||
paths:
|
||||
- "src/**/*"
|
||||
- "test/**/*"
|
||||
- "build.zig"
|
||||
- "Makefile"
|
||||
- "Dockerfile"
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
macos-object-files:
|
||||
name: macOS Object
|
||||
runs-on: zig-object
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
# - cpu: westmere
|
||||
# arch: x86_64
|
||||
# tag: bun-obj-darwin-x64-baseline
|
||||
# - cpu: haswell
|
||||
# arch: x86_64
|
||||
# tag: bun-obj-darwin-x64
|
||||
- cpu: native
|
||||
arch: aarch64
|
||||
tag: bun-obj-darwin-aarch64
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
id: buildx
|
||||
with:
|
||||
install: true
|
||||
- name: Run
|
||||
run: |
|
||||
rm -rf ${{runner.temp}}/release
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
if: runner.arch == 'X64'
|
||||
with:
|
||||
context: .
|
||||
push: false
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=min
|
||||
build-args: |
|
||||
ARCH=${{ matrix.arch }}
|
||||
BUILDARCH=amd64
|
||||
BUILD_MACHINE_ARCH=x86_64
|
||||
CPU_TARGET=${{ matrix.cpu }}
|
||||
TRIPLET=${{matrix.arch}}-macos-none
|
||||
GIT_SHA=${{github.sha}}
|
||||
platforms: linux/amd64
|
||||
target: build_release_obj
|
||||
outputs: type=local,dest=${{runner.temp}}/release
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
if: runner.arch == 'ARM64'
|
||||
with:
|
||||
context: .
|
||||
push: false
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=min
|
||||
build-args: |
|
||||
ARCH=${{ matrix.arch }}
|
||||
BUILDARCH=arm64
|
||||
BUILD_MACHINE_ARCH=aarch64
|
||||
CPU_TARGET=${{ matrix.cpu }}
|
||||
TRIPLET=${{matrix.arch}}-macos-none
|
||||
GIT_SHA=${{github.sha}}
|
||||
platforms: linux/arm64
|
||||
target: build_release_obj
|
||||
outputs: type=local,dest=${{runner.temp}}/release
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}
|
||||
path: ${{runner.temp}}/release/bun.o
|
||||
macOS-cpp:
|
||||
name: macOS C++
|
||||
runs-on: ${{ matrix.runner }}
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
# - cpu: westmere
|
||||
# arch: x86_64
|
||||
# tag: bun-darwin-x64-baseline
|
||||
# obj: bun-obj-darwin-x64-baseline
|
||||
# runner: macos-11
|
||||
# artifact: bun-obj-darwin-x64-baseline
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# dependencies: true
|
||||
# compile_obj: false
|
||||
# - cpu: haswell
|
||||
# arch: x86_64
|
||||
# tag: bun-darwin-x64
|
||||
# obj: bun-obj-darwin-x64
|
||||
# runner: macos-11
|
||||
# artifact: bun-obj-darwin-x64
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# dependencies: true
|
||||
# compile_obj: false
|
||||
# - cpu: westmere
|
||||
# arch: x86_64
|
||||
# tag: bun-darwin-x64-baseline
|
||||
# obj: bun-obj-darwin-x64-baseline
|
||||
# runner: macos-11
|
||||
# artifact: bun-obj-darwin-x64-baseline
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# dependencies: false
|
||||
# compile_obj: true
|
||||
# - cpu: haswell
|
||||
# arch: x86_64
|
||||
# tag: bun-darwin-x64
|
||||
# obj: bun-obj-darwin-x64
|
||||
# runner: macos-11
|
||||
# artifact: bun-obj-darwin-x64
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# dependencies: false
|
||||
# compile_obj: true
|
||||
- cpu: native
|
||||
arch: aarch64
|
||||
tag: bun-darwin-aarch64
|
||||
obj: bun-obj-darwin-aarch64
|
||||
artifact: bun-obj-darwin-aarch64
|
||||
webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-arm64-lto.tar.gz"
|
||||
runner: macos-arm64
|
||||
dependencies: true
|
||||
compile_obj: true
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Checkout submodules
|
||||
run: git submodule update --init --recursive --depth=1 --progress -j $(sysctl -n hw.ncpu)
|
||||
- name: Install dependencies
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
run: |
|
||||
brew install ccache rust llvm@15 pkg-config coreutils libtool cmake libiconv automake openssl@1.1 ninja gnu-sed pkg-config esbuild --force
|
||||
echo "export PATH=$(brew --prefix ccache)/bin:\$PATH" >> $GITHUB_ENV
|
||||
echo "export PATH=$(brew --prefix coreutils)/libexec/gnubin:\$PATH" >> $GITHUB_ENV
|
||||
echo "export PATH=$(brew --prefix llvm@15)/bin:\$PATH" >> $GITHUB_ENV
|
||||
brew link --overwrite llvm@15
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
key: ${{ runner.os }}-ccache-${{ matrix.tag }}
|
||||
restore-keys: ${{ runner.os }}-ccache-${{ matrix.tag }}
|
||||
- name: Download WebKit
|
||||
if: matrix.compile_obj
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
BUN_RELEASE_DIR: ${{ runner.temp }}/release
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
rm -rf $JSC_BASE_DIR
|
||||
mkdir -p $JSC_BASE_DIR
|
||||
curl -L ${{ matrix.webkit_url }} | tar -xz -C $JSC_BASE_DIR --strip-components=1
|
||||
- name: Compile dependencies
|
||||
if: matrix.dependencies
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
BUN_RELEASE_DIR: ${{ runner.temp }}/release
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
mkdir -p $BUN_DEPS_OUT_DIR
|
||||
make vendor-without-check
|
||||
- name: Compile C++
|
||||
if: matrix.compile_obj
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
BUN_RELEASE_DIR: ${{ runner.temp }}/release
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
mkdir -p $OBJ_DIR $BUN_DEPS_OUT_DIR
|
||||
make clean-bindings
|
||||
make -j $(sysctl -n hw.ncpu) release-bindings
|
||||
- name: Upload C++
|
||||
if: matrix.compile_obj
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}-cpp
|
||||
path: ${{ runner.temp }}/bun-cpp-obj
|
||||
- name: Upload Dependencies
|
||||
if: matrix.dependencies
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}-deps
|
||||
path: ${{runner.temp}}/bun-deps
|
||||
macOS:
|
||||
name: macOS Link
|
||||
runs-on: ${{ matrix.runner }}
|
||||
needs: [macOS-cpp, macos-object-files]
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
# - cpu: westmere
|
||||
# arch: x86_64
|
||||
# tag: bun-darwin-x64-baseline
|
||||
# obj: bun-obj-darwin-x64-baseline
|
||||
# package: bun-darwin-x64
|
||||
# runner: macos-11
|
||||
# artifact: bun-obj-darwin-x64-baseline
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# - cpu: haswell
|
||||
# arch: x86_64
|
||||
# tag: bun-darwin-x64
|
||||
# obj: bun-obj-darwin-x64
|
||||
# package: bun-darwin-x64
|
||||
# runner: macos-11
|
||||
# artifact: bun-obj-darwin-x64
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
- cpu: native
|
||||
arch: aarch64
|
||||
tag: bun-darwin-aarch64
|
||||
obj: bun-obj-darwin-aarch64
|
||||
package: bun-darwin-aarch64
|
||||
artifact: bun-obj-darwin-aarch64
|
||||
webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-arm64-lto.tar.gz"
|
||||
runner: macos-arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Checkout submodules
|
||||
run: git submodule update --init --recursive --depth=1 --progress -j $(sysctl -n hw.ncpu)
|
||||
- name: Install dependencies
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
run: |
|
||||
brew install rust ccache llvm@15 pkg-config coreutils libtool cmake libiconv automake openssl@1.1 ninja gnu-sed pkg-config esbuild --force
|
||||
echo "export PATH=$(brew --prefix coreutils)/libexec/gnubin:\$PATH" >> $GITHUB_ENV
|
||||
echo "export PATH=$(brew --prefix llvm@15)/bin:\$PATH" >> $GITHUB_ENV
|
||||
brew link --overwrite llvm@15
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
key: ${{ runner.os }}-ccache-${{ matrix.tag }}-link
|
||||
restore-keys: ${{ runner.os }}-ccache-${{ matrix.tag }}-link
|
||||
- name: Download WebKit
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
run: |
|
||||
rm -rf $JSC_BASE_DIR
|
||||
mkdir -p $JSC_BASE_DIR
|
||||
curl -L ${{ matrix.webkit_url }} | tar -xz -C $JSC_BASE_DIR --strip-components=1
|
||||
- name: Download C++
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}-cpp
|
||||
path: ${{ runner.temp }}/bun-cpp-obj
|
||||
- name: Download Dependencies
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}-deps
|
||||
path: ${{ runner.temp }}/bun-deps
|
||||
- name: Download Object
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.obj }}
|
||||
path: ${{ runner.temp }}/release
|
||||
- name: Link
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
BUN_RELEASE_DIR: ${{ runner.temp }}/release
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
rm -rf packages/${{ matrix.package }}
|
||||
mkdir -p packages/${{ matrix.package }}
|
||||
mv ${{ runner.temp }}/release/* packages/${{ matrix.package }}/
|
||||
make webcrypto bun-link-lld-release copy-to-bun-release-dir-bin
|
||||
- name: Zip
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
BUN_RELEASE_DIR: ${{ runner.temp }}/release
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
cd ${{runner.temp}}/release
|
||||
chmod +x bun-profile bun
|
||||
|
||||
mkdir ${{matrix.tag}}-profile
|
||||
mkdir ${{matrix.tag}}
|
||||
|
||||
/usr/bin/strip -S bun
|
||||
|
||||
mv bun-profile ${{matrix.tag}}-profile/bun-profile
|
||||
mv bun ${{matrix.tag}}/bun
|
||||
|
||||
zip -r ${{matrix.tag}}-profile.zip ${{matrix.tag}}-profile
|
||||
zip -r ${{matrix.tag}}.zip ${{matrix.tag}}
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{matrix.tag}}-profile
|
||||
path: ${{runner.temp}}/release/${{matrix.tag}}-profile.zip
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{matrix.tag}}
|
||||
path: ${{runner.temp}}/release/${{matrix.tag}}.zip
|
||||
- name: Release
|
||||
id: release
|
||||
uses: ncipollo/release-action@v1
|
||||
if: github.ref == 'refs/heads/main'
|
||||
with:
|
||||
prerelease: true
|
||||
body: "This canary release of Bun corresponds to the commit [${{ github.sha }}]"
|
||||
allowUpdates: true
|
||||
replacesArtifacts: true
|
||||
generateReleaseNotes: true
|
||||
artifactErrorsFailBuild: true
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
name: "Canary (${{github.sha}})"
|
||||
tag: "canary"
|
||||
artifacts: "${{runner.temp}}/release/${{matrix.tag}}.zip,${{runner.temp}}/release/${{matrix.tag}}-profile.zip"
|
||||
388
.github/workflows/bun-mac-x64-baseline.yml
vendored
Normal file
388
.github/workflows/bun-mac-x64-baseline.yml
vendored
Normal file
@@ -0,0 +1,388 @@
|
||||
name: bun-macOS-x64-baseline
|
||||
env:
|
||||
REGISTRY: ghcr.io
|
||||
IMAGE_NAME: ${{ github.repository }}
|
||||
TEST_TAG: bun-test'
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- "src/**/*"
|
||||
- "test/**/*"
|
||||
- "build.zig"
|
||||
- "Makefile"
|
||||
- "Dockerfile"
|
||||
pull_request:
|
||||
branches: [main]
|
||||
paths:
|
||||
- "src/**/*"
|
||||
- "test/**/*"
|
||||
- "build.zig"
|
||||
- "Makefile"
|
||||
- "Dockerfile"
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
macos-object-files:
|
||||
name: macOS Object
|
||||
runs-on: zig-object
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- cpu: westmere
|
||||
arch: x86_64
|
||||
tag: bun-obj-darwin-x64-baseline
|
||||
# - cpu: haswell
|
||||
# arch: x86_64
|
||||
# tag: bun-obj-darwin-x64
|
||||
# - cpu: native
|
||||
# arch: aarch64
|
||||
# tag: bun-obj-darwin-aarch64
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
id: buildx
|
||||
with:
|
||||
install: true
|
||||
- name: Run
|
||||
run: |
|
||||
rm -rf ${{runner.temp}}/release
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
if: runner.arch == 'X64'
|
||||
with:
|
||||
context: .
|
||||
push: false
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=min
|
||||
build-args: |
|
||||
ARCH=${{ matrix.arch }}
|
||||
BUILDARCH=amd64
|
||||
BUILD_MACHINE_ARCH=x86_64
|
||||
CPU_TARGET=${{ matrix.cpu }}
|
||||
TRIPLET=${{matrix.arch}}-macos-none
|
||||
GIT_SHA=${{github.sha}}
|
||||
platforms: linux/amd64
|
||||
target: build_release_obj
|
||||
outputs: type=local,dest=${{runner.temp}}/release
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
if: runner.arch == 'ARM64'
|
||||
with:
|
||||
context: .
|
||||
push: false
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=min
|
||||
build-args: |
|
||||
ARCH=${{ matrix.arch }}
|
||||
BUILDARCH=arm64
|
||||
BUILD_MACHINE_ARCH=aarch64
|
||||
CPU_TARGET=${{ matrix.cpu }}
|
||||
TRIPLET=${{matrix.arch}}-macos-none
|
||||
GIT_SHA=${{github.sha}}
|
||||
platforms: linux/arm64
|
||||
target: build_release_obj
|
||||
outputs: type=local,dest=${{runner.temp}}/release
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}
|
||||
path: ${{runner.temp}}/release/bun.o
|
||||
macOS-cpp:
|
||||
name: macOS C++
|
||||
runs-on: ${{ matrix.runner }}
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- cpu: westmere
|
||||
arch: x86_64
|
||||
tag: bun-darwin-x64-baseline
|
||||
obj: bun-obj-darwin-x64-baseline
|
||||
runner: macos-11
|
||||
artifact: bun-obj-darwin-x64-baseline
|
||||
webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
dependencies: true
|
||||
compile_obj: false
|
||||
# - cpu: haswell
|
||||
# arch: x86_64
|
||||
# tag: bun-darwin-x64
|
||||
# obj: bun-obj-darwin-x64
|
||||
# runner: macos-11
|
||||
# artifact: bun-obj-darwin-x64
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# dependencies: true
|
||||
# compile_obj: false
|
||||
- cpu: westmere
|
||||
arch: x86_64
|
||||
tag: bun-darwin-x64-baseline
|
||||
obj: bun-obj-darwin-x64-baseline
|
||||
runner: macos-11
|
||||
artifact: bun-obj-darwin-x64-baseline
|
||||
webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
dependencies: false
|
||||
compile_obj: true
|
||||
# - cpu: haswell
|
||||
# arch: x86_64
|
||||
# tag: bun-darwin-x64
|
||||
# obj: bun-obj-darwin-x64
|
||||
# runner: macos-11
|
||||
# artifact: bun-obj-darwin-x64
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# dependencies: false
|
||||
# compile_obj: true
|
||||
# - cpu: native
|
||||
# arch: aarch64
|
||||
# tag: bun-darwin-aarch64
|
||||
# obj: bun-obj-darwin-aarch64
|
||||
# artifact: bun-obj-darwin-aarch64
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# runner: macos-arm64
|
||||
# dependencies: true
|
||||
# compile_obj: true
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Checkout submodules
|
||||
run: git submodule update --init --recursive --depth=1 --progress -j $(sysctl -n hw.ncpu)
|
||||
- name: Install dependencies
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
run: |
|
||||
brew install ccache rust llvm@15 pkg-config coreutils libtool cmake libiconv automake openssl@1.1 ninja gnu-sed pkg-config esbuild --force
|
||||
echo "export PATH=$(brew --prefix ccache)/bin:\$PATH" >> $GITHUB_ENV
|
||||
echo "export PATH=$(brew --prefix coreutils)/libexec/gnubin:\$PATH" >> $GITHUB_ENV
|
||||
echo "export PATH=$(brew --prefix llvm@15)/bin:\$PATH" >> $GITHUB_ENV
|
||||
brew link --overwrite llvm@15
|
||||
- name: ccache (dependencies)
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
if: matrix.dependencies
|
||||
with:
|
||||
key: ${{ runner.os }}-ccache-${{ matrix.tag }}-dependencies
|
||||
restore-keys: ${{ runner.os }}-ccache-${{ matrix.tag }}-dependencies
|
||||
- name: ccache (c++)
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
if: matrix.compile_obj
|
||||
with:
|
||||
key: ${{ runner.os }}-ccache-${{ matrix.tag }}-obj
|
||||
restore-keys: ${{ runner.os }}-ccache-${{ matrix.tag }}-obj
|
||||
- name: Download WebKit
|
||||
if: matrix.compile_obj
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
run: |
|
||||
rm -rf $JSC_BASE_DIR
|
||||
mkdir -p $JSC_BASE_DIR
|
||||
curl -L ${{ matrix.webkit_url }} | tar -xz -C $JSC_BASE_DIR --strip-components=1
|
||||
- name: Compile dependencies
|
||||
if: matrix.dependencies
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
mkdir -p $OBJ_DIR $BUN_DEPS_OUT_DIR
|
||||
make vendor-without-check
|
||||
- name: Compile C++
|
||||
if: matrix.compile_obj
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
mkdir -p $OBJ_DIR $BUN_DEPS_OUT_DIR
|
||||
make -j $(sysctl -n hw.ncpu) release-bindings
|
||||
- name: Upload C++
|
||||
if: matrix.compile_obj
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}-cpp
|
||||
path: ${{ runner.temp }}/bun-cpp-obj
|
||||
- name: Upload Dependencies
|
||||
if: matrix.dependencies
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}-deps
|
||||
path: ${{runner.temp}}/bun-deps
|
||||
macOS:
|
||||
name: macOS Link
|
||||
runs-on: ${{ matrix.runner }}
|
||||
needs: [macOS-cpp, macos-object-files]
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- cpu: westmere
|
||||
arch: x86_64
|
||||
tag: bun-darwin-x64-baseline
|
||||
obj: bun-obj-darwin-x64-baseline
|
||||
package: bun-darwin-x64
|
||||
runner: macos-11
|
||||
artifact: bun-obj-darwin-x64-baseline
|
||||
webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# - cpu: haswell
|
||||
# arch: x86_64
|
||||
# tag: bun-darwin-x64
|
||||
# obj: bun-obj-darwin-x64
|
||||
# package: bun-darwin-x64
|
||||
# runner: macos-11
|
||||
# artifact: bun-obj-darwin-x64
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# - cpu: native
|
||||
# arch: aarch64
|
||||
# tag: bun-darwin-aarch64
|
||||
# obj: bun-obj-darwin-aarch64
|
||||
# package: bun-darwin-aarch64
|
||||
# artifact: bun-obj-darwin-aarch64
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# runner: macos-arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Checkout submodules
|
||||
run: git submodule update --init --recursive --depth=1 --progress -j $(sysctl -n hw.ncpu)
|
||||
- name: Install dependencies
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
run: |
|
||||
brew install ccache rust llvm@15 pkg-config coreutils libtool cmake libiconv automake openssl@1.1 ninja gnu-sed pkg-config esbuild --force
|
||||
echo "export PATH=$(brew --prefix coreutils)/libexec/gnubin:\$PATH" >> $GITHUB_ENV
|
||||
echo "export PATH=$(brew --prefix llvm@15)/bin:\$PATH" >> $GITHUB_ENV
|
||||
brew link --overwrite llvm@15
|
||||
- name: ccache (link)
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
key: ${{ runner.os }}-ccache-${{ matrix.tag }}-link
|
||||
restore-keys: ${{ runner.os }}-ccache-${{ matrix.tag }}-link
|
||||
- name: Download WebKit
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
BUN_RELEASE_DIR: ${{ runner.temp }}/release
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
rm -rf $JSC_BASE_DIR
|
||||
mkdir -p $JSC_BASE_DIR
|
||||
curl -L ${{ matrix.webkit_url }} | tar -xz -C $JSC_BASE_DIR --strip-components=1
|
||||
- name: Download C++
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}-cpp
|
||||
path: ${{ runner.temp }}/bun-cpp-obj
|
||||
- name: Download Dependencies
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}-deps
|
||||
path: ${{ runner.temp }}/bun-deps
|
||||
- name: Download Object
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.obj }}
|
||||
path: ${{ runner.temp }}/release
|
||||
- name: Link
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
BUN_RELEASE_DIR: ${{ runner.temp }}/release
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
rm -rf packages/${{ matrix.package }}
|
||||
mkdir -p packages/${{ matrix.package }}
|
||||
mv ${{ runner.temp }}/release/* packages/${{ matrix.package }}/
|
||||
make webcrypto bun-link-lld-release copy-to-bun-release-dir-bin
|
||||
- name: Zip
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
BUN_RELEASE_DIR: ${{ runner.temp }}/release
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
cd ${{runner.temp}}/release
|
||||
chmod +x bun-profile bun
|
||||
|
||||
mkdir ${{matrix.tag}}-profile
|
||||
mkdir ${{matrix.tag}}
|
||||
|
||||
/usr/bin/strip -S bun
|
||||
|
||||
mv bun-profile ${{matrix.tag}}-profile/bun-profile
|
||||
mv bun ${{matrix.tag}}/bun
|
||||
|
||||
zip -r ${{matrix.tag}}-profile.zip ${{matrix.tag}}-profile
|
||||
zip -r ${{matrix.tag}}.zip ${{matrix.tag}}
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{matrix.tag}}-profile
|
||||
path: ${{runner.temp}}/release/${{matrix.tag}}-profile.zip
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{matrix.tag}}
|
||||
path: ${{runner.temp}}/release/${{matrix.tag}}.zip
|
||||
- name: Release
|
||||
id: release
|
||||
uses: ncipollo/release-action@v1
|
||||
if: github.ref == 'refs/heads/main'
|
||||
with:
|
||||
prerelease: true
|
||||
body: "This canary release of Bun corresponds to the commit [${{ github.sha }}]"
|
||||
allowUpdates: true
|
||||
replacesArtifacts: true
|
||||
generateReleaseNotes: true
|
||||
artifactErrorsFailBuild: true
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
name: "Canary (${{github.sha}})"
|
||||
tag: "canary"
|
||||
artifacts: "${{runner.temp}}/release/${{matrix.tag}}.zip,${{runner.temp}}/release/${{matrix.tag}}-profile.zip"
|
||||
390
.github/workflows/bun-mac-x64.yml
vendored
Normal file
390
.github/workflows/bun-mac-x64.yml
vendored
Normal file
@@ -0,0 +1,390 @@
|
||||
name: bun-macOS-x64
|
||||
env:
|
||||
REGISTRY: ghcr.io
|
||||
IMAGE_NAME: ${{ github.repository }}
|
||||
TEST_TAG: bun-test'
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- "src/**/*"
|
||||
- "test/**/*"
|
||||
- "build.zig"
|
||||
- "Makefile"
|
||||
- "Dockerfile"
|
||||
pull_request:
|
||||
branches: [main]
|
||||
paths:
|
||||
- "src/**/*"
|
||||
- "test/**/*"
|
||||
- "build.zig"
|
||||
- "Makefile"
|
||||
- "Dockerfile"
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
macos-object-files:
|
||||
name: macOS Object
|
||||
runs-on: zig-object
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
# - cpu: westmere
|
||||
# arch: x86_64
|
||||
# tag: bun-obj-darwin-x64-baseline
|
||||
- cpu: haswell
|
||||
arch: x86_64
|
||||
tag: bun-obj-darwin-x64
|
||||
# - cpu: native
|
||||
# arch: aarch64
|
||||
# tag: bun-obj-darwin-aarch64
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- uses: docker/setup-buildx-action@v2
|
||||
id: buildx
|
||||
with:
|
||||
install: true
|
||||
- name: Run
|
||||
run: |
|
||||
rm -rf ${{runner.temp}}/release
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
if: runner.arch == 'X64'
|
||||
with:
|
||||
context: .
|
||||
push: false
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=min
|
||||
build-args: |
|
||||
ARCH=${{ matrix.arch }}
|
||||
BUILDARCH=amd64
|
||||
BUILD_MACHINE_ARCH=x86_64
|
||||
CPU_TARGET=${{ matrix.cpu }}
|
||||
TRIPLET=${{matrix.arch}}-macos-none
|
||||
GIT_SHA=${{github.sha}}
|
||||
platforms: linux/amd64
|
||||
target: build_release_obj
|
||||
outputs: type=local,dest=${{runner.temp}}/release
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
if: runner.arch == 'ARM64'
|
||||
with:
|
||||
context: .
|
||||
push: false
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=min
|
||||
build-args: |
|
||||
ARCH=${{ matrix.arch }}
|
||||
BUILDARCH=arm64
|
||||
BUILD_MACHINE_ARCH=aarch64
|
||||
CPU_TARGET=${{ matrix.cpu }}
|
||||
TRIPLET=${{matrix.arch}}-macos-none
|
||||
GIT_SHA=${{github.sha}}
|
||||
platforms: linux/arm64
|
||||
target: build_release_obj
|
||||
outputs: type=local,dest=${{runner.temp}}/release
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}
|
||||
path: ${{runner.temp}}/release/bun.o
|
||||
macOS-cpp:
|
||||
name: macOS C++
|
||||
runs-on: ${{ matrix.runner }}
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
# - cpu: westmere
|
||||
# arch: x86_64
|
||||
# tag: bun-darwin-x64-baseline
|
||||
# obj: bun-obj-darwin-x64-baseline
|
||||
# runner: macos-11
|
||||
# artifact: bun-obj-darwin-x64-baseline
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# dependencies: true
|
||||
# compile_obj: false
|
||||
- cpu: haswell
|
||||
arch: x86_64
|
||||
tag: bun-darwin-x64
|
||||
obj: bun-obj-darwin-x64
|
||||
runner: macos-11
|
||||
artifact: bun-obj-darwin-x64
|
||||
webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
dependencies: true
|
||||
compile_obj: false
|
||||
# - cpu: westmere
|
||||
# arch: x86_64
|
||||
# tag: bun-darwin-x64-baseline
|
||||
# obj: bun-obj-darwin-x64-baseline
|
||||
# runner: macos-11
|
||||
# artifact: bun-obj-darwin-x64-baseline
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# dependencies: false
|
||||
# compile_obj: true
|
||||
- cpu: haswell
|
||||
arch: x86_64
|
||||
tag: bun-darwin-x64
|
||||
obj: bun-obj-darwin-x64
|
||||
runner: macos-11
|
||||
artifact: bun-obj-darwin-x64
|
||||
webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
dependencies: false
|
||||
compile_obj: true
|
||||
# - cpu: native
|
||||
# arch: aarch64
|
||||
# tag: bun-darwin-aarch64
|
||||
# obj: bun-obj-darwin-aarch64
|
||||
# artifact: bun-obj-darwin-aarch64
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-arm64-lto.tar.gz"
|
||||
# runner: macos-arm64
|
||||
# dependencies: true
|
||||
# compile_obj: true
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Checkout submodules
|
||||
run: git submodule update --init --recursive --depth=1 --progress -j $(sysctl -n hw.ncpu)
|
||||
- name: Install dependencies
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
run: |
|
||||
brew install rust ccache llvm@15 pkg-config coreutils libtool cmake libiconv automake openssl@1.1 ninja gnu-sed pkg-config esbuild --force
|
||||
echo "export PATH=$(brew --prefix coreutils)/libexec/gnubin:\$PATH" >> $GITHUB_ENV
|
||||
echo "export PATH=$(brew --prefix llvm@15)/bin:\$PATH" >> $GITHUB_ENV
|
||||
brew link --overwrite llvm@15
|
||||
- name: Download WebKit
|
||||
if: matrix.compile_obj
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
rm -rf $JSC_BASE_DIR
|
||||
mkdir -p $JSC_BASE_DIR
|
||||
curl -L ${{ matrix.webkit_url }} | tar -xz -C $JSC_BASE_DIR --strip-components=1
|
||||
- name: ccache (dependencies)
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
if: matrix.dependencies
|
||||
with:
|
||||
key: ${{ runner.os }}-ccache-${{ matrix.tag }}-dependencies
|
||||
restore-keys: ${{ runner.os }}-ccache-${{ matrix.tag }}-dependencies
|
||||
- name: ccache (c++)
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
if: matrix.compile_obj
|
||||
with:
|
||||
key: ${{ runner.os }}-ccache-${{ matrix.tag }}-obj
|
||||
restore-keys: ${{ runner.os }}-ccache-${{ matrix.tag }}-obj
|
||||
- name: Compile dependencies
|
||||
if: matrix.dependencies
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
mkdir -p $OBJ_DIR $BUN_DEPS_OUT_DIR
|
||||
make vendor-without-check
|
||||
- name: Compile C++
|
||||
if: matrix.compile_obj
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
mkdir -p $OBJ_DIR $BUN_DEPS_OUT_DIR
|
||||
make -j $(sysctl -n hw.ncpu) release-bindings
|
||||
- name: Upload C++
|
||||
if: matrix.compile_obj
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}-cpp
|
||||
path: ${{ runner.temp }}/bun-cpp-obj
|
||||
- name: Upload Dependencies
|
||||
if: matrix.dependencies
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}-deps
|
||||
path: ${{runner.temp}}/bun-deps
|
||||
|
||||
macOS:
|
||||
name: macOS Link
|
||||
runs-on: ${{ matrix.runner }}
|
||||
needs: [macOS-cpp, macos-object-files]
|
||||
timeout-minutes: 90
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
# - cpu: westmere
|
||||
# arch: x86_64
|
||||
# tag: bun-darwin-x64-baseline
|
||||
# obj: bun-obj-darwin-x64-baseline
|
||||
# package: bun-darwin-x64
|
||||
# runner: macos-11
|
||||
# artifact: bun-obj-darwin-x64-baseline
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
- cpu: haswell
|
||||
arch: x86_64
|
||||
tag: bun-darwin-x64
|
||||
obj: bun-obj-darwin-x64
|
||||
package: bun-darwin-x64
|
||||
runner: macos-11
|
||||
artifact: bun-obj-darwin-x64
|
||||
webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-amd64-lto.tar.gz"
|
||||
# - cpu: native
|
||||
# arch: aarch64
|
||||
# tag: bun-darwin-aarch64
|
||||
# obj: bun-obj-darwin-aarch64
|
||||
# package: bun-darwin-aarch64
|
||||
# artifact: bun-obj-darwin-aarch64
|
||||
# webkit_url: "https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-macos-arm64-lto.tar.gz"
|
||||
# runner: macos-arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Checkout submodules
|
||||
run: git submodule update --init --recursive --depth=1 --progress -j $(sysctl -n hw.ncpu)
|
||||
- name: Install dependencies
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
run: |
|
||||
brew install rust ccache llvm@15 pkg-config coreutils libtool cmake libiconv automake openssl@1.1 ninja gnu-sed pkg-config esbuild --force
|
||||
echo "export PATH=$(brew --prefix coreutils)/libexec/gnubin:\$PATH" >> $GITHUB_ENV
|
||||
echo "export PATH=$(brew --prefix llvm@15)/bin:\$PATH" >> $GITHUB_ENV
|
||||
brew link --overwrite llvm@15
|
||||
- name: Download WebKit
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
BUN_RELEASE_DIR: ${{ runner.temp }}/release
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
rm -rf $JSC_BASE_DIR
|
||||
mkdir -p $JSC_BASE_DIR
|
||||
curl -L ${{ matrix.webkit_url }} | tar -xz -C $JSC_BASE_DIR --strip-components=1
|
||||
- name: Download C++
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}-cpp
|
||||
path: ${{ runner.temp }}/bun-cpp-obj
|
||||
- name: Download Dependencies
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.tag }}-deps
|
||||
path: ${{ runner.temp }}/bun-deps
|
||||
- name: Download Object
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.obj }}
|
||||
path: ${{ runner.temp }}/release
|
||||
- name: ccache (link)
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
key: ${{ runner.os }}-ccache-${{ matrix.tag }}-link
|
||||
restore-keys: ${{ runner.os }}-ccache-${{ matrix.tag }}-link
|
||||
- name: Link
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
BUN_RELEASE_DIR: ${{ runner.temp }}/release
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
rm -rf packages/${{ matrix.package }}
|
||||
mkdir -p packages/${{ matrix.package }}
|
||||
mv ${{ runner.temp }}/release/* packages/${{ matrix.package }}/
|
||||
make webcrypto bun-link-lld-release copy-to-bun-release-dir-bin
|
||||
- name: Zip
|
||||
env:
|
||||
CPU_TARGET: ${{ matrix.cpu }}
|
||||
JSC_BASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
JSC_LIB: ${{ runner.temp }}/bun-webkit/lib
|
||||
BUN_DEPLOY_DIR: ${{ runner.temp }}/release/bun
|
||||
OBJ_DIR: ${{ runner.temp }}/bun-cpp-obj
|
||||
BUN_DEPS_OUT_DIR: ${{runner.temp}}/bun-deps
|
||||
BUN_RELEASE_DIR: ${{ runner.temp }}/release
|
||||
WEBKIT_RELEASE_DIR: ${{ runner.temp }}/bun-webkit
|
||||
WEBKIT_RELEASE_DIR_LTO: ${{ runner.temp }}/bun-webkit
|
||||
run: |
|
||||
cd ${{runner.temp}}/release
|
||||
chmod +x bun-profile bun
|
||||
|
||||
mkdir ${{matrix.tag}}-profile
|
||||
mkdir ${{matrix.tag}}
|
||||
|
||||
/usr/bin/strip -S bun
|
||||
|
||||
mv bun-profile ${{matrix.tag}}-profile/bun-profile
|
||||
mv bun ${{matrix.tag}}/bun
|
||||
|
||||
zip -r ${{matrix.tag}}-profile.zip ${{matrix.tag}}-profile
|
||||
zip -r ${{matrix.tag}}.zip ${{matrix.tag}}
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{matrix.tag}}-profile
|
||||
path: ${{runner.temp}}/release/${{matrix.tag}}-profile.zip
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{matrix.tag}}
|
||||
path: ${{runner.temp}}/release/${{matrix.tag}}.zip
|
||||
- name: Release
|
||||
id: release
|
||||
uses: ncipollo/release-action@v1
|
||||
if: github.ref == 'refs/heads/main'
|
||||
with:
|
||||
prerelease: true
|
||||
body: "This canary release of Bun corresponds to the commit [${{ github.sha }}]"
|
||||
allowUpdates: true
|
||||
replacesArtifacts: true
|
||||
generateReleaseNotes: true
|
||||
artifactErrorsFailBuild: true
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
name: "Canary (${{github.sha}})"
|
||||
tag: "canary"
|
||||
artifacts: "${{runner.temp}}/release/${{matrix.tag}}.zip,${{runner.temp}}/release/${{matrix.tag}}-profile.zip"
|
||||
137
.github/workflows/bun-types-release.yml
vendored
Normal file
137
.github/workflows/bun-types-release.yml
vendored
Normal file
@@ -0,0 +1,137 @@
|
||||
name: Release
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
test-build:
|
||||
name: Test & Build
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'oven-sh'
|
||||
defaults:
|
||||
run:
|
||||
working-directory: packages/bun-types
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install bun
|
||||
uses: xhyrom/setup-bun@v0.1.8
|
||||
with:
|
||||
bun-version: canary
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Install node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: latest
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install
|
||||
|
||||
- name: ESLint
|
||||
run: bun run lint
|
||||
|
||||
- name: Build package
|
||||
run: bun run build
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: bun-types
|
||||
path: packages/bun-types/dist/*
|
||||
if-no-files-found: error
|
||||
|
||||
publish-npm:
|
||||
name: Publish on NPM
|
||||
runs-on: ubuntu-latest
|
||||
needs: [test-build]
|
||||
if: github.repository_owner == 'oven-sh'
|
||||
defaults:
|
||||
run:
|
||||
working-directory: packages/bun-types
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: latest
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
|
||||
- name: Download all artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: bun-types
|
||||
path: packages/bun-types/dist
|
||||
|
||||
- name: Publish on NPM
|
||||
run: cd packages/bun-types/dist/ && npm publish --access public
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
publish-gpr:
|
||||
name: Publish on GPR
|
||||
runs-on: ubuntu-latest
|
||||
needs: [test-build]
|
||||
if: github.repository_owner == 'oven-sh'
|
||||
defaults:
|
||||
run:
|
||||
working-directory: packages/bun-types
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Install node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: latest
|
||||
registry-url: 'https://npm.pkg.github.com/'
|
||||
scope: '@oven-sh'
|
||||
|
||||
- name: Install bun
|
||||
uses: xhyrom/setup-bun@v0.1.8
|
||||
with:
|
||||
bun-version: canary
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Download all artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: bun-types
|
||||
path: dist
|
||||
|
||||
- name: Add scope to name
|
||||
run: bun scripts/gpr.ts
|
||||
|
||||
- name: Publish on GPR
|
||||
run: cd dist/ && npm publish --access public
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# no need for separate releases now
|
||||
# create-release:
|
||||
# name: Create Release
|
||||
# runs-on: ubuntu-latest
|
||||
# needs: [test-build]
|
||||
# defaults:
|
||||
# run:
|
||||
# working-directory: packages/bun-types
|
||||
# if: github.repository_owner == 'oven-sh'
|
||||
|
||||
# steps:
|
||||
# - name: Download all artifacts
|
||||
# uses: actions/download-artifact@v3
|
||||
# with:
|
||||
# name: bun-types
|
||||
# path: packages/bun-types/dist
|
||||
|
||||
# - name: Set version
|
||||
# run: echo "version=$(jq --raw-output '.version' dist/package.json)" >> $GITHUB_ENV
|
||||
|
||||
# - name: Create Release
|
||||
# uses: softprops/action-gh-release@v0.1.14
|
||||
# with:
|
||||
# tag_name: "v${{ env.version }}"
|
||||
# body: "This is the release of bun-types that corresponds to the commit [${{ github.sha }}]"
|
||||
# token: ${{ secrets.GITHUB_TOKEN }}
|
||||
# files: |
|
||||
# dist/*
|
||||
44
.github/workflows/bun-types-tests.yml
vendored
Normal file
44
.github/workflows/bun-types-tests.yml
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
name: TypeScript Types
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- packages/bun-types/**/*
|
||||
branches: [main]
|
||||
pull_request:
|
||||
paths:
|
||||
- packages/bun-types/**/*
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
name: Build and Test
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: packages/bun-types
|
||||
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install bun
|
||||
uses: xhyrom/setup-bun@v0.1.8
|
||||
with:
|
||||
bun-version: latest
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Install node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: latest
|
||||
|
||||
- name: Install dependencies
|
||||
run: bun install
|
||||
|
||||
- name: Generate package
|
||||
run: bun run build
|
||||
|
||||
- name: ESLint
|
||||
run: bun run lint
|
||||
|
||||
- name: Tests
|
||||
run: bun run test
|
||||
48
.gitignore
vendored
48
.gitignore
vendored
@@ -10,8 +10,10 @@ node_modules
|
||||
.swcrc
|
||||
yarn.lock
|
||||
dist
|
||||
*.tmp
|
||||
*.log
|
||||
*.out.js
|
||||
*.out.refresh.js
|
||||
/package-lock.json
|
||||
build
|
||||
*.wat
|
||||
@@ -30,7 +32,6 @@ cover
|
||||
coverage
|
||||
coverv
|
||||
*.trace
|
||||
bench
|
||||
github
|
||||
out.*
|
||||
out
|
||||
@@ -65,6 +66,47 @@ release/
|
||||
sign.*.json
|
||||
packages/debug-*
|
||||
packages/bun-cli/postinstall.js
|
||||
packages/bun-*/bin/*
|
||||
packages/bun-*/bun
|
||||
packages/bun-*/bun-profile
|
||||
packages/bun-*/debug-bun
|
||||
packages/bun-*/*.o
|
||||
packages/bun-cli/postinstall.js
|
||||
|
||||
packages/bun-cli/bin/*
|
||||
packages/bun-cli/bin/*
|
||||
bun-test-scratch
|
||||
misctools/fetch
|
||||
|
||||
src/deps/libiconv
|
||||
src/deps/openssl
|
||||
src/tests.zig
|
||||
*.blob
|
||||
src/deps/s2n-tls
|
||||
.npm
|
||||
.npm.gz
|
||||
|
||||
bun-binary
|
||||
|
||||
src/deps/PLCrashReporter/
|
||||
|
||||
*.dSYM
|
||||
*.crash
|
||||
misctools/sha
|
||||
packages/bun-wasm/*.mjs
|
||||
packages/bun-wasm/*.cjs
|
||||
packages/bun-wasm/*.map
|
||||
packages/bun-wasm/*.js
|
||||
packages/bun-wasm/*.d.ts
|
||||
*.bc
|
||||
|
||||
src/fallback.version
|
||||
src/runtime.version
|
||||
*.sqlite
|
||||
*.database
|
||||
*.db
|
||||
misctools/machbench
|
||||
*.big
|
||||
.eslintcache
|
||||
|
||||
bun-webkit
|
||||
|
||||
src/deps/c-ares/build
|
||||
|
||||
76
.gitmodules
vendored
76
.gitmodules
vendored
@@ -1,15 +1,67 @@
|
||||
# [submodule "src/deps/zig-clap"]
|
||||
# path = src/deps/zig-clap
|
||||
# url = https://github.com/Hejsil/zig-clap
|
||||
[submodule "src/deps/picohttpparser"]
|
||||
path = src/deps/picohttpparser
|
||||
url = https://github.com/h2o/picohttpparser.git
|
||||
ignore = dirty
|
||||
path = src/deps/picohttpparser
|
||||
url = https://github.com/h2o/picohttpparser.git
|
||||
ignore = dirty
|
||||
depth = 1
|
||||
shallow = true
|
||||
fetchRecurseSubmodules = false
|
||||
[submodule "src/javascript/jsc/WebKit"]
|
||||
path = src/javascript/jsc/WebKit
|
||||
url = git@github.com:/Jarred-Sumner/WebKit
|
||||
ignore = dirty
|
||||
path = src/bun.js/WebKit
|
||||
url = https://github.com/oven-sh/WebKit.git
|
||||
ignore = dirty
|
||||
depth = 1
|
||||
update = none
|
||||
shallow = true
|
||||
fetchRecurseSubmodules = false
|
||||
[submodule "src/deps/mimalloc"]
|
||||
path = src/deps/mimalloc
|
||||
url = https://github.com/microsoft/mimalloc.git
|
||||
ignore = dirty
|
||||
path = src/deps/mimalloc
|
||||
url = https://github.com/Jarred-Sumner/mimalloc.git
|
||||
ignore = dirty
|
||||
depth = 1
|
||||
shallow = true
|
||||
fetchRecurseSubmodules = false
|
||||
[submodule "src/deps/zlib"]
|
||||
path = src/deps/zlib
|
||||
url = https://github.com/cloudflare/zlib.git
|
||||
ignore = dirty
|
||||
depth = 1
|
||||
shallow = true
|
||||
fetchRecurseSubmodules = false
|
||||
[submodule "src/deps/libarchive"]
|
||||
path = src/deps/libarchive
|
||||
url = https://github.com/libarchive/libarchive.git
|
||||
ignore = dirty
|
||||
depth = 1
|
||||
shallow = true
|
||||
fetchRecurseSubmodules = false
|
||||
[submodule "src/deps/boringssl"]
|
||||
path = src/deps/boringssl
|
||||
url = https://github.com/oven-sh/boringssl.git
|
||||
ignore = dirty
|
||||
depth = 1
|
||||
shallow = true
|
||||
fetchRecurseSubmodules = false
|
||||
[submodule "src/deps/lol-html"]
|
||||
path = src/deps/lol-html
|
||||
url = https://github.com/cloudflare/lol-html
|
||||
ignore = dirty
|
||||
depth = 1
|
||||
shallow = true
|
||||
fetchRecurseSubmodules = false
|
||||
[submodule "src/deps/uws"]
|
||||
path = src/deps/uws
|
||||
url = https://github.com/Jarred-Sumner/uWebSockets
|
||||
ignore = dirty
|
||||
depth = 1
|
||||
shallow = true
|
||||
fetchRecurseSubmodules = true
|
||||
[submodule "src/deps/tinycc"]
|
||||
path = src/deps/tinycc
|
||||
url = https://github.com/Jarred-Sumner/tinycc.git
|
||||
ignore = dirty
|
||||
depth = 1
|
||||
shallow = true
|
||||
fetchRecurseSubmodules = false
|
||||
[submodule "src/deps/c-ares"]
|
||||
path = src/deps/c-ares
|
||||
url = https://github.com/c-ares/c-ares.git
|
||||
|
||||
8
.prettierignore
Normal file
8
.prettierignore
Normal file
@@ -0,0 +1,8 @@
|
||||
src/fallback.html
|
||||
# src/test
|
||||
test/bun.js/solid-dom-fixtures
|
||||
test/bun.js/bundled
|
||||
#src/bun.js/builtins
|
||||
# src/api/demo
|
||||
test/snapshots
|
||||
test/snapshots-no-hmr
|
||||
7
.prettierrc
Normal file
7
.prettierrc
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"tabWidth": 2,
|
||||
"useTabs": false,
|
||||
"singleQuote": false,
|
||||
"bracketSpacing": true,
|
||||
"trailingComma": "all"
|
||||
}
|
||||
9
.scripts/postinstall.sh
Executable file
9
.scripts/postinstall.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
set -euxo pipefail
|
||||
|
||||
# if bun-webkit node_modules directory exists
|
||||
if [ -d ./node_modules/bun-webkit ]; then
|
||||
rm -f bun-webkit
|
||||
# get the first matching bun-webkit-* directory name
|
||||
ln -s ./node_modules/$(ls ./node_modules | grep bun-webkit- | head -n 1) ./bun-webkit
|
||||
fi
|
||||
32
.scripts/write-versions.sh
Normal file
32
.scripts/write-versions.sh
Normal file
@@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
set -euxo pipefail
|
||||
|
||||
WEBKIT_VERSION=$(git rev-parse HEAD:./src/bun.js/WebKit)
|
||||
MIMALLOC_VERSION=$(git rev-parse HEAD:./src/deps/mimalloc)
|
||||
LIBARCHIVE_VERSION=$(git rev-parse HEAD:./src/deps/libarchive)
|
||||
PICOHTTPPARSER_VERSION=$(git rev-parse HEAD:./src/deps/picohttpparser)
|
||||
BORINGSSL_VERSION=$(git rev-parse HEAD:./src/deps/boringssl)
|
||||
ZLIB_VERSION=$(git rev-parse HEAD:./src/deps/zlib)
|
||||
UWS_VERSION=$(git rev-parse HEAD:./src/deps/uws)
|
||||
LOLHTML=$(git rev-parse HEAD:./src/deps/lol-html)
|
||||
TINYCC=$(git rev-parse HEAD:./src/deps/tinycc)
|
||||
C_ARES=$(git rev-parse HEAD:./src/deps/c-ares)
|
||||
USOCKETS=$(cd src/deps/uws/uSockets && git rev-parse HEAD)
|
||||
|
||||
rm -rf src/generated_versions_list.zig
|
||||
echo "// AUTO-GENERATED FILE. Created via .scripts/write-versions.sh" >src/generated_versions_list.zig
|
||||
echo "" >>src/generated_versions_list.zig
|
||||
echo "pub const boringssl = \"$BORINGSSL_VERSION\";" >>src/generated_versions_list.zig
|
||||
echo "pub const libarchive = \"$LIBARCHIVE_VERSION\";" >>src/generated_versions_list.zig
|
||||
echo "pub const mimalloc = \"$MIMALLOC_VERSION\";" >>src/generated_versions_list.zig
|
||||
echo "pub const picohttpparser = \"$PICOHTTPPARSER_VERSION\";" >>src/generated_versions_list.zig
|
||||
echo "pub const uws = \"$UWS_VERSION\";" >>src/generated_versions_list.zig
|
||||
echo "pub const webkit = \"$WEBKIT_VERSION\";" >>src/generated_versions_list.zig
|
||||
echo "pub const zig = @import(\"std\").fmt.comptimePrint(\"{}\", .{@import(\"builtin\").zig_version});" >>src/generated_versions_list.zig
|
||||
echo "pub const zlib = \"$ZLIB_VERSION\";" >>src/generated_versions_list.zig
|
||||
echo "pub const tinycc = \"$TINYCC\";" >>src/generated_versions_list.zig
|
||||
echo "pub const lolhtml = \"$LOLHTML\";" >>src/generated_versions_list.zig
|
||||
echo "pub const c_ares = \"$C_ARES\";" >>src/generated_versions_list.zig
|
||||
echo "" >>src/generated_versions_list.zig
|
||||
|
||||
zig fmt src/generated_versions_list.zig
|
||||
56
.vscode/c_cpp_properties.json
vendored
56
.vscode/c_cpp_properties.json
vendored
@@ -2,26 +2,45 @@
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Mac",
|
||||
"forcedInclude": [
|
||||
"${workspaceFolder}/src/javascript/jsc/bindings/root.h"
|
||||
],
|
||||
"forcedInclude": ["${workspaceFolder}/src/bun.js/bindings/root.h"],
|
||||
"includePath": [
|
||||
"${workspaceFolder}/src/JavaScript/jsc/WebKit/WebKitBuild/Release/JavaScriptCore/PrivateHeaders/",
|
||||
"${workspaceFolder}/src/JavaScript/jsc/WebKit/WebKitBuild/Release/WTF/Headers",
|
||||
"${workspaceFolder}/src/JavaScript/jsc/WebKit/WebKitBuild/Release/*",
|
||||
"${workspaceFolder}/src/JavaScript/jsc/bindings/",
|
||||
"${workspaceFolder}/src/JavaScript/jsc/WebKit/Source/bmalloc/",
|
||||
"${workspaceFolder}/src/javascript/jsc/WebKit/WebKitBuild/Release/ICU/Headers/"
|
||||
"${workspaceFolder}/../webkit-build/include/",
|
||||
"${workspaceFolder}/bun-webkit/include/",
|
||||
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/",
|
||||
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/ICU/Headers/",
|
||||
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/JavaScriptCore/PrivateHeaders/",
|
||||
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/WTF/Headers",
|
||||
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/bmalloc/Headers/",
|
||||
"${workspaceFolder}/src/bun.js/bindings/",
|
||||
"${workspaceFolder}/src/bun.js/bindings/WebCore/",
|
||||
"${workspaceFolder}/src/bun.js/bindings/sqlite/",
|
||||
"${workspaceFolder}/src/bun.js/bindings/webcrypto/",
|
||||
"${workspaceFolder}/src/bun.js/builtins/",
|
||||
"${workspaceFolder}/src/bun.js/builtins/cpp",
|
||||
"${workspaceFolder}/src/deps/boringssl/include/",
|
||||
|
||||
"${workspaceFolder}/src/deps",
|
||||
"${workspaceFolder}/src/deps/uws/uSockets/src"
|
||||
],
|
||||
"browse": {
|
||||
"path": [
|
||||
"${workspaceFolder}/src/javascript/jsc/bindings/*",
|
||||
"${workspaceFolder}/src/JavaScript/jsc/WebKit/WebKitBuild/Release/JavaScriptCore/PrivateHeaders/",
|
||||
"${workspaceFolder}/src/JavaScript/jsc/WebKit/WebKitBuild/Release/WTF/Headers/**",
|
||||
"${workspaceFolder}/src/JavaScript/jsc/WebKit/WebKitBuild/Release/*",
|
||||
"${workspaceFolder}/src/JavaScript/jsc/bindings/**",
|
||||
"${workspaceFolder}/src/JavaScript/jsc/WebKit/Source/bmalloc/**",
|
||||
"${workspaceFolder}/src/javascript/jsc/WebKit/WebKitBuild/Release/ICU/Headers/"
|
||||
"${workspaceFolder}/../webkit-build/include/",
|
||||
"${workspaceFolder}/bun-webkit/include/",
|
||||
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/",
|
||||
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/ICU/Headers/",
|
||||
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/JavaScriptCore/PrivateHeaders/**",
|
||||
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/WTF/Headers/**",
|
||||
"${workspaceFolder}/src/bun.js/WebKit/WebKitBuild/Release/bmalloc/Headers/**",
|
||||
"${workspaceFolder}/src/bun.js/bindings/*",
|
||||
"${workspaceFolder}/src/bun.js/bindings/**",
|
||||
"${workspaceFolder}/src/bun.js/bindings/sqlite/",
|
||||
"${workspaceFolder}/src/bun.js/bindings/webcrypto/",
|
||||
"${workspaceFolder}/src/bun.js/builtins/**",
|
||||
"${workspaceFolder}/src/bun.js/builtins/cpp/**",
|
||||
"${workspaceFolder}/src/bun.js/modules/**",
|
||||
"${workspaceFolder}/src/deps",
|
||||
"${workspaceFolder}/src/deps/boringssl/include/",
|
||||
"${workspaceFolder}/src/deps/uws/uSockets/src"
|
||||
],
|
||||
"limitSymbolsToIncludedHeaders": true,
|
||||
"databaseFilename": ".vscode/cppdb"
|
||||
@@ -38,10 +57,9 @@
|
||||
"DU_DISABLE_RENAMING=1"
|
||||
],
|
||||
"macFrameworkPath": [],
|
||||
"compilerPath": "/usr/local/opt/llvm/bin/clang",
|
||||
"compilerPath": "/opt/homebrew/opt/llvm/bin/clang++",
|
||||
"cStandard": "c17",
|
||||
"cppStandard": "c++11",
|
||||
"intelliSenseMode": "macos-clang-x64"
|
||||
"cppStandard": "c++20"
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
|
||||
8
.vscode/extensions.json
vendored
Normal file
8
.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"AugusteRame.zls-vscode",
|
||||
"esbenp.prettier-vscode",
|
||||
"xaver.clang-format",
|
||||
"vadimcn.vscode-lldb"
|
||||
]
|
||||
}
|
||||
651
.vscode/launch.json
generated
vendored
651
.vscode/launch.json
generated
vendored
@@ -4,539 +4,174 @@
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Transpile small",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [
|
||||
// "/Users/jarred/Desktop/webpack4.js"
|
||||
// "/Users/jarred/Code/bun/examples/css-stress-test/nexty/node_modules/next/dist/build/utils.js"
|
||||
"./dotenv-load-check.ts"
|
||||
],
|
||||
"cwd": "${workspaceFolder}/examples/css-stress-test",
|
||||
"name": "bun test",
|
||||
"program": "bun-debug",
|
||||
"args": ["wiptest", "${file}"],
|
||||
"cwd": "${workspaceFolder}/test/bun.js",
|
||||
"env": {
|
||||
"FORCE_COLOR": "1"
|
||||
},
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Eval Error",
|
||||
"program": "${workspaceFolder}/build/debug/macos-x86_64/spjs",
|
||||
"args": [
|
||||
"error.js",
|
||||
"--resolve=dev",
|
||||
"--outdir=outcss"
|
||||
// "--origin=https://localhost:9000/"
|
||||
],
|
||||
"name": "bun test (all)",
|
||||
"program": "bun-debug",
|
||||
"args": ["wiptest"],
|
||||
"cwd": "${workspaceFolder}/test",
|
||||
"env": {
|
||||
"FORCE_COLOR": "1",
|
||||
"BUN_GARBAGE_COLLECTOR_LEVEL": "2"
|
||||
},
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "bun run current file",
|
||||
"program": "bun-debug",
|
||||
"args": ["${file}"],
|
||||
"cwd": "${file}/../../",
|
||||
"env": {
|
||||
"FORCE_COLOR": "1"
|
||||
},
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "bun run (hot)",
|
||||
"program": "bun-debug",
|
||||
"args": ["--hot", "${file}"],
|
||||
"cwd": "${file}/../../",
|
||||
"env": {
|
||||
"FORCE_COLOR": "1"
|
||||
},
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "bun run",
|
||||
"program": "bun-debug",
|
||||
"args": ["check.tsx", "-c"],
|
||||
"cwd": "${env:HOME}/Build/react-ssr",
|
||||
"env": {
|
||||
"FORCE_COLOR": "1"
|
||||
},
|
||||
"console": "internalConsole"
|
||||
},
|
||||
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "bun http example",
|
||||
"program": "bun-debug",
|
||||
"args": ["run", "examples/http.ts"],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"env": {
|
||||
"FORCE_COLOR": "1"
|
||||
},
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "bun http file example",
|
||||
"program": "bun-debug",
|
||||
"args": ["run", "examples/bun/http-file.ts"],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"env": {
|
||||
"FORCE_COLOR": "1"
|
||||
},
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "bun html-rewriter example",
|
||||
"program": "bun-debug",
|
||||
"args": ["run", "examples/bun/html-rewriter.ts"],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"env": {
|
||||
"FORCE_COLOR": "1"
|
||||
},
|
||||
"console": "internalConsole"
|
||||
},
|
||||
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "HTTP bench",
|
||||
"program": "${workspaceFolder}/misctools/http_bench",
|
||||
"args": ["https://twitter.com", "--count=100"],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": ".bun",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [
|
||||
"./examples/hello-next/node_modules.server.bun"
|
||||
// "--origin=https://localhost:9000/"
|
||||
],
|
||||
"name": "bun build debug",
|
||||
"program": "bun-debug",
|
||||
"args": ["build", "--platform=bun", "--outdir=/tmp/testout", "${file}"],
|
||||
"cwd": "${file}/../../",
|
||||
"console": "internalConsole",
|
||||
"env": {
|
||||
"BUN_CONFIG_MINIFY_WHITESPACE": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "bunx debug",
|
||||
"program": "bun-debug",
|
||||
"args": ["--bun", "x", "tsc", "--help"],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"console": "internalConsole",
|
||||
"env": {
|
||||
"BUN_DEBUG_QUIET_LOGS": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "bun install",
|
||||
"program": "bun-debug",
|
||||
"args": ["install"],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"console": "internalConsole",
|
||||
"env": {
|
||||
"BUN_DEBUG_QUIET_LOGS": "1"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "fetch debug",
|
||||
"program": "${workspaceFolder}/misctools/fetch",
|
||||
"args": ["https://example.com", "--verbose"],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Discord",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [
|
||||
"discord"
|
||||
// "--origin=https://localhost:9000/"
|
||||
],
|
||||
"name": "Build zig unit test",
|
||||
"program": "make",
|
||||
"args": ["build-unit", "${file}"],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Eval",
|
||||
"program": "${workspaceFolder}/build/debug/macos-x86_64/spjs",
|
||||
"args": [
|
||||
"./src/index.tsx"
|
||||
// "--origin=https://localhost:9000/"
|
||||
],
|
||||
"cwd": "${workspaceFolder}/examples/css-stress-test",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Dev Launch",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [
|
||||
"./simple.css",
|
||||
"--resolve=dev",
|
||||
"--outdir=outcss",
|
||||
"--origin=https://localhost:9000/"
|
||||
],
|
||||
"cwd": "${workspaceFolder}/src/test/fixtures",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Linux Launch",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-linux-x64/bin/bun-debug",
|
||||
"args": ["--origin=http://jarred-desktop.local:3000/"],
|
||||
"cwd": "${workspaceFolder}/examples/hello-next",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Release Serve",
|
||||
"program": "${workspaceFolder}/build/macos-x86_64/bun",
|
||||
// "args": ["--serve", "--origin=http://localhost:3000"],
|
||||
"args": ["dev", "--origin=http://localhost:3000"],
|
||||
"cwd": "${workspaceFolder}/examples/hello-next",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Demo Serve",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
// "args": ["--serve", "--origin=http://localhost:3000"],
|
||||
"args": ["dev", "--origin=http://localhost:3000"],
|
||||
"cwd": "${workspaceFolder}/examples/hello-next",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Demo Serve aarch64",
|
||||
"program": "${workspaceFolder}/build/macos-aarch64/bun",
|
||||
// "args": ["--serve", "--origin=http://localhost:3000"],
|
||||
"args": ["dev", "--origin=http://ci.local:3000"],
|
||||
"cwd": "${workspaceFolder}/examples/hello-next",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Demo Lazy Build",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [
|
||||
"./src/index.tsx",
|
||||
"--resolve=lazy",
|
||||
"--origin=http://localhost:9000/"
|
||||
],
|
||||
"cwd": "${workspaceFolder}/examples/simple-react",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Demo Build",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [
|
||||
"./src/index.tsx",
|
||||
"--resolve=dev",
|
||||
"--outdir=outcss",
|
||||
"--platform=browser",
|
||||
"--origin=http://localhost:9000/"
|
||||
],
|
||||
"cwd": "${workspaceFolder}/examples/css-stress-test",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Fixture serve",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}/src/test/fixtures",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Demo .bun",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": ["bun", "--use=bun-framework-next"],
|
||||
"cwd": "${workspaceFolder}/examples/hello-next",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "PNPM .bun",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": ["bun", "./pages/index.js"],
|
||||
"cwd": "/Users/jarred/Build/pnpm-bun/packages/app",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "PNPM serve",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [],
|
||||
"cwd": "/Users/jarred/Build/pnpm-bun/packages/app",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Mixed case resolve",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [
|
||||
"build",
|
||||
"./index.js",
|
||||
"--origin=http://localhost:9000/",
|
||||
// "--use=./bun-framework-next",
|
||||
"--platform=browser"
|
||||
],
|
||||
"cwd": "${workspaceFolder}/examples/lotta-modules/",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Build .bun lotta-modules",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": ["bun", "./index.js", "--platform=browser"],
|
||||
"cwd": "${workspaceFolder}/examples/lotta-modules/",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Dev CRA",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": ["dev", "--platform=browser"],
|
||||
"cwd": "${workspaceFolder}/examples/hello-create-react-app/",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Fragment",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}/src/test/fixtures",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Context Bun Bug",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": ["bun", "./code.js"],
|
||||
"cwd": "/Users/jarred/Build/context/www",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Context Bun",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": ["bun", "--use=next"],
|
||||
"cwd": "/Users/jarred/Build/context/www",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Bun-hello",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}/packages/bun-hello",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Integration Test Dev",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}/integration/snippets",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Integration Test Dev (no hmr)",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": ["--disable-hmr"],
|
||||
"cwd": "${workspaceFolder}/integration/snippets",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Fixtures Dev",
|
||||
"program": "a",
|
||||
"args": ["dev"],
|
||||
"cwd": "${workspaceFolder}/src/test/fixtures",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "cppvsdbg",
|
||||
"request": "launch",
|
||||
"name": "Fixtures Rel",
|
||||
"program": "${workspaceFolder}/build/macos-x86_64/bun",
|
||||
"args": ["dev"],
|
||||
"cwd": "${workspaceFolder}/src/test/fixtures",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
|
||||
"request": "launch",
|
||||
"name": "Context Dev",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [],
|
||||
"cwd": "/Users/jarred/Build/context/www",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Context Rel",
|
||||
"program": "${workspaceFolder}/build/macos-x86_64/bun",
|
||||
"args": [],
|
||||
"cwd": "/Users/jarred/Build/context/www",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Debug Dev",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": ["dev"],
|
||||
"cwd": "${workspaceFolder}/examples/hello-next",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Type-only import",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [
|
||||
"bun",
|
||||
"./src/test/fixtures/type-only-import.ts",
|
||||
"--external=react"
|
||||
],
|
||||
"name": "Run zig unit test",
|
||||
"program": "${workspaceFolder}/zig-out/bin/test",
|
||||
"args": ["abc"],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Dev lotta-modules",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": ["dev", "./index.js", "--platform=browser"],
|
||||
"cwd": "${workspaceFolder}/examples/lotta-modules/",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Demo Build .bun",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": [
|
||||
"bun",
|
||||
// "./index.js",
|
||||
"--origin=http://localhost:9000/",
|
||||
"--use=./bun-framework-next",
|
||||
"--platform=browser"
|
||||
],
|
||||
"cwd": "${workspaceFolder}/examples/hello-next/",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "PNPM Resolve symlink",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": ["--resolve=dev", "test-pnpm.js", "--platform=browser"],
|
||||
"cwd": "${workspaceFolder}/examples/css-stress-test",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Demo Print .bun",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"args": ["./node_modules.bun"],
|
||||
"cwd": "${workspaceFolder}/examples/simple-react",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "DAev Launch",
|
||||
"program": "${workspaceFolder}/build/macos-x86_64/bun",
|
||||
"args": ["./simple.jsx", "--resolve=disable"],
|
||||
"cwd": "${workspaceFolder}/src/test/fixtures",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"name": "esbuild",
|
||||
"type": "go",
|
||||
"request": "launch",
|
||||
"mode": "debug",
|
||||
"program": "/Users/jarred/Code/esbuild/cmd/esbuild",
|
||||
"cwd": "/Users/jarred/Code/bun/src/test/fixtures",
|
||||
"args": ["--bundle", "--outfile=out.esbuild.js", "await.ts"]
|
||||
},
|
||||
|
||||
// {
|
||||
// "type": "lldb",
|
||||
// "request": "launch",
|
||||
// "name": "Dev Launch (other)",
|
||||
// "program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
// "args": ["./simple.jsx", "--resolve=disable"],
|
||||
// "cwd": "${workspaceFolder}/src/test/fixtures",
|
||||
// "console": "internalConsole"
|
||||
// },
|
||||
// {
|
||||
// "type": "lldb",
|
||||
// "request": "launch",
|
||||
// "name": "Dev Launch",
|
||||
// "program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
// "preLaunchTask": "build",
|
||||
// "args": [
|
||||
// "--resolve=disable",
|
||||
// "--cwd",
|
||||
// "/Users/jarredsumner/Code/bun/src/test/fixtures",
|
||||
// "escape-chars.js"
|
||||
// ],
|
||||
// "cwd": "${workspaceFolder}",
|
||||
// "console": "internalConsole"
|
||||
// }
|
||||
// {
|
||||
// "type": "lldb",
|
||||
// "request": "launch",
|
||||
// "name": "Dev Launch",
|
||||
// "program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
// "preLaunchTask": "build",
|
||||
// "args": [
|
||||
// "--resolve=dev",
|
||||
// "--cwd",
|
||||
// "/Users/jarredsumner/Builds/esbuild/bench/three/src/",
|
||||
// "./entry.js",
|
||||
// "-o",
|
||||
// "out"
|
||||
// ],
|
||||
// "cwd": "/Users/jarredsumner/Builds/esbuild/bench/three/src",
|
||||
// "console": "internalConsole"
|
||||
// }
|
||||
// {
|
||||
// "type": "lldb",
|
||||
// "request": "launch",
|
||||
// "name": "Dev Launch",
|
||||
// "program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
// "preLaunchTask": "build",
|
||||
// "args": [
|
||||
// "--resolve=dev",
|
||||
// "--cwd",
|
||||
// "/Users/jarredsumner/Builds/esbuild/bench/three/src/",
|
||||
// "./entry.js",
|
||||
// "-o",
|
||||
// "out"
|
||||
// ],
|
||||
// "cwd": "${workspaceFolder}",
|
||||
// "console": "internalConsole"
|
||||
// }
|
||||
// {
|
||||
// "type": "lldb",
|
||||
// "request": "launch",
|
||||
// "name": "Dev Launch",
|
||||
// "program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
// // "preLaunchTask": "build",
|
||||
// "args": [
|
||||
// "--resolve=dev",
|
||||
// "--cwd",
|
||||
// "./src/api/demo",
|
||||
// "pages/index.jsx",
|
||||
// "-o",
|
||||
// "out",
|
||||
// "--origin=https://hello.com/",
|
||||
// "--serve"
|
||||
// ],
|
||||
// "cwd": "${workspaceFolder}",
|
||||
// "console": "internalConsole"
|
||||
// }
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Rome",
|
||||
// "program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"program": "${workspaceFolder}/build/macos-x86_64/bun",
|
||||
// "preLaunchTask": "build",
|
||||
"args": [
|
||||
"--resolve=dev",
|
||||
// "--resolve=lazy",
|
||||
"--cwd",
|
||||
"${workspaceFolder}/bench/rome/src",
|
||||
"entry",
|
||||
"--platform=node",
|
||||
// "@romejs/js-analysis/evaluators/modules/ImportCall.ts",
|
||||
"--outdir=${workspaceFolder}/bench/rome/src/out",
|
||||
// "@romejs/cli-diagnostics/banners/success.json",
|
||||
"--origin=https://hello.com/"
|
||||
],
|
||||
"cwd": "${workspaceFolder}/bench/rome/src",
|
||||
"console": "internalConsole"
|
||||
},
|
||||
{
|
||||
"type": "lldb",
|
||||
"request": "launch",
|
||||
"name": "Rome Dev",
|
||||
// "program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
"program": "${workspaceFolder}/packages/debug-bun-cli-darwin-x64/bin/bun-debug",
|
||||
// "preLaunchTask": "build",
|
||||
"args": [
|
||||
"--resolve=dev",
|
||||
// "--resolve=lazy",
|
||||
"--cwd",
|
||||
"${workspaceFolder}/bench/rome/src",
|
||||
"entry",
|
||||
"--platform=node",
|
||||
// "@romejs/js-analysis/evaluators/modules/ImportCall.ts",
|
||||
"--outdir=${workspaceFolder}/bench/rome/src/out",
|
||||
// "@romejs/cli-diagnostics/banners/success.json",
|
||||
"--origin=https://hello.com/"
|
||||
],
|
||||
"cwd": "${workspaceFolder}/bench/rome/src",
|
||||
"console": "internalConsole"
|
||||
}
|
||||
// {
|
||||
// "type": "lldb",
|
||||
// "request": "launch",
|
||||
// "name": "Dev Launch",
|
||||
// "program": "${workspaceFolder}/build/bin/debug/bun",
|
||||
// "preLaunchTask": "build",
|
||||
// "args": [
|
||||
// "--resolve=dev",
|
||||
// "--cwd",
|
||||
// "/",
|
||||
// "/Users/jarredsumner/Code/bun/src/test/fixtures/img-bug.js",
|
||||
// "-o",
|
||||
// "out"
|
||||
// ],
|
||||
// "cwd": "${workspaceFolder}",
|
||||
// "console": "internalConsole",
|
||||
// "presentation": {
|
||||
// "hidden": false,
|
||||
// "group": "",
|
||||
// "order": 1
|
||||
// }
|
||||
// }
|
||||
]
|
||||
}
|
||||
|
||||
104
.vscode/settings.json
vendored
104
.vscode/settings.json
vendored
@@ -3,15 +3,38 @@
|
||||
"search.quickOpen.includeSymbols": false,
|
||||
"search.seedWithNearestWord": true,
|
||||
"search.smartCase": true,
|
||||
"search.exclude": {
|
||||
"src/javascript/jsc/WebKit/**/*": true
|
||||
},
|
||||
"search.exclude": {},
|
||||
"search.followSymlinks": false,
|
||||
"search.useIgnoreFiles": true,
|
||||
"zig.buildOnSave": false,
|
||||
"zig.buildArgs": ["obj", "-Dfor-editor"],
|
||||
"zig.buildOption": "build",
|
||||
"zig.buildFilePath": "${workspaceFolder}/build.zig",
|
||||
"[zig]": {
|
||||
"editor.defaultFormatter": "tiehuis.zig"
|
||||
"editor.tabSize": 4,
|
||||
"editor.useTabStops": false,
|
||||
"editor.defaultFormatter": "tiehuis.zig",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[ts]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[js]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[jsx]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[tsx]": {
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"zig.beforeDebugCmd": "make build-unit ${file} ${filter} ${bin}",
|
||||
"zig.testCmd": "make test ${file} ${filter} ${bin}",
|
||||
"lldb.verboseLogging": false,
|
||||
"files.exclude": {
|
||||
"**/.git": true,
|
||||
"**/.svn": true,
|
||||
@@ -19,26 +42,42 @@
|
||||
"**/CVS": true,
|
||||
"**/.DS_Store": true,
|
||||
"**/Thumbs.db": true,
|
||||
"integration/snapshots": true,
|
||||
"integration/snapshots-no-hmr": true
|
||||
"**/*.xcworkspacedata": true,
|
||||
"**/*.xcscheme": true,
|
||||
"**/*.pem": true,
|
||||
"**/*.xcodeproj": true,
|
||||
"test/snapshots": true,
|
||||
"test/snapshots-no-hmr": true,
|
||||
"src/bun.js/WebKit": true,
|
||||
"src/deps/libarchive": true,
|
||||
"src/deps/mimalloc": true,
|
||||
"src/deps/s2n-tls": true,
|
||||
"src/deps/boringssl": true,
|
||||
"src/deps/openssl": true,
|
||||
"src/deps/uws": true,
|
||||
"src/deps/zlib": true,
|
||||
"src/deps/lol-html": true,
|
||||
"src/deps/c-ares": true,
|
||||
"src/deps/tinycc": true,
|
||||
"test/snippets/package-json-exports/_node_modules_copy": true
|
||||
},
|
||||
"C_Cpp.files.exclude": {
|
||||
"**/.vscode": true,
|
||||
"src/javascript/jsc/WebKit/JSTests": true,
|
||||
"src/javascript/jsc/WebKit/Tools": true,
|
||||
"src/javascript/jsc/WebKit/WebDriverTests": true,
|
||||
"src/javascript/jsc/WebKit/WebKit.xcworkspace": true,
|
||||
"src/javascript/jsc/WebKit/WebKitLibraries": true,
|
||||
"src/javascript/jsc/WebKit/Websites": true,
|
||||
"src/javascript/jsc/WebKit/resources": true,
|
||||
"src/javascript/jsc/WebKit/LayoutTests": true,
|
||||
"src/javascript/jsc/WebKit/ManualTests": true,
|
||||
"src/javascript/jsc/WebKit/PerformanceTests": true,
|
||||
"src/javascript/jsc/WebKit/WebKitLegacy": true,
|
||||
"src/javascript/jsc/WebKit/WebCore": true,
|
||||
"src/javascript/jsc/WebKit/WebDriver": true,
|
||||
"src/javascript/jsc/WebKit/WebKitBuild": true,
|
||||
"src/javascript/jsc/WebKit/WebInspectorUI": true
|
||||
"src/bun.js/WebKit/JSTests": true,
|
||||
"src/bun.js/WebKit/Tools": true,
|
||||
"src/bun.js/WebKit/WebDriverTests": true,
|
||||
"src/bun.js/WebKit/WebKit.xcworkspace": true,
|
||||
"src/bun.js/WebKit/WebKitLibraries": true,
|
||||
"src/bun.js/WebKit/Websites": true,
|
||||
"src/bun.js/WebKit/resources": true,
|
||||
"src/bun.js/WebKit/LayoutTests": true,
|
||||
"src/bun.js/WebKit/ManualTests": true,
|
||||
"src/bun.js/WebKit/PerformanceTests": true,
|
||||
"src/bun.js/WebKit/WebKitLegacy": true,
|
||||
"src/bun.js/WebKit/WebCore": true,
|
||||
"src/bun.js/WebKit/WebDriver": true,
|
||||
"src/bun.js/WebKit/WebKitBuild": true,
|
||||
"src/bun.js/WebKit/WebInspectorUI": true
|
||||
},
|
||||
"[cpp]": {
|
||||
"editor.defaultFormatter": "xaver.clang-format"
|
||||
@@ -50,6 +89,7 @@
|
||||
"editor.defaultFormatter": "xaver.clang-format"
|
||||
},
|
||||
"files.associations": {
|
||||
"*.lock": "yarnlock",
|
||||
"*.idl": "cpp",
|
||||
"memory": "cpp",
|
||||
"iostream": "cpp",
|
||||
@@ -127,8 +167,24 @@
|
||||
"numeric": "cpp",
|
||||
"set": "cpp",
|
||||
"__memory": "cpp",
|
||||
"memory_resource": "cpp"
|
||||
"memory_resource": "cpp",
|
||||
"resource.h": "c",
|
||||
"sysinfo.h": "c",
|
||||
"*.tcc": "cpp",
|
||||
"list": "cpp",
|
||||
"shared_mutex": "cpp",
|
||||
"cinttypes": "cpp",
|
||||
"variant": "cpp",
|
||||
"sysctl.h": "c",
|
||||
"interface_adresses.h": "c",
|
||||
"interface_addresses.h": "c",
|
||||
"ctype.h": "c",
|
||||
"ethernet.h": "c",
|
||||
"inet.h": "c",
|
||||
"packet.h": "c",
|
||||
"queue": "cpp"
|
||||
},
|
||||
"go.logging.level": "off",
|
||||
"cmake.configureOnOpen": false
|
||||
"cmake.configureOnOpen": false,
|
||||
"C_Cpp.errorSquiggles": "Enabled",
|
||||
"eslint.workingDirectories": ["packages/bun-types"]
|
||||
}
|
||||
|
||||
25
.vscode/tasks.json
vendored
25
.vscode/tasks.json
vendored
@@ -29,31 +29,6 @@
|
||||
"showReuseMessage": false,
|
||||
"clear": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "test",
|
||||
"type": "shell",
|
||||
"command": "zig",
|
||||
"args": [
|
||||
"test",
|
||||
"${file}",
|
||||
"--main-pkg-path",
|
||||
"${workspaceFolder}",
|
||||
"-femit-bin=${workspaceFolder}/zig-out/bin/test",
|
||||
";",
|
||||
"true"
|
||||
],
|
||||
|
||||
"group": {
|
||||
"kind": "test",
|
||||
"isDefault": true
|
||||
},
|
||||
"presentation": {
|
||||
"showReuseMessage": false,
|
||||
"clear": true,
|
||||
"panel": "new",
|
||||
"reveal": "always"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
12
CODE_OF_CONDUCT.md
Normal file
12
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,12 @@
|
||||
## Code of conduct
|
||||
|
||||
- We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic.
|
||||
- Please avoid using overtly sexual aliases or other nicknames that might detract from a friendly, safe and welcoming environment for all.
|
||||
- Please be kind and courteous. There’s no need to be mean or rude.
|
||||
- Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a right answer.
|
||||
- Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works.
|
||||
- We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behavior. We interpret the term “harassment” as including the definition in the [Citizen Code of Conduct](https://github.com/stumpsyn/policies/blob/master/citizen_code_of_conduct.md); if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don’t tolerate behavior that excludes people in socially marginalized groups.
|
||||
- Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact one of the channel ops or an employee of Oven immediately. Whether you’re a regular contributor or a newcomer, we care about making this community a safe place for you and we’ve got your back.
|
||||
- Likewise any spamming, trolling, flaming, baiting or other attention-stealing behavior is not welcome.
|
||||
|
||||
This code of conduct is adapted from the [Rust Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct).
|
||||
628
Dockerfile
628
Dockerfile
@@ -1,8 +1,628 @@
|
||||
FROM bun-zig:latest
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
ARG GITHUB_WORKSPACE=/build
|
||||
ARG ZIG_PATH=${GITHUB_WORKSPACE}/zig
|
||||
ARG WEBKIT_DIR=${GITHUB_WORKSPACE}/bun-webkit
|
||||
ARG BUN_RELEASE_DIR=${GITHUB_WORKSPACE}/bun-release
|
||||
ARG BUN_DEPS_OUT_DIR=${GITHUB_WORKSPACE}/bun-deps
|
||||
ARG BUN_DIR=${GITHUB_WORKSPACE}/bun
|
||||
ARG CPU_TARGET=native
|
||||
ARG ARCH=x86_64
|
||||
ARG BUILD_MACHINE_ARCH=x86_64
|
||||
ARG TRIPLET=${ARCH}-linux-gnu
|
||||
ARG BUILDARCH=amd64
|
||||
ARG WEBKIT_TAG=jul27-2
|
||||
ARG ZIG_TAG=jul1
|
||||
ARG ZIG_VERSION="0.11.0-dev.947+cf822c6dd"
|
||||
ARG WEBKIT_BASENAME="bun-webkit-linux-$BUILDARCH"
|
||||
|
||||
COPY . /home/ubuntu/bun
|
||||
WORKDIR /home/ubuntu/bun
|
||||
ARG ZIG_FOLDERNAME=zig-linux-${BUILD_MACHINE_ARCH}-${ZIG_VERSION}
|
||||
ARG ZIG_FILENAME=${ZIG_FOLDERNAME}.tar.xz
|
||||
ARG WEBKIT_URL="https://github.com/oven-sh/WebKit/releases/download/$WEBKIT_TAG/${WEBKIT_BASENAME}.tar.gz"
|
||||
ARG ZIG_URL="https://ziglang.org/builds/${ZIG_FILENAME}"
|
||||
ARG GIT_SHA=""
|
||||
ARG BUN_BASE_VERSION=0.4
|
||||
|
||||
RUN make vendor-without-check
|
||||
FROM bitnami/minideb:bullseye as bun-base
|
||||
|
||||
RUN install_packages ca-certificates curl wget lsb-release software-properties-common gnupg gnupg1 gnupg2
|
||||
|
||||
RUN wget https://apt.llvm.org/llvm.sh && \
|
||||
chmod +x llvm.sh && \
|
||||
./llvm.sh 15
|
||||
|
||||
RUN install_packages \
|
||||
cmake \
|
||||
curl \
|
||||
file \
|
||||
git \
|
||||
gnupg \
|
||||
libc-dev \
|
||||
libxml2 \
|
||||
libxml2-dev \
|
||||
make \
|
||||
ninja-build \
|
||||
perl \
|
||||
python3 \
|
||||
rsync \
|
||||
ruby \
|
||||
unzip \
|
||||
xz-utils \
|
||||
bash tar gzip ccache
|
||||
|
||||
ENV CXX=clang++-15
|
||||
ENV CC=clang-15
|
||||
|
||||
RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \
|
||||
install_packages nodejs && \
|
||||
npm install -g esbuild
|
||||
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG BUILDARCH
|
||||
ARG ZIG_PATH
|
||||
ARG WEBKIT_URL
|
||||
ARG ZIG_URL
|
||||
ARG ZIG_FOLDERNAME
|
||||
ARG ZIG_FILENAME
|
||||
|
||||
ENV WEBKIT_OUT_DIR=${WEBKIT_DIR}
|
||||
ENV BUILDARCH=${BUILDARCH}
|
||||
ENV AR=/usr/bin/llvm-ar-15
|
||||
ENV ZIG "${ZIG_PATH}/zig"
|
||||
ENV PATH="$ZIG/bin:$PATH"
|
||||
ENV LD=lld-15
|
||||
|
||||
RUN mkdir -p $BUN_DIR $BUN_DEPS_OUT_DIR
|
||||
|
||||
FROM bun-base as bun-base-with-zig-and-webkit
|
||||
|
||||
WORKDIR $GITHUB_WORKSPACE
|
||||
|
||||
ADD $ZIG_URL .
|
||||
RUN tar xf ${ZIG_FILENAME} && \
|
||||
rm ${ZIG_FILENAME} && mv ${ZIG_FOLDERNAME} zig;
|
||||
|
||||
|
||||
|
||||
WORKDIR $GITHUB_WORKSPACE
|
||||
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG BUILDARCH
|
||||
ARG ZIG_PATH
|
||||
ARG WEBKIT_URL
|
||||
ARG ZIG_URL
|
||||
ARG WEBKIT_BASENAME
|
||||
|
||||
ADD ${WEBKIT_URL} .
|
||||
|
||||
RUN mkdir -p ${WEBKIT_DIR} && cd ${GITHUB_WORKSPACE} && \
|
||||
gunzip ${WEBKIT_BASENAME}.tar.gz && tar -xf ${WEBKIT_BASENAME}.tar && \
|
||||
cat ${WEBKIT_DIR}/include/cmakeconfig.h > /dev/null
|
||||
|
||||
LABEL org.opencontainers.image.title="bun base image with zig & webkit ${BUILDARCH} (glibc)"
|
||||
LABEL org.opencontainers.image.source=https://github.com/oven-sh/bun
|
||||
|
||||
FROM bun-base as c-ares
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
ENV CCACHE_DIR=/ccache
|
||||
ENV JSC_BASE_DIR=${WEBKIT_DIR}
|
||||
ENV LIB_ICU_PATH=${WEBKIT_DIR}/lib
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
COPY src/deps/c-ares ${BUN_DIR}/src/deps/c-ares
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
RUN --mount=type=cache,target=/ccache cd $BUN_DIR && make c-ares && rm -rf ${BUN_DIR}/src/deps/c-ares ${BUN_DIR}/Makefile
|
||||
|
||||
|
||||
FROM bun-base as lolhtml
|
||||
|
||||
RUN install_packages build-essential && curl https://sh.rustup.rs -sSf | sh -s -- -y
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
COPY src/deps/lol-html ${BUN_DIR}/src/deps/lol-html
|
||||
|
||||
ENV CCACHE_DIR=/ccache
|
||||
|
||||
RUN --mount=type=cache,target=/ccache export PATH=$PATH:$HOME/.cargo/bin && export CC=$(which clang-15) && cd ${BUN_DIR} && \
|
||||
make lolhtml && rm -rf src/deps/lol-html Makefile
|
||||
|
||||
FROM bun-base as mimalloc
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
COPY src/deps/mimalloc ${BUN_DIR}/src/deps/mimalloc
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
ENV CCACHE_DIR=/ccache
|
||||
|
||||
RUN --mount=type=cache,target=/ccache cd ${BUN_DIR} && \
|
||||
make mimalloc && rm -rf src/deps/mimalloc Makefile
|
||||
|
||||
FROM bun-base as zlib
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
COPY src/deps/zlib ${BUN_DIR}/src/deps/zlib
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
ENV CCACHE_DIR=/ccache
|
||||
|
||||
RUN --mount=type=cache,target=/ccache cd $BUN_DIR && \
|
||||
make zlib && rm -rf src/deps/zlib Makefile
|
||||
|
||||
FROM bun-base as libarchive
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
RUN install_packages autoconf automake libtool pkg-config
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
COPY src/deps/libarchive ${BUN_DIR}/src/deps/libarchive
|
||||
|
||||
ENV CCACHE_DIR=/ccache
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
|
||||
RUN --mount=type=cache,target=/ccache cd $BUN_DIR && \
|
||||
make libarchive && rm -rf src/deps/libarchive Makefile
|
||||
|
||||
|
||||
|
||||
FROM bun-base as tinycc
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
RUN install_packages libtcc-dev && cp /usr/lib/$(uname -m)-linux-gnu/libtcc.a ${BUN_DEPS_OUT_DIR}
|
||||
|
||||
FROM bun-base as boringssl
|
||||
|
||||
RUN install_packages golang
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
COPY src/deps/boringssl ${BUN_DIR}/src/deps/boringssl
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
ENV CCACHE_DIR=/ccache
|
||||
|
||||
RUN --mount=type=cache,target=/ccache cd ${BUN_DIR} && make boringssl && rm -rf src/deps/boringssl Makefile
|
||||
|
||||
FROM bun-base as uws
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
COPY src/deps/uws ${BUN_DIR}/src/deps/uws
|
||||
COPY src/deps/zlib ${BUN_DIR}/src/deps/zlib
|
||||
COPY src/deps/boringssl/include ${BUN_DIR}/src/deps/boringssl/include
|
||||
COPY src/deps/libuwsockets.cpp ${BUN_DIR}/src/deps/libuwsockets.cpp
|
||||
COPY src/deps/_libusockets.h ${BUN_DIR}/src/deps/_libusockets.h
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
RUN cd $BUN_DIR && \
|
||||
make uws && rm -rf src/deps/uws Makefile
|
||||
|
||||
FROM bun-base as picohttp
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
|
||||
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
COPY src/deps/picohttpparser ${BUN_DIR}/src/deps/picohttpparser
|
||||
COPY src/deps/*.c ${BUN_DIR}/src/deps/
|
||||
COPY src/deps/*.h ${BUN_DIR}/src/deps/
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
RUN cd $BUN_DIR && \
|
||||
make picohttp
|
||||
|
||||
|
||||
FROM bun-base-with-zig-and-webkit as identifier_cache
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
COPY src/js_lexer/identifier_data.zig ${BUN_DIR}/src/js_lexer/identifier_data.zig
|
||||
COPY src/js_lexer/identifier_cache.zig ${BUN_DIR}/src/js_lexer/identifier_cache.zig
|
||||
|
||||
RUN cd $BUN_DIR && \
|
||||
make identifier-cache && rm -rf zig-cache Makefile
|
||||
|
||||
FROM bun-base-with-zig-and-webkit as node_fallbacks
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
COPY src/node-fallbacks ${BUN_DIR}/src/node-fallbacks
|
||||
RUN cd $BUN_DIR && \
|
||||
make node-fallbacks && rm -rf src/node-fallbacks/node_modules Makefile
|
||||
|
||||
FROM bun-base-with-zig-and-webkit as prepare_release
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
COPY ./root.zig ${BUN_DIR}/root.zig
|
||||
COPY ./src ${BUN_DIR}/src
|
||||
COPY ./build.zig ${BUN_DIR}/build.zig
|
||||
COPY ./completions ${BUN_DIR}/completions
|
||||
COPY ./packages ${BUN_DIR}/packages
|
||||
COPY ./src/build-id ${BUN_DIR}/src/build-id
|
||||
COPY ./package.json ${BUN_DIR}/package.json
|
||||
COPY ./misctools ${BUN_DIR}/misctools
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
|
||||
|
||||
FROM prepare_release as compile_release_obj
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
ENV JSC_BASE_DIR=${WEBKIT_DIR}
|
||||
ENV LIB_ICU_PATH=${WEBKIT_DIR}/lib
|
||||
ARG ARCH
|
||||
ARG TRIPLET
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
ARG GIT_SHA
|
||||
ARG BUN_BASE_VERSION
|
||||
|
||||
ENV BUN_BASE_VERSION=${BUN_BASE_VERSION}
|
||||
ENV GIT_SHA=${GIT_SHA}
|
||||
|
||||
COPY --from=identifier_cache ${BUN_DIR}/src/js_lexer/*.blob ${BUN_DIR}/src/js_lexer/
|
||||
COPY --from=node_fallbacks ${BUN_DIR}/src/node-fallbacks/out ${BUN_DIR}/src/node-fallbacks/out
|
||||
|
||||
COPY ./src/build-id ${BUN_DIR}/src/build-id
|
||||
|
||||
ENV CCACHE_DIR=/ccache
|
||||
|
||||
RUN --mount=type=cache,target=/ccache cd $BUN_DIR && mkdir -p src/bun.js/bindings-obj && rm -rf $HOME/.cache zig-cache && make prerelease && \
|
||||
mkdir -p $BUN_RELEASE_DIR && \
|
||||
OUTPUT_DIR=/tmp/bun-${TRIPLET}-${GIT_SHA} $ZIG_PATH/zig build obj -Doutput-dir=/tmp/bun-${TRIPLET}-${GIT_SHA} -Drelease-fast -Dtarget="${TRIPLET}" -Dcpu="${CPU_TARGET}" && \
|
||||
cp /tmp/bun-${TRIPLET}-${GIT_SHA}/bun.o /tmp/bun-${TRIPLET}-${GIT_SHA}/bun-${BUN_BASE_VERSION}.$(cat ${BUN_DIR}/src/build-id).o && cd / && rm -rf $BUN_DIR
|
||||
|
||||
FROM scratch as build_release_obj
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG GIT_SHA
|
||||
ARG TRIPLET
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
COPY --from=compile_release_obj /tmp/bun-${TRIPLET}-${GIT_SHA}/*.o /
|
||||
|
||||
FROM prepare_release as compile_cpp
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
ENV JSC_BASE_DIR=${WEBKIT_DIR}
|
||||
ENV LIB_ICU_PATH=${WEBKIT_DIR}/lib
|
||||
|
||||
# Required for `make webcrypto`
|
||||
COPY src/deps/boringssl/include ${BUN_DIR}/src/deps/boringssl/include
|
||||
|
||||
ENV CCACHE_DIR=/ccache
|
||||
|
||||
RUN --mount=type=cache,target=/ccache cd $BUN_DIR && mkdir -p src/bun.js/bindings-obj && rm -rf $HOME/.cache zig-cache && mkdir -p $BUN_RELEASE_DIR && make webcrypto && \
|
||||
make release-bindings -j10 && mv ${BUN_DEPS_OUT_DIR}/libwebcrypto.a /tmp && mv src/bun.js/bindings-obj/* /tmp
|
||||
|
||||
FROM bun-base as sqlite
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
|
||||
ENV CCACHE_DIR=/ccache
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
COPY src/bun.js/bindings/sqlite ${BUN_DIR}/src/bun.js/bindings/sqlite
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
ENV JSC_BASE_DIR=${WEBKIT_DIR}
|
||||
ENV LIB_ICU_PATH=${WEBKIT_DIR}/lib
|
||||
|
||||
RUN --mount=type=cache,target=/ccache cd $BUN_DIR && make sqlite
|
||||
|
||||
FROM scratch as build_release_cpp
|
||||
|
||||
COPY --from=compile_cpp /tmp/*.o /
|
||||
COPY --from=compile_cpp /tmp/libwebcrypto.a /
|
||||
|
||||
FROM prepare_release as build_release
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG CPU_TARGET
|
||||
ENV CPU_TARGET=${CPU_TARGET}
|
||||
|
||||
COPY Makefile ${BUN_DIR}/Makefile
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
ENV JSC_BASE_DIR=${WEBKIT_DIR}
|
||||
ENV LIB_ICU_PATH=${WEBKIT_DIR}/lib
|
||||
|
||||
COPY --from=zlib ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/
|
||||
COPY --from=libarchive ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/
|
||||
COPY --from=boringssl ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/
|
||||
COPY --from=lolhtml ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/
|
||||
COPY --from=mimalloc ${BUN_DEPS_OUT_DIR}/*.o ${BUN_DEPS_OUT_DIR}/
|
||||
COPY --from=picohttp ${BUN_DEPS_OUT_DIR}/*.o ${BUN_DEPS_OUT_DIR}/
|
||||
COPY --from=sqlite ${BUN_DEPS_OUT_DIR}/*.o ${BUN_DEPS_OUT_DIR}/
|
||||
COPY --from=tinycc ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/
|
||||
COPY --from=uws ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/
|
||||
COPY --from=uws ${BUN_DEPS_OUT_DIR}/*.o ${BUN_DEPS_OUT_DIR}/
|
||||
COPY --from=c-ares ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/
|
||||
|
||||
COPY --from=build_release_obj /*.o /tmp
|
||||
COPY --from=build_release_cpp /*.o ${BUN_DIR}/src/bun.js/bindings-obj/
|
||||
COPY --from=build_release_cpp /*.a ${BUN_DEPS_OUT_DIR}/
|
||||
|
||||
RUN cd $BUN_DIR && mkdir -p ${BUN_RELEASE_DIR} && make bun-relink copy-to-bun-release-dir && \
|
||||
rm -rf $HOME/.cache zig-cache misctools package.json build-id completions build.zig $(BUN_DIR)/packages
|
||||
|
||||
|
||||
|
||||
FROM scratch as artifact
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
|
||||
COPY --from=build_release ${BUN_RELEASE_DIR}/bun /bun
|
||||
COPY --from=build_release ${BUN_RELEASE_DIR}/bun-profile /bun-profile
|
||||
COPY --from=build_release ${BUN_DEPS_OUT_DIR}/* /bun-dependencies
|
||||
COPY --from=build_release_obj /*.o /bun-obj
|
||||
|
||||
|
||||
FROM prepare_release as build_unit
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG ZIG_PATH
|
||||
# Directory extracts to "bun-webkit"
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
|
||||
WORKDIR $BUN_DIR
|
||||
|
||||
ENV PATH "$ZIG_PATH:$PATH"
|
||||
ENV LIB_ICU_PATH "${WEBKIT_DIR}/lib"
|
||||
|
||||
CMD make headers \
|
||||
api \
|
||||
analytics \
|
||||
bun_error \
|
||||
fallback_decoder \
|
||||
bindings -j10 && \
|
||||
make \
|
||||
run-all-unit-tests
|
||||
|
||||
|
||||
|
||||
# FROM bun-test-base as test_base
|
||||
|
||||
# ARG DEBIAN_FRONTEND=noninteractive
|
||||
# ARG GITHUB_WORKSPACE=/build
|
||||
# ARG ZIG_PATH=${GITHUB_WORKSPACE}/zig
|
||||
# # Directory extracts to "bun-webkit"
|
||||
# ARG WEBKIT_DIR=${GITHUB_WORKSPACE}/bun-webkit
|
||||
# ARG BUN_RELEASE_DIR=${GITHUB_WORKSPACE}/bun-release
|
||||
# ARG BUN_DEPS_OUT_DIR=${GITHUB_WORKSPACE}/bun-deps
|
||||
# ARG BUN_DIR=${GITHUB_WORKSPACE}/bun
|
||||
|
||||
# ARG BUILDARCH=amd64
|
||||
# RUN groupadd -r chromium && useradd -d ${BUN_DIR} -M -r -g chromium -G audio,video chromium \
|
||||
# && mkdir -p /home/chromium/Downloads && chown -R chromium:chromium /home/chromium
|
||||
|
||||
# USER chromium
|
||||
# WORKDIR $BUN_DIR
|
||||
|
||||
# ENV NPM_CLIENT bun
|
||||
# ENV PATH "${BUN_DIR}/packages/bun-linux-x64:${BUN_DIR}/packages/bun-linux-aarch64:$PATH"
|
||||
# ENV CI 1
|
||||
# ENV BROWSER_EXECUTABLE /usr/bin/chromium
|
||||
|
||||
# COPY ./test ${BUN_DIR}/test
|
||||
# COPY Makefile ${BUN_DIR}/Makefile
|
||||
# COPY package.json ${BUN_DIR}/package.json
|
||||
# COPY .docker/run-test.sh ${BUN_DIR}/run-test.sh
|
||||
# COPY ./bun.lockb ${BUN_DIR}/bun.lockb
|
||||
|
||||
# # # We don't want to worry about architecture differences in this image
|
||||
# COPY --from=release /opt/bun/bin/bun ${BUN_DIR}/packages/bun-linux-aarch64/bun
|
||||
# COPY --from=release /opt/bun/bin/bun ${BUN_DIR}/packages/bun-linux-x64/bun
|
||||
|
||||
# USER root
|
||||
# RUN chgrp -R chromium ${BUN_DIR} && chmod g+rwx ${BUN_DIR} && chown -R chromium:chromium ${BUN_DIR}
|
||||
# USER chromium
|
||||
|
||||
# CMD [ "bash", "run-test.sh" ]
|
||||
|
||||
# FROM release
|
||||
|
||||
126
Dockerfile.devcontainer
Normal file
126
Dockerfile.devcontainer
Normal file
@@ -0,0 +1,126 @@
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
ARG GITHUB_WORKSPACE=/build
|
||||
ARG BUILDARCH=amd64
|
||||
ARG ARCH=x86_64
|
||||
ARG ZIG_PATH=${GITHUB_WORKSPACE}/zig
|
||||
ARG WEBKIT_DIR=${GITHUB_WORKSPACE}/bun-webkit
|
||||
ARG BUN_RELEASE_DIR=${GITHUB_WORKSPACE}/bun-release
|
||||
ARG BUN_DEPS_OUT_DIR=${GITHUB_WORKSPACE}/bun-deps
|
||||
ARG BUN_DIR=${GITHUB_WORKSPACE}/bun
|
||||
ARG BUN_PACKAGES_DIR=${BUN_DIR}/packages
|
||||
ARG ZIG_VERSION="0.11.0-dev.947+cf822c6dd"
|
||||
|
||||
ARG ZIG_FOLDERNAME=zig-linux-${ARCH}-${ZIG_VERSION}
|
||||
ARG ZIG_FILENAME=${ZIG_FOLDERNAME}.tar.xz
|
||||
ARG ZIG_URL="https://ziglang.org/builds/${ZIG_FILENAME}"
|
||||
|
||||
FROM --platform=linux/${BUILDARCH} ubuntu:22.04 as bun.devcontainer
|
||||
|
||||
ARG DEBIAN_FRONTEND
|
||||
ARG GITHUB_WORKSPACE
|
||||
ARG BUILDARCH
|
||||
ARG ZIG_PATH
|
||||
ARG WEBKIT_DIR
|
||||
ARG BUN_RELEASE_DIR
|
||||
ARG BUN_DEPS_OUT_DIR
|
||||
ARG BUN_DIR
|
||||
ARG BUN_PACKAGES_DIR
|
||||
|
||||
ENV WEBKIT_OUT_DIR ${WEBKIT_DIR}
|
||||
ENV PATH "$ZIG_PATH:$PATH"
|
||||
ENV JSC_BASE_DIR $WEBKIT_OUT_DIR
|
||||
ENV LIB_ICU_PATH ${WEBKIT_OUT_DIR}/lib
|
||||
ENV BUN_RELEASE_DIR ${BUN_RELEASE_DIR}
|
||||
ENV PATH "${BUN_PACKAGES_DIR}/bun-linux-x64:${BUN_PACKAGES_DIR}/bun-linux-aarch64:${BUN_PACKAGES_DIR}/debug-bun-linux-x64:${BUN_PACKAGES_DIR}/debug-bun-linux-aarch64:$PATH"
|
||||
ENV PATH "/home/ubuntu/zls/zig-out/bin:$PATH"
|
||||
ENV BUN_INSTALL /home/ubuntu/.bun
|
||||
ENV XDG_CONFIG_HOME /home/ubuntu/.config
|
||||
|
||||
WORKDIR ${GITHUB_WORKSPACE}
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install --no-install-recommends -y wget gnupg2 curl lsb-release wget software-properties-common && \
|
||||
add-apt-repository ppa:longsleep/golang-backports && \
|
||||
wget https://apt.llvm.org/llvm.sh --no-check-certificate && \
|
||||
chmod +x llvm.sh && \
|
||||
./llvm.sh 15 && \
|
||||
curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && \
|
||||
apt-get update && \
|
||||
apt-get install --no-install-recommends -y \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg2 \
|
||||
software-properties-common \
|
||||
cmake \
|
||||
build-essential \
|
||||
git \
|
||||
libssl-dev \
|
||||
ruby \
|
||||
liblld-15-dev \
|
||||
libclang-15-dev \
|
||||
nodejs \
|
||||
gcc \
|
||||
g++ \
|
||||
clang-15 \
|
||||
clang-format-15 \
|
||||
libc++-15-dev \
|
||||
libc++abi-15-dev \
|
||||
lld-15 \
|
||||
libicu-dev \
|
||||
wget \
|
||||
rustc \
|
||||
cargo \
|
||||
unzip \
|
||||
tar \
|
||||
golang-go ninja-build pkg-config automake autoconf libtool curl && \
|
||||
update-alternatives --install /usr/bin/cc cc /usr/bin/clang-15 90 && \
|
||||
update-alternatives --install /usr/bin/cpp cpp /usr/bin/clang++-15 90 && \
|
||||
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-15 90 && \
|
||||
npm install -g esbuild
|
||||
|
||||
ENV CC=clang-15
|
||||
ENV CXX=clang++-15
|
||||
ENV ZIG "${ZIG_PATH}/zig"
|
||||
|
||||
WORKDIR $GITHUB_WORKSPACE
|
||||
|
||||
RUN cd / && mkdir -p $BUN_RELEASE_DIR $BUN_DEPS_OUT_DIR ${BUN_DIR} ${BUN_DEPS_OUT_DIR}
|
||||
|
||||
WORKDIR $GITHUB_WORKSPACE
|
||||
|
||||
|
||||
ARG ZIG_FOLDERNAME
|
||||
ARG ZIG_FILENAME
|
||||
ARG ZIG_URL
|
||||
|
||||
ADD $ZIG_URL .
|
||||
RUN tar -xf ${ZIG_FILENAME} && \
|
||||
rm ${ZIG_FILENAME} && \
|
||||
mv ${ZIG_FOLDERNAME} ${ZIG_PATH};
|
||||
|
||||
RUN cd $GITHUB_WORKSPACE && \
|
||||
curl -o bun-webkit-linux-$BUILDARCH.tar.gz -L https://github.com/oven-sh/WebKit/releases/download/dec30/bun-webkit-linux-$BUILDARCH.tar.gz && \
|
||||
tar -xzf bun-webkit-linux-$BUILDARCH.tar.gz && \
|
||||
rm bun-webkit-linux-$BUILDARCH.tar.gz && \
|
||||
cat $WEBKIT_OUT_DIR/include/cmakeconfig.h > /dev/null
|
||||
|
||||
RUN apt-get -y update && update-alternatives --install /usr/bin/lldb lldb /usr/bin/lldb-15 90
|
||||
|
||||
COPY .devcontainer/workspace.code-workspace $GITHUB_WORKSPACE/workspace.code-workspace
|
||||
COPY .devcontainer/zls.json $GITHUB_WORKSPACE/workspace.code-workspace
|
||||
COPY .devcontainer/limits.conf /etc/security/limits.conf
|
||||
COPY ".devcontainer/scripts/" /scripts/
|
||||
COPY ".devcontainer/scripts/getting-started.sh" $GITHUB_WORKSPACE/getting-started.sh
|
||||
COPY ".devcontainer/README.md" $GITHUB_WORKSPACE/README.md
|
||||
|
||||
ENV JSC_BASE_DIR=$WEBKIT_DIR
|
||||
ENV WEBKIT_RELEASE_DIR=$WEBKIT_DIR
|
||||
ENV WEBKIT_DEBUG_DIR=$WEBKIT_DIR
|
||||
ENV WEBKIT_RELEASE_DIR_LTO=$WEBKIT_DIR
|
||||
|
||||
RUN mkdir -p /home/ubuntu/.bun /home/ubuntu/.config $GITHUB_WORKSPACE/bun && \
|
||||
bash /scripts/common-debian.sh && \
|
||||
bash /scripts/github.sh && \
|
||||
bash /scripts/nice.sh && \
|
||||
bash /scripts/zig-env.sh
|
||||
COPY .devcontainer/zls.json /home/ubuntu/.config/zls.json
|
||||
@@ -1,52 +0,0 @@
|
||||
FROM ubuntu:latest
|
||||
|
||||
RUN apt-get update && apt-get install --no-install-recommends -y wget gnupg2 curl lsb-release wget software-properties-common
|
||||
RUN curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
|
||||
|
||||
RUN wget https://apt.llvm.org/llvm.sh --no-check-certificate
|
||||
RUN chmod +x llvm.sh
|
||||
RUN ./llvm.sh 12
|
||||
|
||||
RUN apt-get update && apt-get install --no-install-recommends -y \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg2 \
|
||||
software-properties-common \
|
||||
cmake \
|
||||
build-essential \
|
||||
git \
|
||||
libssl-dev \
|
||||
ruby \
|
||||
liblld-12-dev \
|
||||
libclang-12-dev \
|
||||
nodejs \
|
||||
gcc \
|
||||
g++ \
|
||||
npm \
|
||||
clang-12 \
|
||||
clang-format-12 \
|
||||
libc++-12-dev \
|
||||
libc++abi-12-dev \
|
||||
lld-12 \
|
||||
libicu-dev
|
||||
|
||||
RUN update-alternatives --install /usr/bin/ld ld /usr/bin/lld-12 90 && \
|
||||
update-alternatives --install /usr/bin/cc cc /usr/bin/clang-12 90 && \
|
||||
update-alternatives --install /usr/bin/cpp cpp /usr/bin/clang++-12 90 && \
|
||||
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-12 90
|
||||
|
||||
|
||||
ENV CC=clang-12
|
||||
ENV CXX=clang++-12
|
||||
|
||||
# Compile zig
|
||||
RUN mkdir -p /home/ubuntu/zig; cd /home/ubuntu; git clone https://github.com/jarred-sumner/zig.git; cd /home/ubuntu/zig && git checkout jarred/zig-sloppy-with-small-structs && cmake . -DCMAKE_BUILD_TYPE=Release && make -j$(nproc)
|
||||
|
||||
ENV PATH="/home/ubuntu/zig:$PATH"
|
||||
|
||||
RUN npm install -g esbuild
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
3
bench/.env
Normal file
3
bench/.env
Normal file
@@ -0,0 +1,3 @@
|
||||
BUN=bun
|
||||
DENO=deno
|
||||
NODE=node
|
||||
2
bench/.gitignore
vendored
Normal file
2
bench/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
ffi/src/target
|
||||
ffi/src/*.node
|
||||
13
bench/README.md
Normal file
13
bench/README.md
Normal file
@@ -0,0 +1,13 @@
|
||||
```bash
|
||||
npm install
|
||||
|
||||
bun run ffi
|
||||
bun run log
|
||||
bun run gzip
|
||||
bun run async
|
||||
bun run sqlite
|
||||
|
||||
# to use custom version of bun/deno/node binary
|
||||
BUN=path/to/bun bun run ffi
|
||||
# or edit .env file
|
||||
```
|
||||
3
bench/async/.env
Normal file
3
bench/async/.env
Normal file
@@ -0,0 +1,3 @@
|
||||
BUN=bun
|
||||
DENO=deno
|
||||
NODE=node
|
||||
7
bench/async/bun.js
Normal file
7
bench/async/bun.js
Normal file
@@ -0,0 +1,7 @@
|
||||
import { run, bench } from "mitata";
|
||||
|
||||
bench("sync", () => {});
|
||||
bench("async", async () => {});
|
||||
bench("await 1", async () => await 1);
|
||||
|
||||
await run();
|
||||
7
bench/async/deno.js
Normal file
7
bench/async/deno.js
Normal file
@@ -0,0 +1,7 @@
|
||||
import { run, bench } from "../node_modules/mitata/src/cli.mjs";
|
||||
|
||||
bench("sync", () => {});
|
||||
bench("async", async () => {});
|
||||
bench("await 1", async () => await 1);
|
||||
|
||||
await run();
|
||||
7
bench/async/node.mjs
Normal file
7
bench/async/node.mjs
Normal file
@@ -0,0 +1,7 @@
|
||||
import { run, bench } from "mitata";
|
||||
|
||||
bench("sync", () => {});
|
||||
bench("async", async () => {});
|
||||
bench("await 1", async () => await 1);
|
||||
|
||||
await run();
|
||||
11
bench/async/package.json
Normal file
11
bench/async/package.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "bench",
|
||||
"scripts": {
|
||||
"deps": "exit 0",
|
||||
"build": "exit 0",
|
||||
"bench:bun": "$BUN bun.js",
|
||||
"bench:node": "$NODE node.mjs",
|
||||
"bench:deno": "$DENO run -A --unstable deno.js",
|
||||
"bench": "bun run bench:bun && bun run bench:node && bun run bench:deno"
|
||||
}
|
||||
}
|
||||
BIN
bench/bun.lockb
Executable file
BIN
bench/bun.lockb
Executable file
Binary file not shown.
5
bench/cat/bun.js
Normal file
5
bench/cat/bun.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import { resolve } from "path";
|
||||
const { write, stdout, file } = Bun;
|
||||
const input = resolve(process.argv[process.argv.length - 1]);
|
||||
|
||||
await write(stdout, file(input));
|
||||
12
bench/cat/cat.mjs
Normal file
12
bench/cat/cat.mjs
Normal file
@@ -0,0 +1,12 @@
|
||||
// works in both bun & node
|
||||
import { readFileSync } from "node:fs";
|
||||
const count = parseInt(process.env.ITERATIONS || "1", 10) || 1;
|
||||
|
||||
const arg = process.argv.slice(1);
|
||||
|
||||
// TODO: remove Buffer.from() when readFileSync() returns Buffer
|
||||
|
||||
for (let i = 0; i < count; i++)
|
||||
console.log(
|
||||
arg.map((file) => Buffer.from(readFileSync(file, "utf8"))).join("")
|
||||
);
|
||||
6
bench/cat/node.js
Normal file
6
bench/cat/node.js
Normal file
@@ -0,0 +1,6 @@
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
||||
const input = path.resolve(process.argv[process.argv.length - 1]);
|
||||
|
||||
fs.createReadStream(input).pipe(process.stdout);
|
||||
5
bench/copyfile/bun.js
Normal file
5
bench/copyfile/bun.js
Normal file
@@ -0,0 +1,5 @@
|
||||
import path from "path";
|
||||
const input = path.resolve(process.argv[process.argv.length - 2]);
|
||||
const output = path.resolve(process.argv[process.argv.length - 1]);
|
||||
|
||||
await Bun.write(Bun.file(output), Bun.file(input));
|
||||
4
bench/copyfile/node-streams.js
Normal file
4
bench/copyfile/node-streams.js
Normal file
@@ -0,0 +1,4 @@
|
||||
import { createReadStream, createWriteStream } from "node:fs";
|
||||
|
||||
const arg = process.argv.slice(2);
|
||||
createReadStream(arg[0]).pipe(createWriteStream(arg[1]));
|
||||
40
bench/copyfile/node.mitata.mjs
Normal file
40
bench/copyfile/node.mitata.mjs
Normal file
@@ -0,0 +1,40 @@
|
||||
import { copyFileSync, writeFileSync, readFileSync, statSync } from "node:fs";
|
||||
import { bench, run } from "mitata";
|
||||
|
||||
function runner(ready) {
|
||||
for (let size of [1, 10, 100, 1000, 10000, 100000, 1000000, 10000000]) {
|
||||
const rand = new Int32Array(size);
|
||||
for (let i = 0; i < size; i++) {
|
||||
rand[i] = (Math.random() * 1024 * 1024) | 0;
|
||||
}
|
||||
const dest = `/tmp/fs-test-copy-file-${(
|
||||
(Math.random() * 10000000 + 100) |
|
||||
0
|
||||
).toString(32)}`;
|
||||
const src = `/tmp/fs-test-copy-file-${(
|
||||
(Math.random() * 10000000 + 100) |
|
||||
0
|
||||
).toString(32)}`;
|
||||
writeFileSync(src, Buffer.from(rand.buffer), { encoding: "buffer" });
|
||||
const { size: fileSize } = statSync(src);
|
||||
if (fileSize !== rand.byteLength) {
|
||||
throw new Error("size mismatch");
|
||||
}
|
||||
ready(src, dest, new Uint8Array(rand.buffer));
|
||||
}
|
||||
}
|
||||
runner((src, dest, rand) =>
|
||||
bench(`copyFileSync(${rand.buffer.byteLength} bytes)`, () => {
|
||||
copyFileSync(src, dest);
|
||||
// const output = readFileSync(dest).buffer;
|
||||
|
||||
// for (let i = 0; i < output.length; i++) {
|
||||
// if (output[i] !== rand[i]) {
|
||||
// throw new Error(
|
||||
// "Files are not equal" + " " + output[i] + " " + rand[i] + " " + i
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
})
|
||||
);
|
||||
await run();
|
||||
5
bench/copyfile/node.mjs
Normal file
5
bench/copyfile/node.mjs
Normal file
@@ -0,0 +1,5 @@
|
||||
import { copyFileSync } from "node:fs";
|
||||
|
||||
const arg = process.argv.slice(2);
|
||||
|
||||
copyFileSync(arg[0], arg[1]);
|
||||
169
bench/expect-to-equal/.gitignore
vendored
Normal file
169
bench/expect-to-equal/.gitignore
vendored
Normal file
@@ -0,0 +1,169 @@
|
||||
# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
|
||||
|
||||
# Logs
|
||||
|
||||
logs
|
||||
_.log
|
||||
npm-debug.log_
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
lerna-debug.log*
|
||||
.pnpm-debug.log*
|
||||
|
||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||
|
||||
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
|
||||
|
||||
# Runtime data
|
||||
|
||||
pids
|
||||
_.pid
|
||||
_.seed
|
||||
\*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
|
||||
coverage
|
||||
\*.lcov
|
||||
|
||||
# nyc test coverage
|
||||
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# Snowpack dependency directory (https://snowpack.dev/)
|
||||
|
||||
web_modules/
|
||||
|
||||
# TypeScript cache
|
||||
|
||||
\*.tsbuildinfo
|
||||
|
||||
# Optional npm cache directory
|
||||
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
|
||||
.eslintcache
|
||||
|
||||
# Optional stylelint cache
|
||||
|
||||
.stylelintcache
|
||||
|
||||
# Microbundle cache
|
||||
|
||||
.rpt2_cache/
|
||||
.rts2_cache_cjs/
|
||||
.rts2_cache_es/
|
||||
.rts2_cache_umd/
|
||||
|
||||
# Optional REPL history
|
||||
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
|
||||
\*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variable files
|
||||
|
||||
.env
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
.env.local
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
|
||||
.cache
|
||||
.parcel-cache
|
||||
|
||||
# Next.js build output
|
||||
|
||||
.next
|
||||
out
|
||||
|
||||
# Nuxt.js build / generate output
|
||||
|
||||
.nuxt
|
||||
dist
|
||||
|
||||
# Gatsby files
|
||||
|
||||
.cache/
|
||||
|
||||
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||
|
||||
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||
|
||||
# public
|
||||
|
||||
# vuepress build output
|
||||
|
||||
.vuepress/dist
|
||||
|
||||
# vuepress v2.x temp and cache directory
|
||||
|
||||
.temp
|
||||
.cache
|
||||
|
||||
# Docusaurus cache and generated files
|
||||
|
||||
.docusaurus
|
||||
|
||||
# Serverless directories
|
||||
|
||||
.serverless/
|
||||
|
||||
# FuseBox cache
|
||||
|
||||
.fusebox/
|
||||
|
||||
# DynamoDB Local files
|
||||
|
||||
.dynamodb/
|
||||
|
||||
# TernJS port file
|
||||
|
||||
.tern-port
|
||||
|
||||
# Stores VSCode versions used for testing VSCode extensions
|
||||
|
||||
.vscode-test
|
||||
|
||||
# yarn v2
|
||||
|
||||
.yarn/cache
|
||||
.yarn/unplugged
|
||||
.yarn/build-state.yml
|
||||
.yarn/install-state.gz
|
||||
.pnp.\*
|
||||
43
bench/expect-to-equal/README.md
Normal file
43
bench/expect-to-equal/README.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# expect-to-equal
|
||||
|
||||
To install dependencies:
|
||||
|
||||
```bash
|
||||
bun install
|
||||
```
|
||||
|
||||
To run in Bun:
|
||||
|
||||
```bash
|
||||
# so it doesn't run the vitest one
|
||||
bun wiptest expect-to-equal.test.js
|
||||
```
|
||||
|
||||
To run in Jest:
|
||||
|
||||
```bash
|
||||
# If you remove the import the performance doesn't change much
|
||||
NODE_OPTIONS="--experimental-vm-modules" ./node_modules/.bin/jest expect-to-equal.test.js
|
||||
```
|
||||
|
||||
To run in Vitest:
|
||||
|
||||
```bash
|
||||
./node_modules/.bin/vitest --run expect-to-equal.vitest.test.js
|
||||
```
|
||||
|
||||
Output on my machine (M1):
|
||||
|
||||
bun:test (bun v0.3.0):
|
||||
|
||||
> [36.40ms] expect().toEqual() x 10000
|
||||
|
||||
jest (node v18.11.0)
|
||||
|
||||
> expect().toEqual() x 10000: 5053 ms
|
||||
|
||||
vitest (node v18.11.0)
|
||||
|
||||
> expect().toEqual() x 10000: 401.08ms
|
||||
|
||||
This project was created using `bun init` in bun v0.3.0. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
|
||||
BIN
bench/expect-to-equal/bun.lockb
Executable file
BIN
bench/expect-to-equal/bun.lockb
Executable file
Binary file not shown.
42
bench/expect-to-equal/expect-to-equal.test.js
Normal file
42
bench/expect-to-equal/expect-to-equal.test.js
Normal file
@@ -0,0 +1,42 @@
|
||||
// bun:test automatically rewrites this import to bun:test when run in bun
|
||||
import { test, expect } from "@jest/globals";
|
||||
|
||||
const N = parseInt(process.env.RUN_COUNT || "10000", 10);
|
||||
if (!Number.isSafeInteger(N)) {
|
||||
throw new Error("Invalid RUN_COUNT");
|
||||
}
|
||||
|
||||
const label = "expect().toEqual() x " + N;
|
||||
|
||||
test(label, () => {
|
||||
console.time(label);
|
||||
for (let runsLeft = N; runsLeft > 0; runsLeft--) {
|
||||
expect("hello").toEqual("hello");
|
||||
expect(123).toEqual(123);
|
||||
|
||||
expect({ a: 1, b: 2 }).toEqual({ b: 2, a: 1 });
|
||||
expect([1, 2, 3]).toEqual([1, 2, 3]);
|
||||
expect({ a: 1, b: 2 }).not.toEqual({ b: 2, a: 1, c: 3 });
|
||||
expect([1, 2, 3]).not.toEqual([1, 2, 3, 4]);
|
||||
expect({ a: 1, b: 2, c: 3 }).not.toEqual({ a: 1, b: 2 });
|
||||
expect([1, 2, 3, 4]).not.toEqual([1, 2, 3]);
|
||||
|
||||
let a = [{ a: 1 }, { b: 2, c: 3, d: 4 }, { e: 5, f: 6 }];
|
||||
let b = [{ a: 1 }, { b: 2, c: 3, d: 4 }, { e: 5, f: 6 }];
|
||||
expect(a).toEqual(b);
|
||||
expect(b).toEqual(a);
|
||||
a[0].a = 2;
|
||||
expect(a).not.toEqual(b);
|
||||
expect(b).not.toEqual(a);
|
||||
|
||||
let c = { [Symbol("test")]: 1 };
|
||||
let d = { [Symbol("test")]: 1 };
|
||||
expect(c).not.toEqual(d);
|
||||
expect(d).not.toEqual(c);
|
||||
|
||||
a = { a: 1, b: 2, c: 3 };
|
||||
b = { a: 1, b: 2 };
|
||||
expect(a).not.toEqual(b);
|
||||
}
|
||||
console.timeEnd(label);
|
||||
});
|
||||
41
bench/expect-to-equal/expect-to-equal.vitest.test.js
Normal file
41
bench/expect-to-equal/expect-to-equal.vitest.test.js
Normal file
@@ -0,0 +1,41 @@
|
||||
import { test, expect } from "vitest";
|
||||
|
||||
const N = parseInt(process.env.RUN_COUNT || "10000", 10);
|
||||
if (!Number.isSafeInteger(N)) {
|
||||
throw new Error("Invalid RUN_COUNT");
|
||||
}
|
||||
|
||||
const label = "expect().toEqual() x " + N;
|
||||
|
||||
test(label, () => {
|
||||
console.time(label);
|
||||
for (let runsLeft = N; runsLeft > 0; runsLeft--) {
|
||||
expect("hello").toEqual("hello");
|
||||
expect(123).toEqual(123);
|
||||
|
||||
expect({ a: 1, b: 2 }).toEqual({ b: 2, a: 1 });
|
||||
expect([1, 2, 3]).toEqual([1, 2, 3]);
|
||||
expect({ a: 1, b: 2 }).not.toEqual({ b: 2, a: 1, c: 3 });
|
||||
expect([1, 2, 3]).not.toEqual([1, 2, 3, 4]);
|
||||
expect({ a: 1, b: 2, c: 3 }).not.toEqual({ a: 1, b: 2 });
|
||||
expect([1, 2, 3, 4]).not.toEqual([1, 2, 3]);
|
||||
|
||||
let a = [{ a: 1 }, { b: 2, c: 3, d: 4 }, { e: 5, f: 6 }];
|
||||
let b = [{ a: 1 }, { b: 2, c: 3, d: 4 }, { e: 5, f: 6 }];
|
||||
expect(a).toEqual(b);
|
||||
expect(b).toEqual(a);
|
||||
a[0].a = 2;
|
||||
expect(a).not.toEqual(b);
|
||||
expect(b).not.toEqual(a);
|
||||
|
||||
let c = { [Symbol("test")]: 1 };
|
||||
let d = { [Symbol("test")]: 1 };
|
||||
expect(c).not.toEqual(d);
|
||||
expect(d).not.toEqual(c);
|
||||
|
||||
a = { a: 1, b: 2, c: 3 };
|
||||
b = { a: 1, b: 2 };
|
||||
expect(a).not.toEqual(b);
|
||||
}
|
||||
console.timeEnd(label);
|
||||
});
|
||||
1
bench/expect-to-equal/index.ts
Normal file
1
bench/expect-to-equal/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
console.log("Hello via Bun!");
|
||||
9
bench/expect-to-equal/package.json
Normal file
9
bench/expect-to-equal/package.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "expect-to-equal",
|
||||
"module": "index.ts",
|
||||
"type": "module",
|
||||
"devDependencies": {
|
||||
"jest": "^29.3.1",
|
||||
"vitest": "^0.25.3"
|
||||
}
|
||||
}
|
||||
20
bench/expect-to-equal/tsconfig.json
Normal file
20
bench/expect-to-equal/tsconfig.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"lib": [
|
||||
"ESNext"
|
||||
],
|
||||
"module": "esnext",
|
||||
"target": "esnext",
|
||||
"moduleResolution": "nodenext",
|
||||
"strict": true,
|
||||
"downlevelIteration": true,
|
||||
"skipLibCheck": true,
|
||||
"jsx": "preserve",
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"allowJs": true,
|
||||
"types": [
|
||||
"bun-types" // add Bun global
|
||||
]
|
||||
}
|
||||
}
|
||||
17
bench/fetch/bun.js
Normal file
17
bench/fetch/bun.js
Normal file
@@ -0,0 +1,17 @@
|
||||
import { bench, run } from "mitata";
|
||||
|
||||
const count = 100;
|
||||
|
||||
bench(`fetch(https://example.com) x ${count}`, async () => {
|
||||
const requests = new Array(count);
|
||||
|
||||
for (let i = 0; i < requests.length; i++) {
|
||||
requests[i] = fetch(`https://www.example.com/?cachebust=${i}`).then((r) =>
|
||||
r.text(),
|
||||
);
|
||||
}
|
||||
|
||||
await Promise.all(requests);
|
||||
});
|
||||
|
||||
await run();
|
||||
17
bench/fetch/deno.js
Normal file
17
bench/fetch/deno.js
Normal file
@@ -0,0 +1,17 @@
|
||||
import { bench, run } from "https://esm.run/mitata";
|
||||
|
||||
const count = 100;
|
||||
|
||||
bench(`fetch(https://example.com) x ${count}`, async () => {
|
||||
const requests = new Array(count);
|
||||
|
||||
for (let i = 0; i < requests.length; i++) {
|
||||
requests[i] = fetch(`https://www.example.com/?cachebust=${i}`).then((r) =>
|
||||
r.text(),
|
||||
);
|
||||
}
|
||||
|
||||
await Promise.all(requests);
|
||||
});
|
||||
|
||||
await run();
|
||||
17
bench/fetch/node.mjs
Normal file
17
bench/fetch/node.mjs
Normal file
@@ -0,0 +1,17 @@
|
||||
import { bench, run } from "mitata";
|
||||
|
||||
const count = 100;
|
||||
|
||||
bench(`fetch(https://example.com) x ${count}`, async () => {
|
||||
const requests = new Array(count);
|
||||
|
||||
for (let i = 0; i < requests.length; i++) {
|
||||
requests[i] = fetch(`https://www.example.com/?cachebust=${i}`).then((r) =>
|
||||
r.text()
|
||||
);
|
||||
}
|
||||
|
||||
await Promise.all(requests);
|
||||
});
|
||||
|
||||
await run();
|
||||
3
bench/ffi/.env
Normal file
3
bench/ffi/.env
Normal file
@@ -0,0 +1,3 @@
|
||||
BUN=bun
|
||||
DENO=deno
|
||||
NODE=node
|
||||
36
bench/ffi/bun.js
Normal file
36
bench/ffi/bun.js
Normal file
@@ -0,0 +1,36 @@
|
||||
import { ptr, dlopen, CString, toBuffer } from "bun:ffi";
|
||||
import { run, bench, group } from "mitata";
|
||||
|
||||
const { napiNoop, napiHash, napiString } = require(import.meta.dir +
|
||||
"/src/ffi_napi_bench.node");
|
||||
|
||||
const {
|
||||
symbols: {
|
||||
ffi_noop: { native: ffi_noop },
|
||||
ffi_hash: { native: ffi_hash },
|
||||
ffi_string: { native: ffi_string },
|
||||
},
|
||||
} = dlopen(import.meta.dir + "/src/ffi_napi_bench.node", {
|
||||
ffi_noop: { args: [], returns: "void" },
|
||||
ffi_string: { args: [], returns: "ptr" },
|
||||
ffi_hash: { args: ["ptr", "u32"], returns: "u32" },
|
||||
});
|
||||
|
||||
const bytes = new Uint8Array(64);
|
||||
|
||||
group("bun:ffi", () => {
|
||||
bench("noop", () => ffi_noop());
|
||||
bench("hash", () => ffi_hash(ptr(bytes), bytes.byteLength));
|
||||
|
||||
bench("c string", () => new CString(ffi_string()));
|
||||
});
|
||||
|
||||
if (process.env.SHOW_NAPI)
|
||||
group("bun:napi", () => {
|
||||
bench("noop", () => napiNoop());
|
||||
bench("hash", () => napiHash(bytes));
|
||||
|
||||
bench("string", () => napiString());
|
||||
});
|
||||
|
||||
await run();
|
||||
25
bench/ffi/deno.js
Normal file
25
bench/ffi/deno.js
Normal file
@@ -0,0 +1,25 @@
|
||||
import { run, bench, group } from "../node_modules/mitata/src/cli.mjs";
|
||||
|
||||
const extension = "darwin" !== Deno.build.os ? "so" : "dylib";
|
||||
const path = new URL(
|
||||
"src/target/release/libffi_napi_bench." + extension,
|
||||
import.meta.url,
|
||||
).pathname;
|
||||
|
||||
const {
|
||||
symbols: { ffi_noop, ffi_hash, ffi_string },
|
||||
} = Deno.dlopen(path, {
|
||||
ffi_noop: { parameters: [], result: "void" },
|
||||
ffi_string: { parameters: [], result: "pointer" },
|
||||
ffi_hash: { parameters: ["buffer", "u32"], result: "u32" },
|
||||
});
|
||||
|
||||
const bytes = new Uint8Array(64);
|
||||
|
||||
group("deno:ffi", () => {
|
||||
bench("noop", () => ffi_noop());
|
||||
bench("hash", () => ffi_hash(bytes, bytes.byteLength));
|
||||
bench("c string", () => Deno.UnsafePointerView.getCString(ffi_string()));
|
||||
});
|
||||
|
||||
await run();
|
||||
16
bench/ffi/node.mjs
Normal file
16
bench/ffi/node.mjs
Normal file
@@ -0,0 +1,16 @@
|
||||
import { run, bench, group } from "mitata";
|
||||
import { createRequire } from "node:module";
|
||||
|
||||
const require = createRequire(import.meta.url);
|
||||
const { napiNoop, napiHash, napiString } = require("./src/ffi_napi_bench.node");
|
||||
|
||||
const bytes = new Uint8Array(64);
|
||||
|
||||
group("napi", () => {
|
||||
bench("noop", () => napiNoop());
|
||||
bench("hash", () => napiHash(bytes));
|
||||
|
||||
bench("string", () => napiString());
|
||||
});
|
||||
|
||||
await run();
|
||||
11
bench/ffi/package.json
Normal file
11
bench/ffi/package.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "bench",
|
||||
"scripts": {
|
||||
"bench:bun": "$BUN bun.js",
|
||||
"bench:node": "$NODE node.mjs",
|
||||
"deps": "cd src && bun run deps",
|
||||
"build": "cd src && bun run build",
|
||||
"bench:deno": "$DENO run -A --unstable deno.js",
|
||||
"bench": "bun run bench:bun && bun run bench:node && bun run bench:deno"
|
||||
}
|
||||
}
|
||||
202
bench/ffi/src/Cargo.lock
generated
Normal file
202
bench/ffi/src/Cargo.lock
generated
Normal file
@@ -0,0 +1,202 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "0.7.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "convert_case"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fb4a24b1aaf0fd0ce8b45161144d6f42cd91677fd5940fd431183eb023b3a2b8"
|
||||
|
||||
[[package]]
|
||||
name = "ctor"
|
||||
version = "0.1.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ffi_napi_bench"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"napi",
|
||||
"napi-build",
|
||||
"napi-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libloading"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||
|
||||
[[package]]
|
||||
name = "napi"
|
||||
version = "2.6.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3517d4a4af99e0a9960e26332ee1e1bcb9e0298657f58e7e97157a8532dfcd4b"
|
||||
dependencies = [
|
||||
"ctor",
|
||||
"napi-sys",
|
||||
"once_cell",
|
||||
"thread_local",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "napi-build"
|
||||
version = "2.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "882a73d9ef23e8dc2ebbffb6a6ae2ef467c0f18ac10711e4cc59c5485d41df0e"
|
||||
|
||||
[[package]]
|
||||
name = "napi-derive"
|
||||
version = "2.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3aaa8a11b0ae982306d311627cafd997ef556abdf1d79a01e6e75bc1ac5cfced"
|
||||
dependencies = [
|
||||
"convert_case",
|
||||
"napi-derive-backend",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "napi-derive-backend"
|
||||
version = "1.0.34"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0cdb9be87524eccc14f988825b26eaa3752e07a81cb04c34436057823d91e421"
|
||||
dependencies = [
|
||||
"convert_case",
|
||||
"once_cell",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"regex",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "napi-sys"
|
||||
version = "2.2.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "529671ebfae679f2ce9630b62dd53c72c56b3eb8b2c852e7e2fa91704ff93d67"
|
||||
dependencies = [
|
||||
"libloading",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.6.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.98"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thread_local"
|
||||
version = "1.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"
|
||||
|
||||
[[package]]
|
||||
name = "winapi"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
||||
dependencies = [
|
||||
"winapi-i686-pc-windows-gnu",
|
||||
"winapi-x86_64-pc-windows-gnu",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi-i686-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||
|
||||
[[package]]
|
||||
name = "winapi-x86_64-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
18
bench/ffi/src/Cargo.toml
Normal file
18
bench/ffi/src/Cargo.toml
Normal file
@@ -0,0 +1,18 @@
|
||||
[package]
|
||||
edition = "2021"
|
||||
version = "0.1.0"
|
||||
name = "ffi_napi_bench"
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
||||
[features]
|
||||
default = []
|
||||
enable-napi = []
|
||||
|
||||
[dependencies]
|
||||
napi = "2"
|
||||
napi-derive = "2"
|
||||
|
||||
[build-dependencies]
|
||||
napi-build = "2.0.1"
|
||||
5
bench/ffi/src/build.rs
Normal file
5
bench/ffi/src/build.rs
Normal file
@@ -0,0 +1,5 @@
|
||||
#[cfg(feature="enable-napi")] extern crate napi_build;
|
||||
|
||||
fn main() {
|
||||
#[cfg(feature="enable-napi")] napi_build::setup();
|
||||
}
|
||||
BIN
bench/ffi/src/bun.lockb
Executable file
BIN
bench/ffi/src/bun.lockb
Executable file
Binary file not shown.
17
bench/ffi/src/package.json
Normal file
17
bench/ffi/src/package.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "bench",
|
||||
"napi": {
|
||||
"name": "napi"
|
||||
},
|
||||
"dependencies": {
|
||||
"@napi-rs/cli": "^2.10.1",
|
||||
"@node-rs/helper": "^1.3.3"
|
||||
},
|
||||
"scripts": {
|
||||
"deps": "bun install",
|
||||
"build:ffi": "cargo build --release",
|
||||
"build": "bun run build:napi && bun run build:ffi",
|
||||
"cleanup": "rm -f index.js index.d.ts && mv napi.*.node ffi_napi_bench.node",
|
||||
"build:napi": "napi build --release --platform --no-dts-header --features enable-napi && bun run cleanup"
|
||||
}
|
||||
}
|
||||
49
bench/ffi/src/src/lib.rs
Normal file
49
bench/ffi/src/src/lib.rs
Normal file
@@ -0,0 +1,49 @@
|
||||
// double src o.O
|
||||
|
||||
#[cfg(feature="enable-napi")] use napi_derive::napi;
|
||||
#[cfg(feature="enable-napi")] use napi::bindgen_prelude::*;
|
||||
|
||||
static STRING: &'static str = "Hello, world!\0";
|
||||
|
||||
fn hash(buf: &[u8]) -> u32 {
|
||||
let mut hash: u32 = 0;
|
||||
|
||||
for byte in buf {
|
||||
hash = hash.wrapping_mul(0x10001000).wrapping_add(*byte as u32);
|
||||
}
|
||||
|
||||
return hash;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#[cfg(feature="enable-napi")]
|
||||
#[napi] pub fn napi_noop() {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
#[no_mangle] unsafe extern "C" fn ffi_noop() {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
|
||||
|
||||
#[cfg(feature="enable-napi")]
|
||||
#[napi] pub fn napi_string() -> &'static str {
|
||||
return &STRING[0..(STRING.len() - 1)];
|
||||
}
|
||||
|
||||
#[no_mangle] unsafe extern "C" fn ffi_string() -> *const u8 {
|
||||
return STRING.as_ptr();
|
||||
}
|
||||
|
||||
|
||||
|
||||
#[cfg(feature="enable-napi")]
|
||||
#[napi] pub fn napi_hash(buffer: Buffer) -> u32 {
|
||||
return hash(&buffer);
|
||||
}
|
||||
|
||||
#[no_mangle] unsafe extern "C" fn ffi_hash(ptr: *const u8, length: u32) -> u32 {
|
||||
return hash(std::slice::from_raw_parts(ptr, length as usize));
|
||||
}
|
||||
3
bench/gzip/.env
Normal file
3
bench/gzip/.env
Normal file
@@ -0,0 +1,3 @@
|
||||
BUN=bun
|
||||
DENO=deno
|
||||
NODE=node
|
||||
20
bench/gzip/bun.js
Normal file
20
bench/gzip/bun.js
Normal file
@@ -0,0 +1,20 @@
|
||||
import { run, bench } from "mitata";
|
||||
import { gzipSync, gunzipSync } from "bun";
|
||||
|
||||
const data = new TextEncoder().encode("Hello World!".repeat(9999));
|
||||
|
||||
const compressed = gzipSync(data);
|
||||
|
||||
bench(`roundtrip - "Hello World!".repeat(9999))`, () => {
|
||||
gunzipSync(gzipSync(data));
|
||||
});
|
||||
|
||||
bench(`gzipSync("Hello World!".repeat(9999)))`, () => {
|
||||
gzipSync(data);
|
||||
});
|
||||
|
||||
bench(`gunzipSync("Hello World!".repeat(9999)))`, () => {
|
||||
gunzipSync(compressed);
|
||||
});
|
||||
|
||||
await run();
|
||||
85
bench/gzip/deno.js
Normal file
85
bench/gzip/deno.js
Normal file
@@ -0,0 +1,85 @@
|
||||
import { run, bench } from "../node_modules/mitata/src/cli.mjs";
|
||||
|
||||
const data = new TextEncoder().encode("Hello World!".repeat(9999));
|
||||
|
||||
const compressed = await compress(data);
|
||||
|
||||
bench(`roundtrip - "Hello World!".repeat(9999))`, async () => {
|
||||
await decompress(await compress(data));
|
||||
});
|
||||
|
||||
bench(`gzip("Hello World!".repeat(9999)))`, async () => {
|
||||
await compress(data);
|
||||
});
|
||||
|
||||
bench(`gunzip("Hello World!".repeat(9999)))`, async () => {
|
||||
await decompress(compressed);
|
||||
});
|
||||
|
||||
await run();
|
||||
|
||||
async function compress(buffer) {
|
||||
const cs = new CompressionStream("gzip");
|
||||
|
||||
const writer = cs.writable.getWriter();
|
||||
|
||||
writer.write(buffer);
|
||||
|
||||
writer.close();
|
||||
const chunks = [];
|
||||
const reader = cs.readable.getReader();
|
||||
|
||||
let length = 0;
|
||||
|
||||
while (true) {
|
||||
const { done, value } = await reader.read();
|
||||
|
||||
if (done) break;
|
||||
chunks.push(value);
|
||||
length += value.length;
|
||||
}
|
||||
|
||||
const u8 = new Uint8Array(length);
|
||||
|
||||
let offset = 0;
|
||||
|
||||
for (const chunk of chunks) {
|
||||
u8.set(chunk, offset);
|
||||
offset += chunk.length;
|
||||
}
|
||||
|
||||
return u8;
|
||||
}
|
||||
|
||||
async function decompress(buffer) {
|
||||
const ds = new DecompressionStream("gzip");
|
||||
|
||||
const writer = ds.writable.getWriter();
|
||||
|
||||
writer.write(buffer);
|
||||
|
||||
writer.close();
|
||||
const chunks = [];
|
||||
const reader = ds.readable.getReader();
|
||||
|
||||
let length = 0;
|
||||
|
||||
while (true) {
|
||||
const { done, value } = await reader.read();
|
||||
|
||||
if (done) break;
|
||||
chunks.push(value);
|
||||
length += value.length;
|
||||
}
|
||||
|
||||
const u8 = new Uint8Array(length);
|
||||
|
||||
let offset = 0;
|
||||
|
||||
for (const chunk of chunks) {
|
||||
u8.set(chunk, offset);
|
||||
offset += chunk.length;
|
||||
}
|
||||
|
||||
return u8;
|
||||
}
|
||||
20
bench/gzip/node.mjs
Normal file
20
bench/gzip/node.mjs
Normal file
@@ -0,0 +1,20 @@
|
||||
import { run, bench } from "mitata";
|
||||
import { gzipSync, gunzipSync } from "zlib";
|
||||
|
||||
const data = new TextEncoder().encode("Hello World!".repeat(9999));
|
||||
|
||||
const compressed = gzipSync(data);
|
||||
|
||||
bench(`roundtrip - "Hello World!".repeat(9999))`, () => {
|
||||
gunzipSync(gzipSync(data));
|
||||
});
|
||||
|
||||
bench(`gzipSync("Hello World!".repeat(9999)))`, () => {
|
||||
gzipSync(data);
|
||||
});
|
||||
|
||||
bench(`gunzipSync("Hello World!".repeat(9999)))`, () => {
|
||||
gunzipSync(compressed);
|
||||
});
|
||||
|
||||
await run();
|
||||
11
bench/gzip/package.json
Normal file
11
bench/gzip/package.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "bench",
|
||||
"scripts": {
|
||||
"deps": "exit 0",
|
||||
"build": "exit 0",
|
||||
"bench:bun": "$BUN bun.js",
|
||||
"bench:node": "$NODE node.mjs",
|
||||
"bench:deno": "$DENO run -A --unstable deno.js",
|
||||
"bench": "bun run bench:bun && bun run bench:node && bun run bench:deno"
|
||||
}
|
||||
}
|
||||
5
bench/hot-module-reloading/css-stress-test/.gitignore
vendored
Normal file
5
bench/hot-module-reloading/css-stress-test/.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
bun
|
||||
next
|
||||
src/*.mov
|
||||
src/*.blob
|
||||
|
||||
77
bench/hot-module-reloading/css-stress-test/Makefile
Normal file
77
bench/hot-module-reloading/css-stress-test/Makefile
Normal file
@@ -0,0 +1,77 @@
|
||||
SLEEP_INTERVAL ?= 32
|
||||
SCREEN_WIDTH ?= $(shell system_profiler -json SPDisplaysDataType 2>/dev/null | jq -r '.. | objects | select(.spdisplays_main) | ._spdisplays_pixels | split(" ")[0]')
|
||||
SCREEN_HEIGHT ?= $(shell system_profiler -json SPDisplaysDataType 2>/dev/null | jq -r '.. | objects | select(.spdisplays_main) | ._spdisplays_pixels | split(" ")[2]')
|
||||
PROJECT ?= bun
|
||||
PACKAGE_NAME ?= bun-cli
|
||||
RUN_COUNT ?= 128
|
||||
ENDPOINT ?= /
|
||||
|
||||
ifeq ($(PROJECT),bun)
|
||||
PACKAGE_NAME := bun-cli
|
||||
endif
|
||||
|
||||
ifeq ($(PROJECT),next)
|
||||
PACKAGE_NAME := next
|
||||
endif
|
||||
|
||||
generate:
|
||||
@killall -9 bun next node || echo ""
|
||||
PROJECT=$(PROJECT) SCREEN_WIDTH=$(SCREEN_WIDTH) SCREEN_HEIGHT=$(SCREEN_HEIGHT) ENDPOINT=$(ENDPOINT) node browser.js
|
||||
|
||||
generate-css-in-js:
|
||||
@killall -9 bun next node || echo ""
|
||||
PROJECT=$(PROJECT) SCREEN_WIDTH=$(SCREEN_WIDTH) SCREEN_HEIGHT=$(SCREEN_HEIGHT) ENDPOINT=/css-in-js node browser.js
|
||||
loop:
|
||||
cp src/colors.css.0 src/colors.css
|
||||
sleep 3
|
||||
osascript -e 'tell application "System Events" to tell process "Chromium"' \
|
||||
-e 'set frontmost to true' \
|
||||
-e 'if windows is not {} then perform action "AXRaise" of item 1 of windows' \
|
||||
-e 'end tell'
|
||||
sleep 0.5
|
||||
cd src; zig run -Drelease-fast ../color-looper.zig -- ./colors.css:0 $(SLEEP_INTERVAL)
|
||||
cp src/colors.css.blob $(PROJECT)/colors.css.blob
|
||||
|
||||
loop-emotion:
|
||||
cp src/css-in-js-styles.0 src/css-in-js-styles.tsx
|
||||
sleep 3
|
||||
osascript -e 'tell application "System Events" to tell process "Chromium"' \
|
||||
-e 'set frontmost to true' \
|
||||
-e 'if windows is not {} then perform action "AXRaise" of item 1 of windows' \
|
||||
-e 'end tell'
|
||||
sleep 0.5
|
||||
cd src; zig run -Drelease-fast ../color-looper.emotion.zig -- ./css-in-js-styles.tsx:0 $(SLEEP_INTERVAL)
|
||||
cp src/css-in-js-styles.tsx.blob $(PROJECT)/css-in-js-styles.blob
|
||||
|
||||
process_video:
|
||||
rm -rf $(FRAMES_DIR); mkdir -p $(FRAMES_DIR); ffmpeg -i src/colors.css.mov -vf fps=120,format=gray $(FRAMES_DIR)/%d.tif
|
||||
|
||||
FRAMES_DIR ?= $(shell mkdir -p ./$(PROJECT)/frames; realpath ./$(PROJECT)/frames)
|
||||
|
||||
TIF_FILES := $(wildcard $(FRAMES_DIR)/*.tif)
|
||||
TXT_FILES := $(wildcard $(FRAMES_DIR)/*.txt)
|
||||
|
||||
OBJ_FILES := $(patsubst $(SRC_DIR)/%.tif,$(OBJ_DIR)/%.txt,$(TIF_FILES))
|
||||
TRIM_FILES := $(patsubst $(SRC_DIR)/%.txt,$(OBJ_DIR)/%.trim,$(TXT_FILES))
|
||||
|
||||
frames: $(OBJ_FILES)
|
||||
|
||||
|
||||
$(FRAMES_DIR)/%.txt: $(FRAMES_DIR)/%.tif
|
||||
tesseract -l eng $< $@
|
||||
|
||||
trim: $(TRIM_FILES) cleanup print
|
||||
|
||||
|
||||
|
||||
$(FRAMES_DIR)/%.trim: $(FRAMES_DIR)/%.txt
|
||||
(grep "Ran:" $< || echo "\n") >> $(PROJECT)/frames.all
|
||||
|
||||
cleanup:
|
||||
sed 's/^Ran: *//' $(PROJECT)/frames.all | tr -d ' ' | sort | uniq > $(PROJECT)/frames.all.clean
|
||||
|
||||
print:
|
||||
PACKAGE_NAME=$(PACKAGE_NAME) SLEEP_INTERVAL=$(SLEEP_INTERVAL) PROJECT=$(PROJECT) OUTFILE=timings/$(PACKAGE_NAME) node read-frames.js
|
||||
|
||||
print-emotion:
|
||||
PACKAGE_NAME=$(PACKAGE_NAME) SLEEP_INTERVAL=$(SLEEP_INTERVAL) PROJECT=$(PROJECT) OUTFILE=timings/emotion_$(PACKAGE_NAME) node read-frames.js
|
||||
62
bench/hot-module-reloading/css-stress-test/README.md
Normal file
62
bench/hot-module-reloading/css-stress-test/README.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# CSS Stress Test
|
||||
|
||||
This benchmarks bundler performance for CSS hot reloading.
|
||||
|
||||
## Results
|
||||
|
||||
bun is 14x faster than Next.js at hot reloading CSS.
|
||||
|
||||
```
|
||||
bun v0.0.34
|
||||
Saving every 16ms
|
||||
|
||||
Frame time:
|
||||
50th percentile: 22.2ms
|
||||
75th percentile: 23.9ms
|
||||
90th percentile: 25.3ms
|
||||
95th percentile: 43.6ms
|
||||
99th percentile: 49.1ms
|
||||
Rendered frames: 922 / 1024 (90%)
|
||||
```
|
||||
|
||||
```
|
||||
Next.js v11.1.2
|
||||
Saving every 16ms
|
||||
|
||||
Frame time:
|
||||
50th percentile: 312ms
|
||||
75th percentile: 337.6ms
|
||||
90th percentile: 387.7ms
|
||||
95th percentile: 446.9ms
|
||||
99th percentile: 591.7ms
|
||||
Rendered frames: 64 / 1024 (6%)
|
||||
```
|
||||
|
||||
## How it works
|
||||
|
||||
It times pixels instead of builds. `color-looper.zig` writes color updates and the timestamp to a css file, while simultaneously screen recording a non-headless Chromium instance. After it finishes, it OCRs the video frames and verifies the scanned timestamps against the actual data. This data measures (1) how long each update took from saving to disk up to the pixels visible on the screen and (2) what % of frames were rendered.
|
||||
|
||||
The intent is to be as accurate as possible. Measuring times reported client-side is simpler, but lower accuracy since those times may not correspond to pixels on the screen and do not start from when the data was written to disk (at best, they measure when the filesystem watcher detected the update, but often not that either). `color-looper.zig` must run separately from `browser.js` or the results will be inaccurate.
|
||||
|
||||
It works like this:
|
||||
|
||||
1. `browser.js` loads either bun or Next.js and a Chromium instance opened to the correct webpage
|
||||
2. `color-looper.zig` updates [`./src/colors.css`](./src/colors.css) in a loop up to `1024` times (1024 is arbitrary), sleeping every `16`ms or `32`ms (a CLI arg you can pass it). The `var(--timestamp)` CSS variable contains the UTC timestamp with precision of milliseconds and one extra decimal point
|
||||
3. `color-looper.zig` automatically records the screen via `screencapture` (builtin on macOS) and saves it, along with a `BigUint64Array` containing all the expected timestamps. When it's done, it writes to a designated file on disk which `browser.js` picks up as the signal to close the browser.
|
||||
4. `ffmpeg` converts each frame into a black and white `.tif` file, which `tesseract` then OCRs
|
||||
5. Various cleanup scripts extract the timestamp from each of those OCR'd frames into a single file
|
||||
6. Using the OCR'd data, `./read-frames.js` calculates the 50th, 75th, 90th, 95th, and 99th percentile frame time, along with how many frames were skipped. Frame time is the metric here that matters here because that's how much time elapsed between each update. It includes the artificial sleep interval, so it will not be faster than the sleep interval.
|
||||
|
||||
The script `run.sh` runs all the commands necessary to do this work unattended. It takes awhile though. The slow part is OCR'ing all the frames.
|
||||
|
||||
To run this, you need:
|
||||
|
||||
- `zig`
|
||||
- `bun-cli`
|
||||
- `node`
|
||||
- `tesseract`
|
||||
- `screencapture` (macOS builtin)
|
||||
- `ffmpeg`
|
||||
- `puppeteer` (from the package.json)
|
||||
|
||||
You will need to run `bun bun --use next` first, with `next@11.1.2`. It will only run on macOS due to the dependencies on `screencapture`, how it detects screen resolution (so that Chromium is maximized), and how it auto-focuses Chromium (apple script)
|
||||
118
bench/hot-module-reloading/css-stress-test/browser.js
Normal file
118
bench/hot-module-reloading/css-stress-test/browser.js
Normal file
@@ -0,0 +1,118 @@
|
||||
const puppeteer = require("puppeteer");
|
||||
const http = require("http");
|
||||
const path = require("path");
|
||||
const url = require("url");
|
||||
const fs = require("fs");
|
||||
const child_process = require("child_process");
|
||||
const serverURL = process.env.TEST_SERVER_URL || "http://localhost:8080";
|
||||
|
||||
if (process.env.PROJECT === "bun") {
|
||||
const bunFlags = [`--origin=${serverURL}`].filter(Boolean);
|
||||
const bunExec = process.env.BUN_BIN || "bun";
|
||||
const bunProcess = child_process.spawn(bunExec, bunFlags, {
|
||||
cwd: process.cwd(),
|
||||
stdio: "ignore",
|
||||
env: {
|
||||
...process.env,
|
||||
DISABLE_BUN_ANALYTICS: "1",
|
||||
},
|
||||
|
||||
shell: false,
|
||||
});
|
||||
console.log("$", bunExec, bunFlags.join(" "));
|
||||
const isDebug = bunExec.endsWith("-debug");
|
||||
|
||||
// bunProcess.stderr.pipe(process.stderr);
|
||||
// bunProcess.stdout.pipe(process.stdout);
|
||||
bunProcess.once("error", (err) => {
|
||||
console.error("❌ bun error", err);
|
||||
process.exit(1);
|
||||
});
|
||||
process.on("beforeExit", () => {
|
||||
bunProcess?.kill(0);
|
||||
});
|
||||
} else if (process.env.PROJECT === "next") {
|
||||
const bunProcess = child_process.spawn(
|
||||
"./node_modules/.bin/next",
|
||||
["--port", "8080"],
|
||||
{
|
||||
cwd: process.cwd(),
|
||||
stdio: "ignore",
|
||||
env: {
|
||||
...process.env,
|
||||
},
|
||||
|
||||
shell: false,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
const delay = new Promise((resolve, reject) => {
|
||||
const watcher = fs.watch(path.resolve(process.cwd(), "src/colors.css.blob"));
|
||||
watcher.once("change", () => {
|
||||
setTimeout(() => {
|
||||
resolve();
|
||||
}, 1000);
|
||||
});
|
||||
});
|
||||
|
||||
async function main() {
|
||||
const browser = await puppeteer.launch({
|
||||
headless: false,
|
||||
waitForInitialPage: true,
|
||||
args: [
|
||||
`--window-size=${parseInt(process.env.SCREEN_WIDTH || "1024", 10) / 2},${
|
||||
parseInt(process.env.SCREEN_HEIGHT || "1024", 10) / 2
|
||||
}`,
|
||||
],
|
||||
defaultViewport: {
|
||||
width: parseInt(process.env.SCREEN_WIDTH || "1024", 10) / 2,
|
||||
height: parseInt(process.env.SCREEN_HEIGHT || "1024", 10) / 2,
|
||||
},
|
||||
});
|
||||
const promises = [];
|
||||
let allTestsPassed = true;
|
||||
|
||||
async function runPage(key) {
|
||||
var page;
|
||||
|
||||
try {
|
||||
console.log("Opening page");
|
||||
page = await browser.newPage();
|
||||
|
||||
console.log(`Navigating to "http://localhost:8080/"`);
|
||||
|
||||
while (true) {
|
||||
try {
|
||||
await page.goto("http://localhost:8080/", { waitUntil: "load" });
|
||||
break;
|
||||
} catch (exception) {
|
||||
if (!exception.toString().includes("ERR_CONNECTION_REFUSED")) break;
|
||||
}
|
||||
}
|
||||
|
||||
await page.bringToFront();
|
||||
|
||||
await delay;
|
||||
|
||||
// runner.stdout.pipe(process.stdout);
|
||||
// runner.stderr.pipe(process.stderr);
|
||||
var didResolve = false;
|
||||
|
||||
console.log(`Completed. Done.`);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
} finally {
|
||||
await page.close();
|
||||
await browser.close();
|
||||
}
|
||||
}
|
||||
|
||||
return runPage();
|
||||
}
|
||||
|
||||
main().catch((error) =>
|
||||
setTimeout(() => {
|
||||
throw error;
|
||||
}),
|
||||
);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user