Dev tools workshop – additional notes

So today I attended Umar Hansa’s workshop on Chrome dev tools. Although his hand-outs contain lots of information, I made the following extra notes: Set timestamps in code with Performance marks. React also recommends using dev tools to profile components. Send (performance?) statistics to the server when the browser is idle using navigator.sendBeacon. To see […]

Using HOC withRouter with React Router 4

I didn’t know that when a component is not being rendered by your router, it still can use the router properties history, match and location when you wrap it in the withRouter HOC: import { withRouter } from ‘react-router-dom’ … this.props.history.push(‘/some-route’) … export default withRouter(ThisComponent) See: Programmatically navigate with React Router.

Braindump Fronteers 2014 – Day 2

Nicholas Gallagher – Making Twitter UI infrastructure Consistency scales Modules are working units and contain serverside code too OWNERS are maintained in an OWNERS file and own the module. They sign off (review) changes. Webdriver has an iOS driver Webpack module bundler Optimizing web performance – Dave Olsen A very interesting presentation with lots of […]

Braindump Fronteers 2014 – Day 1

Getting nowhere with CSS “best practices” Heydon Pickering thinks we could almost do without CSS-classes for styling. If we more often would use semantic HTML and Aria roles, a lot of classes become obsolete. See also: WAI Aria authoring practices. Daniel Espeset had an interesting talk on the frontend architecture at Etsy. He was absolutely […]

Run both Grunt and Codeception in a Laravel project

In my Laravel project I use Grunt for testing and building client-side code and Codeception to run my acceptance tests. It might be possible to trigger Grunt from Codeception, but I don’t know how. However, to run Codeception from Grunt you should just install the grunt-shell plugin and add the following lines to your Gruntfile.js: […]