Chat Logs

  1. * phaleth joined #primate
  2. phalethonMount is difficult to replace
  3. phalethlooks like html components cannot handle ES6 imports, is that the case? https://images4.imagebam.com/e9/ac/29/ME1DC245_o.png
  4. phalethI mean views
  5. * phaleth joined #primate
  6. bluephaleth: I think it should work, I'll investigate why
  7. phalethok, cool, the apps/html example does not have any script tag in views
  8. bluethat's bad
  9. phalethmaybe the example is just old
  10. bluephaleth: https://github.com/primate-run/primate/commit/5a8842add692231d71bb28bbc9498e7ed2428359
  11. nevethtml: support imports 路 primate-run/primate@5a8842a
  12. phalethesbuild is used now, nice
  13. blueI should probably improve it to minify in production, but couldn't be bothered for now
  14. blueso technically fyi phaleth, this isn't the case right now, but if html really tapped onto the primate build system, you should potentially also import svelte components, in case they're configured to act like web components
  15. blueyou could*
  16. bluebut this would requiring a larger rewrite of @primate/html, and also the ability to configure svelte to emit web components, which I think is possible, but isn't available in @primate/svelte right now
  17. bluerequire*
  18. blueI've been playing around with marko v6 and the next primate release will have support for csr in marko, and it has some interesting concepts
  19. phalethis the bundle size with marko small?
  20. blueI haven't checked, to be honest
  21. blueso they support top level imports inside .marko components, which is interesting
  22. phalethsvelte brings in about 23 kBs gziped of some unused vite garbage or whatever
  23. blueoh god
  24. bluethe pivot around vite is terrible: vite is overengineered garbage that should never exist in an ideal universe
  25. bluethe answer has always been esbuild
  26. bluewhy should a frontend framework concern itself with delivering bundler integration, above all in its *core* package
  27. blueat least marko has @marko/vite, which you don't have to tap onto if you don't want
  28. blueanyway, in marko you can do, `import SomeTag from "../lib/SomeTag.marko"; <SomeTag />`
  29. blueI think that's elegant, it's nearing my idea of how things should be in frontend. I'd consider putting the template part inside <template> to make it less chaotic
  30. phalethI've fetched and rebased against master, rebuilt the packages and now when I start primate website I get https://upaste.de/raw/8xk
  31. bluethat looks like a marko error, inside of a svelte component
  32. bluelet me see
  33. blueprobably the marko commit
  34. phalethok
  35. phalethcan esbuild bundle marko?
  36. blueyes
  37. blueok, turns out I replaced the create-root.ts in svelte with the marko one
  38. bluelet me fix that
  39. phalethyeah, no hurry
  40. bluehttps://github.com/primate-run/primate/commit/3d572012ef44b395b6a131b8e3e3bb6107f48962
  41. nevetsvelte: restore root 路 primate-run/primate@3d57201
  42. bluephaleth: ^
  43. bluecool thing I just learnt: to get the commit *before* a commit (so the parent commit essentially), you can add ^ to the sha
  44. blueI did `git restore --source=acf65633b6d0372e32e653754f877ee69adf8b6e^ create-root.ts`
  45. bluegot the source with `git log -n 1 -- create-root.ts`
  46. bluein one command: `git restore --source="$(git log -n 1 --format=%H -- create-root.ts)^" create-root.ts`
  47. blueobviously you can script around that to do something like `restore-last create-root.ts` or so
  48. phalethgetting a new error https://upaste.de/raw/no3
  49. bluehm
  50. bluephaleth: try again
  51. bluelast commit should be `svelte: restore deleted files"
  52. phalethgetting the previous error again https://images4.imagebam.com/44/a8/05/ME1DC8CU_o.png
  53. bluephaleth: did you recompile @primate/html?
  54. phalethyeah, the picture shows that
  55. phalethoh, actually it's cut off
  56. phalethbut in any case yeah
  57. phaleththat error appears at runtime btw
  58. bluehm
  59. bluebut you can run `apps/html` and browse to /script ?
  60. phalethyeah, I can and I get `Hello, bar` on that page and no error
  61. phalethI guess I should just push the code I have to a branch
  62. blueare you sure? this is working for me
  63. blueI created docs2.html
  64. bluethen put `import theme from "#config/theme";` in it, and a console.log
  65. bluethen returned it from a route, and it works
  66. phalethyeah, well, take a look at the wip-dont-merge on my fork
  67. blueok
  68. phalethlatest deno is much faster than previous one, kind of on par with node
  69. bluecool
  70. bluephaleth: I looked at the branch
  71. bluethis is a misunderstanding
  72. bluevariables inside the `<script>` block aren't available as template variables
  73. bluetemplate variables are props
  74. blueso ${theme} would require you passing a `theme` prop to docs.html
  75. phalethah, ok
  76. phaleththat means every variable needs to be a prop?
  77. phalethlike for example size
  78. bluewell yes. or you set it dynamically via querySelector
  79. phalethdang :)
  80. bluewell, we need poly, there's only so much html tmeplates can do
  81. bluespeaking of which, what do you find better?
  82. phalethbut poly will also bring in the svelte compiler?
  83. bluehttps://dpaste.com/3YFKRQV96
  84. bluehttps://dpaste.com/9AF828WK5
  85. blueno, poly will have nothing to do with svelte
  86. phaleththe client side bundle size is the problem with svelte
  87. blueyes, that will be as tiny as possible
  88. phalethah, ok, so you are already working on something new
  89. blueyes
  90. phaleththe first one with template tag looks good
  91. blueso poly will feel very much like svelte 3/4
  92. phalethbut the second one should work if you save it as html file
  93. phalethI mean editors should have no problems then
  94. blueexcept that instead of a magical let, we have a `signal` keyboard, and instead of magical export let being props, we'll have the prop keyword
  95. blueso you're saying the second form is better for editors?
  96. phalethyeah, signal means state
  97. phalethcould also call it state
  98. blueI mean, it doesn't particularly matter because editors wouldn't be able to parse it correctly because of the two new keywords
  99. phalethyeah, the second one with script tag can just go into html file
  100. blueyeah
  101. bluethe main attractive part is that .poly will be ts-first
  102. phalethah, so maybe if you want ts extension to work then the first one is better
  103. blueso `prop foo: number;` and `signal bar: string = "bar";`
  104. phalethor tsx if you want a template lang
  105. bluethe main thing I care about is not having magic here
  106. phalethtsx is actually not as bad as react's tsx
  107. phalethreact kinda screwed it up
  108. blueroyally
  109. phalethand esbuild has no problem transpiling tsx
  110. bluebut tsx won't recognise things like `signal bar: string;`, no?
  111. blueor is it extensible?
  112. phalethyeah, you'll have to add a preprocessor
  113. phalethbut for editors you can use tsx extension I guess
  114. bluethe main concern are editors, but I guess for that you need a plugin/language server
  115. blueanyway, I think svelte 3/4 nearly nailed it, but then they moved on to the rune nonsense, because, you know, toxic community and so on
  116. phalethnah, there is always something underlined with red squiglies with TS in the editor
  117. phalethas long as the compiler is good with the code then the code is good
  118. blueya
  119. phalethsvelte 3 was peak frontend tech
  120. phalethzero dependencies
  121. blueyup
  122. phalethblue: can you tell if this is the correct way to setup an esbuild plugin? the size of the app bundle didn't change https://images4.imagebam.com/17/e1/7d/ME1DCDWD_o.png
  123. phalethyeah, esbuild-svelte is being picked up by the core https://images4.imagebam.com/e8/92/e0/ME1DCERE_o.png
  124. phalethmaybe it should go first before svelte plugin?
  125. * jreicher joined #primate