What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

We've just published an experimental pre-release version 1.9.0-pr.431.1597 that adds CommonJS support to all npm packages in the Fedify ecosystem! 🧪

What's new

This experimental build addresses one of the most requested features—better compatibility with CommonJS-based Node.js applications, especially NestJS projects. The pre-release eliminates the need for Node.js's --experimental-require-module flag and resolves dual package hazard issues.

Note: While we now support CommonJS for legacy project compatibility, we still recommend using ESM or migrating to Deno for the best experience with Fedify.

Who should test this?

  • NestJS developers using Fedify who need CommonJS compatibility
  • Legacy CommonJS-based Node.js projects that had trouble integrating Fedify
  • Anyone who previously needed experimental Node.js flags to use Fedify

How to test

Install the experimental pre-release version:

npm install @fedify/fedify@1.9.0-pr.431.1597
# or for specific integrations
npm install @fedify/nestjs@1.9.0-pr.431.1597

You should now be able to use standard require() syntax without any experimental flags.

What we're looking for

  • Does CommonJS import work correctly in your legacy project?
  • Are you able to remove the --experimental-require-module flag?
  • Any issues or regressions compared to the current stable version?

Your feedback on this experimental build is invaluable for ensuring this major compatibility improvement works smoothly before the official 1.9.0 release!

0
0
0

So released new versions of their packages, with pkg-resources style namespace removal.

Totally normal way to do the bumps:

1. At first, keep the existing testing hack (writing `__init__.py`).
2. Notice that the next package fails because it expects test paths relative to `zope` subdirectory. Skip it for now.
3. While doing the next package, realize you could remove that hack and simply run tests within the `zope` subdirectory! Go back and update all the previous packages, including the one that failed before.
4. Back to bumping. Notice that in the very next package you've had an even better solution: instead of `cd`, you just called `python -m unittest -s …`. Go back and update all the previous packages.
5. Back to bumping. The very next package turns out to actually expects test paths relative to the top-level site-packages directory. Well, you can use a hybrid of the `__init__.py` hack with `python -m unittest -s …`.

0
1
1
0
3

Ist halt billiger jede Kommunalwahl aus der Ferne und nur mit dem Wahlergebniss als "Richtungswahl" zu betrachten, weil sich die Medien damit die ganzen Journalisten vor Ort sparen können, die sich mit der Gegend auskennen. Führt dann eben auch zu einer verzerrten Darstellung und weiterer Politikverdrossenheit.

So hilft man eben auch (wieder) der

0
0

the username and password have long been automated, but now it sends a login code to your e-mail, so you gotta log in to that, which involves another usename and password and a 2fa text message, then by the time you sort all that out the original login code is expired, so you've gotta send it again, which requires you to solve three captchas while drinking a glass of water upside down, then you put it in and it logs you in and you close the private browsing window you used to open gmail before trying to do the actual thing you wanted to do in the first place, at which point the site decides you need to go through the entire 2fa workflow again

0
0
0
0
1

Ist halt billiger jede Kommunalwahl aus der Ferne und nur mit dem Wahlergebniss als "Richtungswahl" zu betrachten, weil sich die Medien damit die ganzen Journalisten vor Ort sparen können, die sich mit der Gegend auskennen. Führt dann eben auch zu einer verzerrten Darstellung und weiterer Politikverdrossenheit.

So hilft man eben auch (wieder) der

0
1
0
0
1
0
0
0

ガソリンが高いよ ガソリンが高いよ
高いよガソリン ガソリンが高いよ
ガソリンが高いよ ガソリンが高いよ
高いよガソリンガソリン ガソリンが高いよ

1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0