Skip to content

Instantly share code, notes, and snippets.

:shipit:
Shipping React Apps

Albin Ekblom albinekb

:shipit:
Shipping React Apps
Block or report user

Report or block albinekb

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View download.js
function download(csv) {
if (csv == null) return
const filename = `export-${new Date()}.csv`
if (!csv.match(/^data:text\/csv/i)) {
csv = 'data:text/csv;charset=utf-8,' + csv
}
const data = encodeURI(csv)
@albinekb
albinekb / wrapper.ts
Last active Sep 12, 2018
express async route wrapper
View wrapper.ts
type Method = 'get' | 'post' | 'put' | 'delete'
type Handler = (req: Request) => Promise<any>
function route (method: Method, path: string, handler: Handler) {
app[method](path, (req, res, next) => {
handler(req)
.then(result => result ? res.json(result) : res.status(204).end(''))
.catch(next)
})
}
View vsconfig.json
{
"editor.fontFamily": "FiraCode-Light",
"editor.fontLigatures": true,
"window.zoomLevel": 4,
"prettier.printWidth": 140,
"prettier.semi": false,
"prettier.singleQuote": true,
"prettier.trailingComma": "all",
"editor.formatOnSave": true,
"workbench.iconTheme": "seti",
View PropsTable.js
import * as React from 'react'
import Table from '@material-ui/core/Table'
import TableBody from '@material-ui/core/TableBody'
import TableHead from '@material-ui/core/TableHead'
import TableRow from '@material-ui/core/TableRow'
import TableCell from '@material-ui/core/TableCell'
const ArrayOf = ({ type }) => (
<React.Fragment>
View proxy.js
const http = require('http')
const httpProxy = require('http-proxy')
const PORT = 3005
const TARGET = 'http://example.com:80'
const USER = ''
const PASSWORD = ''
const options = {
auth: `${USER}:${PASSWORD}`,
View vlc
vlc \
screen:// \
-I rc \
--screen-left=0 --screen-top=0 --screen-width=800 --screen-height=600 \
--sout "#transcode{vcodec=h264,vb=800,fps=5,scale=1,acodec=none}:duplicate{dst=std{access=file,mux=mp4,dst='./screen.mp4'}}"
@albinekb
albinekb / Dockerfile
Created May 28, 2017 — forked from eduardoromero/Dockerfile
Dockerfile for Node 7 with xvfb
View Dockerfile
FROM node:7
RUN apt-get update &&\
apt-get install -y libgtk2.0-0 libgconf-2-4 \
libasound2 libxtst6 libxss1 libnss3 xvfb
# Exposing port 5000 (micro)
EXPOSE 5000
WORKDIR /app
@albinekb
albinekb / start-services.sh
Created May 28, 2017 — forked from eduardoromero/start-services.sh
Starting Xvfb with start-services.sh
View start-services.sh
#!/usr/bin/env bash
set -e
# Start Xvfb
Xvfb -ac -screen scrn 1280x800x24 :9.0 &
export DISPLAY=:9.0
exec "$@"
View gist:f24c2b9dac9f382b444258db3f8b7e91
```
Portage 2.3.5 (python 2.7.12-final-0, hardened/linux/amd64/selinux, gcc-5.4.0, glibc-2.23-r3, 4.9.24-hardened x86_64)
=================================================================
System uname: Linux-4.9.24-hardened-x86_64-AMD_Ryzen_7_1800X_Eight-Core_Processor-with-gentoo-2.3
KiB Mem: 16246768 total, 11212408 free
KiB Swap: 16777212 total, 16777212 free
Timestamp of repository gentoo: Sat, 20 May 2017 03:00:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1
View gist:e3867192a5eb2c1755f3
Dexter = function () {
'use strict';
this.Cheerio = Npm.require('cheerio');
this.Request = Npm.require('request');
this.Future = Npm.require('fibers/future');
this.service = 'dexter';
this.jar;
this.url;
You can’t perform that action at this time.