Skip to content

Instantly share code, notes, and snippets.

Avatar

Weslley Araujo weslleyaraujo

View GitHub Profile
@superjose
superjose / .gitlab-ci.yml
Last active Sep 29, 2020
This is an example of a .gitlab-ci.yml that is required for Continuous Integration on GitLab projects.
View .gitlab-ci.yml
# 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.
View apollo-shenanigans.js
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)))}
@bummzack
bummzack / NavigationPrompt.jsx
Created Jun 28, 2017
A replacement component for the react-router `Prompt`.
View NavigationPrompt.jsx
import React from 'react';
import {withRouter} from 'react-router-dom';
import PropTypes from 'prop-types';
/**
* A replacement component for the react-router `Prompt`.
* Allows for more flexible dialogs.
*
* @example
* <NavigationPrompt when={this.props.isDirty}>
View types.markdown

This document has moved!

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.

View package.json
{
"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": {},
View on-jsx.markdown

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

View markdown.css
* {
font-size: 12pt;
font-family: monospace;
font-weight: normal;
font-style: normal;
text-decoration: none;
color: black;
cursor: default;
}
@samgiles
samgiles / flatMap.js
Created Jun 20, 2014
Javascript flatMap implementation
View flatMap.js
// [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));
};
View tmux-cheatsheet.markdown

tmux shortcuts & cheatsheet

start new:

tmux

start new with session name:

tmux new -s myname
You can’t perform that action at this time.