diff --git a/distribution/adapters/js-adapter-npm-zip/assembly.xml b/distribution/adapters/js-adapter-npm-zip/assembly.xml
new file mode 100755
index 000000000000..5859d08dfe49
--- /dev/null
+++ b/distribution/adapters/js-adapter-npm-zip/assembly.xml
@@ -0,0 +1,50 @@
+
+
+
+ war-dist
+
+
+ zip
+
+ true
+
+
+
+
+ /
+ true
+
+
+
+ /
+ true
+
+
+
+
+
+ ${project.build.directory}/unpacked/js-adapter
+ dist/
+
+ **/*.js
+ **/*.map
+ **/*.d.ts
+
+
+
+
diff --git a/distribution/adapters/js-adapter-npm-zip/pom.xml b/distribution/adapters/js-adapter-npm-zip/pom.xml
new file mode 100755
index 000000000000..16dff44c9f47
--- /dev/null
+++ b/distribution/adapters/js-adapter-npm-zip/pom.xml
@@ -0,0 +1,103 @@
+
+
+
+ 4.0.0
+
+ keycloak-parent
+ org.keycloak
+ 5.0.0-SNAPSHOT
+ ../../../pom.xml
+
+
+ keycloak-js-adapter-npm-dist
+ pom
+ Keycloak JS Adapter NPM Distribution
+
+
+
+
+ org.keycloak
+ keycloak-js-adapter
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ unpack
+ prepare-package
+
+ unpack-dependencies
+
+
+ true
+ org.keycloak
+ keycloak-js-adapter
+ ${project.build.directory}/unpacked/js-adapter
+ *.js,*.map,*.d.ts
+ **/welcome-content/*
+
+
+
+
+
+ maven-assembly-plugin
+
+
+ assemble
+ package
+
+ single
+
+
+
+ assembly.xml
+
+
+ target
+
+
+ target/assembly/work
+
+ false
+
+
+
+
+
+
+
+
+
+ product
+
+
+ product
+
+
+
+ ${product.name}-${product.filename.version}-js-adapter
+
+
+
+
+
diff --git a/distribution/adapters/js-adapter-npm-zip/src/main/resources/bower.json b/distribution/adapters/js-adapter-npm-zip/src/main/resources/bower.json
new file mode 100644
index 000000000000..7657a09ee138
--- /dev/null
+++ b/distribution/adapters/js-adapter-npm-zip/src/main/resources/bower.json
@@ -0,0 +1,17 @@
+{
+ "name": "keycloak",
+ "version": "${project.version}",
+ "main": "dist/keycloak.js",
+ "ignore": [
+ "**/.*"
+ ],
+ "description": "Keycloak adapter",
+ "keywords": [
+ "keycloak",
+ "sso",
+ "oauth",
+ "oauth2",
+ "authentication"
+ ],
+ "license": "Apache-2.0"
+}
diff --git a/distribution/adapters/js-adapter-npm-zip/src/main/resources/package.json b/distribution/adapters/js-adapter-npm-zip/src/main/resources/package.json
new file mode 100644
index 000000000000..64b0838802ad
--- /dev/null
+++ b/distribution/adapters/js-adapter-npm-zip/src/main/resources/package.json
@@ -0,0 +1,24 @@
+{
+ "name": "keycloak-js",
+ "version": "${project.version}",
+ "description": "Keycloak Adapter",
+ "main": "dist/keycloak.js",
+ "typings": "dist/keycloak.d.ts",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/keycloak/keycloak"
+ },
+ "author": "Keycloak",
+ "license": "Apache-2.0",
+ "homepage": "https://www.keycloak.org",
+ "keywords": [
+ "keycloak",
+ "sso",
+ "oauth",
+ "oauth2",
+ "authentication"
+ ]
+}
diff --git a/distribution/adapters/pom.xml b/distribution/adapters/pom.xml
index 873b1b0d869d..e8c53e3dc518 100755
--- a/distribution/adapters/pom.xml
+++ b/distribution/adapters/pom.xml
@@ -57,6 +57,7 @@
jetty93-adapter-zip
jetty94-adapter-zip
wf8-adapter
+ js-adapter-npm-zip