Wat

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Appwrite - The open-source backend cloud platform
  • Amplication - open-source Node.js backend code generator
  • SurveyJS - A Non-Cloud Alternative to Google Forms that has it all.
  • Mergify - Tired of breaking your main and manually rebasing outdated pull requests?
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Sonar - Write Clean JavaScript Code. Always.
  • wtfpython

    What the f*ck Python? 😱

    https://github.com/satwikkansal/wtfpython

    "Mutating the immutable" is my personal favourite - the second line of code fails with an exception despite having already succeeded:

        >>> t = ([1, 2], 5, 6)

  • DOMPurify

    DOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and hooks. Demo:

    You shouldn't roll your own for this. From what I've had to do web-wise, here's a few tools.

    First, for the APIs, you need documentation: https://swagger.io/

    From which you can generate JSON schemas and use those to validate in the browser and on the backend. https://www.npmjs.com/package/jsonschema

    As well you should be writing a few more schemas for your application state and leverage the regex validation of your input components...

    Speaking of which, you also need to sanitize out some potentially nasty input. https://www.npmjs.com/package/dompurify

    Obviously this isn't everything and not perfect, but a lot of this tedium can be automated away if you have a few good examples of the happy path and some basic tests in place to prevent quick and dirty changes from poking holes in these layers.

  • Appwrite

    Appwrite - The open-source backend cloud platform. The open-source backend cloud platform for developing Web, Mobile, and Flutter applications. You can set up your backend faster with real-time APIs for authentication, databases, file storage, cloud functions, and much more!

  • swagger-ui

    Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.

    You shouldn't roll your own for this. From what I've had to do web-wise, here's a few tools.

    First, for the APIs, you need documentation: https://swagger.io/

    From which you can generate JSON schemas and use those to validate in the browser and on the backend. https://www.npmjs.com/package/jsonschema

    As well you should be writing a few more schemas for your application state and leverage the regex validation of your input components...

    Speaking of which, you also need to sanitize out some potentially nasty input. https://www.npmjs.com/package/dompurify

    Obviously this isn't everything and not perfect, but a lot of this tedium can be automated away if you have a few good examples of the happy path and some basic tests in place to prevent quick and dirty changes from poking holes in these layers.

  • rust

    Empowering everyone to build reliable and efficient software.

  • TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    https://www.typescriptlang.org/play?#code/ATAOEMCcGcFMEkB2AX...

    So TypeScript intentionally suppresses this kind of complaint when matching up function types even though it issues them when calling functions directly. The reason for that has a justification, but in contexts like this, I think it is a WAT-worthy interaction.

    https://github.com/microsoft/TypeScript/wiki/FAQ#why-are-fun...

  • Amplication

    Amplication: open-source Node.js backend code generator. An open-source platform that helps developers build backends without spending time on boilerplate & repetitive coding. Including production-ready GraphQL & REST APIs, DB schema, DTOs, filtering, pagination, RBAC, & more.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts