@absolutejs/absolute 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/build/AuthTestingIndex.8q7s3n20.js +40610 -0
  2. package/build/DocumentationIndex.cq053dzg.js +23430 -0
  3. package/build/HomeIndex.g38k7rq0.js +48223 -0
  4. package/build/assets/favicon.ico +0 -0
  5. package/build/assets/jpeg/mercadolibre-logo.jpeg +0 -0
  6. package/build/assets/jpeg/yahoo-Icon.jpeg +0 -0
  7. package/build/assets/png/Facebook_Logo_Primary.png +0 -0
  8. package/build/assets/png/LI-In-Bug.png +0 -0
  9. package/build/assets/png/LINE_Brand_icon.png +0 -0
  10. package/build/assets/png/Okta_Wordmark_Black_S.png +0 -0
  11. package/build/assets/png/Polar_logo_black_web.png +0 -0
  12. package/build/assets/png/SLA-Slack-from-Salesforce-logo.png +0 -0
  13. package/build/assets/png/Synology_logo_Standard.png +0 -0
  14. package/build/assets/png/Tumblr_Logos_2018.03.06_t_Icon_Blue.png +0 -0
  15. package/build/assets/png/Zoom_Logo_Bloom_RGB.png +0 -0
  16. package/build/assets/png/logo_withings_black.png +0 -0
  17. package/build/assets/png/logomark_black.png +0 -0
  18. package/build/assets/png/naver-btnD_icon_circle.png +0 -0
  19. package/build/assets/png/naver-btnG_icon_circle.png +0 -0
  20. package/build/assets/png/osu!logo.png +0 -0
  21. package/build/assets/png/twitter-logo-black.png +0 -0
  22. package/build/assets/svg/42-logo.svg +1 -0
  23. package/build/assets/svg/DA_Alert_Color-Logo.svg +27 -0
  24. package/build/assets/svg/Figma-Icon-(Full-color).svg +7 -0
  25. package/build/assets/svg/GitHub_Invertocat_Dark.svg +14 -0
  26. package/build/assets/svg/Microsoft-Entra-ID-color-icon.svg +9 -0
  27. package/build/assets/svg/PATREON_SYMBOL_1_BLACK_RGB.svg +8 -0
  28. package/build/assets/svg/Reddit_Icon_FullColor.svg +142 -0
  29. package/build/assets/svg/amazoncognito-logo.svg +1 -0
  30. package/build/assets/svg/anilist-logo.svg +1 -0
  31. package/build/assets/svg/apple-logo.svg +1 -0
  32. package/build/assets/svg/atlassian-logo.svg +1 -0
  33. package/build/assets/svg/auth0-logo.svg +1 -0
  34. package/build/assets/svg/authentik-logo.svg +1 -0
  35. package/build/assets/svg/autodesk-logo.svg +1 -0
  36. package/build/assets/svg/battlenet-logo.svg +1 -0
  37. package/build/assets/svg/bitbucket-logo.svg +1 -0
  38. package/build/assets/svg/box-logo.svg +1 -0
  39. package/build/assets/svg/bun-logo.svg +1 -0
  40. package/build/assets/svg/bungie-logo.svg +1 -0
  41. package/build/assets/svg/coinbase-logo.svg +1 -0
  42. package/build/assets/svg/default-profile-icon-light.svg +3 -0
  43. package/build/assets/svg/default-profile-icon.svg +3 -0
  44. package/build/assets/svg/discord-logo.svg +1 -0
  45. package/build/assets/svg/dribbble-logo.svg +1 -0
  46. package/build/assets/svg/dropbox-logo.svg +1 -0
  47. package/build/assets/svg/elysia.svg +11 -0
  48. package/build/assets/svg/epicgames-logo.svg +1 -0
  49. package/build/assets/svg/etsy-logo.svg +1 -0
  50. package/build/assets/svg/gitea-logo.svg +1 -0
  51. package/build/assets/svg/gitlab-logo.svg +1 -0
  52. package/build/assets/svg/google-logo.svg +7 -0
  53. package/build/assets/svg/intuit-logo.svg +4 -0
  54. package/build/assets/svg/kakao-logo.svg +1 -0
  55. package/build/assets/svg/keycloak-logo.svg +1 -0
  56. package/build/assets/svg/kick-logo.svg +1 -0
  57. package/build/assets/svg/lichess-logo.svg +1 -0
  58. package/build/assets/svg/linear-logo.svg +1 -0
  59. package/build/assets/svg/logomark_black.svg +25 -0
  60. package/build/assets/svg/mastadon-logo-purple.svg +10 -0
  61. package/build/assets/svg/mercadopago-logo.svg +1 -0
  62. package/build/assets/svg/myanimelist-logo.svg +1 -0
  63. package/build/assets/svg/notion-logo.svg +1 -0
  64. package/build/assets/svg/rgb-tiltify22_mark_blue.svg +3 -0
  65. package/build/assets/svg/roblox-logo.svg +1 -0
  66. package/build/assets/svg/salesforce-logo.svg +1 -0
  67. package/build/assets/svg/shikimori-logo.svg +1 -0
  68. package/build/assets/svg/spotify-Primary_Logo_Green_RGB.svg +1 -0
  69. package/build/assets/svg/start.gg_Icon_RGB.svg +15 -0
  70. package/build/assets/svg/strava-logo.svg +1 -0
  71. package/build/assets/svg/tiktok-logo.svg +1 -0
  72. package/build/assets/svg/twitch-glitch_flat_purple.svg +21 -0
  73. package/build/assets/svg/vk-logo.svg +1 -0
  74. package/build/assets/svg/workos-logo-color.svg +21 -0
  75. package/build/assets/svg/yandex-icon_grad_circ.svg +20 -0
  76. package/dist/index.js +17 -6
  77. package/dist/index.js.map +4 -4
  78. package/dist/src/core/pageHandlers.d.ts +2 -2
  79. package/dist/src/plugins/networkingPlugin.d.ts +4 -1
  80. package/package.json +7 -7
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Shikimori</title><path d="M2.8025.0025C2.7779.03 2.8332.1223 2.9834.3c.0981.1134.1594.2328.233.4444.0551.1594.1198.3157.1443.3464.0368.049.0396.037.0427-.1102V.8181l.218.3004c.331.4568.5365.6992.6744.7973.0706.046.1136.0919.0952.098-.049.0153-.4785-.2208-.6778-.374-.1012-.0767-.196-.1411-.2114-.1411-.0153 0-.0644-.0461-.1073-.1013-.0399-.0552-.1348-.1408-.2053-.1898-.1717-.1196-.3527-.2913-.3957-.374C2.763.7721 2.668.7323 2.668.7814c0 .049.245.377.435.5793.5825.6224 1.1776.932 2.7688 1.4287.3373.1043.6347.2085.6623.233.0246.0215.0737.0398.1074.0398.0306 0 .0795.0152.104.0305.0399.0245.0367.031-.0093.031-.0368 0-.0521.018-.046.0548.0092.0552.1595.1045.4477.1444.1287.0184.1593.0124.1593-.0244 0-.049-.0889-.083-.2207-.083-.049 0-.0858-.0151-.0858-.0304 0-.0184.031-.025.0708-.0188.0368.0092.1652.0306.2817.052.276.046.353.0768.353.135 0 .0644.0826.092.1377.046.0307-.0276.046-.0274.046-.0028 0 .0183.0151.0337.0304.0337.0184 0 .031-.0214.031-.046 0-.0582-.0309-.0586.4842.0212.3066.046.42.077.374.0923-.098.0368-.0428.0858.0952.0858.0705 0 .1195.0153.1195.0337 0 .0276.0704.0306.2452.0183.1594-.0123.2516-.0093.2639.0122.0122.0184.0643.0275.1195.0183.0521-.0092.1961.0034.3126.0248.3066.0583 1.1313.1044 2.977.1688 2.983.1042 5.157.3277 5.9726.6159.3617.1287.9075.4048 1.0087.509.1594.1686.2082.3066.1898.5334-.0092.1135-.0092.2149 0 .2241.089.089.2855-.0859.2855-.2545 0-.0338.0639-.1165.1467-.187.331-.2913.3803-.454.3436-1.1194-.0246-.4476-.031-.4782-.2302-1.1343-.2606-.8585-.3215-.9903-.6342-1.3214-.3679-.3863-.7023-.6072-1.1592-.7635-.1103-.0368-.3434-.1224-.5212-.1899-.2483-.098-.4262-.141-.788-.1931-.512-.0736-1.6126-.1256-1.956-.0919-.1226.0123-.6132 0-1.1498-.0337-.61-.0337-.984-.046-1.0729-.0277-.0766.0154-.2085.0274-.2944.0305-.1257 0-.1837.0187-.291.0984-.1257.092-.2149.1194-.5644.1777-.5641.092-.929.1653-1.0823.2175-.1196.0429-.3157.0706-.6192.089-.8309.0521-1.3029.0952-1.4071.129-.0706.0214-.3406.0274-.7913.0182-.5488-.0123-.6895-.006-.7171.0277-.0276.0306-.0155.0398.0581.0398.1809 0 1.7968.1258 1.8121.141.0154.0154-.273.003-1.0977-.0491-.2423-.0154-.4567-.0186-.472-.0094-.0583.0368-.4939.0307-.9108-.0122-.515-.0521-1.0115-.138-1.4714-.2545-.2146-.0521-.4662-.0916-.644-.1008-.328-.0153-.6778-.129-1.1714-.3773-.325-.1625-.3614-.1684-.3614-.0366v.1008L3.244.5331c-.0552-.0644-.1224-.1689-.15-.2302-.0552-.1165-.2609-.328-.2915-.3004zm.4584 3.1887c-.5697.0269-1.0938.4707-1.47 1.2628-.2238.4752-.2635.6593-.2789 1.291-.0122.4966-.0063.598.0642 1.0119.1503.8615.19.9625.5058 1.2721.3342.3312 1.1654.785 1.6284.8892.1594.0338.3464.0768.4139.0952.2575.0644.61.0885 1.4868.1008.8431.0153.9136.0125 1.027-.0427.0797-.0398.2486-.0707.4908-.089.2023-.0184.4165-.0459.4748-.0643.0582-.0153.1841-.0309.276-.0309.0951 0 .1903-.0182.2087-.0366.0735-.0735.4228-.1503.757-.1687.187-.0092.3621-.0273.3928-.0427.1011-.0551.052-.0859-.1135-.0675-.095.0092-.187.003-.2207-.0154-.0491-.0307-.034-.0335.0825-.0366.0766 0 .2269-.0093.3342-.0216.1655-.0153.1842-.0248.1382-.0585-.1134-.0828-.0153-.1041.4936-.1041.4568 0 .5886-.0215.4537-.0736-.0275-.0092-.1413-.0216-.2517-.0216-.1134-.003-.1624-.0119-.1134-.015.0521-.006.1628-.0277.2517-.043.0859-.0185.6255-.0399 1.1958-.046.5702-.0061 1.0542-.0124 1.0757-.0155.0276 0 .0338-.0215.0216-.0614-.0123-.043-.0061-.061.0276-.061.0245 0 .083-.049.129-.1073.0919-.1195.1161-.1137.156.0427l.0277.1012.2207.0094c.1748.0061.2333-.003.2916-.046.0398-.0306.1224-.0645.1837-.0768l.1135-.0216-.0183.1782c-.0184.144-.0152.1716.0215.1593.0246-.0092.1222-.0338.2203-.0553l.1749-.0337-.0675-.089c-.043-.0491-.1226-.098-.1931-.1163l-.1224-.031.1838-.006a4.812 4.812 0 0 1 .3004 0c.0644.003.1135-.0089.1135-.0272 0-.0184-.0182-.034-.0366-.037-.0215-.0031-.089-.0064-.1472-.0095-.0582-.006-.1564-.0398-.2147-.0735-.0582-.0368-.1317-.067-.1593-.067-.0307 0-.0553-.0157-.0553-.031 0-.0215.092-.0305.2545-.0244.2483.0092.2514.0091.2606.0919.0123.095.0122.095.0797.0675a.0498.0498 0 0 0 .0305-.0581c-.0184-.049.037-.0893.083-.0586.0183.0092.0918.0215.1593.0276.1655.0092.9718.0737 1.1803.0952.1103.0122.1593.0307.1593.0614 0 .0521.037.0549.083.0089.0245-.0245.1442-.021.4354.0066.3557.0337.4017.0425.4017.0946 0 .0368.0213.0556.0704.0586.0368 0 .1656.0121.2821.0244.1196.0123.2329.0181.2513.009.0214-.0062.0891-.0979.1504-.2021.1196-.1993.2208-.3253.2607-.3253.0153 0 .018.0219.0089.0464-.0123.0245-.003.046.0154.046.0215 0 .0338.0244.0277.052-.0061.0367.0213.0582.0919.0735.1134.0246.1657.0582.089.0582-.0276 0-.0525.0183-.0525.0398 0 .0215.1812.0984.4448.1842.2821.095.4444.1623.4444.1899 0 .0306-.095.0092-.3586-.0797-.6254-.2146-.898-.2606-.898-.1533 0 .046.0488.0676.285.1228.1532.0368.3002.0642.3248.0642.0214 0 .0798.0338.1289.0736.049.043.294.144.5638.233.273.092.5153.19.5644.233.049.0398.1349.0952.1931.1166.1932.0828.4693.3309.6778.6099.3005.4047.2973.3895.1317.3895-.0766 0-.2946-.0214-.4847-.046-.19-.0245-.429-.0461-.53-.0492-.2147-.0061-1.9684.0278-2.6245.0493l-.4449.0154-.0703-.1504c-.0398-.0828-.1533-.2298-.2545-.331-.1747-.1717-.1837-.175-.2236-.1167-.0245.0337-.1168.1626-.2057.2822l-.1622.2236-.1992.0065c-.1104 0-.2242.0031-.2517 0-.0675-.006-.0703.0305-.009.144l.0427.0857-.3126.0216c-.8524.0582-2.661.282-3.268.4078-.135.0276-.4203.049-.6778.052-.46.0061-.5028.0184-.794.187-.0522.0276-.0922.0339-.129.0155-.0337-.0215-.0643-.0154-.0858.0122-.0337.0398-.144.058-.9534.1439-.1778.0184-.475.0584-.665.089-.3312.0552-.3499.0552-.5246 0-.184-.0582-.7572-.135-1.2478-.1687l-.276-.0216-.1622.1472c-.092.0797-.218.2177-.2855.3066-.092.1257-.141.166-.1992.166-.1257 0-1.2448.1743-2.0573.3215-.8768.1594-1.2077.1904-1.4652.1382-.2668-.0551-.2701-.0583-.2578-.3956.0122-.2851.0093-.2941-.0643-.3309-.1686-.0858-.331-.0371-.5517.1622-.052.046-.1133.0675-.1992.0675-.0705-.003-.1993.0306-.3004.0797l-.181.083.009.1593c.006.0858-.0032.1868-.0216.2175-.0245.0368-.0306.1994-.0183.4692.0123.328.003.4476-.0398.607l-.052.1964.1471.2086c.2943.4139.503.7294.503.763 0 .0185.0916.1169.208.218.506.4446.7207.5642 1.2174.6685.5273.1134.6131.1072.9412-.0675.1502-.0828.3251-.1965.3895-.2578.0797-.0736.3067-.1931.742-.3863.6776-.3004.7631-.3342.7631-.2943 0 .0122.043.426.0952.9135.1073 1.024.1411 2.0052.0951 2.7595-.0368.5917-.0644.6743-.4814 1.4591-.6469 1.2172-1.4224 2.3947-2.008 3.0477-.1043.1196-.2636.325-.3525.4599-.1686.2544-.4815.595-.871.9445-.1317.1195-.2177.2206-.2085.2451.0092.0245.1046.0734.2119.1102.1042.0398.2052.083.2236.0984.049.049.1101.0303.337-.0924l.2207-.1223.0891.0614c.1073.0705.3006.0763.4631.015.0644-.0245.1932-.052.2883-.0581.19-.0184.3126-.0703.5118-.2236.0736-.0552.1687-.1073.2147-.1195.089-.0184.8585-.7976 1.2694-1.2881.1287-.1502.4506-.4905.7204-.7542.3771-.374.5457-.5148.7603-.6436.3096-.184.5548-.4076.5854-.5395.0123-.046.052-.1413.0919-.2118.095-.1625.2024-.5792.1748-.6835-.0092-.0429-.0552-.147-.1012-.233-.0797-.141-.0855-.1901-.1008-.5826-.0276-.6898-.138-1.0515-.4875-1.5941-.2023-.3127-.2516-.4231-.3773-.8278-.2085-.696-.2697-1.3493-.1655-1.8613.049-.2545.0735-.2883.279-.4078.1072-.0644.2484-.1656.3159-.227l.1256-.1162.5948-.0675c.328-.0398.6958-.0889.8123-.1134.1196-.0245.3831-.0797.5855-.1195.2054-.043.497-.1164.6473-.1655.1502-.0521.3616-.1137.472-.1383.2146-.049.9472-.1192.9717-.0946.0092.0092.0185.4476.0155.975 0 .8277-.0092 1.0515-.0797 1.6616-.1196 1.0455-.1442 1.3732-.1749 2.526-.0276 1.1466-.0365 1.1986-.2236 1.3335-.1349.0981-.2728.0802-.6806-.1007-.2023-.089-.6286-.264-.9505-.3928-.3189-.1288-.7727-.3277-1.0027-.4411-.233-.1165-.4232-.2028-.4232-.1936 0 .0092.1165.1595.2606.3342.144.1748.2606.325.2606.3342 0 .0092-.0274.0188-.0642.0188-.0552 0-.0584.006-.0155.0642.0276.0398.0369.101.0277.1654-.0123.0828-.0032.1106.058.1505.04.0276.1046.1041.1445.1716.0368.0643.1012.147.141.1776.04.0307.098.1044.1318.1627.0306.0582.1348.1654.233.239.098.0736.193.1687.2113.2086.0184.046.1077.1133.2119.1655.2422.1226.5975.4353.6557.5732.0338.0859.1015.1534.2977.2822.1564.1042.4321.3433.7387.6469.558.5518.5887.5703 1.0425.5427.2943-.0214.4416-.0768.6164-.2362.0705-.0644.1563-.1316.187-.15.0306-.0184.1072-.1072.1655-.1992.0582-.095.147-.1932.193-.2208.1288-.0766.3587-.402.3587-.5062 0-.1533.0582-.251.2606-.441.1778-.1656.2149-.2213.3253-.4941.1717-.417.2326-.6864.2878-1.223.0674-.6622.0616-1.4623-.015-1.962-.1257-.8156-.604-3.0876-.7481-3.5414-.1196-.377-.233-.8676-.233-1.0087 0-.0337.064-.0369.3155-.0215.23.0153.4108.0094.6745-.0305.3127-.046.4202-.049.7514-.0183.2115.0184.3923.0396.3984.0488.0245.0214.4968 1.5575.5765 1.8702.1656.6408.1688.687.2025 2.2996.0153.8431.0304 1.8426.0366 2.2228.0061.6407.0124.7111.089.9932.0981.3587.2054.5919.4261.9108.089.1257.2238.3464.3005.4874.1533.2852.3527.521.6103.7172.3372.2606.6652.4724.8676.5644.2422.1103.4382.2849.6314.5577.0797.1104.1932.2609.2545.3375.0613.0767.1378.1932.1716.2607.0582.1226.0766.1348.4078.233.1532.0459.5762.0548.8123.015.1318-.0216.1812-.052.3928-.2574.285-.276.42-.469.42-.607 0-.2146.0303-.279.156-.3281.0798-.0307.1196-.0673.1196-.1041 0-.1932-.2023-.9723-.3066-1.1747-.0674-.1349-.9471-1.324-1.686-2.2836-.7849-1.0148-1.061-1.4567-1.2234-1.935-.0521-.1624-.2481-1.2754-.3708-2.143-.0889-.6224-.2608-1.2386-.5306-1.9223-.092-.233-.1564-.4228-.141-.4228.0735 0 1.6526.4415 1.7445.4875.0583.0307.2974.159.5274.2878.23.1318.4537.2363.4935.2363.046 0 .239.1073.466.2606l.3895.2606.2025-.0155c.2912-.0276.346-.0398.4687-.1256.1748-.1196.2792-.138.4172-.0736.2667.1257.4507.1472.2883.0338-.2422-.1687-.2667-.2516-.1257-.4632.1687-.2575.1867-.2757.3614-.3646.279-.141.2976-.1745.3895-.6774.043-.2452.1011-.4848.1257-.5338.0705-.1472.0553-.2419-.0642-.3553-.0614-.0583-.1627-.1904-.2302-.2916-.095-.1472-.1223-.2175-.1223-.3248 0-.1196-.0124-.144-.1013-.1992a1.3114 1.3114 0 0 0-.218-.1074c-.1318-.046-.3369-.2635-.3093-.3248a2.3155 2.3155 0 0 0 .0337-.083c.0246-.0613-.2239-.1962-.4692-.2545-.2452-.0582-.2421-.0583-.1992-.1073.0215-.0276.0212-.1227.0028-.3005-.092-.84-.4321-1.4285-.9993-1.7259-.1226-.0644-.2299-.1288-.239-.1471-.0583-.089-.7818-.365-1.1803-.4477-.1257-.0245-.3744-.0857-.5522-.1378-.1778-.049-.4504-.1016-.6098-.12-.4568-.043-1.073-.147-1.2754-.2114-.1012-.0307-.3403-.0858-.5335-.1195-.1931-.0368-.3587-.0766-.368-.0919-.0122-.0184-.0858-.0156-.187.0028-.1164.0215-.2912.0217-.5671-.0028-.2177-.0215-.7573-.034-1.1957-.031-.6745.0031-.8585-.0057-1.2019-.0609-.2207-.0368-.518-.0646-.659-.0646-.3373-.0031-1.331-.1042-1.1531-.1196.0276 0 .1195-.0181.2053-.0365.141-.0307.1504-.0372.1228-.0985-.0306-.0644-.0458-.0673-.478-.0642-.368 0-.4539.0094-.4815.0492-.0306.0399-.0615.0428-.1964.0183-.144-.0306-.1533-.0368-.1073-.0736.049-.0368.0492-.046.0094-.0736-.0246-.0153-.0676-.031-.0952-.031-.0399 0-1.9562-.19-2.7533-.2727-.1564-.0184-.2941-.0365-.3033-.0488-.0092-.0092.0061-.0154.0337-.0154.0307 0 .052-.0124.052-.0277 0-.046-.156-.058-.3707-.0244-.1502.0215-.2303.0213-.2794-.0032-.0582-.0246-.0395-.0273.0924-.015.2912.0306.1683-.0401-.1383-.077-.1656-.0214-.3372-.043-.3801-.0491a.486.486 0 0 1-.1379-.046c-.0306-.0184-.3679-.0763-.748-.1284-.3802-.0521-.8065-.1291-.9506-.172-.4967-.141-.9532-.371-1.2169-.607l-.1382-.1224.0492-.1167c.1011-.2422.2299-.3832.4598-.4936.3158-.1533.46-.178 1.0762-.1964.561-.0122.693-.0365.6286-.1101-.0307-.043-.472-.1106-.6928-.1106-.138 0-.4815-.0674-.7973-.1594a1.2257 1.2257 0 0 0-.4003-.0488zm8.8497 2.9503a.3051.3051 0 0 0-.0675.0051c-.181.0307-.285.0734-.3769.15l-.0919.0736.1472.0033c.1564 0 .239-.0306.3525-.1317.0713-.0644.0838-.0963.0366-.1003zm5.7762.951c.0383-.0023.0814.0089.1626.0319.092.0276.193.0401.2236.031.0307-.0093.0674-.0033.0797.0182.0153.0276-.0305.0308-.1838.0155-.1349-.0154-.2025-.0126-.2025.0089 0 .0184.0368.04.0858.0492.2238.049.2607.0737.0675.0553-.1103-.0123-.276-.0213-.368-.0244-.1594 0-.1684.003-.1776.0797-.0092.0705-.0307.0856-.181.1163-.2053.0398-.1775.0428-.3308-.0277-.138-.0674-.4418-.141-.819-.1992-.141-.0215-.2112-.0396-.1621-.0427.0521 0 .3342.0307.6286.0736.5457.0767.6988.0919.6651.0582-.0092-.0092-.2483-.0644-.5334-.1196l-.5151-.1012.3004-.0033c.2637-.003.3098.0064.3895.0647.0675.049.1011.0583.1256.0337.0215-.0214.1133-.028.2574-.0187.1931.0153.2452.0095.3525-.0488.0628-.0322.0966-.0483.135-.0506zm-4.3466.5128c.0152-.0005.0284.0022.036.0099.0124.0092.0002.0306-.0243.0459-.0582.0368-.0828.037-.1073.0033-.0138-.0253.0499-.0575.0956-.059zm4.9869.09c.0057-.002.0158.0105.0342.0366.0214.0276.0673.052.098.052.049 0 .0524.006.0126.0305-.0245.0153-.0522.0276-.0614.0276-.0613-.0061-.0919-.0428-.0919-.098.0015-.0306.0027-.0468.0085-.0487zm-3.9515.1805c-.0613 0-.104.052-.104.1256 0 .0153.0702.0276.156.0276.1472 0 .1536-.003.1168-.052-.0613-.0797-.0983-.1012-.1688-.1012zm6.1901 1.8304c.0215-.0092.0738.012.1167.0426.0675.0521.0674.0584.0122.0553-.0858 0-.184-.0765-.1289-.098Z"/></svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 236.05 225.25"><defs><style>.cls-1{fill:#1ed760;stroke-width:0px;}</style></defs><path class="cls-1" d="m122.37,3.31C61.99.91,11.1,47.91,8.71,108.29c-2.4,60.38,44.61,111.26,104.98,113.66,60.38,2.4,111.26-44.6,113.66-104.98C229.74,56.59,182.74,5.7,122.37,3.31Zm46.18,160.28c-1.36,2.4-4.01,3.6-6.59,3.24-.79-.11-1.58-.37-2.32-.79-14.46-8.23-30.22-13.59-46.84-15.93-16.62-2.34-33.25-1.53-49.42,2.4-3.51.85-7.04-1.3-7.89-4.81-.85-3.51,1.3-7.04,4.81-7.89,17.78-4.32,36.06-5.21,54.32-2.64,18.26,2.57,35.58,8.46,51.49,17.51,3.13,1.79,4.23,5.77,2.45,8.91Zm14.38-28.72c-2.23,4.12-7.39,5.66-11.51,3.43-16.92-9.15-35.24-15.16-54.45-17.86-19.21-2.7-38.47-1.97-57.26,2.16-1.02.22-2.03.26-3.01.12-3.41-.48-6.33-3.02-7.11-6.59-1.01-4.58,1.89-9.11,6.47-10.12,20.77-4.57,42.06-5.38,63.28-2.4,21.21,2.98,41.46,9.62,60.16,19.74,4.13,2.23,5.66,7.38,3.43,11.51Zm15.94-32.38c-2.1,4.04-6.47,6.13-10.73,5.53-1.15-.16-2.28-.52-3.37-1.08-19.7-10.25-40.92-17.02-63.07-20.13-22.15-3.11-44.42-2.45-66.18,1.97-5.66,1.15-11.17-2.51-12.32-8.16-1.15-5.66,2.51-11.17,8.16-12.32,24.1-4.89,48.74-5.62,73.25-2.18,24.51,3.44,47.99,10.94,69.81,22.29,5.12,2.66,7.11,8.97,4.45,14.09Z"/></svg>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 26.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="start.gg_icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
4
+ y="0px" viewBox="0 0 1001 1001" style="enable-background:new 0 0 1001 1001;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:#3F80FF;}
7
+ .st1{fill:#FF2768;}
8
+ </style>
9
+ <g>
10
+ <path class="st0" d="M32.2,500h187.5c17.3,0,31.2-14,31.2-31.2V281.2c0-17.3,14-31.2,31.2-31.2h687.5c17.3,0,31.2-14,31.2-31.2
11
+ V31.2C1001,14,987,0,969.7,0H251C112.9,0,1,111.9,1,250v218.8C1,486,15,500,32.2,500z"/>
12
+ <path class="st1" d="M969.8,500H782.3c-17.3,0-31.2,14-31.2,31.2v187.5c0,17.3-14,31.2-31.2,31.2H32.3C15,750,1,764,1,781.2v187.5
13
+ C1,986,15,1000,32.3,1000H751c138.1,0,250-111.9,250-250V531.2C1001,514,987,500,969.8,500z"/>
14
+ </g>
15
+ </svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Strava</title><path d="M15.387 17.944l-2.089-4.116h-3.065L15.387 24l5.15-10.172h-3.066m-7.008-5.599l2.836 5.598h4.172L10.463 0l-7 13.828h4.169"/></svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>TikTok</title><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/></svg>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 23.0.6, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 2400 2800" style="enable-background:new 0 0 2400 2800;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:#FFFFFF;}
7
+ .st1{fill:#9146FF;}
8
+ </style>
9
+ <title>Asset 2</title>
10
+ <g>
11
+ <polygon class="st0" points="2200,1300 1800,1700 1400,1700 1050,2050 1050,1700 600,1700 600,200 2200,200 "/>
12
+ <g>
13
+ <g id="Layer_1-2">
14
+ <path class="st1" d="M500,0L0,500v1800h600v500l500-500h400l900-900V0H500z M2200,1300l-400,400h-400l-350,350v-350H600V200h1600
15
+ V1300z"/>
16
+ <rect x="1700" y="550" class="st1" width="200" height="600"/>
17
+ <rect x="1150" y="550" class="st1" width="200" height="600"/>
18
+ </g>
19
+ </g>
20
+ </g>
21
+ </svg>
@@ -0,0 +1 @@
1
+ <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>VK</title><path d="m9.489.004.729-.003h3.564l.73.003.914.01.433.007.418.011.403.014.388.016.374.021.36.025.345.03.333.033c1.74.196 2.933.616 3.833 1.516.9.9 1.32 2.092 1.516 3.833l.034.333.029.346.025.36.02.373.025.588.012.41.013.644.009.915.004.98-.001 3.313-.003.73-.01.914-.007.433-.011.418-.014.403-.016.388-.021.374-.025.36-.03.345-.033.333c-.196 1.74-.616 2.933-1.516 3.833-.9.9-2.092 1.32-3.833 1.516l-.333.034-.346.029-.36.025-.373.02-.588.025-.41.012-.644.013-.915.009-.98.004-3.313-.001-.73-.003-.914-.01-.433-.007-.418-.011-.403-.014-.388-.016-.374-.021-.36-.025-.345-.03-.333-.033c-1.74-.196-2.933-.616-3.833-1.516-.9-.9-1.32-2.092-1.516-3.833l-.034-.333-.029-.346-.025-.36-.02-.373-.025-.588-.012-.41-.013-.644-.009-.915-.004-.98.001-3.313.003-.73.01-.914.007-.433.011-.418.014-.403.016-.388.021-.374.025-.36.03-.345.033-.333c.196-1.74.616-2.933 1.516-3.833.9-.9 2.092-1.32 3.833-1.516l.333-.034.346-.029.36-.025.373-.02.588-.025.41-.012.644-.013.915-.009ZM6.79 7.3H4.05c.13 6.24 3.25 9.99 8.72 9.99h.31v-3.57c2.01.2 3.53 1.67 4.14 3.57h2.84c-.78-2.84-2.83-4.41-4.11-5.01 1.28-.74 3.08-2.54 3.51-4.98h-2.58c-.56 1.98-2.22 3.78-3.8 3.95V7.3H10.5v6.92c-1.6-.4-3.62-2.34-3.71-6.92Z"/></svg>
@@ -0,0 +1,21 @@
1
+ <svg version="1.1" id="Layer_1" xmlns:x="ns_extend;" xmlns:i="ns_ai;" xmlns:graph="ns_graphs;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 55.4 48" style="enable-background:new 0 0 55.4 48;" xml:space="preserve">
2
+ <style type="text/css">
3
+ .st0{fill:#6363F1;}
4
+ </style>
5
+ <metadata>
6
+ <sfw xmlns="ns_sfw;">
7
+ <slices>
8
+ </slices>
9
+ <sliceSourceBounds bottomLeftOrigin="true" height="48" width="55.4" x="55.4" y="-228.6">
10
+ </sliceSourceBounds>
11
+ </sfw>
12
+ </metadata>
13
+ <g>
14
+ <path id="logo-icon" class="st0" d="M0,24c0,1.1,0.3,2.1,0.8,3l9.7,16.8c1,1.7,2.5,3.1,4.4,3.7c3.6,1.2,7.5-0.3,9.4-3.5l2.3-4.1
15
+ l-9.2-16l9.8-16.9L29.5,3c0.7-1.2,1.6-2.2,2.7-3H17.2c-2.6,0-5.1,1.4-6.4,3.7L0.8,21C0.3,21.9,0,22.9,0,24z">
16
+ </path>
17
+ <path id="logo-icon_1_" class="st0" d="M55.4,24c0-1.1-0.3-2.1-0.8-3l-9.8-17c-1.9-3.3-5.8-4.7-9.4-3.5c-1.9,0.6-3.4,2-4.4,3.7
18
+ L28.7,8L38,24l-9.8,16.9L25.9,45c-0.7,1.2-1.6,2.2-2.7,3h15.1c2.6,0,5.1-1.4,6.4-3.7l10-17.3C55.1,26.1,55.4,25.1,55.4,24z">
19
+ </path>
20
+ </g>
21
+ </svg>
@@ -0,0 +1,20 @@
1
+ <svg width="120" height="120" viewBox="0 0 120 120" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_2488_6932)">
3
+ <path d="M20 60C20 37.9086 37.9086 20 60 20V20C82.0914 20 100 37.9086 100 60V60C100 82.0914 82.0914 100 60 100V100C37.9086 100 20 82.0914 20 60V60Z" fill="white"/>
4
+ <path d="M59.9998 120C45.0899 119.64 39.1877 109.673 37.3861 100.047C36.4082 94.8144 36.8371 86.1138 37.3861 83.0083C38.2783 77.9468 39.7196 70.672 41.3152 62.2305C43.5972 50.1344 49.6538 43.2542 62.7279 40.8007L84.1132 36.7167C84.6794 33.5425 85.7533 25.1358 84.7753 19.9542C82.9566 10.2259 75.4588 0.154419 60.24 2.17953e-06C27.0916 5.07745e-06 -0.000214137 26.8516 -0.000211239 60C-0.000208341 93.1484 26.8514 120 59.9998 120Z" fill="url(#paint0_linear_2488_6932)"/>
5
+ <path d="M59.9998 0C74.9097 0.360309 82.2874 10.346 84.089 19.9714C85.067 25.2045 83.1625 33.8862 82.6134 36.9917C81.7212 42.0532 80.28 49.328 78.6843 57.7695C76.4024 69.8656 70.3458 76.7458 57.2717 79.1993L37.3709 83.1066C36.8047 86.2807 34.9345 94.8595 35.9125 100.041C37.7312 109.769 44.5408 119.846 59.7596 120C92.908 120 120 93.1484 120 60C120 26.8516 93.1482 0 59.9998 0Z" fill="url(#paint1_linear_2488_6932)"/>
6
+ </g>
7
+ <defs>
8
+ <linearGradient id="paint0_linear_2488_6932" x1="-0.000431424" y1="120" x2="94.4319" y2="6.72576" gradientUnits="userSpaceOnUse">
9
+ <stop stop-color="#D2DFFF"/>
10
+ <stop offset="1" stop-color="#4E7FFF"/>
11
+ </linearGradient>
12
+ <linearGradient id="paint1_linear_2488_6932" x1="120" y1="-2.85362e-06" x2="24.0889" y2="109.927" gradientUnits="userSpaceOnUse">
13
+ <stop stop-color="#D2DFFF"/>
14
+ <stop offset="1" stop-color="#4E7FFF"/>
15
+ </linearGradient>
16
+ <clipPath id="clip0_2488_6932">
17
+ <rect width="120" height="120" fill="white"/>
18
+ </clipPath>
19
+ </defs>
20
+ </svg>
package/dist/index.js CHANGED
@@ -141,9 +141,18 @@ var generateReactIndexFiles = async (reactPagesDirectory, reactIndexesDirectory)
141
141
  const [componentName] = fileName.split(".");
142
142
  const content = [
143
143
  `import { hydrateRoot } from 'react-dom/client';`,
144
+ `import type { ComponentType } from 'react'`,
144
145
  `import { ${componentName} } from '../pages/${componentName}';
145
146
  `,
146
- `hydrateRoot(document, <${componentName} />);`
147
+ `type PropsOf<C> = C extends ComponentType<infer P> ? P : never;
148
+ `,
149
+ `declare global {
150
+ interface Window {
151
+ __INITIAL_PROPS__: PropsOf<typeof ReactExample>
152
+ }
153
+ }
154
+ `,
155
+ `hydrateRoot(document, <${componentName} {...window.__INITIAL_PROPS__} />);`
147
156
  ].join(`
148
157
  `);
149
158
  return writeFile2(join(reactIndexesDirectory, `${componentName}Index.tsx`), content);
@@ -162,10 +171,12 @@ var scanEntryPoints = async (dir, pattern) => {
162
171
  var {file } = globalThis.Bun;
163
172
  import { createElement } from "react";
164
173
  import { renderToReadableStream } from "react-dom/server";
165
- var handleReactPageRequest = async (pageComponent, index) => {
166
- const page = createElement(pageComponent);
167
- const stream = await renderToReadableStream(page, {
168
- bootstrapModules: [index]
174
+ var handleReactPageRequest = async (pageComponent, index, ...props) => {
175
+ const [maybeProps] = props;
176
+ const element = maybeProps !== undefined ? createElement(pageComponent, maybeProps) : createElement(pageComponent);
177
+ const stream = await renderToReadableStream(element, {
178
+ bootstrapModules: [index],
179
+ bootstrapScriptContent: maybeProps ? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)}` : undefined
169
180
  });
170
181
  return new Response(stream, {
171
182
  headers: { "Content-Type": "text/html" }
@@ -232,5 +243,5 @@ export {
232
243
  DEFAULT_PORT
233
244
  };
234
245
 
235
- //# debugId=91F881ADF50A880064756E2164756E21
246
+ //# debugId=CEF8ABE147BC74FE64756E2164756E21
236
247
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -3,14 +3,14 @@
3
3
  "sources": ["../src/constants.ts", "../src/core/build.ts", "../src/utils/updateScriptTags.ts", "../src/core/pageHandlers.ts", "../src/plugins/networkingPlugin.ts", "../src/utils/networking.ts", "../src/plugins/pageRouterPlugin.ts"],
4
4
  "sourcesContent": [
5
5
  "export const SECONDS_IN_A_MINUTE = 60;\nexport const MILLISECONDS_IN_A_SECOND = 1000;\nexport const MILLISECONDS_IN_A_MINUTE =\n\tMILLISECONDS_IN_A_SECOND * SECONDS_IN_A_MINUTE;\nexport const MINUTES_IN_AN_HOUR = 60;\nexport const HOURS_IN_DAY = 24;\nexport const MILLISECONDS_IN_A_DAY =\n\tMILLISECONDS_IN_A_SECOND *\n\tSECONDS_IN_A_MINUTE *\n\tMINUTES_IN_AN_HOUR *\n\tHOURS_IN_DAY;\nexport const TIME_PRECISION = 2;\nexport const TWO_THIRDS = 2 / 3;\nexport const DEFAULT_PORT = 3000;\n",
6
- "import { rm, mkdir, writeFile } from \"node:fs/promises\";\nimport { join, basename } from \"node:path\";\nimport { cwd, exit } from \"node:process\";\nimport { $, build as bunBuild, Glob } from \"bun\";\nimport {\n\tMILLISECONDS_IN_A_MINUTE,\n\tMILLISECONDS_IN_A_SECOND,\n\tTIME_PRECISION\n} from \"../constants\";\nimport { BuildConfig } from \"../types\";\nimport { updateScriptTags } from \"../utils/updateScriptTags\";\n\nexport const build = async ({\n\tbuildDirectory = \"build\",\n\tassetsDirectory,\n\treactDirectory,\n\thtmlDirectory,\n\thtmxDirectory,\n\ttailwind\n}: BuildConfig) => {\n\tconst start = performance.now();\n\n\tconst projectRoot = cwd();\n\tconst buildDirectoryAbsolute = join(projectRoot, buildDirectory);\n\tconst assetsDirectoryAbsolute =\n\t\tassetsDirectory && join(projectRoot, assetsDirectory);\n\tconst reactIndexesDirectory =\n\t\treactDirectory && join(projectRoot, reactDirectory, \"indexes\");\n\tconst reactPagesDirectory =\n\t\treactDirectory && join(projectRoot, reactDirectory, \"pages\");\n\tconst htmlPagesDirectory =\n\t\thtmlDirectory && join(projectRoot, htmlDirectory, \"pages\");\n\tconst htmlScriptsDirectory =\n\t\thtmlDirectory && join(projectRoot, htmlDirectory, \"scripts\");\n\tconst htmxDirectoryAbsolute =\n\t\thtmxDirectory && join(projectRoot, htmxDirectory);\n\n\tawait rm(buildDirectoryAbsolute, { force: true, recursive: true });\n\tawait mkdir(buildDirectoryAbsolute);\n\n\tvoid (\n\t\treactPagesDirectory &&\n\t\treactIndexesDirectory &&\n\t\t(await generateReactIndexFiles(\n\t\t\treactPagesDirectory,\n\t\t\treactIndexesDirectory\n\t\t))\n\t);\n\n\tvoid (\n\t\tassetsDirectoryAbsolute &&\n\t\t(await $`cp -R ${assetsDirectoryAbsolute} ${buildDirectoryAbsolute}`)\n\t);\n\n\tif (htmlPagesDirectory) {\n\t\tawait mkdir(join(buildDirectoryAbsolute, \"html\", \"pages\"), {\n\t\t\trecursive: true\n\t\t});\n\t\tawait $`cp -R ${htmlPagesDirectory} ${join(buildDirectoryAbsolute, \"html\")}`;\n\t}\n\n\tif (htmxDirectoryAbsolute) {\n\t\tawait mkdir(join(buildDirectoryAbsolute, \"htmx\"));\n\t\tawait $`cp -R ${htmxDirectoryAbsolute} ${join(buildDirectoryAbsolute)}`;\n\t}\n\n\tif (tailwind) {\n\t\tawait $`bunx @tailwindcss/cli -i ${tailwind.input} -o ${join(buildDirectoryAbsolute, tailwind.output)}`;\n\t}\n\n\tconst reactEntryPaths =\n\t\treactIndexesDirectory &&\n\t\t(await scanEntryPoints(reactIndexesDirectory, \"*.tsx\"));\n\n\tconst htmlEntryPaths =\n\t\thtmlScriptsDirectory &&\n\t\t(await scanEntryPoints(htmlScriptsDirectory, \"*.{js,ts}\"));\n\n\tconst entryPaths = [...(reactEntryPaths || []), ...(htmlEntryPaths || [])];\n\n\tif (entryPaths.length === 0) {\n\t\tconsole.warn(\"No entry points found, skipping building manifest\");\n\n\t\treturn null;\n\t}\n\n\tconst { logs, outputs } = await bunBuild({\n\t\tentrypoints: entryPaths,\n\t\tformat: \"esm\",\n\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\toutdir: buildDirectoryAbsolute,\n\t\ttarget: \"bun\"\n\t}).catch((error) => {\n\t\tconsole.error(\"Build failed:\", error);\n\t\texit(1);\n\t});\n\n\tlogs.forEach((log) => {\n\t\tif (log.level === \"error\") console.error(log);\n\t\telse if (log.level === \"warning\") console.warn(log);\n\t\telse if (log.level === \"info\" || log.level === \"debug\")\n\t\t\tconsole.info(log);\n\t});\n\n\tconst manifest = outputs.reduce<Record<string, string>>((acc, artifact) => {\n\t\tlet relativePath = artifact.path;\n\n\t\tif (relativePath.startsWith(buildDirectoryAbsolute)) {\n\t\t\trelativePath = relativePath.slice(buildDirectoryAbsolute.length);\n\t\t}\n\n\t\trelativePath = relativePath.replace(/^\\/+/, \"\");\n\n\t\tconst baseName = relativePath.split(\"/\").pop();\n\t\tif (!baseName) return acc;\n\n\t\tconst hashDelimiter = `.${artifact.hash}.`;\n\t\tif (!baseName.includes(hashDelimiter)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Expected hash delimiter ${hashDelimiter} in ${baseName}`\n\t\t\t);\n\t\t}\n\n\t\tconst [fileName] = baseName.split(hashDelimiter);\n\t\tacc[fileName] = `/${relativePath}`;\n\n\t\treturn acc;\n\t}, {});\n\n\tvoid (\n\t\thtmlPagesDirectory &&\n\t\t(await updateScriptTags(\n\t\t\tmanifest,\n\t\t\tjoin(buildDirectoryAbsolute, \"html\", \"pages\")\n\t\t))\n\t);\n\n\tconst end = performance.now();\n\tconst durationMs = end - start;\n\tlet duration;\n\tif (durationMs < MILLISECONDS_IN_A_SECOND) {\n\t\tduration = `${durationMs.toFixed(TIME_PRECISION)}ms`;\n\t} else if (durationMs < MILLISECONDS_IN_A_MINUTE) {\n\t\tduration = `${(durationMs / MILLISECONDS_IN_A_SECOND).toFixed(TIME_PRECISION)}s`;\n\t} else {\n\t\tduration = `${(durationMs / MILLISECONDS_IN_A_MINUTE).toFixed(TIME_PRECISION)}m`;\n\t}\n\tconsole.log(`Build completed in ${duration}`);\n\n\treturn manifest;\n};\n\nconst generateReactIndexFiles = async (\n\treactPagesDirectory: string,\n\treactIndexesDirectory: string\n) => {\n\tawait rm(reactIndexesDirectory, { force: true, recursive: true });\n\tawait mkdir(reactIndexesDirectory);\n\n\tconst pagesGlob = new Glob(\"*.*\");\n\tconst files: string[] = [];\n\tfor await (const file of pagesGlob.scan({ cwd: reactPagesDirectory })) {\n\t\tfiles.push(file);\n\t}\n\tconst promises = files.map(async (file) => {\n\t\tconst fileName = basename(file);\n\t\tconst [componentName] = fileName.split(\".\");\n\t\tconst content = [\n\t\t\t`import { hydrateRoot } from 'react-dom/client';`,\n\t\t\t`import { ${componentName} } from '../pages/${componentName}';\\n`,\n\t\t\t`hydrateRoot(document, <${componentName} />);`\n\t\t].join(\"\\n\");\n\n\t\treturn writeFile(\n\t\t\tjoin(reactIndexesDirectory, `${componentName}Index.tsx`),\n\t\t\tcontent\n\t\t);\n\t});\n\tawait Promise.all(promises);\n};\n\nconst scanEntryPoints = async (dir: string, pattern: string) => {\n\tconst entryPaths: string[] = [];\n\tconst glob = new Glob(pattern);\n\tfor await (const file of glob.scan({ absolute: true, cwd: dir })) {\n\t\tentryPaths.push(file);\n\t}\n\n\treturn entryPaths;\n};\n",
6
+ "import { rm, mkdir, writeFile } from \"node:fs/promises\";\nimport { join, basename } from \"node:path\";\nimport { cwd, exit } from \"node:process\";\nimport { $, build as bunBuild, Glob } from \"bun\";\nimport {\n\tMILLISECONDS_IN_A_MINUTE,\n\tMILLISECONDS_IN_A_SECOND,\n\tTIME_PRECISION\n} from \"../constants\";\nimport { BuildConfig } from \"../types\";\nimport { updateScriptTags } from \"../utils/updateScriptTags\";\n\nexport const build = async ({\n\tbuildDirectory = \"build\",\n\tassetsDirectory,\n\treactDirectory,\n\thtmlDirectory,\n\thtmxDirectory,\n\ttailwind\n}: BuildConfig) => {\n\tconst start = performance.now();\n\n\tconst projectRoot = cwd();\n\tconst buildDirectoryAbsolute = join(projectRoot, buildDirectory);\n\tconst assetsDirectoryAbsolute =\n\t\tassetsDirectory && join(projectRoot, assetsDirectory);\n\tconst reactIndexesDirectory =\n\t\treactDirectory && join(projectRoot, reactDirectory, \"indexes\");\n\tconst reactPagesDirectory =\n\t\treactDirectory && join(projectRoot, reactDirectory, \"pages\");\n\tconst htmlPagesDirectory =\n\t\thtmlDirectory && join(projectRoot, htmlDirectory, \"pages\");\n\tconst htmlScriptsDirectory =\n\t\thtmlDirectory && join(projectRoot, htmlDirectory, \"scripts\");\n\tconst htmxDirectoryAbsolute =\n\t\thtmxDirectory && join(projectRoot, htmxDirectory);\n\n\tawait rm(buildDirectoryAbsolute, { force: true, recursive: true });\n\tawait mkdir(buildDirectoryAbsolute);\n\n\tvoid (\n\t\treactPagesDirectory &&\n\t\treactIndexesDirectory &&\n\t\t(await generateReactIndexFiles(\n\t\t\treactPagesDirectory,\n\t\t\treactIndexesDirectory\n\t\t))\n\t);\n\n\tvoid (\n\t\tassetsDirectoryAbsolute &&\n\t\t(await $`cp -R ${assetsDirectoryAbsolute} ${buildDirectoryAbsolute}`)\n\t);\n\n\tif (htmlPagesDirectory) {\n\t\tawait mkdir(join(buildDirectoryAbsolute, \"html\", \"pages\"), {\n\t\t\trecursive: true\n\t\t});\n\t\tawait $`cp -R ${htmlPagesDirectory} ${join(buildDirectoryAbsolute, \"html\")}`;\n\t}\n\n\tif (htmxDirectoryAbsolute) {\n\t\tawait mkdir(join(buildDirectoryAbsolute, \"htmx\"));\n\t\tawait $`cp -R ${htmxDirectoryAbsolute} ${join(buildDirectoryAbsolute)}`;\n\t}\n\n\tif (tailwind) {\n\t\tawait $`bunx @tailwindcss/cli -i ${tailwind.input} -o ${join(buildDirectoryAbsolute, tailwind.output)}`;\n\t}\n\n\tconst reactEntryPaths =\n\t\treactIndexesDirectory &&\n\t\t(await scanEntryPoints(reactIndexesDirectory, \"*.tsx\"));\n\n\tconst htmlEntryPaths =\n\t\thtmlScriptsDirectory &&\n\t\t(await scanEntryPoints(htmlScriptsDirectory, \"*.{js,ts}\"));\n\n\tconst entryPaths = [...(reactEntryPaths || []), ...(htmlEntryPaths || [])];\n\n\tif (entryPaths.length === 0) {\n\t\tconsole.warn(\"No entry points found, skipping building manifest\");\n\n\t\treturn null;\n\t}\n\n\tconst { logs, outputs } = await bunBuild({\n\t\tentrypoints: entryPaths,\n\t\tformat: \"esm\",\n\t\tnaming: `[dir]/[name].[hash].[ext]`,\n\t\toutdir: buildDirectoryAbsolute,\n\t\ttarget: \"bun\"\n\t}).catch((error) => {\n\t\tconsole.error(\"Build failed:\", error);\n\t\texit(1);\n\t});\n\n\tlogs.forEach((log) => {\n\t\tif (log.level === \"error\") console.error(log);\n\t\telse if (log.level === \"warning\") console.warn(log);\n\t\telse if (log.level === \"info\" || log.level === \"debug\")\n\t\t\tconsole.info(log);\n\t});\n\n\tconst manifest = outputs.reduce<Record<string, string>>((acc, artifact) => {\n\t\tlet relativePath = artifact.path;\n\n\t\tif (relativePath.startsWith(buildDirectoryAbsolute)) {\n\t\t\trelativePath = relativePath.slice(buildDirectoryAbsolute.length);\n\t\t}\n\n\t\trelativePath = relativePath.replace(/^\\/+/, \"\");\n\n\t\tconst baseName = relativePath.split(\"/\").pop();\n\t\tif (!baseName) return acc;\n\n\t\tconst hashDelimiter = `.${artifact.hash}.`;\n\t\tif (!baseName.includes(hashDelimiter)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Expected hash delimiter ${hashDelimiter} in ${baseName}`\n\t\t\t);\n\t\t}\n\n\t\tconst [fileName] = baseName.split(hashDelimiter);\n\t\tacc[fileName] = `/${relativePath}`;\n\n\t\treturn acc;\n\t}, {});\n\n\tvoid (\n\t\thtmlPagesDirectory &&\n\t\t(await updateScriptTags(\n\t\t\tmanifest,\n\t\t\tjoin(buildDirectoryAbsolute, \"html\", \"pages\")\n\t\t))\n\t);\n\n\tconst end = performance.now();\n\tconst durationMs = end - start;\n\tlet duration;\n\tif (durationMs < MILLISECONDS_IN_A_SECOND) {\n\t\tduration = `${durationMs.toFixed(TIME_PRECISION)}ms`;\n\t} else if (durationMs < MILLISECONDS_IN_A_MINUTE) {\n\t\tduration = `${(durationMs / MILLISECONDS_IN_A_SECOND).toFixed(TIME_PRECISION)}s`;\n\t} else {\n\t\tduration = `${(durationMs / MILLISECONDS_IN_A_MINUTE).toFixed(TIME_PRECISION)}m`;\n\t}\n\tconsole.log(`Build completed in ${duration}`);\n\n\treturn manifest;\n};\n\nconst generateReactIndexFiles = async (\n\treactPagesDirectory: string,\n\treactIndexesDirectory: string\n) => {\n\tawait rm(reactIndexesDirectory, { force: true, recursive: true });\n\tawait mkdir(reactIndexesDirectory);\n\n\tconst pagesGlob = new Glob(\"*.*\");\n\tconst files: string[] = [];\n\tfor await (const file of pagesGlob.scan({ cwd: reactPagesDirectory })) {\n\t\tfiles.push(file);\n\t}\n\tconst promises = files.map(async (file) => {\n\t\tconst fileName = basename(file);\n\t\tconst [componentName] = fileName.split(\".\");\n\t\tconst content = [\n\t\t\t`import { hydrateRoot } from 'react-dom/client';`,\n\t\t\t`import type { ComponentType } from 'react'`,\n\t\t\t`import { ${componentName} } from '../pages/${componentName}';\\n`,\n\t\t\t`type PropsOf<C> = C extends ComponentType<infer P> ? P : never;\\n`,\n\t\t\t`declare global {\n\t\t\t\tinterface Window {\n\t\t\t\t\t__INITIAL_PROPS__: PropsOf<typeof ReactExample>\n\t\t\t\t}\n\t\t\t}\\n`,\n\t\t\t`hydrateRoot(document, <${componentName} {...window.__INITIAL_PROPS__} />);`\n\t\t].join(\"\\n\");\n\n\t\treturn writeFile(\n\t\t\tjoin(reactIndexesDirectory, `${componentName}Index.tsx`),\n\t\t\tcontent\n\t\t);\n\t});\n\tawait Promise.all(promises);\n};\n\nconst scanEntryPoints = async (dir: string, pattern: string) => {\n\tconst entryPaths: string[] = [];\n\tconst glob = new Glob(pattern);\n\tfor await (const file of glob.scan({ absolute: true, cwd: dir })) {\n\t\tentryPaths.push(file);\n\t}\n\n\treturn entryPaths;\n};\n",
7
7
  "import { readFile, writeFile } from \"node:fs/promises\";\nimport { Glob } from \"bun\";\n\nexport const updateScriptTags = async (\n\tmanifest: Record<string, string>,\n\thtmlDir: string\n) => {\n\tconst glob = new Glob(\"*.html\");\n\tconst htmlFiles: string[] = [];\n\tconst fileIterator = glob.scan({ absolute: true, cwd: htmlDir });\n\tfor await (const filePath of fileIterator) {\n\t\thtmlFiles.push(filePath);\n\t}\n\n\tconst tasks = htmlFiles.map(async (filePath) => {\n\t\tconst original = await readFile(filePath, \"utf8\");\n\t\tconst updated = Object.entries(manifest).reduce(\n\t\t\t(html, [scriptName, newPath]) => {\n\t\t\t\tconst esc = scriptName.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\t\t\t\tconst regex = new RegExp(\n\t\t\t\t\t`(<script[^>]+src=[\"'])(/?(?:.*/)?${esc})(?:\\\\.[^.\"'/]+)?(\\\\.js)([\"'][^>]*>)`,\n\t\t\t\t\t\"g\"\n\t\t\t\t);\n\n\t\t\t\treturn html.replace(\n\t\t\t\t\tregex,\n\t\t\t\t\t(_, prefix, __, ___, suffix) =>\n\t\t\t\t\t\t`${prefix}${newPath}${suffix}`\n\t\t\t\t);\n\t\t\t},\n\t\t\toriginal\n\t\t);\n\n\t\tawait writeFile(filePath, updated, \"utf8\");\n\t});\n\n\tawait Promise.all(tasks);\n};\n",
8
- "import { file } from \"bun\";\nimport { ComponentType, createElement } from \"react\";\nimport { renderToReadableStream } from \"react-dom/server\";\n\nexport const handleReactPageRequest = async (\n\tpageComponent: ComponentType,\n\tindex: string\n) => {\n\tconst page = createElement(pageComponent);\n\tconst stream = await renderToReadableStream(page, {\n\t\tbootstrapModules: [index]\n\t});\n\n\treturn new Response(stream, {\n\t\theaders: { \"Content-Type\": \"text/html\" }\n\t});\n};\n\nexport const handleHTMLPageRequest = (html: string) => file(html);\n",
8
+ "import { file } from \"bun\";\nimport { ComponentType, createElement } from \"react\";\nimport { renderToReadableStream } from \"react-dom/server\";\n\nexport const handleReactPageRequest = async <P extends object>(\n\tpageComponent: ComponentType<P>,\n\tindex: string,\n\t...props: keyof P extends never ? [] : [props: P]\n): Promise<Response> => {\n\tconst [maybeProps] = props;\n\tconst element =\n\t\tmaybeProps !== undefined\n\t\t\t? createElement(pageComponent, maybeProps)\n\t\t\t: createElement(pageComponent);\n\n\tconst stream = await renderToReadableStream(element, {\n\t\tbootstrapModules: [index],\n\t\tbootstrapScriptContent: maybeProps\n\t\t\t? `window.__INITIAL_PROPS__=${JSON.stringify(maybeProps)}`\n\t\t\t: undefined\n\t});\n\n\treturn new Response(stream, {\n\t\theaders: { \"Content-Type\": \"text/html\" }\n\t});\n};\n\nexport const handleHTMLPageRequest = (html: string) => file(html);\n",
9
9
  "import { argv } from \"node:process\";\nimport { env } from \"bun\";\nimport { Elysia } from \"elysia\";\nimport { DEFAULT_PORT } from \"../constants\";\nimport { getLocalIPAddress } from \"../utils/networking\";\n\nlet host = env.HOST ?? \"localhost\";\nconst port = env.PORT ?? DEFAULT_PORT;\nlet localIP: string | undefined;\n\nconst args = argv;\nconst hostFlag = args.includes(\"--host\");\n\nif (hostFlag) {\n\tlocalIP = getLocalIPAddress();\n\thost = \"0.0.0.0\";\n}\n\nexport const networkingPlugin = (app: Elysia) =>\n\tapp.listen(\n\t\t{\n\t\t\thostname: host,\n\t\t\tport: port\n\t\t},\n\t\t() => {\n\t\t\t//TODO: I dont think this works properly\n\t\t\tif (hostFlag) {\n\t\t\t\tconsole.log(`Server started on http://localhost:${port}`);\n\t\t\t\tconsole.log(\n\t\t\t\t\t`Server started on network: http://${localIP}:${port}`\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tconsole.log(`Server started on http://${host}:${port}`);\n\t\t\t}\n\t\t}\n\t);\n",
10
10
  "import os from \"os\";\n\nexport const getLocalIPAddress = () => {\n\tconst interfaces = os.networkInterfaces();\n\tconst addresses = Object.values(interfaces)\n\t\t.flat()\n\t\t.filter(\n\t\t\t(iface): iface is os.NetworkInterfaceInfo => iface !== undefined\n\t\t);\n\tconst ipAddress = addresses.find(\n\t\t(iface) => iface.family === \"IPv4\" && !iface.internal\n\t);\n\n\tif (ipAddress) return ipAddress.address; // Return the first non-internal IPv4 address\n\n\tconsole.warn(\"No IP address found, falling back to localhost\");\n\n\treturn \"localhost\"; // Fallback to localhost if no IP found\n};\n",
11
11
  "export const pageRouterPlugin = () => {\n\tconsole.log(\"Page Router Plugin Not Implemented Yet\");\n};\n"
12
12
  ],
13
- "mappings": "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",
14
- "debugId": "91F881ADF50A880064756E2164756E21",
13
+ "mappings": "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",
14
+ "debugId": "CEF8ABE147BC74FE64756E2164756E21",
15
15
  "names": []
16
16
  }
@@ -1,3 +1,3 @@
1
1
  import { ComponentType } from "react";
2
- export declare const handleReactPageRequest: (pageComponent: ComponentType, index: string) => Promise<Response>;
3
- export declare const handleHTMLPageRequest: (html: string) => import("bun").BunFile;
2
+ export declare const handleReactPageRequest: <P extends object>(pageComponent: ComponentType<P>, index: string, ...props: keyof P extends never ? [] : [props: P]) => Promise<Response>;
3
+ export declare const handleHTMLPageRequest: (html: string) => Bun.BunFile;
@@ -5,10 +5,11 @@ export declare const networkingPlugin: (app: Elysia) => Elysia<"", {
5
5
  derive: {};
6
6
  resolve: {};
7
7
  }, {
8
- typebox: import("@sinclair/typebox").TModule<{}>;
8
+ typebox: {};
9
9
  error: {};
10
10
  }, {
11
11
  schema: {};
12
+ standaloneSchema: {};
12
13
  macro: {};
13
14
  macroFn: {};
14
15
  parser: {};
@@ -16,8 +17,10 @@ export declare const networkingPlugin: (app: Elysia) => Elysia<"", {
16
17
  derive: {};
17
18
  resolve: {};
18
19
  schema: {};
20
+ standaloneSchema: {};
19
21
  }, {
20
22
  derive: {};
21
23
  resolve: {};
22
24
  schema: {};
25
+ standaloneSchema: {};
23
26
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/absolute",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "A fullstack meta-framework for building web applications with TypeScript",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,29 +20,29 @@
20
20
  "release": "bun run format && bun run build && bun publish"
21
21
  },
22
22
  "peerDependencies": {
23
- "elysia": ">= 1.2.0",
23
+ "elysia": ">= 1.3.0",
24
24
  "react": ">= 19.1.0",
25
25
  "react-dom": ">= 19.1.0"
26
26
  },
27
27
  "devDependencies": {
28
- "@elysiajs/static": "1.0.2",
28
+ "@elysiajs/static": "1.3.0",
29
29
  "@tailwindcss/cli": "4.1.7",
30
- "@types/bun": "1.1.1",
30
+ "@types/bun": "1.2.14",
31
31
  "@types/react": "19.1.5",
32
32
  "@types/react-dom": "19.1.5",
33
33
  "@types/vue": "2.0.0",
34
34
  "autoprefixer": "10.4.21",
35
- "elysia": "1.2.25",
35
+ "elysia": "1.3.1",
36
36
  "postcss": "8.5.3",
37
37
  "prettier": "3.5.3",
38
38
  "react": "19.1.0",
39
39
  "svelte": "4.2.15",
40
40
  "tailwindcss": "4.1.7",
41
- "typescript": "5.7.2",
41
+ "typescript": "5.8.3",
42
42
  "vue": "3.4.26",
43
43
  "@stylistic/eslint-plugin-ts": "4.2.0",
44
44
  "eslint": "9.26.0",
45
- "eslint-plugin-absolute": "0.0.3",
45
+ "eslint-plugin-absolute": "0.1.0",
46
46
  "eslint-plugin-import": "2.31.0",
47
47
  "eslint-plugin-promise": "7.2.1",
48
48
  "eslint-plugin-security": "3.0.1",