Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
000ced3
initial setup for branch
millerm30 Nov 28, 2025
deb80fd
update react types to match react native version
millerm30 Nov 28, 2025
67bec12
Add Firebase Messaging Service and Notification Handling
millerm30 Dec 3, 2025
1d077d0
Enhance README with detailed Firebase setup instructions for Notifica…
millerm30 Dec 3, 2025
ed5ef15
Update GitHub Actions workflow to use latest Node.js and checkout act…
millerm30 Dec 3, 2025
3605626
Enhance GitHub Actions workflow with caching and type checking
millerm30 Dec 3, 2025
e8fb205
Add Prettier configuration and integrate into build process
millerm30 Dec 3, 2025
2c07163
Update React and React Native dependencies in package.json and packag…
millerm30 Dec 3, 2025
64cdffd
Update README to include SDK requirements for React Native and React …
millerm30 Dec 3, 2025
feea735
Remove lint script from package.json
millerm30 Dec 3, 2025
90e25b3
Add ESLint configuration and update dependencies
millerm30 Dec 3, 2025
8117604
Update GitHub Actions workflow to combine linting and formatting checks
millerm30 Dec 3, 2025
5aee3b4
Update GitHub Actions workflow to use npm ci for dependency installation
millerm30 Dec 3, 2025
cd9e4ce
Add CI pipeline configuration for linting, type checking, and publishing
millerm30 Dec 3, 2025
65a655c
Update Slack notification integration in CI workflow
millerm30 Dec 3, 2025
66b25c8
Update pull request workflow to skip drafts
millerm30 Dec 4, 2025
e39a72e
Refactor NotificationApiModule to extend RCTEventEmitter and update n…
millerm30 Dec 4, 2025
ea4d855
Remove @types/react-native from package.json and package-lock.json to…
millerm30 Dec 4, 2025
0275231
Remove ws resolution no needed and not setup right anway
millerm30 Dec 4, 2025
3b02db8
Add MIT License and update README for NotificationAPI SDK
millerm30 Dec 4, 2025
24a6655
Remove in-app notifications section from README.md to streamline docu…
millerm30 Dec 4, 2025
a5de474
Update podspec source URL format and refine iOS environment handling …
millerm30 Dec 5, 2025
c7721f1
Enhance README.md with APN key upload instructions and fix token form…
millerm30 Dec 5, 2025
b9bbf2d
Remove QUICK_START.md and TESTING.md files to streamline documentatio…
millerm30 Dec 5, 2025
4cf5cd1
Update pull request workflow to include additional event types for be…
millerm30 Dec 5, 2025
8fe6e76
Refactor environment configuration in NotificationAPI for improved re…
millerm30 Dec 5, 2025
171c4b7
Update package name and version for NotificationAPI React Native SDK
millerm30 Dec 6, 2025
d5b3fd3
Refactor README.md for improved formatting and clarity
millerm30 Dec 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: CI Pipeline

on:
push:
branches:
- main

jobs:
pipeline:
name: Lint, Type Check & Publish
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Cache node_modules
id: cache-modules
uses: actions/cache@v4
with:
path: node_modules
key: 20.x-${{ runner.OS }}-build-${{ hashFiles('package.json') }}

- name: Install Dependencies
if: steps.cache-modules.outputs.cache-hit != 'true'
run: npm install

- name: Lint and format check
run: |
npm run lint &
npm run prettier-check &
wait

- name: Type Check
run: npm run type-check

- name: Publish
id: publish
uses: JS-DevTools/npm-publish@v4
with:
token: ${{ secrets.NPM_AUTH_TOKEN }}

- name: Send Slack notification for Success
if: success()
uses: slackapi/slack-github-action@v2.1.1
with:
webhook: ${{ secrets.SLACK_SUCCESS_WEBHOOK_URL }}
webhook-type: incoming-webhook
payload: |
text: "✅ CI Pipeline Success - Published to NPM: ${{ steps.publish.outputs.old-version }} → ${{ steps.publish.outputs.version }}"
blocks:
- type: "section"
text:
type: "mrkdwn"
text: "*✅ CI Pipeline Success*\n\n*Published to NPM:* `${{ steps.publish.outputs.old-version }}` → `${{ steps.publish.outputs.version }}`\n*Repository:* ${{ github.repository }}\n*Commit:* <${{ github.event.head_commit.url }}|${{ github.sha }}>\n*Workflow:* <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Workflow>"

- name: Send Slack notification for Failure
if: failure() || cancelled()
uses: slackapi/slack-github-action@v2.1.1
with:
webhook: ${{ secrets.SLACK_FAILED_WEBHOOK_URL }}
webhook-type: incoming-webhook
payload: |
text: "❌ CI Pipeline Failed"
blocks:
- type: "section"
text:
type: "mrkdwn"
text: "*❌ CI Pipeline Failed*\n\n*Repository:* ${{ github.repository }}\n*Commit:* <${{ github.event.head_commit.url }}|${{ github.sha }}>\n*Workflow:* <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Workflow>"
40 changes: 30 additions & 10 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,41 @@ name: Pull Request Pipeline

on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
branches:
- main

jobs:
pull_request_pipeline:
name: Pull Request Pipeline
runs-on: ubuntu-latest

if: github.event.pull_request.draft == false

steps:
- uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18.x'

- name: Install Dependencies
run: npm install
- name: Checkout Code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Cache node_modules
id: cache-modules
uses: actions/cache@v4
with:
path: node_modules
key: 20.x-${{ runner.OS }}-build-${{ hashFiles('package.json') }}

- name: Install Dependencies
if: steps.cache-modules.outputs.cache-hit != 'true'
run: npm ci --prefer-offline

- name: Lint and format check
run: |
npm run lint &
npm run prettier-check &
wait

- name: Type Check
run: npm run type-check
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,12 @@ node_modules
.DS_Store
**/local.properties
android/.gradle
android/build
android/app/build
ios/build
ios/Pods
ios/*.xcworkspace
ios/*.xcuserdata
.history
dist
*.log
7 changes: 7 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"semi": true,
"trailingComma": "none",
"singleQuote": true,
"printWidth": 80
}

22 changes: 22 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
MIT License

Copyright (c) 2024 NotificationAPI

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Loading