Next.js with Styleguidist and Fela (React)





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















Have anybody managed to setup next.js with Fela and Styleguidist?



Styleguidist needs Next.js webpack configuration, however I cant just link it as mentioned here: https://react-styleguidist.js.org/docs/webpack.html



I am using this example app: https://github.com/zeit/next.js/tree/canary/examples/with-fela



Here is how my styleguide.config.js looks like:



module.exports = {
components: 'components/**/*.js',
webpackConfig: {
entry: './pages/_document.js',
module: {
rules: [
{
test: /.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
options: {
presets: ['@babel/react']
}
}

}
]
}
}


};



The App works perfectly on Next.js server, however the Styleguidist server gets me this error message:




Error: createComponent() can't render styles without the renderer in the context. Missing react-fela's at the app root?




Probably because its missing the proper app root?



Thanks in advance.










share|improve this question























  • Have you tried a solution in the docs? react-styleguidist.js.org/docs/thirdparties.html#fela

    – Artem Sapegin
    Nov 23 '18 at 16:28











  • Thanks for the reply, yes I have, the problem is that styleguidest requires Next.js webpack configuration. The example you are referring to is not using Next.

    – kube23
    Nov 26 '18 at 8:32











  • The error you see says that you need to use a Fela provider, the example in the docs shows how to do it. What doesn't work for you?

    – Artem Sapegin
    Nov 26 '18 at 10:31






  • 1





    Your comment actually pointed me to a solution, I have forgotten to add a Wrapper for styleguidist into my styleguide.config.js... So cheers @ArtemSapegin !

    – kube23
    Nov 28 '18 at 10:18


















0















Have anybody managed to setup next.js with Fela and Styleguidist?



Styleguidist needs Next.js webpack configuration, however I cant just link it as mentioned here: https://react-styleguidist.js.org/docs/webpack.html



I am using this example app: https://github.com/zeit/next.js/tree/canary/examples/with-fela



Here is how my styleguide.config.js looks like:



module.exports = {
components: 'components/**/*.js',
webpackConfig: {
entry: './pages/_document.js',
module: {
rules: [
{
test: /.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
options: {
presets: ['@babel/react']
}
}

}
]
}
}


};



The App works perfectly on Next.js server, however the Styleguidist server gets me this error message:




Error: createComponent() can't render styles without the renderer in the context. Missing react-fela's at the app root?




Probably because its missing the proper app root?



Thanks in advance.










share|improve this question























  • Have you tried a solution in the docs? react-styleguidist.js.org/docs/thirdparties.html#fela

    – Artem Sapegin
    Nov 23 '18 at 16:28











  • Thanks for the reply, yes I have, the problem is that styleguidest requires Next.js webpack configuration. The example you are referring to is not using Next.

    – kube23
    Nov 26 '18 at 8:32











  • The error you see says that you need to use a Fela provider, the example in the docs shows how to do it. What doesn't work for you?

    – Artem Sapegin
    Nov 26 '18 at 10:31






  • 1





    Your comment actually pointed me to a solution, I have forgotten to add a Wrapper for styleguidist into my styleguide.config.js... So cheers @ArtemSapegin !

    – kube23
    Nov 28 '18 at 10:18














0












0








0








Have anybody managed to setup next.js with Fela and Styleguidist?



Styleguidist needs Next.js webpack configuration, however I cant just link it as mentioned here: https://react-styleguidist.js.org/docs/webpack.html



I am using this example app: https://github.com/zeit/next.js/tree/canary/examples/with-fela



Here is how my styleguide.config.js looks like:



module.exports = {
components: 'components/**/*.js',
webpackConfig: {
entry: './pages/_document.js',
module: {
rules: [
{
test: /.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
options: {
presets: ['@babel/react']
}
}

}
]
}
}


};



The App works perfectly on Next.js server, however the Styleguidist server gets me this error message:




Error: createComponent() can't render styles without the renderer in the context. Missing react-fela's at the app root?




Probably because its missing the proper app root?



Thanks in advance.










share|improve this question














Have anybody managed to setup next.js with Fela and Styleguidist?



