<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Thanks, this is great.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Sure, I'm learning about angularjs directives to fit in the custom component.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Rajdeep</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2019 at 8:40 PM Pierre Tardy <<a href="mailto:tardyp@gmail.com">tardyp@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2019 at 12:27 PM Rajdeep Bharati <<a href="mailto:rajdeepbharati13@gmail.com" target="_blank">rajdeepbharati13@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I set up the project according to your PR and it's working fine using React. For setting it up with Vue, do I need to write the components in typescript? Also, I had a doubt: after making changes to the code and testing, do I need to run `pip install -e .` again and again? The webpack or gulp dev server isn't working for me.</div></div></blockquote><div><br></div><div>You make the pip install -e . once,</div><div>and then, after that you can run</div><div><br></div><div>npm run watch</div><div> </div><div>to rebuild the code.</div><div><br></div><div>You will need to be part of the plugin system to be able to query the buildbot api.</div><div>buildbot has its own API for having the latest commit (the change api)</div><div><br></div><div>Pierre</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Rajdeep</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2019 at 3:38 PM Rajdeep Bharati <<a href="mailto:rajdeepbharati13@gmail.com" target="_blank">rajdeepbharati13@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Thanks, I'll check it out. <br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2019 at 3:12 PM Pierre Tardy <<a href="mailto:tardyp@gmail.com" target="_blank">tardyp@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Rajdeep,<div><br></div><div>I created a pull request against the react boilerplate to cleanup the angular.js integration:</div><div><a href="https://github.com/uglycoyote/buildbot-react-plugin-boilerplate/pull/1" target="_blank">https://github.com/uglycoyote/buildbot-react-plugin-boilerplate/pull/1</a><br></div><div><br></div><div>I guess using this method should work better for you for vue.js as well.</div><div><br></div><div>Pierre</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2019 at 9:10 AM Rajdeep Bharati <<a href="mailto:rajdeepbharati13@gmail.com" target="_blank">rajdeepbharati13@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Yes, I can see it. <br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2019 at 1:16 PM Pierre Tardy <<a href="mailto:tardyp@gmail.com" target="_blank">tardyp@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Rajdeep.<div>I commented in the code. Do you see the comments?</div><div><a href="https://github.com/rajdeepbharati/buildbot-vue-plugin-boilerplate/commit/a1ff8178a327b52757d63e907036b6586a9cf5cc" target="_blank">https://github.com/rajdeepbharati/buildbot-vue-plugin-boilerplate/commit/a1ff8178a327b52757d63e907036b6586a9cf5cc</a><br></div><div><br></div><div>Pierre</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2019 at 8:35 AM Pierre Tardy <<a href="mailto:tardyp@gmail.com" target="_blank">tardyp@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>Vue and React are the two major JS frameworks in 2018/2019. React is still the major one, probably thanks to the fact that react-native is very useful for mobile. So learning react allows you to make both webapps and mobile apps (even if you cannot really share UI code between the two frameworks)</div><div><br></div><div>For the web, I like Vue better, recommend it and use it for all my new web projects, because I think it is easier to use, and produce less complex code for simple projects.</div><div>I think react best practices are oriented more toward very large web apps, and using them for smaller apps is for me a waste of ressource.</div><div>React indeed only support one way binding, and forces people to use state store like redux, which is for me very hard to use right, and requires lots of boilerplate code.</div><div><br></div><div>On the contrary, vue.js scales better and allows you to write clean and readable code for small components, thanks to its support for two way binding.</div><div>It is in my opinon easier for the beginner as its basic concepts are simple to comprehend, and harder to make it wrong. </div><div>Vue still supports state store with vuex, which you can use when your app is large enough to require it.</div><div><br></div><div>So I think vue is the best compromise between ideas from angular and ideas from react.</div><div><br></div><div>This is good for a novice web developer to have experience in both, hence I asked Rajdeep to also consider vue.</div><div>I challenged him to adapt the boilerplate to vue, because I was impressed he was able to set up so quickly.</div><div>So I suggested a bit harder challenge to test how far we can go in the expectations. This is fine to struggle on a challenge, or else it is not a challenge :)</div><div><br></div><div>Finally, challenge aside, you may decide which framework you want to use in your project I don't want to force you :)</div></div><div dir="ltr"><div><br></div><div><br></div><div>Pierre</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 22, 2019 at 5:13 AM Mojca Miklavec <<a href="mailto:mojca@macports.org" target="_blank">mojca@macports.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div>Dear Pierre,</div><div dir="auto"><br></div><div dir="auto">Out of curiosity: what is the difference between the two frameworks? I mean, not technical difference, but I assume that the solution would only be provided / written in one of the frameworks? Is Vue.js your internal preference or newer trend over React.js? (I have some experience with React, none with Vue.)</div></div><div dir="auto"><div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr"><br></div><div dir="ltr" class="gmail_attr">Mojca</div></div></div></div></blockquote></div>-- <br><div dir="ltr" class="gmail-m_1364159094969061678m_-1506519548749623922gmail-m_-2752302105711600757gmail-m_-8969993494398433385gmail-m_-520762784795343692m_-8469159597808174395gmail-m_-244059845757914047m_6068549491835383672gmail_signature"><div dir="ltr"><p dir="ltr"><br></p>
</div></div>
</blockquote></div>-- <br><div dir="ltr" class="gmail-m_1364159094969061678m_-1506519548749623922gmail-m_-2752302105711600757gmail-m_-8969993494398433385gmail-m_-520762784795343692m_-8469159597808174395gmail-m_-244059845757914047gmail_signature"><div dir="ltr"><p dir="ltr"><br></p>
</div></div>
</blockquote></div>
</blockquote></div>-- <br><div dir="ltr" class="gmail-m_1364159094969061678m_-1506519548749623922gmail-m_-2752302105711600757gmail-m_-8969993494398433385gmail-m_-520762784795343692gmail_signature"><div dir="ltr"><p dir="ltr"><br></p>
</div></div>
</blockquote></div>
</blockquote></div>
</blockquote></div></div>-- <br><div dir="ltr" class="gmail-m_1364159094969061678gmail_signature"><div dir="ltr"><p dir="ltr"><br></p>
</div></div>
</blockquote></div>