Can Imba 1.5.3 be released?

I was hoping to try out the migration bits.

The migration tool is broken, I tried checking out the version from git using a02fa46fb477 (Add more migration stuff, 2020-01-22). I was going to migrate this repository but the --migrate option generates invalid code, see below. More specifically this line is bad: <h3.english> data:englishexport tag Word.

export tag Word

    def setup
        console.log "data -> {data}"

    def render
            <self>
                if !data
                    <h2.loading> "Loading, please wait..."
                else
                    if data:kanji
                        <ruby> "{data:kanji}"
                            <rp> "("
                            <rt> "{data:kana}"
                            <rp> ")"
                    else if data:kana                     
                        <h2.kana lang="ja"> "{data:kana}"
                    else
                        <h2> JSON.stringify(data, null, 2)
                    <h3.english> data:englishexport tag Word

    def setup
        console.log "data -> {self.data()}"

    def render
            <self>
                if !self.data()
                    <h2.loading> "Loading, please wait..."
                else
                    if self.data().kanji
                        <ruby> "{self.data().kanji}"
                            <rp> "("
                            <rt> "{self.data().kana}"
                            <rp> ")"
                    else if self.data().kana                     
                        <h2.kana lang="ja"> "{self.data().kana}"
                    else
                        <h2> JSON.stringify(self.data(), null, 2)
                    <h3.english> self.data().english

@somebee courtesy, ping! What is the plan for Imba 1.5.3 or the migration tool? I know you are working on the pulling out the GitSpeak datastore but following up on this topic :smiley:

I have started moving over some Scrimba code to imba v2 and noticed these issues:

  • :length is not being migrated properly. It results in .lengthgth
  • self. is being added necessary to some global methods
  • props are not being handled properly, they get treated as methods sometimes

The migration tool is just an experiment basically. It sounds like there is something in your code that gets incorrect length from lever, which in turns makes all the subsequent token locations wrong. This in turn makes the replacements happen at the wrong places etc.