November 19, 2024

Subject: Dependencies vs. devDependencies; timezones; refactoring barrel files; deno compile; Parcel v2.13.0; Rspack v1.1.1; Turborepo 2.3; ESLint v9.15.0

Dependencies vs. devDependencies for JavaScript apps

angelika.me @angelikatyborska@mas.to

“Whenever I’m adding a new dependency to a JavaScript app, or setting up the build process of a new app, I ask myself: what exactly are devDependencies? How do I decide whether to add a new dependency as a regular dependency or a dev dependency?”

Managing timezones in JavaScript apps

www.nikgraf.com @nikgraf@mastodon.social

“Handling timezones in web and mobile applications can feel intimidating. For a long time, I tried to avoid it – hoping to sidestep a deep dive into the complexities until I absolutely had to confront them. That time finally came, and after some exploration, I developed a mental model that simplifies the process considerably for me.”

Refactoring barrel files with codemods

mmazzarolo.com github.com/mmazzarolo

Self-contained executable programs with deno compile

deno.com github.com/ry github.com/lambtron @deno_land@fosstodon.org

New versions

Parcel v2.13.0: mode for bundling libraries, globs in package.json "source", and more

github.com @devongovett@mastodon.social @parcel@mastodon.social

Highlights:
  • Library mode for bundling: “By default, Parcel bundles your whole library into a single file for each target (e.g. main, and module). If you have many exports that may be used independently, distributing separate files can improve tree shaking in end applications. This can be done using the @parcel/bundler-library plugin.”
  • Support for globs in the package.json "source" property
  • Faster resolver

Rspack v1.1.1: bundle webpack-compatible “dynamic-link libraries”

github.com github.com/JSerFeng github.com/web-infra-dev

The new rspack.DllPlugin and rspack.DllReferencePlugin are compatible with webpack’s DLLPlugin and DllReferencePlugin.

Quote: “DLL plugins help you improve build performance by separating rarely-changed code (like vendor dependencies) into separate bundles. The term ‘DLL’ stands for ‘dynamic-link library’.”

Turborepo 2.3: boundaries RFC, package task shortcuts, simplified cache control, and more

turbo.build github.com/chris-olszewski github.com/nicholaslyang github.com/anthonyshew github.com/vercel

Highlights (quoting the blog post):
  • Boundaries RFC: Enforce constraints to maintain developer experience
  • Package task shortcuts: Execute tasks with turbo run package#task
  • Simplified cache control: Easier management of cache sources using a single flag

ESLint v9.15.0: plugins can specify meta.defaultOptions, and more

eslint.org github.com/mdjermanovic @eslint@fosstodon.org

This email was sent to {{ email | default }}. You can unsubscribe from this list here or update your preferences.