DISCLAIMER: If you still depend on the old LEGACY Kotlin/JS compiler, please stick with
npm-publish:2.1.x
version. LEGACY backend support was dropped sincenpm-publish:3.0.0
.
Gradle plugin enabling NPM publishing (essentially maven-publish
for NPM packages). Integrates seamlessly with
Kotlin/JS/MPP plugin if applied, providing auto configurations.
Check the latest release for verified JVM, Kotlin and Gradle tooling versions
Here's a bare minimum setup when using together with one of the kotlin plugins. This setup would produce the following tasks:
assembleJsPackage
packJsPackage
publishJsPackageToNpmjsRegistry
plugins {
id("dev.petuska.npm.publish") version "<VERSION>"
kotlin("multiplatform") version "<VERSION>>" // Optional, also supports "js"
}
kotlin {
js(IR) {
binaries.library()
browser() // or nodejs()
}
}
npmPublish {
registries {
// For registries expecting an authentiation token, use authToken
register("npmjs") {
uri.set("https://registry.npmjs.org")
authToken.set("obfuscated")
}
// For registries expecting a username and password, use auth or username + password
register("nexus") {
uri.set("https://nexus.example.com/repository/npm-internal")
username.set("obfuscated")
password.set("obfuscated")
// Or:
// auth.set("base64-encoded-string")
}
}
}
Full documentation can be found on npm-publish.petuska.dev
See CONTRIBUTING
Thanks to all the people who contributed to npm-publish!