package Ġcom . iv ie league . k build . js Ċ Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġcom . iv ie league . k build . common . Module Ċ import Ġjava . io . File Ċ Ċ interface ĠNode Module Ġ: ĠModule Ġ{ ĊĊĠĠĠ Ġval Ġnode Private : ĠBoolean Ġget () Ġ= Ġtrue ĊĠĠĠ Ġval Ġhas Side Effects : ĠBoolean Ġget () Ġ= Ġfalse ĊĠĠĠ Ġval Ġnode Dependencies : ĠMap < String , ĠString > Ġget () Ġ= Ġmap Of () ĊĠĠĠ Ġval Ġnode Dev Dependencies : ĠMap < String , ĠString > Ġget () Ġ= Ġmap Of () ĊĠĠĠ Ġval Ġnode Scripts : ĠMap < String , ĠString > Ġget () Ġ= Ġmap Of () ĊĊĠĠĠ Ġfun Ġnode Package File (): ĠFile Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġroot . resolve (" package . json "). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . write Text ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObjectMapper (). writeValue AsString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġthis . group Ġ+ Ġ"/" Ġ+ Ġthis . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" version " Ġto Ġthis . version . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" dependencies " Ġto Ġnode Dependencies , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" devDependencies " Ġto Ġnode Dev Dependencies , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" scripts " Ġto Ġnode Scripts , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" private " Ġto Ġnode Private , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" side Effects " Ġto Ġhas Side Effects ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnpm Install (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġnode Package File () ĊĠĠĠĠĠĠĠ Ġreturn ĠNode . npm ( root , Ġ" install ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnode Run Script ( script : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġnpm Install () ĊĠĠĠĠĠĠĠ Ġreturn ĠNode . npm ( root , Ġ" run ", Ġscript ) ĊĠĠĠ Ġ} Ċ }