console VS msw

Compare console vs msw and see what are their differences.

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
console msw
11 150
107 14,914
10.3% 1.9%
9.7 9.2
1 day ago 3 days ago
TypeScript TypeScript
Mozilla Public License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

console

Posts with mentions or reviews of console. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-23.
  • Oxide Cloud Computer. No Cables. No Assembly. Just Cloud
    3 projects | news.ycombinator.com | 23 Mar 2024
    >https://console-preview.oxide.computer/

    That's pretty cool! The design language is a nice touch for sure.

  • Storybook 8
    5 projects | news.ycombinator.com | 13 Mar 2024
    I've used Storybook during development for a while now and the use case you present is how the Storybook is pitched. I actually agree about the simplicity of discovering the components. What I disagree with, though, is that I can't see value of "develop & test your UI independently from your app" part. It forces me to decouple the state from a component and this in turn adds unnecessary complexity to the architecture.

    I'm going to use Oxide console [1] as an example because it has a really good setup of MSW + OpenAPI autogenerated mocks (which means that it doesn't need any complete backend, just a defined contract).

    Consider this fairly simple page [2]. If I'm using the Storybook pattern, I'm keeping all of the state outside of the component, which means I now have to manually memoize every single variable defined before the return to make sure that the component doesn't do any unnecessary re-renders. This includes `intervalPicker`, `commonProps`, `setFilterId`, every return of `useDateTimeRangePicker`. With MSW I have benefits not needing the API, testing in real production app, using the same exact mocks for unit tests and development.

    [1]: https://github.com/oxidecomputer/console

    [2]: https://github.com/oxidecomputer/console/blob/main/app/pages...

  • Tailwind CSS v4.0.0 Alpha
    7 projects | news.ycombinator.com | 6 Mar 2024
  • Remix Vite Is Now Stable
    5 projects | news.ycombinator.com | 21 Feb 2024
    SPA mode (what I assume you mean by BFF mode) is brand new, so almost nobody has used it. However, a close example would be the Oxide web console, which we build as an SPA because we want to serve it as static assets from a Rust backend. It's very close to your suggested stack: React + React Router + Tanstack query + zustand, though importantly we also use React Router's loaders to give the app a better-than-SPA feel on navigations. I do plan on moving it to Remix SPA mode when I get a chance, but like I said the result should be very similar so it's not that high a priority for me. If I were starting from scratch I'd probably use Remix SPA.

    Repo: https://github.com/oxidecomputer/console/

    Live demo here with in-browser MSW mock API: https://oxide-console-preview.vercel.app

  • Oxide: The Cloud Computer
    9 projects | news.ycombinator.com | 26 Oct 2023
    VPS providers are nice, but they don't provide the same cloud-level capabilities that Oxide offers. Check out the console to get an idea of what I mean (this is a demo with mock data): https://oxide-console-preview.vercel.app/
  • Mock Service Worker(msw) releases 2.0
    8 projects | news.ycombinator.com | 23 Oct 2023
    Yeah, basically. We do it with a function call where the argument to the function is that interface representing all the API endpoints. `makeHandlers` handles parsing path params, query params, and request body and passes them to each endpoint handler. So the runtime validation of request bodies is also generated — we generate a zod schema for each request body in the OpenAPI definition and use it to parse the actual request body that comes in.

    big function call https://github.com/oxidecomputer/console/blob/bd65b9da7019ad...

    automatic body parsing and argument passing: https://github.com/oxidecomputer/console/blob/bd65b9da7019ad...

    When an endpoint gets added to the spec, we can rerun the generator and get type errors in the `makeHandlers` telling us endpdoints are missing.

msw

Posts with mentions or reviews of msw. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-06.
  • Modern React testing, part 5: Playwright
    5 projects | dev.to | 6 May 2024
    We’re going to use Mock Service Worker (MSW) for mocking network requests in our integration tests and in the app during development.
  • Easier TypeScript API Testing with Vitest + MSW
    3 projects | dev.to | 25 Apr 2024
    However, I discovered a great combination that transformed my API call testing in TypeScript: Vitest and Mock Service Worker (MSW). Their well-crafted design makes them incredibly easy to use, enhancing the overall testing experience.
  • Creating mocks for testing react code
    1 project | dev.to | 22 Apr 2024
    While mocks are effective, they require modifying the component's internal logic or mocking global functions like fetch. This can become cumbersome for complex components with numerous API interactions. Here's where MSW shines.
  • Storybook 8
    5 projects | news.ycombinator.com | 13 Mar 2024
    > For those wondering what the use case is, you must not have tried it. It does take work to set up (with each version that's less), but it can be very nice to test in isolation esp in cases where a component is under a login, the 4th page of a 10 page form, etc. Also obviously if you're working on a component library that ships without an app, Storybook can be your development and/or demo app.

    I have worked with storybook extensively over the past couple of years and my team is moving away from it in favour of MSW (https://mswjs.io).

    For "4th page of a 10 page form" during the development there's hot reloading which is really stable nowadays and haven't failed me, although I understand that some setups are old and it might be easier to configure Storybook than good hot reloading.

    I'm not entirely sure about the testing part of it and I'd be grateful if you could elaborate. I haven't felt the need for some special setup with SB because for unit tests, I can test a deeply nested component separately. For E2E tests, I usually test the whole form.

    I agree on the component library part, this is probably the only use case where Storybook is 100% justified, but I'm unconvinced about the

    6 projects | dev.to | 12 Mar 2024
    Additionally, thank you to all our community launch partners across the frontend ecosystem for helping us bring Storybook 8 to the world! Thanks to Chromatic, Figma, ViteConf, Omlet, DivRiots, story.to.design, StackBlitz, UXpin, Nx, Mock Service Worker, Anima, Zeplin, zeroheight, kickstartDS, and Kendo UI.
  • I made "TypeScript Swagger Editor", new type of Swagger UI writing TypeScript code in the browser
    3 projects | dev.to | 18 Feb 2024
    similar with msw.js, but fully automated
  • Partial: how not to mock the whole world
    4 projects | dev.to | 8 Feb 2024
    they could be network mocks (use msw)
  • How to Automatically Consume RESTful APIs in Your Frontend
    13 projects | dev.to | 25 Jan 2024
    With orval, we can also integrate the API client in our unit tests. Orval provides first class support for mocking through the (Mock Service Worker)[https://mswjs.io/] library, and it can automatically generate the MSW handlers for testing server.
  • Polly.js – Record, replay, and stub HTTP interactions
    2 projects | news.ycombinator.com | 8 Jan 2024
  • How to Successfully Integrate with Legacy APIs Using NodeJS
    2 projects | dev.to | 11 Dec 2023
    Consider a hypothetical scenario where data from a list of companies within an ERP needs to be retrieved. As a personal recommendation, leverage tools like MSW for top-level mocks, which can significantly enhance the testing process.

What are some alternatives?

When comparing console and msw you can also consider the following projects:

orval - orval is able to generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in yaml or json formats. 🍺

Nock - HTTP server mocking and expectations library for Node.js

meetup-contacts-app-2021 - Modern, structured React application demo with pages, services. An Opinionated React App template for large projects.

rtk-query - Data fetching and caching addon for Redux Toolkit

cio - Rust libraries for APIs needed by our automated CIO.

miragejs - A client-side server to build, test and share your JavaScript app

moonfire-nvr - Moonfire NVR, a security camera network video recorder

mockoon - Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.

manifold-api - Manifold API Client Bindings

prism - Turn any OpenAPI2/3 and Postman Collection file into an API server with mocking, transformations and validations.

oxide.ts - TypeScript client for the Oxide API

axios - Promise based HTTP client for the browser and node.js