--- id: 587d7fb4367417b2b2512c00 title: Expand Your Project with External Packages from npm challengeType: 2 forumTopicId: 301527 dashedName: expand-your-project-with-external-packages-from-npm --- # --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. In this section, packages your project requires are stored using the following format: ```json "dependencies": { "package-name": "version", "express": "4.14.0" } ``` # --instructions-- Add version "2.14.0" of the "moment" package to the `dependencies` field of your package.json file. **Note:** Moment is a handy library for working with time and dates. # --hints-- "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); } ); ``` "moment" version should be "2.14.0" ```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); } ); ``` # --solutions-- ```js /** 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. */ ```