Skip to content
This repository has been archived by the owner on Aug 23, 2018. It is now read-only.

Disallow exposing (..) in exposed modules for semver guarantees #61

Closed
rtfeldman opened this issue Oct 15, 2015 · 2 comments
Closed

Disallow exposing (..) in exposed modules for semver guarantees #61

rtfeldman opened this issue Oct 15, 2015 · 2 comments

Comments

@rtfeldman
Copy link

It is currently possible for a published package to break a build without undergoing a major version number bump, if it uses exposing (..) and one of its dependencies adds something that causes a namespace conflict.

A given package can prevent itself from causing namespace conflicts like this by never using "exposing (..)" in its imports. I tried doing that for a library in a case where I would normally use "exposing (..)" for the elm-html DSLs, and it was surprisingly little extra effort: https://github.com/NoRedInk/elm-html-widgets/blob/master/src/Accordion.elm

Elm could turn this practice into a guarantee by enforcing a rule like "if you have exposed modules, you must document all your exposed functions and you cannot use exposing (..) in your imports."

This was originally discussed on elm-dev, and discussion should continue there.

@evancz
Copy link
Contributor

evancz commented May 12, 2016

Tracked in #98

@gampleman
Copy link

Is that a private repo you are linking to? I get a 404 there...

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants