feat: [SDK-4323] create OneSignal Capacitor SDK - #1
Merged
Conversation
abdulraqeeb33
requested changes
Apr 9, 2026
Rename `android/build.gradle` to `android/build.gradle.kts` and port the build configuration to Kotlin DSL for better type safety and IDE support. Update the release workflow to reference the new filename. Made-with: Cursor
abdulraqeeb33
approved these changes
Apr 16, 2026
abdulraqeeb33
left a comment
There was a problem hiding this comment.
one small nit but otherwise looking good to me
Move AGP, Kotlin, OneSignal SDK, appcompat, junit, espresso, SDK API
levels, and other Android versions into a Gradle version catalog so
they live in one place and match the structure reviewers expect.
The buildscript {} block and the module body read from the catalog via
small inline parsers. Capacitor consumer apps still override the
standard Capacitor properties (compileSdkVersion, minSdkVersion,
targetSdkVersion, kotlin_version, junitVersion, androidxAppCompatVersion)
via rootProject.extra, so there is no change to how consumers configure
the plugin.
Also bump the OneSignal Android SDK pin to 5.7.7 (latest).
Made-with: Cursor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
One Line Summary
Modernize the OneSignal Capacitor SDK build toolchain, convert to ESM-only, and add CI/CD infrastructure.
Details
Motivation
Set up the OneSignal Capacitor SDK with modern tooling, CI/CD pipelines, and code quality infrastructure to establish a solid foundation for the plugin.
Scope
Build & Module System:
"type": "module") with singleimportexportvp) toolchain for building, linting, formatting, and testingtsconfig.jsonto useESNextmodule withbundlerresolutioniOS Refactor:
OneSignalCapacitorwrapper class directly intoOneSignalCapacitorPlugin.swift, removing the unnecessary abstraction layerCI/CD & Infrastructure:
.vite-hooks/pre-commitwithvp stagedCode Quality:
typescript/unbound-methodrule for test filesWhat is NOT changed:
Testing
Unit testing
All existing unit tests pass under the new Vite Plus test runner. Coverage support was added via
@vitest/coverage-v8.Manual testing
Build (
vp pack), lint (vp check), and test (vp test) all pass locally.Affected code checklist
Checklist
Overview
Testing
Final pass
Made with Cursor