Skip to content

Slack chat Mkdocs docs Version gradle-plugin-portal Version maven-central

NPM-PUBLISH GRADLE PLUGIN

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

Setup

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
build.gradle.kts
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

Contributing

See CONTRIBUTING

Thanks to all the people who contributed to npm-publish!