Styleguidist needs Next.js webpack configuration, however I cant just link it as mentioned here: https://react-styleguidist.js.org/docs/webpack.html



I am using this example app: https://github.com/zeit/next.js/tree/canary/examples/with-fela



Here is how my styleguide.config.js looks like:



module.exports = {
components: 'components/**/*.js',
webpackConfig: {
entry: './pages/_document.js',
module: {
rules: [
{
test: /.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
options: {
presets: ['@babel/react']
}
}

}
]
}
}


};



The App works perfectly on Next.js server, however the Styleguidist server gets me this error message:




Error: createComponent() can't render styles without the renderer in the context. Missing react-fela's at the app root?




Probably because its missing the proper app root?



Thanks in advance.







javascript reactjs next.js react-styleguidist






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 23 '18 at 16:14









kube23kube23

113




113













  • Have you tried a solution in the docs? react-styleguidist.js.org/docs/thirdparties.html#fela

    – Artem Sapegin
    Nov 23 '18 at 16:28











  • Thanks for the reply, yes I have, the problem is that styleguidest requires Next.js webpack configuration. The example you are referring to is not using Next.

    – kube23
    Nov 26 '18 at 8:32











  • The error you see says that you need to use a Fela provider, the example in the docs shows how to do it. What doesn't work for you?

    – Artem Sapegin
    Nov 26 '18 at 10:31






  • 1





    Your comment actually pointed me to a solution, I have forgotten to add a Wrapper for styleguidist into my styleguide.config.js... So cheers @ArtemSapegin !

    – kube23
    Nov 28 '18 at 10:18



















  • Have you tried a solution in the docs? react-styleguidist.js.org/docs/thirdparties.html#fela

    – Artem Sapegin
    Nov 23 '18 at 16:28











  • Thanks for the reply, yes I have, the problem is that styleguidest requires Next.js webpack configuration. The example you are referring to is not using Next.

    – kube23
    Nov 26 '18 at 8:32











  • The error you see says that you need to use a Fela provider, the example in the docs shows how to do it. What doesn't work for you?

    – Artem Sapegin
    Nov 26 '18 at 10:31






  • 1





    Your comment actually pointed me to a solution, I have forgotten to add a Wrapper for styleguidist into my styleguide.config.js... So cheers @ArtemSapegin !

    – kube23
    Nov 28 '18 at 10:18

















Have you tried a solution in the docs? react-styleguidist.js.org/docs/thirdparties.html#fela

– Artem Sapegin
Nov 23 '18 at 16:28





Have you tried a solution in the docs? react-styleguidist.js.org/docs/thirdparties.html#fela

– Artem Sapegin
Nov 23 '18 at 16:28













Thanks for the reply, yes I have, the problem is that styleguidest requires Next.js webpack configuration. The example you are referring to is not using Next.

– kube23
Nov 26 '18 at 8:32





Thanks for the reply, yes I have, the problem is that styleguidest requires Next.js webpack configuration. The example you are referring to is not using Next.

– kube23
Nov 26 '18 at 8:32













The error you see says that you need to use a Fela provider, the example in the docs shows how to do it. What doesn't work for you?

– Artem Sapegin
Nov 26 '18 at 10:31





The error you see says that you need to use a Fela provider, the example in the docs shows how to do it. What doesn't work for you?

– Artem Sapegin
Nov 26 '18 at 10:31




1




1





Your comment actually pointed me to a solution, I have forgotten to add a Wrapper for styleguidist into my styleguide.config.js... So cheers @ArtemSapegin !

– kube23
Nov 28 '18 at 10:18





Your comment actually pointed me to a solution, I have forgotten to add a Wrapper for styleguidist into my styleguide.config.js... So cheers @ArtemSapegin !

– kube23
Nov 28 '18 at 10:18












1 Answer
1






active

oldest

votes


















1














So Artem pointed me to a solution, in case anyone got stuck like me, you are supposed to add a wrapper like this:
styleguideComponents: {
Wrapper: path.join(__dirname, '/FelaProvider')
},



So my styleguide.config.js looks like bellow:



    const path = require('path')

