Skip to content

Checking the backward compatibility of V10 #5493

Closed
@mununki

Description

@mununki

While I'm writing JSX PPX V4, I tried to verify that V4 will not break a large existing application. So, I ran it on some projects and encountered some errors which seem not related to V4, I guess.

  1. Attributes not allowed here
    I'm not sure what causes this error. I've looked for the error msg in the compiler, but no gain.

  2. Multiple definition of the type
    It was fine in V9, but I found this is not allowed anymore in V10. It could break the existing projects, I guess.

    module NonEmpty = {
      include Belt.Array
    
      type t<'a> = array<'a> // error!
    }
  3. Not a valid global name
    I think this kind of issue goes to each submodule, but it may cause breaking. Maybe it could be documented as some sort of migration plan for open source maintainers.

    external formatISO: Js.Date.t => string = "date-fns/formatISO";

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions