Use this as a guide. But instead of using the java runtime, we'll use python.
The setup can be accomplish with virtualenv to create an isolated environment.
The project folder structure will look like this:
cloudfunction/
/** | |
* Add to run block of angular module | |
*/ | |
$rootScope.$on('$stateChangeSuccess', function() { | |
document.body.scrollTop = document.documentElement.scrollTop = 0; | |
} |
angular | |
.module('app') | |
.service('MyService', myService); | |
function myService($http) { | |
/** | |
* First, send a get request for all records of a type, | |
* then filter response down to specific record. | |
*/ |
var endpoint = 'https://jsonplaceholder.typicode.com/users'; | |
// 1. https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest | |
var request = new XMLHttpRequest(); | |
request.addEventListener('load', function() { | |
console.log(this.responseText); | |
}) | |
request.open('GET', endpoint); | |
request.send(); |
var list = ["foo", "foo", "bar", "bar", "bar"]; | |
var results = list.reduce(reducer, {}); | |
console.log(results); // {"foo": 2, "bar": 3} | |
/** | |
* Callback function for the `reduce()` method. | |
* | |
* @param acc accumulated value previously returned in the last invocation of the callback |
var Eventbus = { | |
topics: {}, | |
/** | |
* Adds topic to `topics` object if it doesn't exist | |
* and adds listener to same topic. | |
* | |
* @param {string} topic | |
* @param {function} listener | |
*/ |
/** | |
* Expects data to be an array of objects. | |
* The key will be one of the keys in the objects. | |
*/ | |
function organizeBy(key, data) { | |
var results = {}; | |
data.forEach(function(obj) { | |
var value = obj[key]; | |
if (!results[value]) { | |
results[value] = []; |
Use this as a guide. But instead of using the java runtime, we'll use python.
The setup can be accomplish with virtualenv to create an isolated environment.
The project folder structure will look like this:
cloudfunction/
pipelines: | |
branches: | |
develop: | |
- step: | |
name: Update | |
script: | |
- apt-get update | |
- apt-get -y install jq zip | |
- FILE_NAME=crx.zip | |
- zip -r $FILE_NAME ./app |
# Possible versioning stratgy. | |
# Only integers are allowed with the `version` property of the manifest.json. | |
script: | |
- GIT_HASH=$(git rev-parse --short HEAD) | |
- jq ".version_name = \"build-$GIT_HASH\"" manifest.json | spong manifest.json |