Show HN: Monocle – bidirectional code generation library

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

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • ts-lite

    Compiled TypeScript. Generates Go, Swift, Kotlin, WASM, Binary

    This is neat! I’m curious if you see this being extended for other languages, or the concept being applied in other projects?

    As for similar concepts, several projects by builder.io have some overlap. Most notably Mitosis[1], but I’d be shocked if TS-Lite[2] isn’t using similar techniques. Potentially Qwik[3] as well but I’m not sure, I would have bet that’s using Mitosis but it looks like that’s the other way around.

    1: https://github.com/BuilderIO/mitosis

    2: https://github.com/BuilderIO/ts-lite/tree/main/packages/core

    3: https://github.com/BuilderIO/qwik

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • qwik

    Instant-loading web apps, without effort

    This is neat! I’m curious if you see this being extended for other languages, or the concept being applied in other projects?

    As for similar concepts, several projects by builder.io have some overlap. Most notably Mitosis[1], but I’d be shocked if TS-Lite[2] isn’t using similar techniques. Potentially Qwik[3] as well but I’m not sure, I would have bet that’s using Mitosis but it looks like that’s the other way around.

    1: https://github.com/BuilderIO/mitosis

    2: https://github.com/BuilderIO/ts-lite/tree/main/packages/core

    3: https://github.com/BuilderIO/qwik

  • Monocle

    Optics library for Scala

    A very popular Scala optics library is also called Monocle. I’ve been a happy user for a few years:

    https://github.com/optics-dev/Monocle

  • estree

    The ESTree Spec

  • Babel (Formerly 6to5)

    🐠 Babel is a compiler for writing next generation JavaScript.

    [2] https://github.com/babel/babel

  • Acorn

    A small, fast, JavaScript-based JavaScript parser

  • js

    Monorepo for the JS language tools.

  • recast

    JavaScript syntax tree transformer, nondestructive pretty-printer, and automatic source map generator

  • escodegen

    ECMAScript code generator

  • openapi-preprocessor

    An authoring tool for OpenAPI specifications

    I use a mixed approach for OpenAPI, but not bidirectional.

    I have OpenAPI pieces generated from my Go source code (comment, types, function signatures) as JSON.

    I also have a manually-edited master YAML document that refers to generated bits via $ref links.

    I then use openapi-preprocessor [1] (disclaimer: I wrote it) to produce a final openapi.json file which is committed in the repo.

    When I want to extend the API in a spec-first process, I can add the new routes manually in the YAML file. When I do the implementation I replace the manual bits by the generated one when they are ready. When committing I can check the diff of openapi.json to verify I'm not losing in the process.

    [1] https://github.com/dolmen-go/openapi-preprocessor

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

  • Fixing Jest import failure

    1 project | dev.to | 29 Jul 2024
  • ESLint Understand By Doing Part 1: Abstract Syntax Trees

    2 projects | dev.to | 30 Mar 2023
  • Babel is used by millions, so why are we running out of money? (2021)

    2 projects | news.ycombinator.com | 18 Feb 2023
  • Speeding up the JavaScript ecosystem part 3 – eslint

    2 projects | news.ycombinator.com | 6 Feb 2023
  • Reveddit does not work

    2 projects | /r/reveddit | 6 Jan 2023

Did you konow that JavaScript is
the 3rd most popular programming language
based on number of metions?