(fluent.js) Build and test clean-up, compatibility, and TypeScript

I’d like to start a longer-term effort of reducing the tech debt and cleaning up the build and testing infrastructure in the fluent.js family of packages. The goals of the project are as follows:

  • Simplify the build pipeline and reduce the number of dev dependencies.
  • Focus on natively supporting ES modules in browsers and in Node.
  • Increase the usefulness of CI testing.
  • Don’t break the current compatibility of compat.js builds.

I kicked the discussion off on GitHub, and I’m cross-posting here in hope that more people will see it and share feedback:

  • Revisit Compatibility #435

At the same time, I’ve made some progress on the tentative migration of fluent.js to TypeScript. I appreciate the benefits static typing brings and I’ve enjoyed writing TypeScript for a number of personal projects over the course of the year. TypeScript makes it easier to read and reason about the code, and makes changing code faster and less prone to mistakes (although it’s not perfect at it). I think it would be a good change for fluent.js but I’d like to hear other people’s opinions on the matter. I also realize that TypeScript is another build tool, adding to the complexity of publishing, testing, debugging etc. See the following for more information and please share your thoughts on GitHub:

  • Migrate to TypeScript? #376
  • Experimental PR migrating @fluent/bundle #436
1 Like