emscripten-core / emscripten-core/emscripten

How to deprecate and/or remove unused runtime and JS library functions?

Open
#15,242 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
27.6k
Forks
3.6k
Avg merge
1d 1h
Merged PRs (30d)
105

Description

We have had some issues over there years where emscripten itself stops using a runtime or JS library function and we would like to remove it because its now dead code and untested.

See the discussion on https://github.com/emscripten-core/emscripten/pull/14009.

It would be nice if we could find a way to avoid this in the future. I see two ways to improve the situation.

## Avoid exposing internals going forward

The runtime and JS library system doesn't really have a good way to avoid exposing all of its internals to the user-level library.js code and EM_ASM code. Can we find a way to expose less to the user's library code so we can iterate on internals with impunity?

## Create some kind of deprecation path

When a runtime function is up for removal/deprecation it would be good to have a plan for how long to keep it alive, and how to keep it tested.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.