UNPKG

5.49 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/init.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,KAAK,QAAQ,IAAR,CAAL;AACJ,IAAI,OAAO,QAAQ,MAAR,CAAP;AACJ,IAAI,OAAO,QAAQ,MAAR,CAAP;AACJ,IAAI,SAAS,KAAK,QAAQ,QAAR,CAAL,CAAT;;AAOJ,WAAS,SAAT,CAAmB,IAAnB,GAA0B,UAAS,GAAT,EAAc,MAAd,EAAsB;;;AAC9C,MAAI,cAAc,OAAO,IAAP,IAAe,KAAK,QAAL,CAAc,GAAd,CAAf,CAD4B;;AAG9C,SAAO,QAAQ,OAAR,GACJ,IADI,CACC,YAAM;AACV,UAAM,wBAAS,EAAE,QAAF,EAAT,EAAkB,EAAE,KAAK,QAAL,EAApB,EAAqC,GAArC,CADI;AAEV,aAAS,wBAAS,MAAT,EAAiB;AACxB,cAAQ,QAAR;AACA,YAAM,SAAN;AACA,WAAK,QAAL;AACA,YAAM,SAAN;KAJO,CAAT,CAFU;AAQV,WAAO,GAAP,GAAa,wBAAS,OAAO,GAAP,EAAY;AAChC,UAAI,QAAJ;AACA,YAAM,QAAN;AACA,mBAAa,SAAb;KAHW,CAAb,CARU;;AAcV,UAAK,IAAL,GAAY,GAAZ,CAdU;AAeV,UAAK,SAAL,CAAe,OAAO,MAAP,CAAf,CAfU;GAAN,CADD,CAkBJ,IAlBI,CAkBC;WAAM,OAAO,GAAP;GAAN,CAlBD,CAmBJ,IAnBI,CAmBC,YAAM;AACV,QAAI,aAAa,KAAK,IAAL,CAAU,GAAV,EAAe,eAAf,CAAb,CADM;AAEV,QAAI,SAAS,GAAG,UAAH,CAAc,UAAd,CAAT,CAFM;AAGV,QAAI,MAAJ,EAAY,OAAZ;AACA,QAAI,OAAO;AACT,eAAS,WAAT;AACA,cAAQ,OAAO,MAAP;AACR,WAAK,OAAO,MAAP,CAAc;AACjB,eAAO,IAAP;AACA,mBAAW,EAAX;OAFG,EAGF,OAAO,GAAP,CAHH;AAIA,cAAQ;AACN,kBAAU;AACR,gBAAM,OAAO,IAAP;AACN,mBAAS,EAAT;AACA,kBAAQ,GAAR;SAHF;AAKA,mBAAW,EAAX;OANF;AAQA,cAAQ;AACN,gBAAQ,EAAR;OADF;KAfE,CAJM;AAuBV,WAAO,MAAK,WAAL,CAAiB,IAAjB,CAAP,CAvBU;GAAN,CAnBD,CA4CJ,IA5CI,CA4CC;WACJ,QAAQ,GAAR,CAAY,CAAC,WAAD,EAAc,MAAd,EAAsB,GAAtB,CAA0B;aAAK,OAAO,KAAK,IAAL,CAAU,GAAV,EAAe,CAAf,CAAP;KAAL,CAAtC;GADI,CA5CD,CA+CJ,IA/CI,CA+CC,YAAM;AACV,QAAI,OAAO;AACT,eAAS,IAAT;AACA,YAAM,WAAN;AACA,eAAS,OAAT;AACA,mBAAa,uCAAb;AACA,eAAS;AACP,eAAO,UAAP;AACA,cAAM,kDAAN;OAFF;AAIA,cAAQ;AACN,cAAM,QAAQ,GAAR,CAAY,IAAZ,IAAoB,EAApB;OADR;AAGA,eAAS,KAAT;AACA,oBAAc;AACZ,mBAAW,OAAX,EADF;;AAGA,uBAAiB;AACf,2BAAmB,MAAI,QAAQ,iBAAR,EAA2B,OAA3B;AACvB,iBAAS,SAAT;AACA,qBAAa,QAAb;OAHF;AAKA,gBAAU,CAAC,UAAD,EAAa,QAAb,EAAuB,KAAvB,CAAV;AACA,eAAS;AACP,cAAO,SAAP,EADF;KAtBE,CADM;;AA2BV,WAAO,MAAK,UAAL,CAAgB,cAAhB,EAAgC,IAAhC,EAAsC,KAAtC,CAAP,CA3BU;GAAN,CA/CD,CA4EJ,IA5EI,CA4EC,YAAM;AACV,QAAI,6CAAJ,CADU;AAOV,WAAO,MAAK,UAAL,CAAgB,QAAhB,EAA0B,IAA1B,EAAgC,KAAhC,CAAP,CAPU;GAAN,CA5ED,CAqFJ,IArFI,CAqFC,YAAM;AACV,QAAI,8CAAJ,CADU;AAOV,WAAO,MAAK,UAAL,CAAgB,oBAAhB,EAAsC,IAAtC,EAA4C,KAA5C,CAAP,CAPU;GAAN,CArFD,CA8FJ,IA9FI,CA8FC,YAAM;AACV,UAAK,IAAL,CAAU,mBAAV,EADU;GAAN,CA9FR,CAH8C;CAAtB","file":"init.js","sourcesContent":["var fs = require('fs')\nvar path = require('path')\nvar pify = require('pify')\nvar mkdirp = pify(require('mkdirp'))\n\nimport dedent from 'dedent'\nimport Backbeam from './'\nimport promisify from './utils/promisify'\nimport sanitize from './utils/sanitize'\n\nBackbeam.prototype.init = function(dir, params) {\n var projectName = params.name || path.basename(dir)\n\n return Promise.resolve()\n .then(() => {\n dir = sanitize({ dir }, { dir: 'string' }).dir\n params = sanitize(params, {\n region: 'string',\n name: 'string?',\n api: 'object',\n role: 'string?',\n })\n params.api = sanitize(params.api, {\n id: 'string',\n name: 'string',\n description: 'string?',\n })\n\n this._dir = dir\n this.setRegion(params.region)\n })\n .then(() => mkdirp(dir))\n .then(() => {\n var configFile = path.join(dir, 'backbeam.json')\n var exists = fs.existsSync(configFile)\n if (exists) return\n var data = {\n project: projectName,\n region: params.region,\n api: Object.assign({\n stage: null,\n endpoints: [],\n }, params.api),\n lambda: {\n defaults: {\n role: params.role,\n timeout: 60,\n memory: 128,\n },\n functions: [],\n },\n dynamo: {\n tables: [],\n }\n }\n return this.writeConfig(data)\n })\n .then(() => (\n Promise.all(['functions', 'test'].map(d => mkdirp(path.join(dir, d))))\n ))\n .then(() => {\n var data = {\n private: true,\n name: projectName,\n version: '1.0.0',\n description: 'Node.js app made with backbeam-lambda',\n scripts: {\n start: 'node app',\n test: 'NODE_ENV=test mocha --bail --reporter spec test/',\n },\n author: {\n name: process.env.USER || '',\n },\n license: 'ISC',\n dependencies: {\n 'aws-sdk': '2.2.3', // see http://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html\n },\n devDependencies: {\n 'backbeam-lambda': '^'+require('../package.json').version,\n 'mocha': '^1.21.4',\n 'supertest': '^1.1.0',\n },\n keywords: ['backbeam', 'lambda', 'aws'],\n engines: {\n node : '0.10.36', // see http://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html\n }\n }\n return this._writeFile('package.json', data, false)\n })\n .then(() => {\n var code = dedent`\n var Backbeam = require('backbeam-lambda').default\n var backbeam = new Backbeam(process.cwd())\n\n var app = exports.app = backbeam.serverStart()\n `\n return this._writeFile('app.js', code, false)\n })\n .then(() => {\n var code = dedent`\n var assert = require('assert')\n\n var request = require('supertest')(require('../app').app)\n exports.request = request\n `\n return this._writeFile('test/test-utils.js', code, false)\n })\n .then(() => {\n this.emit('directory_changed')\n })\n}\n"]}
\No newline at end of file