[HN Gopher] Meta Is Transferring Jest to the OpenJS Foundation ___________________________________________________________________ Meta Is Transferring Jest to the OpenJS Foundation Author : jimmy2020 Score : 207 points Date : 2022-05-11 16:42 UTC (6 hours ago) (HTM) web link (engineering.fb.com) (TXT) w3m dump (engineering.fb.com) | jvalencia wrote: | Me putting my cynic's hat on, I wonder if Meta is trying to | offload as much responsibility given recent belt-tightening? | vjeux wrote: | I've been involved in making this move happen and it has been | many months in the process and was many years overdue. The two | events, at least from my perspective, are unrelated. | jimmy2020 wrote: | Does Meta contribute financially to the foundation? | rickhanlonii wrote: | Meta is a backer of the Linux Foundation which OpenJS is a | part of and has donated $22,000 to the Jest Open Collective | which was created by Meta in 2016 to support non-employee | Jest contributors. Jest actually has all the funds we need | right now and our bigger issue is finding ways to spend it! | [deleted] | lloydatkinson wrote: | Is that it? Facebook is a huge corporation, that must | have React app after React app using Jest, and they are | paying volunteers to work on it now? With a fraction of | what a single developers average salary is? | edgyquant wrote: | Facebook created jest dude, they've invested more than | that 26,000. That's also almost half of the total | donations. | MoSattler wrote: | I didn't know they had so little donations. It's a super | important building block of the industry, and yet the | industry doesn't even pay a single developers salary for | it? | theptip wrote: | Facebook built this, with engineers that they were paying | a salary to. It's 100% industry-funded. | samhw wrote: | I think they meant 'the rest of the industry'? | rickhanlonii wrote: | We don't really need the funds and can't spent the ones | we have, so we haven't pushed for more donations over the | years. | joshmanders wrote: | You're vastly ignoring the fact that Meta paid full time | salaries for developers who worked exclusively on it for | years. | | Overall their financial contributions could be in the | millions. Don't think about the small amount they've done | recently. | rickhanlonii wrote: | From Jest's perspective, that amount is way over what | we've needed to date. | seattle_spring wrote: | I really dislike the attitude of complaining that someone | hasn't given "enough", especially when they've already | given more than almost anyone else. | Kaze404 wrote: | This isn't some_one_, it's some_thing_. I share your | sentiment when it comes to individuals but extending the | same sympathy to a company, especially one the size of | Facebook, doesn't make sense imo. | samhw wrote: | It's not a question of 'sympathy', it's a question of | recognising the neutral fact that a company providing its | code to you free of charge is not further obligated - | irrespective of whether you happen to like or dislike | that company - to spend what you deem to be an | 'appropriate' amount on maintaining the free software | they provide you. | | (And, even if any of the foregoing made any sense, the | notion that an 'appropriate' amount is somehow measured | relative to the company's revenue, rather than the | factual costs of maintaining the software, is | disqualifyingly silly in its own right.) | [deleted] | lloydatkinson wrote: | This isn't some random small library. It is/was a library | developed by a FAANG company that underpins a large part | of the JS ecosystem that they were paying their full time | employees to work on. | samhw wrote: | They are providing their code to you free of charge. They | are _already_ doing you a kindness. So certainly they are | under no obligation to spend $22k, let alone more than | that. Christ, attitudes towards open source have become | seriously warped over the last few years. | lloydatkinson wrote: | And? They were presumably paying at one point their own | developers full time salaries while working on Jest and | now Jest has been cast off to somewhere else and suddenly | any expected future contributors deserve, in comparison, | pennies? All while still using Jest themselves | internally. | gowld wrote: | > any expected future contributors | | no such thing | cute_boi wrote: | Well, they are also benefitting from it, right? Its a | symbiotic relationship. They get huge marketing PR from | it. | | Billionaire also donates million of dollars.... | woodruffw wrote: | I will point out, as an open source maintainer: someone | giving you code "free of charge" is the same thing as | them giving you a free puppy: everybody loves puppies, | but they are absolutely _not_ free to maintain. | | This isn't meant to imply that Meta is, _in this | instance_ , offloading costs onto the community. But it's | a tried-and-true tradition. | samhw wrote: | A white elephant, basically, you mean? I definitely | understand that, but I'm not sure it applies here. Jest | and React are exceptionally mature and well-maintained | pieces of software. Many a startup has been built by | gluing React to Express and Postgres with nary a glimmer | of skill required. Hell, it has its own developer tools | built into Chrome. | woodruffw wrote: | The pernicious thing about "mature and well-maintained" | pieces of software is that their maintenance becomes | bursty: they don't need anything for years, until | something needs changing/fixing _this instant_. | | Log4j is the canonical example of this: it's such a | boring piece of substrate that nobody noticed that it was | effectively maintained by one person and had grown all | kinds of configurable knobs and dials over the years. | | Ultimately, I'm not saying that Meta is in the wrong | here. But "here's a cash infusion with no long-term | funding or staff commitment" is the kind of general | mispattern that we're seeing w/r/t corporate open source. | vjeux wrote: | Meta has contributed $22k to the Jest open collective which | currently sits at $65k. https://opencollective.com/jest | duxup wrote: | I don't know. | | But even if that was the case is it cynical or just the right | thing to do if you've got fewer resources? | rickhanlonii wrote: | I started as a Jest core contributor before joining Meta. It's | arguably the reason I work there now, and I'm really excited for | the move. | | Meta created Jest and a lot of the features that it's known for, | but it's true that it hasn't been invested in for a few years and | most of the recent features were created by the community. | | With this move, Meta is showing their commitment to Open Source | and Jest will be able to grow with ownership through the OpenJS | Foundation led by the Jest core team and the Jest community. | orta wrote: | Thanks for putting in the time to make this work from Meta's | side! Us folks on the outside appreciate it a bunch | nickstinemates wrote: | Reads kind of like an obituary. | jimmy2020 wrote: | Is Meta moving away from Jest or is it still used internally? | rickhanlonii wrote: | Yeah, Meta will continue to use Jest internally. It still | works really well for us, it's just "feature complete" for | our use cases so we haven't needed to invest in it. | ramesh31 wrote: | >Yeah, Meta will continue to use Jest internally. It still | works really well for us, it's just "feature complete" for | our use cases so we haven't needed to invest in it. | | What's the status of Rome? Is that being looked at as a | long term replacement? | zpao wrote: | Rome is a completely separate project that Meta no longer | owns. You can check https://rome.tools/ for the project | status. | jdorfman wrote: | Good. Next should be React. | oceanswave wrote: | But next is already react _smirk_ | jdorfman wrote: | haha. Yeah but still Next, like React is run by a company, | which means a small group sets the priorities. | jimmy2020 wrote: | Do you think React will survive without Meta? | gherkinnn wrote: | Vue survives just fine. | | Sure, its market share is lower, but the quality of Vue 3 is | on par with React. Most impressively, it comes with its own | core libraries for routing [0] and state [1]. And by | extension, has spawned library agnostic tooling in the form | of Vite [2] and now Vitest. [3] | | 0 - https://router.vuejs.org/ | | 1 - https://pinia.vuejs.org/ | | 2 - https://vitejs.dev/ | | 3 - https://vitest.dev/ | nsonha wrote: | react also survivED just fine, but they will die | eventually, and because of the nature of front end | development, it will happen faster than typical software | project. It doesn't help that most veteran web devs hate | react (vs the platform). | k__ wrote: | There are projects with smaller communities than React that | do pretty well. | jimmy2020 wrote: | I know. But it's not just about the community it's more | about the commitment and consistency. | TAForObvReasons wrote: | There are smaller projects not backed by a large tech | company that arguably have more commitment and | consistency. | jdorfman wrote: | > Do you think React will survive without Meta? | | I do. The ecosystem is strong and if handed over to a | foundation like the OpenJS Foundation it has a better chance | of evolving. From my perspective, React is what FB/Meta | needs, not necessarily what the community wants. There is no | oversight or governance which is concerning given that many | developers make a living off of React. | | For an expanded explanation see YouTube/KTQVBXb0uPM?t=328 | azangru wrote: | If only it could speed up whatever it is in the Node project that | is blocking Jest's adoption of ES modules, including their | mocking :-( | edgyquant wrote: | Yeah coming from python and pytest jest has been a real | struggle to get right. | azangru wrote: | Heh, when I tried pytest, I thought how much simpler things | are when writing tests with jest. | edgyquant wrote: | Yeah I guess it comes down to what you're used to | bennettdams wrote: | Facebook stopped actively maintaining Jest months (years?) ago, | so this is a good move for the community. | | See this old HN thread: | | https://news.ycombinator.com/item?id=30168241 | | ..and the comment from the "only" remaining maintainer: | | https://github.com/facebook/jest/pull/11529#issuecomment-102... | [deleted] | debug-desperado wrote: | Is that like the Apache graveyard but for node projects? | szundi wrote: | Maybe related to the engineer hiring freeze | jmull wrote: | If I know mocha is there any reason I should learn and use jest? | | (outside of a React project) | no_wizard wrote: | If you don't plan on using it in the browser, it has everything | Mocha does and doesn't, like built in expect functions (mocha | only provides the runner infrastructure). | | Its also, as of late, really shown some innovation around | testing, I think Jest 28 is a huge step in the right direction. | | The only other fully fledged alternative I can think of is | Jasmine (which, iirc Jest is actually a fork of?) but Jasmine | isn't as well maintained and has no transform infrastructure. | | Basically, unless you're just really happy with mocha, I think | Jest gives you more flexibility, especially as projects / | products grow overtime. | | Jest is also better in monorepos IMO. | FinalBriefing wrote: | I found it to be fast and easy to set up. I reviewed a number | of testing frameworks for vanilla JS projects, and it came up | on top, even though I hoped it wouldn't (I try to avoid all | Facebook products). | | I can't remember the specifics, but I think it was a mix of | having nice reporting built in, easy to spy on or mock our | ESModules, and there are a lot of other developers using it, so | it was easy to find solutions. | | It mostly "just worked" and didn't require adding other | libraries to handle mocks and spies. | skybrian wrote: | Off-topic but maybe here will knows: | | I like to use simpler tools, so I'm wondering if there's a more | stripped down test tool, sort of like Preact versus React? | | For node-based testing I like Ava, but is there a simple tool for | browser-based testing? | koshergweilo wrote: | Depending on your stack vitest is pretty straightforward | cute_boi wrote: | Wasn't facebook asking donations for Jest despite being billion | dollar company? Couldn't facebook fund the development of Jest | instead of asking donations. | | (P.S. I don't know full story but 2 years ago I used to see | sponsor button on opencollective for Jest. And, the repo actively | mentioned jest is owned by facebook)9 | bilalq wrote: | Jest has been pretty wonderful to work with over the last few | years. Like any test framework, however, there are real pain | points. | | I've recently started experimenting with Vitest on a new webapp | using Vite/React. It's API compatible with Jest, but integrates | with your existing build tool-chain instead of forcing you to | configure a parallel one. So far, there's a lot to like. | https://vitest.dev/ | | The `--ui` flag showing a visualization of the dependency graph | of a test is probably my favorite little feature. | yboris wrote: | +1 for vitest & _vite_ -- used both as the foundation when | porting over a few custom elements and it 's a pleasure working | with them. Migrating tests from Jest to vitest required almost | no changes. | _fat_santa wrote: | I've been leading the adoption of vitest at my company. It's | not perfect, and there are some bugs but the performance gain | is truly incredible. We have about 150 snapshots for various UI | components and vitest can crunch through all of them in about 5 | seconds, whereas it would take Jest 3-4X that time. | | It's also nice if you're running a "vite stack", you don't have | to pull in babel and a bunch of other libs just to make Jest | work. | matsemann wrote: | Do you feel the snapshot tests are useful? I've mostly had | bad experiences with them (mostly noise), so interested in | hearing what makes them work for you/others. | aidos wrote: | That's awesome news. Started looking it integrating jest | today but we use vite, so this is a very timely post! | throwanem wrote: | Can you use Vitest without Vite? It looks cool, I'd love to | know more. | kasbah wrote: | I'm pretty sure you can. Though I haven't tried it myself I | did a search if we could integrate it into our Next.js app | (Next uses Webpack internally) and found this: | https://github.com/elpnt/nextjs-vitest-example | lloydatkinson wrote: | We will have to wait a while to see where this leads. I hope it | goes well but I am worried. I have started using Vitest on | projects where I can recently anyway. For a very very long time | Jest was holding up unit testing support for Vite to where point | that someone else developed Vitest in the meantime. ___________________________________________________________________ (page generated 2022-05-11 23:00 UTC)