* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
		
			
				
	
	
		
			85 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| id: 587d7fb4367417b2b2512bfd
 | |
| title: Add Keywords to Your package.json
 | |
| challengeType: 2
 | |
| forumTopicId: 301526
 | |
| dashedName: add-keywords-to-your-package-json
 | |
| ---
 | |
| 
 | |
| # --description--
 | |
| 
 | |
| The `keywords` field is where you can describe your project using related keywords. Here's an example:
 | |
| 
 | |
| ```json
 | |
| "keywords": [ "descriptive", "related", "words" ],
 | |
| ```
 | |
| 
 | |
| As you can see, this field is structured as an array of double-quoted strings.
 | |
| 
 | |
| # --instructions--
 | |
| 
 | |
| Add an array of suitable strings to the `keywords` field in the package.json file of your project.
 | |
| 
 | |
| One of the keywords should be "freecodecamp".
 | |
| 
 | |
| # --hints--
 | |
| 
 | |
| package.json should have a valid "keywords" key
 | |
| 
 | |
| ```js
 | |
| (getUserInput) =>
 | |
|   $.get(getUserInput('url') + '/_api/package.json').then(
 | |
|     (data) => {
 | |
|       var packJson = JSON.parse(data);
 | |
|       assert(packJson.keywords, '"keywords" is missing');
 | |
|     },
 | |
|     (xhr) => {
 | |
|       throw new Error(xhr.responseText);
 | |
|     }
 | |
|   );
 | |
| ```
 | |
| 
 | |
| "keywords" field should be an Array
 | |
| 
 | |
| ```js
 | |
| (getUserInput) =>
 | |
|   $.get(getUserInput('url') + '/_api/package.json').then(
 | |
|     (data) => {
 | |
|       var packJson = JSON.parse(data);
 | |
|       assert.isArray(packJson.keywords, '"keywords" is not an array');
 | |
|     },
 | |
|     (xhr) => {
 | |
|       throw new Error(xhr.responseText);
 | |
|     }
 | |
|   );
 | |
| ```
 | |
| 
 | |
| "keywords" should include "freecodecamp"
 | |
| 
 | |
| ```js
 | |
| (getUserInput) =>
 | |
|   $.get(getUserInput('url') + '/_api/package.json').then(
 | |
|     (data) => {
 | |
|       var packJson = JSON.parse(data);
 | |
|       assert.include(
 | |
|         packJson.keywords,
 | |
|         'freecodecamp',
 | |
|         '"keywords" does not include "freecodecamp"'
 | |
|       );
 | |
|     },
 | |
|     (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.
 | |
| */
 | |
| ```
 |