File tree Expand file tree Collapse file tree 4 files changed +70
-0
lines changed Expand file tree Collapse file tree 4 files changed +70
-0
lines changed Original file line number Diff line number Diff line change
1
+ {
2
+ "name" : " fcc-learn-npm-package-json" ,
3
+ "repository" : {
4
+ "type" : " git" ,
5
+ "url" : " https://github.com/shmck/coderoad-learn-npm-package-json"
6
+ },
7
+ "main" : " server.js" ,
8
+ "scripts" : {
9
+ "start" : " node server.js" ,
10
+ "programmatic-test" : " mocha --reporter=mocha-tap-reporter" ,
11
+ "test" : " mocha"
12
+ },
13
+ "dependencies" : {
14
+ "express" : " ^4.17.0"
15
+ },
16
+ "devDependencies" : {
17
+ "mocha" : " ^7.0.1" ,
18
+ "mocha-tap-reporter" : " ^0.1.3"
19
+ }
20
+ }
Original file line number Diff line number Diff line change
1
+ const express = require ( "express" ) ;
2
+ const app = express ( ) ;
3
+ const port = 3000 ;
4
+
5
+ app . get ( "/" , ( req , res ) => res . send ( "Hello World!" ) ) ;
6
+
7
+ app . listen ( port , ( ) =>
8
+ console . log ( `Example app listening at http://localhost:${ port } !` )
9
+ ) ;
Original file line number Diff line number Diff line change
1
+ const { getPackageJson } = require ( "./utils" ) ;
2
+ const assert = require ( "assert" ) ;
3
+
4
+ describe ( "package.json" , ( ) => {
5
+ let json ;
6
+ before ( async ( ) => {
7
+ json = await getPackageJson ( ) ;
8
+ } ) ;
9
+ // 1.1
10
+ it ( 'should have a valid "author" key' , ( ) => {
11
+ assert . ok ( json . author , 'no "author" key provided' ) ;
12
+ assert . equal (
13
+ typeof json . author ,
14
+ "string" ,
15
+ 'should have an "author" value that is a string'
16
+ ) ;
17
+ } ) ;
18
+ } ) ;
Original file line number Diff line number Diff line change
1
+ const {
2
+ promises : { readFile }
3
+ } = require ( "fs" ) ;
4
+ const { join } = require ( "path" ) ;
5
+
6
+ const getPackageJson = async ( ) => {
7
+ // load package.json file
8
+ const pathToPackageJson = join ( process . cwd ( ) , "package.json" ) ;
9
+ const packageJson = await readFile ( pathToPackageJson , "utf8" ) . catch (
10
+ console . error
11
+ ) ;
12
+ if ( ! packageJson ) {
13
+ throw new Error ( "Missing root package.json" ) ;
14
+ }
15
+ // parse as JSON
16
+ const json = JSON . parse ( packageJson ) ;
17
+ if ( ! json ) {
18
+ throw new Error ( "The package.json content looks invalid" ) ;
19
+ }
20
+ return json ;
21
+ } ;
22
+
23
+ exports . getPackageJson = getPackageJson ;
You can’t perform that action at this time.
0 commit comments