/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . gradle . targets . js . npm Ċ Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . logging . Logger Ċ import Ġorg . gradle . internal . service . Service Registry Ċ import Ġorg . jetbrains . kotlin . gradle . targets . js . nodejs . Node Js Root Extension Ċ import Ġorg . jetbrains . kotlin . gradle . targets . js . npm . resolved . Kotlin Compilation N pm Resolution Ċ import Ġorg . jetbrains . kotlin . gradle . targets . js . yarn . Y arn Env Ċ import Ġjava . io . File Ċ import Ġjava . io . Serializable Ċ Ċ /** Ċ Ġ* ĠNodeJS Ġpackage Ġmanager ĠAPI Ċ Ġ*/ Ċ interface ĠN pm Api Ġ: ĠSerializable Ġ{ ĊĠĠĠ Ġfun Ġsetup ( project : ĠProject ) ĊĊĠĠĠ Ġfun Ġprepared Files ( node Js : ĠN pm Environment ): ĠCollection < File > ĊĊĠĠĠ Ġfun Ġprepare Root Project ( ĊĠĠĠĠĠĠĠ Ġroot Project : ĠProject ?, ĊĠĠĠĠĠĠĠ Ġnode Js : ĠN pm Environment , ĊĠĠĠĠĠĠĠ Ġroot ProjectName : ĠString , ĊĠĠĠĠĠĠĠ Ġroot Project Version : ĠString , ĊĠĠĠĠĠĠĠ Ġlogger : ĠLogger , ĊĠĠĠĠĠĠĠ Ġsub Projects : ĠCollection < Kotlin Compilation N pm Resolution >, ĊĠĠĠĠĠĠĠ Ġresolution s : ĠMap < String , ĠString >, ĊĠĠĠĠĠĠĠ Ġforce Full Resolve : ĠBoolean ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġresolve Root Project ( ĊĠĠĠĠĠĠĠ Ġservices : ĠService Registry , ĊĠĠĠĠĠĠĠ Ġlogger : ĠLogger , ĊĠĠĠĠĠĠĠ Ġnode Js : ĠN pm Environment , ĊĠĠĠĠĠĠĠ Ġyarn : ĠY arn Env , ĊĠĠĠĠĠĠĠ Ġnpm Projects : ĠCollection < Kotlin Compilation N pm Resolution >, ĊĠĠĠĠĠĠĠ Ġcli Args : ĠList < String > ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġresolve Dependency ( ĊĠĠĠĠĠĠĠ Ġnpm Resolution : ĠKotlin Compilation N pm Resolution , ĊĠĠĠĠĠĠĠ Ġdependency : ĠN pm Dependency , ĊĠĠĠĠĠĠĠ Ġtrans itive : ĠBoolean ĊĠĠĠ Ġ): ĠSet < File > ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġresolve Operation Description ( package Manager Title : ĠString ): ĠString Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Res olving ĠNPM Ġdependencies Ġusing Ġ$ package Manager Title " ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠN pm Environment ( ĊĠĠĠ Ġval Ġroot Package Dir : ĠFile , ĊĠĠĠ Ġval Ġnode Executable : ĠString , ĊĠĠĠ Ġval Ġis Windows : ĠBoolean Ċ ) Ġ: ĠSerializable Ċ Ċ internal Ġval ĠNode Js Root Extension . as N pm Environment ĊĠĠĠ Ġget () Ġ= ĠN pm Environment ( ĊĠĠĠĠĠĠĠ Ġroot Package Dir , ĊĠĠĠĠĠĠĠ Ġrequire Configured (). node Executable , ĊĠĠĠĠĠĠĠ Ġrequire Configured (). is Windows ĊĠĠĠ Ġ) Ċ