Small PureScript online meetup

Meeting link - I’ll start adding people in 15 minutes, so expect to queue for a bit if you join already now

Thanks everyone for the lovely meetup, I thoroughly enjoyed chatting with all of you and I hope you had a great time too! :heart:

Keeping up with our two-weeks schedule I’m going to fix our next meeting for Monday 25th of May, but this time it will be at 13:00 UTC, so that it’s earlier for us in Europe, still includes US East Coast, and allows peeps from Japan and East Asia to join too :slight_smile:

6 Likes

Wanted to capture this discussion point from today’s meetup, since this question comes up occasionally:

What’s missing from having PureScript 1.0?

  • Package registry
  • ES6 modules
  • Better dead code elimination
  • Recommended bundling workflow
  • Solid documentation
  • Smooth new-user experience

The focus is to make sure that things are working really well before opening the floodgates to all the new users that will accompany a 1.0 announcement, rather than merely meeting the semantic versioning requirement of no upcoming breaking changes in the language.

Also, esbuild was mentioned as a candidate for recommended bundler once the ES modules feature is complete.

4 Likes

Just some thoughts on how to make this time better for everyone

Before the meeting begins, I think it would be good to let others know what is one thing each person attending wants to get out of a given meetup. This will help us know how many breakout rooms to make as well as who will be in those groups.

4 Likes

Yeah that’s great feedback, thanks. The last time we all had a couple of minutes to introduce ourselves so that it was quite smooth to figure out what to do, but this time it was a bit more chaotic - probably due to being super late for me - and I apologize for this.
Next time let’s have a quick round of “I’m here because…”, so that we can spend our time more efficiently :slightly_smiling_face:

2 Likes

Oh, I was thinking we would post an opening thread on Discourse “There will be a meetup on Day X at Time Y. If you plan on coming, post 1 thing that you want to get out of this meetup. For example, what’s something you want to learn? or discuss? or work on together?” Then people would post all of that in the thread. Then someone could organize this information into the following:

  • number of people coming
  • recommended breakout rooms and who will likely be in each
  • miscellaneous instructions for people before it starts (like “you have to be assigned to a breakout room before the menu option that allows you to switch between them will appear on your interface”)

That way, we reduce the amount of time making intros because people are already familiar with what others are doing / want to talk about / their background.

7 Likes

So I made a small fork of the halogen template which uses esbuild instead of webpack!

Feedback would be appreciated!

2 Likes

Thanks for investigating and making this easy to reproduce. I like your strategy for eliminating duplicate index.html files. I’ll have to incorporate that into this template. pnpm may also be a better recommendation for new users (more discussion about that here).

Is there a way to enable automatic page refresh on file save with your workflow? That’s how the other template repo is configured.

Bundle size probably isn’t the main selling point of esbuild, but for reference, it produces a 129 KB bundle (29 KB gzip), which is around what we get with parcel (126 / 27 KB).

2 Likes

Hey @milesfrain, I updated the repo to have automatic reloading :smiley:

Thanks. I notice esbuild with automatic reload generally works well, but there are occasional problems where the refresh is stale, or has no content at all.

Here is a recording I made while comparing how long it takes to render results after a file save for parcel vs esbuild. It shows a situation with esbuild where:

  • The first save produces a stale refresh (change from “I” to “You” not applied).
  • The second save produces no content.
  • The third save finally picks up the latest changes.

I wonder if this is related to Monday’s conversation about how bundlers with filewatchers don’t know when purs is done, so perhaps esbuild is picking up some incomplete compilation output.

1 Like

Hey, I looked into it and have no idea how to fix it:)

I had similar issues with parcel. It would be cool if there was a way to tell the language server to run a command after each rebuild!

If you have a fix don’t hesitate to open a pull request!

Is there still a meetup today?

Yep, meeting link: https://us02web.zoom.us/j/82638883679?pwd=aTRaNWlNYVBQa2d1cCtwM0NFUHd0QT09

In about ~20 min I’ll start letting people in. See you soon!

Thanks! This will be my first time making it.