Skip to content

Instantly share code, notes, and snippets.

View carlosrymer's full-sized avatar

Carlos Rymer carlosrymer

  • Shopify
  • New York, NY
View GitHub Profile
@carlosrymer
carlosrymer / angular-es6-module.js
Created July 30, 2017 16:07
A sample Angular 1.x module written in ES6 using Webpack 3.
import angular from 'angular';
import ngRouteModuleName from 'angular-route';
import service1 from 'path/to/service/one';
import service2 from 'path/to/service/two';
import component1 from 'path/to/component/one';
import component2 from 'path/to/component/two';
@carlosrymer
carlosrymer / sample-es6-angular-controller.js
Created July 30, 2017 15:42
A sample ES6 Angular 1.x, class-based controller.
class SampleCtrl {
constructor($scope, Service1, Service2) {
'ngInject';
this.$scope = $scope;
this.Service1 = Service1;
this.Service2 = Service2;
$scope.$on('event:sample1', () => this.doSomethingOne());
$scope.$on('event:sample2', () => this.doSomethingTwo());
@carlosrymer
carlosrymer / index.slow-transition.js
Created July 30, 2017 15:35
A sample entry file for an Angular 1.x application using Wepback 3 and undergoing a slow transition to ES6 modules.
// Core Styles
import './index.scss';
// Core Angular
import angular from 'angular';
// These all export the module name
import ngAnimateModuleName from 'angular-animate';
import ngAriaModuleName from 'angular-aria';
import ngCookiesModuleName from 'angular-cookies';
@carlosrymer
carlosrymer / index.js
Created July 30, 2017 15:27
A sample entry file for an Angular 1.x application using Webpack 3.
// Core Styles
import './index.scss';
// Core Angular
import angular from 'angular';
// These all export the module name
import ngAnimateModuleName from 'angular-animate';
import ngAriaModuleName from 'angular-aria';
import ngCookiesModuleName from 'angular-cookies';
@carlosrymer
carlosrymer / webpack.dev.config.js
Created July 30, 2017 15:14
A Webpack 3 configuration file used for opening an app for local development. Relies on: https://gist.github.com/carlosrymer/dff53dd8ab35574f236174530b6f1a44.
'use strict';
const config = require('config');
const path = require('path');
const url = require('url');
const webpack = require('webpack');
const webpackConfig = require('./webpack.config');
const HotModuleReplacementPlugin = webpack.HotModuleReplacementPlugin; // Hot reloading and inline style replacement
@carlosrymer
carlosrymer / webpack.build.config.js
Created July 30, 2017 15:11
A Webpack 3 configuration file used for building an app for deployment. Relies on: https://gist.github.com/carlosrymer/dff53dd8ab35574f236174530b6f1a44.
'use strict';
const path = require('path');
const webpack = require('webpack');
const config = require('./webpack.config');
const UglifyJsPlugin = webpack.optimize.UglifyJsPlugin;
const uglifyOptions = {
mangle : {
@carlosrymer
carlosrymer / wepback.config.js
Created July 30, 2017 15:06
Common Webpack 3 configuration for an Angular 1.x-based app.
'use strict';
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path');
const preprocess = require('preprocess');
const webpack = require('webpack');
const WebpackFilePreprocessorPlugin = require('webpack-file-preprocessor-plugin');
const CommonsChunkPlugin = webpack.optimize.CommonsChunkPlugin;
@carlosrymer
carlosrymer / package.json
Last active July 30, 2017 15:08
A sample package.json for configuring an Angular 1.x app with Webpack 3.
{
"name": "myApp",
"version": "1.0.0",
"private": "true",
"scripts": {
"build": "./node_modules/.bin/webpack --config webpack.build.config.js",
"start": "./node_modules/.bin/webpack-dev-server --config webpack.dev.config.js --open"
},
"dependencies": {
"angular": "1.6.5",
@carlosrymer
carlosrymer / getGoogleSheetRowsLambda.js
Created July 6, 2017 00:28
A sample AWS Lambda function that retrieves rows from a Google Sheet.
'use strict';
const GoogleSpreadsheet = require('google-spreadsheet');
const spreadsheet = new GoogleSpreadsheet('1tVc-GnBIAAWbdCX7Zn9n-9V8j_rnv7meU22EubLN6G0'); // Sheet ID (visible in URL)
exports.handler = (event, context, callback) => {
return spreadsheet.getInfo((sheetError, info) => {
if (sheetError) {
console.error(sheetError);
@carlosrymer
carlosrymer / getGoogleSheetRows.js
Last active July 6, 2017 00:28
A Node snippet to get a Google Sheet's rows using the google-spreadsheet module.
'use strict';
const GoogleSpreadsheet = require('google-spreadsheet');
const spreadsheet = new GoogleSpreadsheet('1tVc-GnBIAAWbdCX7Zn9n-9V8j_rnv7meU22EubLN6G0'); // Sheet ID (visible in URL)
spreadsheet.getInfo((sheetError, info) => {
if (sheetError) {
console.error(sheetError);