/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . Ġ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 Ċ Ċ import Ġorg . gradle . api . Plugin Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . plugins . Java Base Plugin Ċ import Ġorg . jetbrains . kotlin . gradle . dsl . Kotlin Js Project Extension Ċ import Ġorg . jetbrains . kotlin . gradle . dsl . kotlin Extension Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . configure Default Versions Resolution Strategy Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . Kotlin Js Single Target Preset Ċ import Ġorg . jetbrains . kotlin . gradle . utils . check Gradle Compatibility Ċ Ċ open Ġclass ĠKotlin Js Plugin ( ĊĠĠĠ Ġprivate Ġval Ġkotlin Plugin Version : ĠString Ċ ) Ġ: ĠPlugin < Project > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġapply ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO Ġget Ġrid Ġof Ġthis Ġplugin , Ġtoo ? ĠUse Ġthe Ġ' base ' Ġplugin Ġinstead ? ĊĠĠĠĠĠĠĠ Ġ// Ġin Ġfact , Ġthe Ġattributes Ġschema Ġof Ġthe ĠJava Ġbase Ġplugin Ġmay Ġbe Ġrequired Ġto Ġconsume Ġnon - MP P ĠKotlin / JS Ġlibs , ĊĠĠĠĠĠĠĠ Ġ// Ġso Ġinvestigation Ġis Ġneeded ĊĠĠĠĠĠĠĠ Ġproject . plugins . apply ( Java Base Plugin :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġcheck Gradle Compatibility () ĊĊĠĠĠĠĠĠĠ Ġval Ġkotlin Extension Ġ= Ġproject . kotlin Extension Ġas ĠKotlin Js Project Extension ĊĠĠĠĠĠĠĠ Ġconfigure Default Versions Resolution Strategy ( project , Ġkotlin Plugin Version ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= ĠKotlin Js Single Target Preset ( project , Ġkotlin Plugin Version ). create Target (" Js ") ĊĊĠĠĠĠĠĠĠ Ġkotlin Extension . target Ġ= Ġtarget ĊĊĠĠĠĠĠĠĠ Ġproject . components . addAll ( target . components ) ĊĠĠĠ Ġ} Ċ }