Skip to content

Commit

Permalink
New webpack configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
MarcinMoskala committed Feb 4, 2018
1 parent 192f7d3 commit a8d6b26
Show file tree
Hide file tree
Showing 9 changed files with 46 additions and 139 deletions.
9 changes: 9 additions & 0 deletions build.gradle
Expand Up @@ -10,12 +10,14 @@ allprojects {
maven { url 'https://maven.google.com' }
maven { url "https://plugins.gradle.org/m2/" }
maven { url "http://dl.bintray.com/kotlin/kotlin-dev" }
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
jcenter()
mavenCentral()
mavenLocal()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-frontend-plugin:0.0.27"
classpath "org.jetbrains.kotlinx:kotlinx-gradle-serialization-plugin:$serialization_version"
classpath("org.jetbrains.kotlinx:kotlinx-coroutines-core:0.12")
classpath 'com.google.gms:google-services:3.1.1'
Expand All @@ -30,6 +32,11 @@ allprojects {
maven { url "https://kotlin.bintray.com/kotlinx" }
maven { url 'https://maven.google.com' }
maven { url 'https://jitpack.io' }
maven { url "http://dl.bintray.com/kotlin/kotlin-dev" }
maven { url "http://dl.bintray.com/kotlinx/kotlinx" }
maven { url "http://dl.bintray.com/hypnosphi/kotlin-wrappers" }
mavenCentral()

jcenter()
}
}
Expand All @@ -43,5 +50,7 @@ task serverPrepare(type: Copy, dependsOn: [":web:build", ":web:buildBundle"]) {
finalizedBy ":backend:build"
}

task testAll(dependsOn: [":common-client-jvm:test", ":common-client-js:test"])

apply from: 'dependencies.gradle'
apply from: 'imagesShare.gradle'
78 changes: 33 additions & 45 deletions web/build.gradle
@@ -1,59 +1,47 @@
group "org.kotlinacademy"
version "1.0-SNAPSHOT"

apply plugin: "kotlin2js"
apply plugin: "kotlin-dce-js"
apply plugin: "com.moowork.node"

repositories {
maven { url "http://dl.bintray.com/kotlin/kotlin-dev" }
maven { url "http://dl.bintray.com/kotlinx/kotlinx" }
maven { url "http://dl.bintray.com/hypnosphi/kotlin-wrappers" }
mavenCentral()
apply plugin: 'org.jetbrains.kotlin.frontend'
apply plugin: 'kotlin2js'

kotlinFrontend {
downloadNodeJsVersion = 'latest'

npm {
dependency("firebase", "^4.6.2")
dependency("node-watch", "0.5.5")
dependency("react", "15.6.1")
dependency("react-dom", "15.6.1")
dependency("react-router-dom", "4.2.2")
dependency("source-map-loader", "0.2.1")
dependency("webpack", "3.4.1")
dependency("webpack-merge", "4.1.0")

devDependency("webpack-dev-server", "2.8.2")
devDependency("npm-run-all", "4.1.1")
}

sourceMaps = true

webpackBundle {
bundleName = "main"
contentPath = file('src/main/web')
proxyUrl = "http://localhost:8080"
}
}

dependencies {
compile project(':common-client-js')
compile dep.kotlin_stdlib_js
compile(dep.kotlinx_html) { force = true }
compile dep.kotlin_react
compile dep.kotlin_test_js
}

compileKotlin2Js {
kotlinOptions {
sourceMap = true
sourceMapEmbedSources = "always"
moduleKind = 'commonjs'
metaInfo = false
}
}

node.download = true
kotlin.experimental.coroutines 'enable'

task copyStatic(type: Copy) {
from "$rootDir/web/src/main/web"
into "$buildDir/web"
}

task buildBundle(type: NpmTask, dependsOn: [npmInstall, runDceKotlinJs]) {
args = ["run", "dist"]
shouldRunAfter "build"
}

task copyKotlinJs(type: Copy, dependsOn: compileKotlin2Js) {
def workDir = "$buildDir/classes/kotlin/main/"
from(workDir) {
include "*.js"
include "*.js.map"
}
into "$workDir/dependencies"
}

task devBuild(dependsOn: [npmInstall, copyStatic, copyKotlinJs])

assemble.dependsOn buildBundle, copyStatic

task run(type: NpmTask) {
args = ['run', 'serve']
kotlinOptions.metaInfo = true
kotlinOptions.outputFile = "$project.buildDir.path/js/${project.name}.js"
kotlinOptions.sourceMap = true
kotlinOptions.moduleKind = 'commonjs'
kotlinOptions.main = "call"
}
22 changes: 0 additions & 22 deletions web/package.json

This file was deleted.

2 changes: 0 additions & 2 deletions web/src/main/js/index.js

This file was deleted.

3 changes: 3 additions & 0 deletions web/src/main/kotlin/org/kotlinacademy/main.kt
@@ -1,5 +1,7 @@
package org.kotlinacademy

import kotlinx.coroutines.experimental.DefaultDispatcher
import org.kotlinacademy.common.UI
import org.kotlinacademy.common.hashRouter
import org.kotlinacademy.common.route
import org.kotlinacademy.common.switch
Expand All @@ -11,6 +13,7 @@ import kotlin.browser.document
import kotlin.browser.window

fun main(args: Array<String>) {
UI = DefaultDispatcher
window.onload = {
render(document.getElementById("root")!!) {
hashRouter {
Expand Down
2 changes: 1 addition & 1 deletion web/src/main/web/index.html
Expand Up @@ -21,7 +21,7 @@
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="https://www.gstatic.com/firebasejs/4.6.2/firebase.js"></script>
<script src="https://www.gstatic.com/firebasejs/4.6.2/firebase-messaging.js"></script>
<script type="text/javascript" src="bundle.js"></script>
<script type="text/javascript" src="main.bundle.js"></script>

<!-- Material Design Theming -->
<link rel="stylesheet" href="https://code.getmdl.io/1.1.3/material.orange-indigo.min.css">
Expand Down
21 changes: 0 additions & 21 deletions web/webpack.common.js

This file was deleted.

17 changes: 0 additions & 17 deletions web/webpack.config.js

This file was deleted.

31 changes: 0 additions & 31 deletions web/webpack.dev.js

This file was deleted.

0 comments on commit a8d6b26

Please sign in to comment.