Hacker News new | past | comments | ask | show | jobs | submit login
Chaijs.com just let their domain expire (chaijs.com)
46 points by omgmajk 5 months ago | hide | past | favorite | 31 comments

Hi, I'm the current lead maintainer of Chai.

We don't own the domain name, the previous maintainer/author does. It seems to have lapsed. There's not much I can do about that other than attempt to contact the previous maintainer, which I've done.

I am not sure if you know, but domain registrars have a policy that allows the organization or company to be able to get ahold of the domain.

For example, if the domain is registered under a former employee and you cannot get ahold of that employee, the organization or company can fill out a form provided by the registrar to gain access to the domain.

This would certainly apply to you, and you should be able to get ahold of the domain name (and renew it). You will need to provide certain documents in order to prove that your organization should have access to the domain. What is required depends on the registrar.

Also, I would contact the domain registrar and tell them that you'd like to pay for the renewal (so they will change the name servers back to your previous name servers) while the details are worked out about domain ownership.

If you have any trouble with ANY of this, get in touch and I will help you get it taken care of, you should be able to find me via a search for my user id.

The subdomain chai.js.org is available and it may be worth investigating that as an alternative. (https://js.org/ has more details)

Much love. I like chai a lot. Thanks for your work.

Since you're here, and the online docs are currently missing, do you know the best way to a stacktrace from a failed Chai assertion? Basically, if I do:

    import chai from 'chai';
    chai.config.includeStack = true;
    try {
    } catch (e) {
In the REPL, I'm getting `e` as an AssertionError with a trace, but in my running code, the error is coming back as a vanilla object without a stacktrace. Sorry that this is clearly not the right forum for this kind of question.

Failed expectations always throw an AssertionError, and they always have a stack. It might be the test runner you have which is breaking or hiding the stack?

Thanks; figured it out. I was passing the object to a parent thread and the class properties were being removed in the process. Thanks for the help.

For those of you wondering what a "Chaijs" is like I was: https://github.com/chaijs/chai

> BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.

Chai has unfortunately been left behind by its maintainers. My own personal attempts to contribute were met with silence and oddly-placed resistance (when I was able to get a response). It's been my opinion for a few years that Chai is obsolete tech, but it's still prolifically used in a lot of packages/libraries/etc that are in maintenance mode. There are just a lot of better alternatives now.

Sorry to hear that Andrew. If you'd like to point me to issues or PRs where you've contributed and don't feel like you had a good response, I'd be happy to follow up on them.

Appreciate the sentiment, but I moved on a long time ago to some tools that I feel better suit my needs. Nothing but love for the project and good on you for keeping it breathing.

What alternatives do you like?

I really enjoy Ava [1] or anything assert-tape-like [2]. "uvu" [3] is getting a lot of love lately, but it's very feature limited and much of it's touted advantages are at the detriment to feature set.

[1] https://github.com/avajs/ava

[2] https://github.com/substack/tape

[3] https://github.com/lukeed/uvu

Jest is great for front-end (or full stack integration) testing, but I feel it's specialized for that use-case and doesn't always play nice with backend/middle-tier testing needs.

I like simplicity of mochajs but chai felt really outdated. Jest on the other hand is so complicated and magical that I have no confidence in tests that I write using it. That's why I've created earljs: https://earljs.dev/

It's a modern, fully typesafe chai replacement that works great with mocha. Very inspired by Jest (matchers, snapshots) but without magic that makes Jest hard to reason about.


The matchers cover basically all the same use cases.

Not to mention that jest's "expect.arrayContaining" and "expect.objectContaining" literally blow most other assertion libraries out of the water.

I don't know what kind of shop you're running where JS libraries are 'literally' getting blown out of water but I like it.

It would not surprise me if there's javascript running on nuclear subs. It's already made it to space: https://www.infoq.com/news/2020/06/javascript-spacex-dragon/

In the trivial sense, sure, someone probably has a web browser on a nuclear sub. But if you're talking software written for the operation of the sub itself, I expect it's either Ada, C89 or C++.

Ada was, after all, developed specifically by the DoD for exactly such purposes.

Jest as a test runner is very slow. I normally run mocha while importing the expects from jest.

  const { deepStrictEqual: same } = require('assert');

I wonder how long Github will show the domain as verified[1].

[1] https://github.com/chaijs

I'm keeping track of the verified status in this public sheet:


I did it in 3 min with Monitoro[0], a no-code tool I built to track website changes and send data to SaaS tools and apps.

[0]: https://monitoro.co

EDIT: Update, the team has changed the URL in their github account. It doesn't appear as verified for now. I'm still leaving the tracker running for some time.

We'll never know how long it would have taken for Github to figure it out...

This page reminds of the design of a widespread squatted domains page back in the days, with a picture of a girl with a backpack.

By Googling I found this [1] that leads to this one [2]

Weird nostalgia.

[1] https://www.reddit.com/r/pics/comments/7z628/who_the_fuck_is...

[2] https://web.archive.org/web/20160304051326/http://yousuckatw...

Just to update everyone: the domain has been renewed and is being transferred over to my account (as the current lead maintainer). We’ll use some funds to ensure it stays active for a long time and this won’t happen again.

That’s awesome, great to hear.

Is this a supply chain attack waiting to happen? The new domain owner can “restore” the site to look like the original but host malicious libraries. If @chaijs.com e-mail addresses were used to register accounts, e.g. on GitHub or package registries, anything belonging to these accounts would be tainted as well because its under control of the new domain owner.

https://github.com/chaijs/chaijs.github.io/issues/200 Looks like the owner of the domain is no longer active

It appears to still be in a state where they could renew it and have it put back, though.

Hopefully, I enjoy chaijs and it's very comfy to use in postman.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact