A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.
Installations
npm install @ionic/core
Developer
Developer Guide
Module System
CommonJS
Min. Node Version
Typescript Support
Yes
Node Version
18.20.5
NPM Version
10.9.1
Statistics
51,134 Stars
14,002 Commits
13,503 Forks
1,593 Watching
167 Branches
511 Contributors
Updated on 28 Nov 2024
Bundle Size
104.41 kB
Minified
31.57 kB
Minified + Gzipped
Languages
TypeScript (59.27%)
HTML (25.5%)
SCSS (11.41%)
JavaScript (2.17%)
Vue (0.97%)
CSS (0.54%)
Shell (0.11%)
Java (0.02%)
Total Downloads
Cumulative downloads
Total Downloads
56,839,789
Last day
2.7%
47,315
Compared to previous day
Last week
-0.5%
246,418
Compared to previous week
Last month
1.5%
1,079,586
Compared to previous month
Last year
1.9%
13,756,834
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Dependencies
3
Dev Dependencies
35
Ionic
Ionic is an open source app development toolkit for building modern, fast, top-quality cross-platform native and Progressive Web Apps from a single codebase with JavaScript and the Web.
Ionic is based on Web Components, which enables significant performance, usability, and feature improvements alongside support for popular web frameworks like Angular, React, and Vue.
Quickstart
·
Documentation
·
Contribute
·
Blog
Community:
Discord
·
Forums
·
Twitter
Packages
Project | Package | Version | Downloads | Links |
---|---|---|---|---|
Core | @ionic/core | README.md | ||
Angular | @ionic/angular | README.md | ||
Vue | @ionic/vue | README.md | ||
React | @ionic/react | README.md |
Looking for the ionic-angular
package? Ionic 3 has been moved to the ionic-v3
repo. See Earlier Versions.
Getting Started
Start a new project by following our documentation. We would love to hear from you! If you have any feedback or run into issues using our framework, please file an issue on this repository.
Migration Guides
Already have an Ionic app? These guides will help you migrate to the latest versions.
- Migrate from v7 to v8
- Migrate from v6 to v7
- Migrate from v5 to v6
- Migrate from v4 to v5
- Migrate from v3 to v4
Examples
The Ionic Conference App is a full featured Ionic app. It is the perfect starting point for learning and building your own app.
Contributing
Thanks for your interest in contributing! Read up on our guidelines for contributing and then look through our issues with a help wanted label.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Earlier Versions
The source code for earlier versions of the Ionic Framework may exist in other repositories. Please open issues and pull requests in their respective repositories.
- Ionic 2/3: Moved to
ionic-team/ionic-v3
- Ionic 1: Moved to
ionic-team/ionic-v1
Stable Version
The latest stable version of the package.
Stable Version
8.4.1
HIGH
4
0/10
Summary
Cross-Site Scripting in @ionic/core
Affected Versions
>= 4.3.0, < 4.3.1
Patched Versions
4.3.1
0/10
Summary
Cross-Site Scripting in @ionic/core
Affected Versions
>= 4.2.0, < 4.2.1
Patched Versions
4.2.1
0/10
Summary
Cross-Site Scripting in @ionic/core
Affected Versions
>= 4.1.0, < 4.1.3
Patched Versions
4.1.3
0/10
Summary
Cross-Site Scripting in @ionic/core
Affected Versions
< 4.0.3
Patched Versions
4.0.3
Reason
30 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
Reason
no dangerous workflow patterns detected
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
security policy file detected
Details
- Info: security policy file detected: github.com/ionic-team/.github/SECURITY.md:1
- Info: Found linked content: github.com/ionic-team/.github/SECURITY.md:1
- Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/ionic-team/.github/SECURITY.md:1
- Info: Found text in security policy: github.com/ionic-team/.github/SECURITY.md:1
Reason
binaries present in source code
Details
- Warn: binary detected: packages/react-router/test/base/android/gradle/wrapper/gradle-wrapper.jar:1
Reason
SAST tool detected but not run on all commits
Details
- Info: SAST configuration detected: CodeQL
- Warn: 29 commits out of 30 are checked with a SAST tool
Reason
Found 15/18 approved changesets -- score normalized to 8
Reason
dependency not pinned by hash detected -- score normalized to 1
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:183: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:147: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:205: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:100: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:129: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:93: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:165: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:172: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/codeql-analysis.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/codeql-analysis.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/codeql-analysis.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/conventional-commit.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/conventional-commit.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dev-build.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/dev-build.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/label.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/label.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/nightly.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-ionic.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/release-ionic.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-ionic.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/release-ionic.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-ionic.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/release-ionic.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-ionic.yml:98: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/release-ionic.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-ionic.yml:124: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/release-ionic.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-ionic.yml:150: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/release-ionic.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-ionic.yml:171: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/release-ionic.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-ionic.yml:197: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/release-ionic.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/release.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:215: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:139: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:110: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:146: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:157: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:193: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:182: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stencil-nightly.yml:175: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/stencil-nightly.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-screenshots.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/update-screenshots.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-screenshots.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/update-screenshots.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-screenshots.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/ionic-team/ionic-framework/update-screenshots.yml/main?enable=pin
- Warn: containerImage not pinned by hash: core/Dockerfile:2: pin your Docker image by updating mcr.microsoft.com/playwright:v1.46.1 to mcr.microsoft.com/playwright:v1.46.1@sha256:02810c978d5396bf382ab6015c25ad6bed9e39f4a41c5b9c829e9fea439274e2
- Warn: npmCommand not pinned by hash: packages/angular-server/scripts/sync.sh:12
- Warn: npmCommand not pinned by hash: packages/angular/scripts/sync.sh:12
- Warn: npmCommand not pinned by hash: packages/angular/test/base/scripts/sync.sh:18
- Warn: npmCommand not pinned by hash: packages/react-router/test/base/build.sh:6
- Warn: npmCommand not pinned by hash: packages/react-router/test/base/scripts/sync.sh:18
- Warn: npmCommand not pinned by hash: packages/react/scripts/sync.sh:12
- Warn: npmCommand not pinned by hash: packages/react/test/base/scripts/sync.sh:18
- Warn: npmCommand not pinned by hash: packages/vue-router/scripts/sync.sh:15
- Warn: npmCommand not pinned by hash: packages/vue/scripts/sync.sh:18
- Warn: npmCommand not pinned by hash: packages/vue/test/base/scripts/sync.sh:18
- Info: 0 out of 49 GitHub-owned GitHubAction dependencies pinned
- Info: 1 out of 2 third-party GitHubAction dependencies pinned
- Info: 0 out of 1 containerImage dependencies pinned
- Info: 2 out of 12 npmCommand dependencies pinned
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: no topLevel permission defined: .github/workflows/assign-issues.yml:1
- Warn: no topLevel permission defined: .github/workflows/build.yml:1
- Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1
- Warn: no topLevel permission defined: .github/workflows/conventional-commit.yml:1
- Warn: no topLevel permission defined: .github/workflows/dev-build.yml:1
- Warn: no topLevel permission defined: .github/workflows/label.yml:1
- Warn: no topLevel permission defined: .github/workflows/nightly.yml:1
- Warn: no topLevel permission defined: .github/workflows/release-ionic.yml:1
- Warn: no topLevel permission defined: .github/workflows/release.yml:1
- Warn: no topLevel permission defined: .github/workflows/stencil-nightly.yml:1
- Warn: no topLevel permission defined: .github/workflows/update-screenshots.yml:1
- Info: no jobLevel write permissions found
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
64 existing vulnerabilities detected
Details
- Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92
- Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg
- Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275
- Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj
- Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37
- Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h
- Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv
- Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3
- Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j
- Warn: Project is vulnerable to: GHSA-566m-qj78-rww5
- Warn: Project is vulnerable to: GHSA-hwj9-h5mp-3pm3
- Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j
- Warn: Project is vulnerable to: GHSA-gcx4-mw62-g8wm
- Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw
- Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7
- Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j
- Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22
- Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp
- Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36
- Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h
- Warn: Project is vulnerable to: GHSA-c2jc-4fpr-4vhg
- Warn: Project is vulnerable to: GHSA-wf5p-g6vw-rhxx
- Warn: Project is vulnerable to: GHSA-8hc4-vh64-cxmj
- Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7
- Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x
- Warn: Project is vulnerable to: GHSA-ghr5-ch3p-vcr6
- Warn: Project is vulnerable to: GHSA-r7qp-cfhv-p84w
- Warn: Project is vulnerable to: GHSA-q9mw-68c2-j6m5
- Warn: Project is vulnerable to: GHSA-rv95-896h-c2vc
- Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx
- Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc
- Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp
- Warn: Project is vulnerable to: GHSA-c7qv-q95q-8v27
- Warn: Project is vulnerable to: GHSA-76p3-8jx3-jpfq
- Warn: Project is vulnerable to: GHSA-3rfm-jhwj-7488
- Warn: Project is vulnerable to: GHSA-hhq3-ff78-jv3g
- Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp
- Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg
- Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p
- Warn: Project is vulnerable to: GHSA-25hc-qcg6-38wj
- Warn: Project is vulnerable to: GHSA-qm95-pgcg-qqfq
- Warn: Project is vulnerable to: GHSA-cqmj-92xf-r6r9
- Warn: Project is vulnerable to: GHSA-fhg7-m89q-25r3
- Warn: Project is vulnerable to: GHSA-353f-5xf4-qw67
- Warn: Project is vulnerable to: GHSA-c24v-8rfc-w8vw
- Warn: Project is vulnerable to: GHSA-8jhw-289h-jh2g
- Warn: Project is vulnerable to: GHSA-4vvj-4cpr-p986 / GHSA-64vr-g452-qvp3
- Warn: Project is vulnerable to: GHSA-9cwx-2883-4wfx
- Warn: Project is vulnerable to: GHSA-wr3j-pwj9-hqq6
- Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q
- Warn: Project is vulnerable to: GHSA-3787-6prv-h9w3
- Warn: Project is vulnerable to: GHSA-9qxr-qj54-h672
- Warn: Project is vulnerable to: GHSA-m4v8-wqvr-p9f7
- Warn: Project is vulnerable to: GHSA-92r3-m2mg-pj97
- Warn: Project is vulnerable to: GHSA-3g92-w8c5-73pq
- Warn: Project is vulnerable to: GHSA-hpx4-r86g-5jrg
- Warn: Project is vulnerable to: GHSA-prr3-c3m5-p7q2
- Warn: Project is vulnerable to: GHSA-rp65-9cf3-cjxr
- Warn: Project is vulnerable to: GHSA-4wf5-vphf-c2xc
- Warn: Project is vulnerable to: GHSA-hc6q-2mpp-qw7j
- Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97
- Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq
- Warn: Project is vulnerable to: GHSA-4q6p-r6v2-jvc5
- Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3
Score
5.9
/10
Last Scanned on 2024-11-25
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More