swarmsim / swarm

Swarm Simulator, an idle game with lots of bugs.
https://www.swarmsim.com
GNU General Public License v3.0
479 stars 140 forks source link

add typescript build and package #753

Closed erosson closed 1 year ago

erosson commented 1 year ago

Trying to build the coffeescript site with Parcel and other new tools went poorly in #752. Broke all the tests, among other problems.

So, new strategy: one package for old coffeescript, one package for new typescript. Build and test the typescript separately, with separate tools. Embed it inside the coffeescript site.

At a minimum, I'd like to typescript-ify the game's spreadsheet data. The spreadsheet-downloader tech stopped working years ago, so all the game content that was once in the spreadsheet is now frozen and unchangeable. The spreadsheet was a decent idea for its time, but hardcoding game data is a better fit today - static types are well-supported now, and my future ambitions for this game are much lower.

Eventually, it'd be nice to rewrite the whole site in typescript. If we never find time for that, the spreadsheet content is still worth a typescript rewrite, and is self-contained enough that the language split won't cause any real pain.

(What happened to the elm rewrite? https://gitlab.com/erosson/swarm-elm , https://elm.swarmsim.com . Too many unfixable decimal precision bugs. I love you Elm, but without a good decimal library you're a bad fit for swarmsim, and I seem incapable of building a good decimal library myself.)

PR will tell me if the Netlify and Github builds still work

netlify[bot] commented 1 year ago

Deploy Preview for swarmsim-preprod ready!

Name Link
Latest commit 617f0ac218bee423e8a1db9efde1a5960a06506f
Latest deploy log https://app.netlify.com/sites/swarmsim-preprod/deploys/6396a78c6170640008925eaa
Deploy Preview https://deploy-preview-753--swarmsim-preprod.netlify.app/static/paypal
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.