You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since package names don't necessarily match module names, library authors can inadvertently pollute global module names. This is especially problematic as it's easy to introduce multiple top-level modules in a single library.
Given that we have a single namespace for all dependencies, unresolvable transitive conflicts can arise for package consumers.
Suggested Solution
Restrict packages from publishing more than one top-level module name unless explicitly defined in gleam.toml to indicate the library author's intent for potential valid use cases.
The CLI can optionally offer automatic gleam.toml updates. For stricter enforcement, we could require manual updates.
I see there is --yes option that confirms bunch of warnings. But I am just not sure it is ok to use it since it will not catch an explicit conset for ones who already set up automate publish.
Problem
Since package names don't necessarily match module names, library authors can inadvertently pollute global module names. This is especially problematic as it's easy to introduce multiple top-level modules in a single library.
Given that we have a single namespace for all dependencies, unresolvable transitive conflicts can arise for package consumers.
Suggested Solution
Restrict packages from publishing more than one top-level module name unless explicitly defined in
gleam.toml
to indicate the library author's intent for potential valid use cases.The CLI can optionally offer automatic
gleam.toml
updates. For stricter enforcement, we could require manual updates.Related discussion:
https://discord.com/channels/768594524158427167/1281967484731265044/1281967484731265044
The text was updated successfully, but these errors were encountered: