Code Monkey home page Code Monkey logo

Comments (7)

timoxley avatar timoxley commented on April 28, 2024 10

Note that this appears to work out of the box already if you simply configure plugins and transforms in your package.json or .babelrc

e.g. in package.json

{
  "name": "my-app",
  
  "babel": {
    "presets": [
      "latest",
      "react"
    ],
    "plugins": [
      "babel-plugin-istanbul",
      "transform-runtime"
    ]
  }
}

This works because by default babel will merge any configurations it finds in parent directories.

Users will need to set these up anyway if they're going to test code that runs outside next.

However, I did not have any luck using next with mobx + babel-plugin-transform-decorators-legacy. The code compiled just fine and it appears to run on the server, but none of the decorators seem to function correctly. Didn't look into it very deeply, but it may be something to do with the order of the babel plugins.

from next.js.

rauchg avatar rauchg commented on April 28, 2024 6

If we move forward with this, we can document in the README how to for example add decorators support to next.

from next.js.

reflog avatar reflog commented on April 28, 2024 1

@timoxley - great tip, did you figure out why mobx observers didn't fire?

from next.js.

vdanchenkov avatar vdanchenkov commented on April 28, 2024

@timoxley It didn't work for my case. Looks like plugin added this way got lowest priority. Even lower then presets. Am I right? Is it how it's intended to work?

I guess I need to fix my plugin to make it work regardless of priority.

P.S. Hmm... It might be the source of problem with mobx

from next.js.

timoxley avatar timoxley commented on April 28, 2024

@reflog NFI.
@vdanchenkov yeah the problem is almost definitely because of the plugin order, not sure if solvable without some hackery by next.

from next.js.

rauchg avatar rauchg commented on April 28, 2024

@timoxley thanks a lot for that report. Very happy that it already partially works!

from next.js.

rauchg avatar rauchg commented on April 28, 2024

As far as potential solutions, one could be that we consider the set of transformations performed by next the "next bundle", and you're able to override the entire configuration, specifying yourself where that next bundle falls.

This is just a quick conjecture I just thought of, not sure if it's an actual solution.

from next.js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.