| apply plugin: 'com.moowork.node' |
| |
| node { |
| version = "$node_version" |
| npmVersion = "$npm_version" |
| download = true |
| nodeModulesDir = file(buildDir) |
| } |
| |
| // Workaround the problem with Node downloading: |
| // Kotlin plugin uses Gradle-metadata feature which is not compatible with node plugin download implementation |
| repositories.whenObjectAdded { |
| if (it instanceof IvyArtifactRepository) { |
| metadataSources { |
| artifact() |
| } |
| } |
| } |
| |
| // Configures testing for JS modules |
| task prepareNodePackage(type: Copy) { |
| from("npm") { |
| include 'package.json' |
| expand(project.properties + [kotlinDependency: ""]) |
| } |
| from("npm") { |
| exclude 'package.json' |
| } |
| into "$node.nodeModulesDir" |
| } |
| |
| npmInstall.dependsOn prepareNodePackage |