plugins { id 'org.jetbrains.kotlin.js' /** * This seems to work around a bug that prevents dead code elimination working as per * https://youtrack.jetbrains.com/issue/KT-51712 * * */ id "io.github.turansky.kfc.legacy-union" version "5.65.0" id 'org.jetbrains.kotlin.plugin.serialization' } group = rootProject.group version = rootProject.version repositories { mavenCentral() } kotlin { js(LEGACY) { browser { //Specify distribution bundle output directory - this is used by app-ktor-server as a // resource directory distribution { directory = project.file("build/dist-web/umapp") } binaries.executable() webpackTask { cssSupport.enabled = true } runTask { cssSupport.enabled = true } testTask { useKarma { useChromeHeadless() webpackConfig.cssSupport.enabled = true } } } } } dependencies { testImplementation 'org.jetbrains.kotlin:kotlin-test' implementation enforcedPlatform("org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom:$kotlinWrappersVersion") implementation "org.jetbrains.kotlin-wrappers:kotlin-react" implementation "org.jetbrains.kotlin-wrappers:kotlin-react-dom" implementation "org.jetbrains.kotlin-wrappers:kotlin-styled" implementation "org.jetbrains.kotlin-wrappers:kotlin-react-router-dom" implementation "org.jetbrains.kotlin-wrappers:kotlin-redux" implementation "org.jetbrains.kotlin-wrappers:kotlin-react-redux" implementation "org.jetbrains.kotlin-wrappers:kotlin-mui" implementation project(":core") implementation project(":lib-util") implementation project(":lib-database") implementation npm("@emotion/react", "$version_npm_emotion") implementation npm("@emotion/styled", "$version_npm_emotion") implementation npm("moment","$version_npm_moment") implementation npm("moment-timezone","$version_npm_moment_timezone") implementation npm("@date-io/moment","$version_npm_mement_io") implementation npm("@mui/lab","$version_npm_mui_lab") implementation npm("@mui/styles","$version_npm_mui_styles") implementation npm("@mui/material","$version_npm_mui_material") implementation npm("@mui/icons-material","$version_npm_mui_icons") implementation npm("@mui/x-date-pickers", "$version_npm_mui_x_date_pickers") implementation npm("date-fns","$version_npm_date_fns") implementation npm("html-to-image","$version_npm_html_to_image") implementation "com.github.UstadMobile.door:door-annotations:$version_door" implementation "org.kodein.di:kodein-di:$version_kodein_di" implementation npm("react-google-charts","$version_npm_google_charts") implementation "com.github.UstadMobile.door:door-runtime:$version_door" implementation "io.ktor:ktor-client-content-negotiation:$version_ktor" implementation "io.ktor:ktor-client-js:$version_ktor" implementation "io.ktor:ktor-serialization-kotlinx-json:$version_ktor" implementation npm("timezones.json","$version_npm_timezones") implementation npm("striptags","$version_npm_striptags") implementation npm("mime-matcher","$version_npm_mime_matcher") implementation npm("mui-rte","$version_npm_mui_rte") implementation npm("draft-js","$version_npm_draft_js") implementation npm("draft-js-export-html","$version_npm_draft_js_html_export") implementation npm("react-easy-sort","$version_npm_react_easy_sort") implementation "com.ustadmobile.xmlpullparserkmp:xmlpullparserkmp:$version_xmlpullparserkmp" implementation "io.github.aakira:napier:$version_napier" implementation npm("linkifyjs", "$version_linkify_js") implementation npm("linkify-react", "$version_linkify_react") }