It's now here, in The Programmer's Compendium. The content is the same as before, but being part of the compendium means that it's actively maintained.
| # Reference: https://www.exclamationlabs.com/blog/continuous-deployment-to-npm-using-gitlab-ci/ | |
| # GitLab uses docker in the background, so we need to specify the | |
| # image versions. This is useful because we're freely to use | |
| # multiple node versions to work with it. They come from the docker | |
| # repo. | |
| # Uses NodeJS V 9.4.0 | |
| image: node:9.4.0 | |
| # And to cache them as well. |
| import React, { Fragment } from 'react'; | |
| import { Query, Mutation } from 'react-apollo'; | |
| import get from 'lodash/get'; | |
| //components | |
| import Loading from 'components/LoadingScreen'; | |
| export const QueryWithLoading = ({ children, query, dataPath, loadingComponent = <Loading /> }) => ( | |
| <Query query={query}> | |
| {({ data, loading }) => (loading ? loadingComponent : children(get(data, dataPath)))} |
| { | |
| "private": true, | |
| "scripts": { | |
| "build:js": "browserify -e source/scripts/index.js -t [ babelify --optional es7 ] -o public/bundle.js", | |
| "build:css": "cssnext source/styles/index.css public/bundle.css", | |
| "build": "npm run js && npm run css", | |
| "watch:js": "watchy -w source/scripts -- npm run build:js", | |
| "watch:css": "watchy -w source/styles -- npm run build:css" | |
| }, | |
| "dependencies": {}, |
Hi Nicholas,
I saw you tweet about JSX yesterday. It seemed like the discussion devolved pretty quickly but I wanted to share our experience over the last year. I understand your concerns. I've made similar remarks about JSX. When we started using it Planning Center, I led the charge to write React without it. I don't imagine I'd have much to say that you haven't considered but, if it's helpful, here's a pattern that changed my opinion:
The idea that "React is the V in MVC" is disingenuous. It's a good pitch but, for many of us, it feels like in invitation to repeat our history of coupled views. In practice, React is the V and the C. Dan Abramov describes the division as Smart and Dumb Components. At our office, we call them stateless and container components (view-controllers if we're Flux). The idea is pretty simple: components can't
| * { | |
| font-size: 12pt; | |
| font-family: monospace; | |
| font-weight: normal; | |
| font-style: normal; | |
| text-decoration: none; | |
| color: black; | |
| cursor: default; | |
| } |
| // [B](f: (A) ⇒ [B]): [B] ; Although the types in the arrays aren't strict (: | |
| Array.prototype.flatMap = function(lambda) { | |
| return Array.prototype.concat.apply([], this.map(lambda)); | |
| }; |