From cf268a0111513c55ebe077909bcd2a62ecb9fc8d Mon Sep 17 00:00:00 2001 From: Ramicode Date: Fri, 29 Sep 2017 23:29:29 +0200 Subject: [PATCH] add functionalities: '/addToState' 'resetState' 'sendState' 'substractFromState' --- week1/index.js | 66 +- week1/responses/addToState.js | 15 + week1/responses/resetState.js | 15 + week1/responses/sendIndexHTML.js | 6 +- week1/responses/sendPage2HTML.js | 4 +- week1/responses/sendState.js | 15 + week1/responses/sendText.js | 15 +- week1/responses/substractFromState.js | 15 + week3/README.md | 5 + week3/actions/create.js | 1 + week3/actions/index.js | 5 +- week3/actions/remove.js | 2 +- week3/actions/update.js | 2 +- week3/data/todos.json | 2 +- week3/index.js | 7 +- week3/models/todo.js | 20 +- week3/package-lock.json | 907 -------------------------- 17 files changed, 152 insertions(+), 950 deletions(-) create mode 100644 week1/responses/addToState.js create mode 100644 week1/responses/resetState.js create mode 100644 week1/responses/sendState.js create mode 100644 week1/responses/substractFromState.js diff --git a/week1/index.js b/week1/index.js index 5eee15634..33a93fcee 100644 --- a/week1/index.js +++ b/week1/index.js @@ -1,3 +1,4 @@ +var state = 10 import HTTP from 'http' import Path from 'path' @@ -5,34 +6,51 @@ import sendIndexHTML from './responses/sendIndexHTML' import sendPage2HTML from './responses/sendPage2HTML' import sendStylesCSS from './responses/sendStylesCSS' import sendText from './responses/sendText' +import sendState from './responses/sendState' +import addToState from './responses/addToState' const server = HTTP.createServer((request, response) => { - console.log(request.method, request.url) + console.log(request.method, request.url) - switch (request.url) { - case '/': - sendIndexHTML(response) - break - case '/page2': - sendPage2HTML(response) - break - case '/styles.css': - sendStylesCSS(response) - break - default: - const extension = Path.extname(request.url) - if (extension === '') { - response.statusCode = 302 - response.setHeader('Location', '/') - } else { - response.statusCode = 404 - sendText(response, "File not found") - } - } - - response.end() + switch (request.url) { + case '/': + sendIndexHTML(response) + break + case '/page2': + sendPage2HTML(response) + break + case '/styles.css': + sendStylesCSS(response) + break + case '/state': + sendState(response, state) + break + case '/add': + state += 1 + addToState(response) + break + case '/remove': + state -= 1 + renderState(response) + break + case '/reset': + state = 10 + renderState(response) + break + default: + const extension = request.url + if (extension === '') { + response.statusCode = 302 + response.setHeader('Location', '/') + } else { + response.statusCode = 404 + sendText(response, "Sorry... we couldn't find the link you are looking for.") + } + } + + response.end() }) -server.listen(3001) +server.listen(8080) console.log('Server started') \ No newline at end of file diff --git a/week1/responses/addToState.js b/week1/responses/addToState.js new file mode 100644 index 000000000..599d2987e --- /dev/null +++ b/week1/responses/addToState.js @@ -0,0 +1,15 @@ +export default function addToState(response) { + response.setHeader('Content-Type', 'text/html') + response.write(` + + + + Codestin Search App + + + + OK + + + `) +} \ No newline at end of file diff --git a/week1/responses/resetState.js b/week1/responses/resetState.js new file mode 100644 index 000000000..40ed55e8d --- /dev/null +++ b/week1/responses/resetState.js @@ -0,0 +1,15 @@ +export default function resetState(response) { + response.setHeader('Content-Type', 'text/html') + response.write(` + + + + Codestin Search App + + + + OK + + + `) +} \ No newline at end of file diff --git a/week1/responses/sendIndexHTML.js b/week1/responses/sendIndexHTML.js index 3262f7bd5..51b1dfb9e 100644 --- a/week1/responses/sendIndexHTML.js +++ b/week1/responses/sendIndexHTML.js @@ -1,6 +1,6 @@ export default function sendIndexHTML(response) { - response.setHeader('Content-Type', 'text/html') - response.write(` + response.setHeader('Content-Type', 'text/html') + response.write(` @@ -8,7 +8,7 @@ export default function sendIndexHTML(response) { - Hello I am a website + Hello I am a website `) diff --git a/week1/responses/sendPage2HTML.js b/week1/responses/sendPage2HTML.js index 2c6fd6d21..884b8563e 100644 --- a/week1/responses/sendPage2HTML.js +++ b/week1/responses/sendPage2HTML.js @@ -1,6 +1,6 @@ export default function sendPage2HTML(response) { - response.setHeader('Content-Type', 'text/html') - response.write(` + response.setHeader('Content-Type', 'text/html') + response.write(` diff --git a/week1/responses/sendState.js b/week1/responses/sendState.js new file mode 100644 index 000000000..1bfa3bbeb --- /dev/null +++ b/week1/responses/sendState.js @@ -0,0 +1,15 @@ +export default function sendState(response, state) { + response.setHeader('Content-Type', 'text/html') + response.write(` + + + + Codestin Search App + + + + the value of state is:${state} + + + `) +} \ No newline at end of file diff --git a/week1/responses/sendText.js b/week1/responses/sendText.js index b01d4c72b..996a1a34e 100644 --- a/week1/responses/sendText.js +++ b/week1/responses/sendText.js @@ -1,4 +1,15 @@ export default function sendText(response, text) { - response.setHeader('Content-Type', 'text/plain') - response.write(text) + response.setHeader('Content-Type', 'text/html') + response.write(` + + + + Codestin Search App + + + + ${text} + + +`) } \ No newline at end of file diff --git a/week1/responses/substractFromState.js b/week1/responses/substractFromState.js new file mode 100644 index 000000000..8666f3103 --- /dev/null +++ b/week1/responses/substractFromState.js @@ -0,0 +1,15 @@ +export default function substractFromState(response) { + response.setHeader('Content-Type', 'text/html') + response.write(` + + + + Codestin Search App + + + + OK + + + `) +} \ No newline at end of file diff --git a/week3/README.md b/week3/README.md index 0aaa27ecf..c39bd02ed 100644 --- a/week3/README.md +++ b/week3/README.md @@ -28,6 +28,11 @@ There are currently four actions: - `update` (`PUT /todos/:id`): Updates the description of a todo - `remove` (`DELETE /todos/:id`): Deletes a todo +Recently added: +- `clear` (`DELETE /todos`): Clears all todos +- `markAsDone` (POST /todos/:id/done`): Marks todo as done +- `markAsNotDone` (DELETE /todos/:id/done`): Marks todo as not done + ## Directory structure - `actions`: Contains the actions as listed above, each as a express handler (function accepting request and response) diff --git a/week3/actions/create.js b/week3/actions/create.js index 4948a8513..f2bfc9f81 100644 --- a/week3/actions/create.js +++ b/week3/actions/create.js @@ -4,6 +4,7 @@ const deserializeTodo = require('../util/deserializeTodo') module.exports = function create(request, response) { const todo = deserializeTodo(request, response) + if (todo == null) { return } Todo.create(todo.description, (error, todo) => { diff --git a/week3/actions/index.js b/week3/actions/index.js index 58056b22a..6fa8355cc 100644 --- a/week3/actions/index.js +++ b/week3/actions/index.js @@ -2,5 +2,8 @@ module.exports = { list: require('./list'), create: require('./create'), update: require('./update'), - remove: require('./remove') + remove: require('./remove'), + clear: require('./clear'), + markAsDone: require('./markAsDone'), + markAsNotDone: require('./markAsNotDone') } \ No newline at end of file diff --git a/week3/actions/remove.js b/week3/actions/remove.js index 41a83104d..86b564711 100644 --- a/week3/actions/remove.js +++ b/week3/actions/remove.js @@ -1,6 +1,6 @@ const Todo = require('../models/todo') -module.exports = function create(request, response) { +module.exports = function remove(request, response) { const id = request.params.id diff --git a/week3/actions/update.js b/week3/actions/update.js index 20ae8b021..fa2a9e929 100644 --- a/week3/actions/update.js +++ b/week3/actions/update.js @@ -7,7 +7,7 @@ module.exports = function update(request, response) { const todo = deserializeTodo(request, response) if (todo == null) { return } - Todo.update(id, todo.description, (error, todo) => { + Todo.update(id, todo.description, null, (error, todo) => { if (error == null) { response.json({todo}) } else if (error.name === 'NotFound') { diff --git a/week3/data/todos.json b/week3/data/todos.json index 3c4a24a8c..3f6f7d9c0 100644 --- a/week3/data/todos.json +++ b/week3/data/todos.json @@ -1 +1 @@ -[{"id":"f3e2462d-0bfb-46f2-8ea8-4fc7020f0f30","description":"Go into bed","done":false},{"id":"a2e2a68e-1a49-4fb5-ba66-f618a523e631","description":"Go into bed","done":false},{"id":"c8f9c333-2372-41c9-bc7b-3448b61f3371","description":"Do something","done":false},{"id":"bde9faac-582c-4536-8d01-b98252618340","description":"Blablabla","done":false}] \ No newline at end of file +[{"id":"bc65d46c-3fda-4ce0-ba25-cc7f23a9b236","description":"(create todo description)","done":false},{"id":"b3661391-202c-4077-a31c-2c1950a81b72","description":"(Updated todo description)","done":false}] \ No newline at end of file diff --git a/week3/index.js b/week3/index.js index a28d0d431..37c8f3bd3 100644 --- a/week3/index.js +++ b/week3/index.js @@ -5,11 +5,14 @@ const app = Express() app.use(bodyParser.json()) -const {list, create, update, remove} = require('./actions') +const {list, create, update, remove, clear, markAsDone, markAsNotDone} = require('./actions') app.get('/todos', list) app.post('/todos', create) app.put('/todos/:id', update) app.delete('/todos/:id', remove) +app.delete('/todos', clear) +app.post('/todos/:id/done', markAsDone) +app.delete('/todos/:id/done', markAsNotDone) -app.listen(3000) \ No newline at end of file +app.listen(8080) \ No newline at end of file diff --git a/week3/models/todo.js b/week3/models/todo.js index 2db6c7455..5d5f33a01 100644 --- a/week3/models/todo.js +++ b/week3/models/todo.js @@ -39,7 +39,7 @@ class Todo { }) } - update(id, description, callback) { + update(id, description, state, callback) { this.load((error, todos) => { if (error) { callback(error); return } @@ -52,8 +52,12 @@ class Todo { return } - todo.description = description + if (description) {todo.description = description} + //add functionality to update the "state" of "todo" item + if (state !== null) { todo.done = state } + //////////////////////////////////////////////// + this.save(todos, error => { if (error) { callback(error); return } @@ -65,16 +69,20 @@ class Todo { remove(id, callback) { this.load((error, todos) => { if (error) { callback(error); return } - - todos = todos.filter(t => t.id !== id) - + + //add check to CLEAR todo list if "id" present + if (id){ + todos = todos.filter(t => t.id !== id) + } else { + todos.splice(0, todos.length) + } + //////////////////////////////////////////////// this.save(todos, error => { if (error) { callback(error); return } callback() }) }) } - } module.exports = new Todo() \ No newline at end of file diff --git a/week3/package-lock.json b/week3/package-lock.json index dc87fa5d3..8fe43a1ac 100644 --- a/week3/package-lock.json +++ b/week3/package-lock.json @@ -725,7 +725,6 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", - "fsevents": "1.1.2", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -983,905 +982,6 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", - "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", - "dev": true, - "optional": true, - "requires": { - "nan": "2.7.0", - "node-pre-gyp": "0.6.36" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.36", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "dev": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", @@ -2222,13 +1322,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "nan": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", - "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=", - "dev": true, - "optional": true - }, "negotiator": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",