jridgewell / babel-plugin-transform-incremental-dom

Turn JSX into IncrementalDOM
MIT License
145 stars 12 forks source link

can babel 7 be supported? #98

Closed saunders99999 closed 4 years ago

saunders99999 commented 4 years ago

Hi,

Can babel 7 be supported? I have a small test case that has an issue.

package.json

"dependencies": {
    "incremental-dom": "0.5.1"
  },
  "devDependencies": {
    "@babel/cli": "7.6.2",
    "@babel/core": "7.6.2",
    "@babel/preset-env": "7.6.2",
    "babel-plugin-transform-incremental-dom": "4.2.1"
  }

to build the Readme example 'In' with this .babelrc config

{
    "plugins": [
      [
        "transform-incremental-dom",
        {
          "requireStaticsKey": true,
          "moduleSource": "incremental-dom"
        }
      ]
    ],
    "presets": [
      ["@babel/preset-env", {
        "useBuiltIns": "usage",
        "corejs": 3
      }]
    ]
  }

and I get this output...

TypeError: Cannot read property 'imports' of undefined
    at patchRoots (/Users/i002700/git/stashTrial/tasks/babit/node_modules/babel-plugin-transform-incremental-dom/lib/helpers/patch-roots.js:31:41)
    at inPatchRoot (/Users/i002700/git/stashTrial/tasks/babit/node_modules/babel-plugin-transform-incremental-dom/lib/helpers/root-jsx.js:49:40)
    at Object.JSXElement (/Users/i002700/git/stashTrial/tasks/babit/node_modules/babel-plugin-transform-incremental-dom/lib/helpers/root-jsx.js:28:44)
    at NodePath._call (/Users/i002700/git/stashTrial/tasks/babit/node_modules/@babel/traverse/lib/path/context.js:53:20)
    at NodePath.call (/Users/i002700/git/stashTrial/tasks/babit/node_modules/@babel/traverse/lib/path/context.js:40:17)
    at NodePath.visit (/Users/i002700/git/stashTrial/tasks/babit/node_modules/@babel/traverse/lib/path/context.js:88:12)
    at TraversalContext.visitQueue (/Users/i002700/git/stashTrial/tasks/babit/node_modules/@babel/traverse/lib/context.js:120:16)
    at TraversalContext.visitSingle (/Users/i002700/git/stashTrial/tasks/babit/node_modules/@babel/traverse/lib/context.js:92:19)
    at TraversalContext.visit (/Users/i002700/git/stashTrial/tasks/babit/node_modules/@babel/traverse/lib/context.js:148:19)
    at Function.traverse.node (/Users/i002700/git/stashTrial/tasks/babit/node_modules/@babel/traverse/lib/index.js:96:17)

the lib/helpers/patch-roots.js file chokes on this line as the file.metadata.modules is not populated.

var imports = file.metadata.modules.imports;
jridgewell commented 4 years ago

Sure, I'll look into this.

saunders99999 commented 4 years ago

Hi @jridgewell ,

I added the sample here. https://github.com/saunders99999/babel-inc-dom-sample