2018-10-25 20:29:56 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								id: 587d7fb4367417b2b2512c00
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								title: Expand Your Project with External Packages from npm
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								challengeType: 2
							 
						 
					
						
							
								
									
										
										
										
											2019-08-05 09:17:33 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								forumTopicId: 301527
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 03:31:00 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								dashedName: expand-your-project-with-external-packages-from-npm
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 20:29:56 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# --description--
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								One of the biggest reasons to use a package manager, is their powerful dependency management. Instead of manually having to make sure that you get all dependencies whenever you set up a project on a new computer, npm automatically installs everything for you. But how can npm know exactly what your project needs? Meet the `dependencies`  section of your package.json file.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-03-03 12:30:44 -06:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								In this section, packages your project requires are stored using the following format:
							 
						 
					
						
							
								
									
										
										
										
											2019-05-14 05:00:06 -07:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```json
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								"dependencies": {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  "package-name": "version",
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  "express": "4.14.0"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# --instructions--
 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 20:29:56 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Add version "2.14.0" of the "moment" package to the `dependencies`  field of your package.json file.
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 20:29:56 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								**Note:** Moment is a handy library for working with time and dates.
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 20:29:56 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# --hints--
 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 20:29:56 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								"dependencies" should include "moment"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								(getUserInput) =>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  $.get(getUserInput('url') + '/_api/package.json').then(
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    (data) => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      var packJson = JSON.parse(data);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      assert.property(
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        packJson.dependencies,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        'moment',
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        '"dependencies" does not include "moment"'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      );
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    (xhr) => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      throw new Error(xhr.responseText);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  );
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 20:29:56 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								"moment" version should be "2.14.0"
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 20:29:56 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								(getUserInput) =>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  $.get(getUserInput('url') + '/_api/package.json').then(
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    (data) => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      var packJson = JSON.parse(data);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      assert.match(
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        packJson.dependencies.moment,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /^[\^\~]?2\.14\.0/,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        'Wrong version of "moment" installed. It should be 2.14.0'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      );
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    (xhr) => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      throw new Error(xhr.responseText);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  );
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 20:29:56 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# --solutions--
 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 20:29:56 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								```js
							 
						 
					
						
							
								
									
										
										
										
											2019-10-24 10:08:13 +05:30 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								/**
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  Backend challenges don't need solutions, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  because they would need to be tested against a full working project. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  Please check our contributing guidelines to learn more.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								*/
							 
						 
					
						
							
								
									
										
										
										
											2018-10-25 20:29:56 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								```