dwarf-2-sourcemap VS tool-conventions

Compare dwarf-2-sourcemap vs tool-conventions and see what are their differences.

dwarf-2-sourcemap

A DWARF to SourceMaps converter for WASM (by jdmichaud)

tool-conventions

Conventions supporting interoperatibility between tools working with WebAssembly. (by WebAssembly)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
dwarf-2-sourcemap tool-conventions
1 3
4 285
- 3.9%
10.0 5.6
over 1 year ago 2 days ago
JavaScript
MIT License Artistic License 2.0
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.

dwarf-2-sourcemap

Posts with mentions or reviews of dwarf-2-sourcemap. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-26.
  • Isolates, MicroVMs, and WebAssembly (In 2022)
    10 projects | news.ycombinator.com | 26 Sep 2022
    > - A way way better tooling story.

    I think this is a real paint point of WebAssembly but it's getting better. You can now compile C/C++ code to WASM using clang as it became a first class citizen in v8 (or later?). Of course, clang does not provide all the runtime goodies that emscripten does but if you limit yourself to use WASM for some part of your code that require performance then all you need to provide is a few Javascript glue code. For prototyping purposes I've bundle an npm package that bring clang to your frontend project without the need to install it through a package [0].

    Chrome debugger now support WASM [1] but you still need to install an extension. I've started to work on a way to convert the DWARF symbols from the WASM binary into sourcemap on the fly [2][3] but it still rough around the edge and need some work but it can definitely be done. This would allow WASM debugging natively in any browser supporting sourcemaps.

    You also have all the WASM binary tools that you would find for any other kind of executable format in WABT [4].

    [0]: https://www.npmjs.com/package/@jdmichaud/wasm-toolkit

    [1]: https://developer.chrome.com/blog/wasm-debugging-2020/

    [2]: https://github.com/jdmichaud/dwarf-2-sourcemap

    [3]: http://site.novidee.com/blog/blog-entry.html?article=2022082...

    [4]: https://github.com/WebAssembly/wabt

tool-conventions

Posts with mentions or reviews of tool-conventions. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-26.
  • Isolates, MicroVMs, and WebAssembly (In 2022)
    10 projects | news.ycombinator.com | 26 Sep 2022
    > Better interoperability

    AFAIK, the examples you give all target a basic C ABI [0] or can be made to target the same ABI. In Rust, it means targeting wasm32-unknown-emscripten

    The Rust team is also working on a "WASM ABI"[1] which would be useful in taking advantage of stuff like multi-value returns, and other compilers could just choose to target that. More likely, the C ABI on WASM will be updated to account for missing features, and that'll be the standard for interoperability in the WASM ecosystem.

    [0]: https://github.com/WebAssembly/tool-conventions/blob/main/Ba...

    [1]: https://github.com/rust-lang/lang-team/blob/master/design-me...

  • Features of a dream programming language: 2nd draft.
    16 projects | dev.to | 10 Feb 2022
    C ABI: Compatible with the C language Application Binary Interface (ABI). So code in the language is usable from other languages. Inspired by Zig. Since compiling to WASM is desirable, WASM's C ABI could probably be used, instead of a separate implementation towards the C ABI.
  • Crates for (mutable) statics with non const initialization.
    1 project | /r/rust | 20 Jan 2021
    There is maybe a solution. From what I found the linker will glue constructor functions and they have an associated priority. (look https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md here for the "linking meta data section"). I explored the ldd/wasm source code directory and it looks like there are also destructor functions. I have not found out in which sections such functions should be placed (after 1h of exploration). Would you like to pursue? I am ok to receive pushes or even share owner ship of the repository.

What are some alternatives?

When comparing dwarf-2-sourcemap and tool-conventions you can also consider the following projects:

krustlet - Kubernetes Rust Kubelet [Moved to: https://github.com/krustlet/krustlet]

ts-belt - 🔧 Fast, modern, and practical utility library for FP in TypeScript.

Cesium - C compiler for the CLI platform

wyrcan

wabt - The WebAssembly Binary Toolkit

ramda - :ram: Practical functional Javascript

runwasi - Facilitates running Wasm / WASI workloads managed by containerd

lang-team - Home of the Rust lang team

io-ts - Runtime type system for IO decoding/encoding

hippo - The WebAssembly Platform

language-server-protocol - Defines a common protocol for language servers.