What this will cover
- Host a static website at S3
- Redirect
www.website.comtowebsite.com - Website can be an SPA (requiring all requests to return
index.html) - Free AWS SSL certs
- Deployment with CDN invalidation
| const pw = require('playwright'); | |
| const UserAgent = require('user-agents'); | |
| const uuid = require('uuid'); | |
| const tmp = require('tmp-promise'); | |
| const UINT32_MAX = (2 ** 32) - 1; | |
| const WEBGL_RENDERERS = ['ANGLE (NVIDIA Quadro 2000M Direct3D11 vs_5_0 ps_5_0)', 'ANGLE (NVIDIA Quadro K420 Direct3D9Ex vs_3_0 ps_3_0)', 'ANGLE (NVIDIA Quadro 2000M Direct3D9Ex vs_3_0 ps_3_0)', 'ANGLE (NVIDIA Quadro K2000M Direct3D11 vs_5_0 ps_5_0)', 'ANGLE (Intel(R) HD Graphics Direct3D9Ex vs_3_0 ps_3_0)', 'ANGLE (Intel(R) HD Graphics Family Direct3D9Ex vs_3_0 ps_3_0)', 'ANGLE (ATI Radeon HD 3800 Series Direct3D9Ex vs_3_0 ps_3_0)', 'ANGLE (Intel(R) HD Graphics 4000 Direct3D11 vs_5_0 ps_5_0)', 'ANGLE (Intel(R) HD Graphics 4000 Direct3D11 vs_5_0 ps_5_0)', 'ANGLE (AMD Radeon R9 200 Series Direct3D11 vs_5_0 ps_5_0)', 'ANGLE (Intel(R) HD Graphics Direct3D9Ex vs_3_0 ps_3_0)', 'ANGLE (Intel(R) HD Graphics Family Direct3D9Ex vs_3_0 ps_3_0)', 'ANGLE (Intel(R) HD Graphics Direct3D9Ex vs_3_0 ps_3_0)', 'ANGLE (Intel(R) HD Graphics Family Direct3D |
| 'use strict' | |
| let Promise = require('bluebird'); | |
| let fs = Promise.promisifyAll(require('fs')); | |
| let Cheerio = require('cheerio'); | |
| let Request = require('request'); | |
| let ToughCookie = require('tough-cookie'); | |
| class Session { |
| # Turn on the simulator screen capture | |
| xcrun simctl io booted recordVideo ~/simulator.mov | |
| # Convert the iPhone 6s screen shot into a gif: | |
| ffmpeg -i ~/simulator.mov -vf scale=320:-1 -r 6 -f gif -y simulator.gif |
| DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 | |
| (http://www.wtfpl.net/about/) | |
| Copyright (C) 2015 Mario Mendes (@hyprstack) | |
| Copyright (C) 2015 Ivan Fraixedes (https://ivan.fraixed.es) | |
| Everyone is permitted to copy and distribute verbatim or modified | |
| copies of this license document, and changing it is allowed as long | |
| as the name is changed. |
| var mongoose = require('mongoose'); | |
| mongoose.Model.seed = function(entities) { | |
| var promise = new mongoose.Promise; | |
| this.create(entities, function(err) { | |
| if(err) { promise.reject(err); } | |
| else { promise.resolve(); } | |
| }); | |
| return promise; | |
| }; |
| var mongoose = require('./db-connect'), | |
| Schema = mongoose.Schema, | |
| ObjectId = Schema.ObjectId, | |
| uuid = require('node-uuid'), | |
| Validator = require('validator').Validator, | |
| val = new Validator(), | |
| bcrypt = require('bcrypt'); | |
| Validator.prototype.error = function(msg) { return false; }; |
| /** | |
| * An AngularJS directive for Dropzone.js, http://www.dropzonejs.com/ | |
| * | |
| * Usage: | |
| * | |
| * <div ng-app="app" ng-controller="SomeCtrl"> | |
| * <button dropzone="dropzoneConfig"> | |
| * Drag and drop files here or click to upload | |
| * </button> | |
| * </div> |
using mocha/chai/sinon for node.js unit-tests? check out my utility: mocha-stirrer to easily reuse test components and mock require dependencies