module.exports = {
components: 'components/**/*.js',
styleguideComponents: {
Wrapper: path.join(__dirname, '/FelaProvider')
},
webpackConfig: {
entry: 'next/lib/app.js',
module: {
rules: [
{
test: /.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
options: {
presets: ['@babel/react' ],
plugins: ['@babel/plugin-proposal-class-properties']
}
}

}
]
}
}
};





share|improve this answer
























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53449936%2fnext-js-with-styleguidist-and-fela-react%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    So Artem pointed me to a solution, in case anyone got stuck like me, you are supposed to add a wrapper like this:
    styleguideComponents: {
    Wrapper: path.join(__dirname, '/FelaProvider')
    },



    So my styleguide.config.js looks like bellow:



        const path = require('path')

    module.exports = {
    components: 'components/**/*.js',
    styleguideComponents: {
    Wrapper: path.join(__dirname, '/FelaProvider')
    },
    webpackConfig: {
    entry: 'next/lib/app.js',
    module: {
    rules: [
    {
    test: /.js$/,
    exclude: /node_modules/,
    use: {
    loader: "babel-loader",
    options: {
    presets: ['@babel/react' ],
    plugins: ['@babel/plugin-proposal-class-properties']
    }
    }

    }
    ]
    }
    }
    };





    share|improve this answer




























      1














      So Artem pointed me to a solution, in case anyone got stuck like me, you are supposed to add a wrapper like this:
      styleguideComponents: {
      Wrapper: path.join(__dirname, '/FelaProvider')
      },



      So my styleguide.config.js looks like bellow:



          const path = require('path')

      module.exports = {
      components: 'components/**/*.js',
      styleguideComponents: {
      Wrapper: path.join(__dirname, '/FelaProvider')
      },
      webpackConfig: {
      entry: 'next/lib/app.js',
      module: {
      rules: [
      {
      test: /.js$/,
      exclude: /node_modules/,
      use: {
      loader: "babel-loader",
      options: {
      presets: ['@babel/react' ],
      plugins: ['@babel/plugin-proposal-class-properties']
      }
      }

      }
      ]
      }
      }
      };





      share|improve this answer


























        1












        1








        1







        So Artem pointed me to a solution, in case anyone got stuck like me, you are supposed to add a wrapper like this:
        styleguideComponents: {
        Wrapper: path.join(__dirname, '/FelaProvider')
        },



        So my styleguide.config.js looks like bellow:



            const path = require('path')

        module.exports = {
        components: 'components/**/*.js',
        styleguideComponents: {
        Wrapper: path.join(__dirname, '/FelaProvider')
        },
        webpackConfig: {
        entry: 'next/lib/app.js',
        module: {
        rules: [
        {
        test: /.js$/,
        exclude: /node_modules/,
        use: {
        loader: "babel-loader",
        options: {
        presets: ['@babel/react' ],
        plugins: ['@babel/plugin-proposal-class-properties']
        }
        }

        }
        ]
        }
        }
        };





        share|improve this answer













        So Artem pointed me to a solution, in case anyone got stuck like me, you are supposed to add a wrapper like this:
        styleguideComponents: {
        Wrapper: path.join(__dirname, '/FelaProvider')
        },



        So my styleguide.config.js looks like bellow:



            const path = require('path')

        module.exports = {
        components: 'components/**/*.js',
        styleguideComponents: {
        Wrapper: path.join(__dirname, '/FelaProvider')
        },
        webpackConfig: {
        entry: 'next/lib/app.js',
        module: {
        rules: [
        {
        test: /.js$/,
        exclude: /node_modules/,
        use: {
        loader: "babel-loader",
        options: {
        presets: ['@babel/react' ],
        plugins: ['@babel/plugin-proposal-class-properties']
        }
        }

        }
        ]
        }
        }
        };






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 28 '18 at 10:23









        kube23kube23

        113




        113
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53449936%2fnext-js-with-styleguidist-and-fela-react%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            這個網誌中的熱門文章

            Tangent Lines Diagram Along Smooth Curve

            Yusuf al-Mu'taman ibn Hud

            Zucchini