aboutsummaryrefslogtreecommitdiffstats
path: root/gradle/node-js.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'gradle/node-js.gradle')
-rw-r--r--gradle/node-js.gradle40
1 files changed, 40 insertions, 0 deletions
diff --git a/gradle/node-js.gradle b/gradle/node-js.gradle
new file mode 100644
index 00000000..208f4ad2
--- /dev/null
+++ b/gradle/node-js.gradle
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
+ */
+
+apply plugin: 'com.moowork.node'
+
+node {
+ version = "$node_version"
+ npmVersion = "$npm_version"
+ download = true
+ nodeModulesDir = file(buildDir)
+}
+
+// Configures testing for JS modules
+
+task prepareNodePackage(type: Copy) {
+ from("npm") {
+ include 'package.json'
+ // Postpone expansion of package.json until we configure version property in build.gradle
+ def copySpec = it
+ afterEvaluate {
+ copySpec.expand(project.properties + [kotlinDependency: ""])
+ }
+ }
+ from("npm") {
+ exclude 'package.json'
+ }
+ into "$node.nodeModulesDir"
+}
+
+npmInstall.dependsOn prepareNodePackage
+
+// Workaround the problem with Node downloading
+repositories.whenObjectAdded {
+ if (it instanceof IvyArtifactRepository) {
+ metadataSources {
+ artifact()
+ }
+ }
+}