From 893d5239979a468081bd88eda6ef602f9358f5aa Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 30 Jan 2026 09:18:12 -0500
Subject: [PATCH 1/2] chore(deps): update dependency @capacitor/core to v8.0.2
(#30938)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@capacitor/core](https://capacitorjs.com)
([source](https://redirect.github.com/ionic-team/capacitor)) | [`8.0.1`
→
`8.0.2`](https://renovatebot.com/diffs/npm/@capacitor%2fcore/8.0.1/8.0.2)
|

|

|
---
### Release Notes
ionic-team/capacitor (@capacitor/core)
###
[`v8.0.2`](https://redirect.github.com/ionic-team/capacitor/blob/HEAD/CHANGELOG.md#802-2026-01-27)
[Compare
Source](https://redirect.github.com/ionic-team/capacitor/compare/8.0.1...8.0.2)
##### Bug Fixes
- **android:** AGP 9.0 no longer supports `proguard-android.txt`
([#8315](https://redirect.github.com/ionic-team/capacitor/issues/8315))
([dcc76c3](https://redirect.github.com/ionic-team/capacitor/commit/dcc76c37508a9b71fb36d95707748c2dd115cf52))
- **cli:** Update tar package
([#8311](https://redirect.github.com/ionic-team/capacitor/issues/8311))
([0969c5c](https://redirect.github.com/ionic-team/capacitor/commit/0969c5cd0b16cf23d2489a85a3b8fa1bee2ebf3b))
- **core:** make SystemBars hide and show options optional
([#8305](https://redirect.github.com/ionic-team/capacitor/issues/8305))
([95dc7d8](https://redirect.github.com/ionic-team/capacitor/commit/95dc7d8ace3aabdda7e325c4a8ef7d1432ad37e9))
- **SystemBars:** get correct style on handleOnConfigurationChanged
([#8295](https://redirect.github.com/ionic-team/capacitor/issues/8295))
([2a66b44](https://redirect.github.com/ionic-team/capacitor/commit/2a66b44915895f971e4a26a8612798aa2f95ea11))
- **SystemBars:** Set window background color according to theme
([#8306](https://redirect.github.com/ionic-team/capacitor/issues/8306))
([6037e38](https://redirect.github.com/ionic-team/capacitor/commit/6037e3836ec24c9ddf26e74e5fbec20ab506adfd))
- **SystemBars:** Skipping margin manipulation when on a fixed WebView
([#8309](https://redirect.github.com/ionic-team/capacitor/issues/8309))
([53c33b6](https://redirect.github.com/ionic-team/capacitor/commit/53c33b614218bf635322fbdf9a38038a7964e3d4))
---
### Configuration
📅 **Schedule**: Branch creation - "every weekday before 11am" (UTC),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/ionic-team/ionic-framework).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
core/package-lock.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/core/package-lock.json b/core/package-lock.json
index 25a81fd8f8..6b2c88c551 100644
--- a/core/package-lock.json
+++ b/core/package-lock.json
@@ -629,9 +629,9 @@
"license": "MIT"
},
"node_modules/@capacitor/core": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.0.1.tgz",
- "integrity": "sha512-5UqSWxGMp/B8KhYu7rAijqNtYslhcLh+TrbfU48PfdMDsPfaU/VY48sMNzC22xL8BmoFoql/3SKyP+pavTOvOA==",
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.0.2.tgz",
+ "integrity": "sha512-EXZfxkL6GFJS2cb7TIBR7RiHA5iz6ufDcl1VmUpI2pga3lJ5Ck2+iqbx7N+osL3XYem9ad4XCidJEMm64DX6UQ==",
"dev": true,
"license": "MIT",
"peer": true,
From cc75ff42e1e5359487499532b88f71dda715d7b5 Mon Sep 17 00:00:00 2001
From: Brandy Smith
Date: Tue, 3 Feb 2026 09:51:30 -0500
Subject: [PATCH 2/2] chore(scripts): remove no longer used test.e2e.script
(#30943)
Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
---
core/package-lock.json | 20 ---
core/package.json | 4 +-
core/scripts/testing/e2e-script.mjs | 260 ----------------------------
3 files changed, 1 insertion(+), 283 deletions(-)
delete mode 100644 core/scripts/testing/e2e-script.mjs
diff --git a/core/package-lock.json b/core/package-lock.json
index 6b2c88c551..c3656beae5 100644
--- a/core/package-lock.json
+++ b/core/package-lock.json
@@ -19,7 +19,6 @@
"@capacitor/haptics": "^8.0.0",
"@capacitor/keyboard": "^8.0.0",
"@capacitor/status-bar": "^8.0.0",
- "@clack/prompts": "^0.11.0",
"@ionic/eslint-config": "^0.3.0",
"@ionic/prettier-config": "^2.0.0",
"@playwright/test": "^1.56.1",
@@ -669,25 +668,6 @@
"@capacitor/core": ">=8.0.0"
}
},
- "node_modules/@clack/core": {
- "version": "0.5.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "picocolors": "^1.0.0",
- "sisteransi": "^1.0.5"
- }
- },
- "node_modules/@clack/prompts": {
- "version": "0.11.0",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@clack/core": "0.5.0",
- "picocolors": "^1.0.0",
- "sisteransi": "^1.0.5"
- }
- },
"node_modules/@eslint-community/eslint-utils": {
"version": "4.4.0",
"dev": true,
diff --git a/core/package.json b/core/package.json
index ceb84b5c68..24cee91bce 100644
--- a/core/package.json
+++ b/core/package.json
@@ -44,7 +44,6 @@
"@capacitor/haptics": "^8.0.0",
"@capacitor/keyboard": "^8.0.0",
"@capacitor/status-bar": "^8.0.0",
- "@clack/prompts": "^0.11.0",
"@ionic/eslint-config": "^0.3.0",
"@ionic/prettier-config": "^2.0.0",
"@playwright/test": "^1.56.1",
@@ -104,8 +103,7 @@
"docker.build": "docker build -t ionic-playwright .",
"test.e2e.docker": "npm run docker.build && node ./scripts/docker.mjs",
"test.e2e.docker.update-snapshots": "npm run test.e2e.docker -- --update-snapshots='changed'",
- "test.e2e.docker.ci": "npm run docker.build && CI=true node ./scripts/docker.mjs",
- "test.e2e.script": "node scripts/testing/e2e-script.mjs"
+ "test.e2e.docker.ci": "npm run docker.build && CI=true node ./scripts/docker.mjs"
},
"author": "Ionic Team",
"license": "MIT",
diff --git a/core/scripts/testing/e2e-script.mjs b/core/scripts/testing/e2e-script.mjs
deleted file mode 100644
index 794447bf61..0000000000
--- a/core/scripts/testing/e2e-script.mjs
+++ /dev/null
@@ -1,260 +0,0 @@
-// The purpose of this script is to provide a way run the E2E tests
-// without having the developer to manually run multiple commands based
-// on the desired end result.
-// E.g. update the local ground truths for a specific component or
-// open the Playwright report after running the E2E tests.
-
-import {
- intro,
- outro,
- confirm,
- spinner,
- isCancel,
- cancel,
- text,
- log,
-} from '@clack/prompts';
-import { exec, spawn } from 'child_process';
-import fs from 'node:fs';
-import { setTimeout as sleep } from 'node:timers/promises';
-import util from 'node:util';
-import color from 'picocolors';
-
-async function main() {
- const execAsync = util.promisify(exec);
- const cleanUpFiles = async () => {
- // Clean up the local ground truths.
- const cleanUp = spinner();
-
- // Inform the user that the local ground truths are being cleaned up.
- cleanUp.start('Restoring local ground truths');
-
- // Reset the local ground truths.
- await execAsync('git reset -- src/**/*-linux.png').catch((error) => {
- cleanUp.stop('Failed to reset local ground truths');
- console.error(error);
- return process.exit(0);
- });
-
- // Restore the local ground truths.
- await execAsync('git restore -- src/**/*-linux.png').catch((error) => {
- cleanUp.stop('Failed to restore local ground truths');
- console.error(error);
- return process.exit(0);
- });
-
- // Inform the user that the local ground truths have been cleaned up.
- cleanUp.stop('Local ground truths have been restored to their original state in order to avoid committing them.');
- };
-
- intro(color.inverse(' Update Local Ground Truths'));
-
- // Ask user for the component name they want to test.
- const componentValue = await text({
- message: 'Enter the component or path you want to test (e.g. chip, src/components/chip)',
- placeholder: 'Empty for all components',
- });
-
- // User cancelled the operation with `Ctrl+C` or `CMD+C`.
- if (isCancel(componentValue)) {
- cancel('Operation cancelled');
- return process.exit(0);
- }
-
- // Ask user if they want to update their local ground truths.
- const shouldUpdateTruths = await confirm({
- message: 'Do you want to update your local ground truths?',
- });
-
- // User cancelled the operation with `Ctrl+C` or `CMD+C`.
- if (isCancel(shouldUpdateTruths)) {
- cancel('Operation cancelled');
- return process.exit(0);
- }
-
- if (shouldUpdateTruths) {
- const defaultBaseBranch = 'main';
-
- // Ask user for the base branch.
- let baseBranch = await text({
- message: 'Enter the base branch name:',
- placeholder: `default: ${defaultBaseBranch}`,
- })
-
- // User cancelled the operation with `Ctrl+C` or `CMD+C`.
- if (isCancel(baseBranch)) {
- cancel('Operation cancelled');
- return process.exit(0);
- }
-
- // User didn't provide a base branch.
- if (!baseBranch) {
- baseBranch = defaultBaseBranch;
- }
-
- /**
- * The provided base branch needs to be fetched.
- * This ensures that the local base branch is up-to-date with the
- * remote base branch. Otherwise, there might be errors stating that
- * certain files don't exist in the local base branch.
- */
- const fetchBaseBranch = spinner();
-
- // Inform the user that the base branch is being fetched.
- fetchBaseBranch.start(`Fetching "${baseBranch}" to have the latest changes`);
-
- // Fetch the base branch.
- await execAsync(`git fetch origin ${baseBranch}`).catch((error) => {
- fetchBaseBranch.stop(`Failed to fetch "${baseBranch}"`);
- console.error(error);
- return process.exit(0);
- });
-
- // Inform the user that the base branch has been fetched.
- fetchBaseBranch.stop(`Fetched "${baseBranch}"`);
-
-
- const updateGroundTruth = spinner();
-
- // Inform the user that the local ground truths are being updated.
- updateGroundTruth.start('Updating local ground truths');
-
- // Check if user provided an existing file or directory.
- const isValidLocation = fs.existsSync(componentValue);
-
- // User provided an existing file or directory.
- if (isValidLocation) {
- const stats = fs.statSync(componentValue);
-
- // User provided a file as the component.
- // ex: `componentValue` = `src/components/chip/test/basic/chip.e2e.ts`
- if (stats.isFile()) {
- // Update the local ground truths for the provided path.
- await execAsync(`git checkout origin/${baseBranch} -- ${componentValue}-snapshots/*-linux.png`).catch((error) => {
- updateGroundTruth.stop('Failed to update local ground truths');
- console.error(error);
- return process.exit(0);
- });
- }
-
- // User provided a directory as the component.
- // ex: `componentValue` = `src/components/chip`
- if (stats.isDirectory()) {
- // Update the local ground truths for the provided directory.
- await execAsync(`git checkout origin/${baseBranch} -- ${componentValue}/test/*/*.e2e.ts-snapshots/*-linux.png`).catch((error) => {
- updateGroundTruth.stop('Failed to update local ground truths');
- console.error(error);
- return process.exit(0);
- });
- }
- }
- // User provided a component name as the component.
- // ex: `componentValue` = `chip`
- else if (componentValue) {
- // Update the local ground truths for the provided component.
- await execAsync(`git checkout origin/${baseBranch} -- src/components/${componentValue}/test/*/${componentValue}.e2e.ts-snapshots/*-linux.png`).catch((error) => {
- updateGroundTruth.stop('Failed to update local ground truths');
- console.error(error);
- return process.exit(0);
- });
- }
- // User provided an empty string.
- else {
- // Update the local ground truths for all components.
- await execAsync(`git checkout origin/${baseBranch} -- src/components/*/test/*/*.e2e.ts-snapshots/*-linux.png`).catch((error) => {
- updateGroundTruth.stop('Failed to update local ground truths');
- console.error(error);
- return process.exit(0);
- });
- }
-
- // Inform the user that the local ground truths have been updated.
- updateGroundTruth.stop('Updated local ground truths');
- }
-
- const buildCore = spinner();
-
- // Inform the user that the core is being built.
- buildCore.start('Building core');
-
- /**
- * Build core
- * Otherwise, the uncommitted changes will not be reflected in the tests because:
- * - popping the stash doesn't trigger a re-render even if `npm start` is running
- * - app is not running the `npm start` command
- */
- await execAsync('npm run build').catch((error) => {
- // Clean up the local ground truths.
- cleanUpFiles();
-
- buildCore.stop('Failed to build core');
- console.error(error);
- return process.exit(0);
- });
-
- buildCore.stop('Built core');
-
- const runE2ETests = spinner();
-
- // Inform the user that the E2E tests are being run.
- runE2ETests.start('Running E2E tests');
-
- // User provided a component value.
- if (componentValue) {
- await execAsync(`npm run test.e2e.docker.ci ${componentValue}`).catch((error) => {
- // Clean up the local ground truths.
- cleanUpFiles();
-
- runE2ETests.stop('Failed to run E2E tests');
- console.error(error);
- return process.exit(0);
- });
- } else {
- await execAsync('npm run test.e2e.docker.ci').catch((error) => {
- // Clean up the local ground truths.
- cleanUpFiles();
-
- runE2ETests.stop('Failed to run E2E tests');
- console.error(error);
- return process.exit(0);
- });
- }
-
- runE2ETests.stop('Ran E2E tests');
-
- // Clean up the local ground truths.
- await cleanUpFiles();
-
- // Ask user if they want to open the Playwright report.
- const shouldOpenReport = await confirm({
- message: 'Do you want to open the Playwright report?',
- });
-
- // User cancelled the operation with `Ctrl+C` or `CMD+C`.
- if (isCancel(shouldOpenReport)) {
- cancel('Operation cancelled');
- return process.exit(0);
- }
-
- // User chose to open the Playwright report.
- if (shouldOpenReport) {
- // Use spawn to display the server information and the key to quit the server.
- spawn('npx', ['playwright', 'show-report'], {
- stdio: 'inherit',
- });
- } else {
- // Inform the user that the Playwright report can be opened by running the following command.
- log.info('If you change your mind, you can open the Playwright report by running the following command:');
- log.info(color.bold('npx playwright show-report'));
- }
-
- if (shouldOpenReport) {
- outro("You're all set! Don't forget to quit serving the Playwright report when you're done.");
- } else {
- outro("You're all set!");
- }
-
- await sleep(1000);
-}
-
-main().catch(console.error);