Chat Logs

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