Skip to content

Commit 969f482

Browse files
Total rework
1 parent 547a880 commit 969f482

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+2304
-551
lines changed

.babelrc

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"presets": ["es2015"]
3+
}

.jshintrc

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
22
"node": true,
33
"esnext": true,
4-
"camelcase": true,
54
"eqeqeq": true,
65
"indent": 2,
76
"latedef": "nofunc",
87
"newcap": true,
9-
"quotmark": "single",
108
"undef": true,
119
"unused": true,
12-
"mocha": true
10+
"mocha": true,
11+
"asi": true,
12+
"predef": [ "-Promise" ]
1313
}

lib/api-gateway/request.js

-32
This file was deleted.

lib/api-gateway/restapis.js

-51
This file was deleted.

lib/cli.js

+18-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
#! /usr/bin/env node
2-
const shepherd = require('./index');
3-
const args = require('minimist')(process.argv.slice(2));
4-
const checkCwd = require('./util/check-cwd');
2+
'use strict';
53

6-
if (args._[0] !== 'new' && args._[0] !== 'help' ) { checkCwd(); }
7-
shepherd(args).done();
4+
var _meow = require('meow');
5+
6+
var _meow2 = _interopRequireDefault(_meow);
7+
8+
var _index = require('./index');
9+
10+
var _index2 = _interopRequireDefault(_index);
11+
12+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13+
14+
var cli = (0, _meow2.default)('\n Usage\n $ shepherd create project\n $ shepherd create function\n $ shepherd deploy\n\n Options\n -r, --rainbow Include a rainbow\n');
15+
16+
// const checkCwd = require('./util/check-cwd');
17+
//
18+
// if (args._[0] !== 'new' && args._[0] !== 'help' ) { checkCwd(); }
19+
20+
(0, _index2.default)(cli);

lib/configure/index.js

-10
This file was deleted.

lib/create/function.js

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
7+
exports.default = function (config) {
8+
return (0, _prompt2.default)([{
9+
name: 'name',
10+
message: 'Function name?',
11+
validate: function validate(input) {
12+
return (/^[a-zA-Z0-9-_]+$/.test(input) ? true : 'Function name must contain only letters, numbers, hyphens, or underscores'
13+
);
14+
}
15+
}, {
16+
name: 'role',
17+
message: 'Lambda execution role. This must already exist. See your IAM console for details'
18+
}]).then(createDir).then(createFiles).then(createOnAWS);
19+
20+
function createOnAWS(params) {
21+
return (0, _upload2.default)('functions/' + params.name, config.functionNamespace);
22+
}
23+
24+
function createDir(params) {
25+
return _fsExtraPromise2.default.mkdirAsync('functions/' + params.name).return(params);
26+
}
27+
28+
function createFiles(params) {
29+
return _bluebird2.default.all([createIndexJS(params), createPackageJSON(params), createGitIgnore(params), createLambdaConfig(params), createEventJSON(params), createConfig(params)]).return(params);
30+
}
31+
32+
function createIndexJS(params) {
33+
var content = '\nimport env from \'./env\'\n\nexport function handler({ headers, pathParameters, queryParameters, body }, context) {\n // Replace below with your own code!\n context.succeed({ headers, pathParameters, queryParameters, body })\n}';
34+
return _fsExtraPromise2.default.writeFileAsync('functions/' + params.name + '/index.js', content);
35+
}
36+
37+
function createPackageJSON(params) {
38+
var content = {
39+
name: params.name,
40+
version: '0.0.1',
41+
description: '',
42+
main: 'index.js',
43+
scripts: {
44+
'test': 'echo \"Error: no test specified\" && exit 1'
45+
},
46+
author: '',
47+
dependencies: {}
48+
};
49+
return _fsExtraPromise2.default.writeJSONAsync('functions/' + params.name + '/package.json', content);
50+
}
51+
52+
function createGitIgnore(params) {
53+
var content = 'node_modules/*';
54+
return _fsExtraPromise2.default.writeFileAsync('functions/' + params.name + '/.gitignore', content);
55+
}
56+
57+
function createEventJSON(params) {
58+
var content = { key: 'value' };
59+
return _fsExtraPromise2.default.writeJSONAsync('functions/' + params.name + '/event.json', content);
60+
}
61+
62+
function createConfig(params) {
63+
var content = '\nimport { development } from \'../../env\'\nexport default development';
64+
return _fsExtraPromise2.default.writeFileAsync('functions/' + params.name + '/env.js', content);
65+
}
66+
67+
function createLambdaConfig(params) {
68+
var content = {
69+
Handler: 'index.handler',
70+
MemorySize: 128,
71+
Role: params.role,
72+
Timeout: 3
73+
};
74+
return _fsExtraPromise2.default.writeJSONAsync('functions/' + params.name + '/lambda.json', content);
75+
}
76+
};
77+
78+
var _bluebird = require('bluebird');
79+
80+
var _bluebird2 = _interopRequireDefault(_bluebird);
81+
82+
var _prompt = require('../util/prompt');
83+
84+
var _prompt2 = _interopRequireDefault(_prompt);
85+
86+
var _fsExtraPromise = require('fs-extra-promise');
87+
88+
var _fsExtraPromise2 = _interopRequireDefault(_fsExtraPromise);
89+
90+
var _upload = require('../deploy/upload');
91+
92+
var _upload2 = _interopRequireDefault(_upload);
93+
94+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

lib/create/index.js

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, "__esModule", {
4+
value: true
5+
});
6+
7+
exports.default = function (config, _ref) {
8+
var _ref2 = _toArray(_ref);
9+
10+
var cmd = _ref2[0];
11+
12+
var input = _ref2.slice(1);
13+
14+
if ((0, _lodash2.default)(validCommands, cmd)) {
15+
return require('./' + cmd).default(config, input);
16+
} else {
17+
return (0, _bluebird2.default)(new Error('That command was not recognized'));
18+
}
19+
};
20+
21+
var _bluebird = require('bluebird');
22+
23+
var _bluebird2 = _interopRequireDefault(_bluebird);
24+
25+
var _lodash = require('lodash');
26+
27+
var _lodash2 = _interopRequireDefault(_lodash);
28+
29+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30+
31+
function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }
32+
33+
var validCommands = ['project', 'resource'];

0 commit comments

Comments
 (0)