mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-20 12:29:55 +08:00
chore(): sync with main
This commit is contained in:
15
.github/CODEOWNERS
vendored
Normal file
15
.github/CODEOWNERS
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Lines starting with '#' are comments.
|
||||||
|
# Each line is a file pattern followed by one or more owners.
|
||||||
|
|
||||||
|
# More details are here: https://help.github.com/articles/about-codeowners/
|
||||||
|
|
||||||
|
# The '*' pattern is global owners.
|
||||||
|
|
||||||
|
# Order is important. The last matching pattern has the most precedence.
|
||||||
|
# The folders are ordered as follows:
|
||||||
|
|
||||||
|
# In each subsection folders are ordered first by depth, then alphabetically.
|
||||||
|
# This should make it easy to add new rules without breaking existing ones.
|
||||||
|
|
||||||
|
# Global owners
|
||||||
|
* @ionic-team/framework-core
|
32
.github/workflows/dev-build.yml
vendored
32
.github/workflows/dev-build.yml
vendored
@ -6,13 +6,37 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
dev-build:
|
dev-build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
version: ${{ steps.dev-build.outputs.version }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/setup-node@v1
|
- uses: actions/setup-node@v2
|
||||||
with:
|
with:
|
||||||
node-version: 15.x
|
node-version: 16
|
||||||
- name: Create Dev Build
|
- name: Install Dependencies
|
||||||
run: npm run release.dev -- --skip-prompt
|
run: npm ci --no-package-lock && lerna bootstrap --ignore-scripts -- --legacy-peer-deps
|
||||||
|
shell: bash
|
||||||
|
- name: Prepare NPM Token
|
||||||
|
run: echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} > .npmrc
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
env:
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
- name: Create Dev Hash
|
||||||
|
run: |
|
||||||
|
echo "HASH=$(git log -1 --format=%H | cut -c 1-7)" >> $GITHUB_ENV
|
||||||
|
echo "TIMESTAMP=$(date +%s)" >> $GITHUB_ENV
|
||||||
|
echo "CURRENT_VERSION=$(node -p -e "require('./core/package.json').version")" >> $GITHUB_ENV
|
||||||
|
shell: bash
|
||||||
|
- name: Create Dev Build
|
||||||
|
run: |
|
||||||
|
HUSKY_SKIP_HOOKS=1 lerna publish $(echo "${{ env.CURRENT_VERSION }}")-dev.$(echo "${{ env.TIMESTAMP }}").$(echo "${{ env.HASH }}") --no-verify-access --yes --force-publish='*' --dist-tag dev --no-git-tag-version --no-push
|
||||||
|
shell: bash
|
||||||
|
- id: dev-build
|
||||||
|
run: echo "::set-output name=version::$(echo "${{ env.CURRENT_VERSION }}")-dev.$(echo "${{ env.TIMESTAMP }}").$(echo "${{ env.HASH }}")"
|
||||||
|
get-build:
|
||||||
|
name: Get your dev build!
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: dev-build
|
||||||
|
steps:
|
||||||
|
- run: echo ${{ needs.dev-build.outputs.version }}
|
||||||
|
|
||||||
|
52
.github/workflows/release.yml
vendored
Normal file
52
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
name: 'Ionic Release'
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
version:
|
||||||
|
required: true
|
||||||
|
type: choice
|
||||||
|
description: Which version should be published?
|
||||||
|
options:
|
||||||
|
- patch
|
||||||
|
- minor
|
||||||
|
- major
|
||||||
|
- prepatch
|
||||||
|
- preminor
|
||||||
|
- premajor
|
||||||
|
tag:
|
||||||
|
required: true
|
||||||
|
type: choice
|
||||||
|
description: Which npm tag should this be published to?
|
||||||
|
options:
|
||||||
|
- latest
|
||||||
|
- next
|
||||||
|
- dev
|
||||||
|
prefix:
|
||||||
|
type: choice
|
||||||
|
description: For pre-releases, what kind of pre-release is this?
|
||||||
|
default: ''
|
||||||
|
options:
|
||||||
|
- alpha
|
||||||
|
- beta
|
||||||
|
- rc
|
||||||
|
jobs:
|
||||||
|
dev-build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: npm ci --no-package-lock && lerna bootstrap --ignore-scripts -- --legacy-peer-deps
|
||||||
|
shell: bash
|
||||||
|
- name: Prepare NPM Token
|
||||||
|
run: echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} > .npmrc
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
- name: Release
|
||||||
|
run: |
|
||||||
|
HUSKY_SKIP_HOOKS=1 lerna publish $(echo "${{ github.event.inputs.version }}") --no-verify-access --yes --force-publish='*' --dist-tag $(echo "${{ github.events.inputs.tag }}") --no-git-tag-version --no-push --skip-npm --preid $(echo "${{ github.events.inputs.prefix }}")
|
||||||
|
shell: bash
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -66,3 +66,5 @@ core/loader/
|
|||||||
core/www/
|
core/www/
|
||||||
.stencil/
|
.stencil/
|
||||||
angular/build/
|
angular/build/
|
||||||
|
|
||||||
|
.npmrc
|
||||||
|
@ -22,8 +22,12 @@
|
|||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/ionic-team/ionic/issues"
|
"url": "https://github.com/ionic-team/ionic/issues"
|
||||||
},
|
},
|
||||||
|
"publishConfig": {
|
||||||
|
"directory": "dist"
|
||||||
|
},
|
||||||
"homepage": "https://ionicframework.com/",
|
"homepage": "https://ionicframework.com/",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"prepublishOnly": "npm run build",
|
||||||
"build": "npm run clean && npm run build.ng && npm run build.core && npm run clean-generated",
|
"build": "npm run clean && npm run build.ng && npm run build.core && npm run clean-generated",
|
||||||
"build.core": "node scripts/build-core.js",
|
"build.core": "node scripts/build-core.js",
|
||||||
"build.link": "npm run build && node scripts/link-copy.js",
|
"build.link": "npm run build && node scripts/link-copy.js",
|
||||||
|
@ -68,6 +68,7 @@
|
|||||||
"typescript": "^4.0.5"
|
"typescript": "^4.0.5"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"prepublishOnly": "npm run build",
|
||||||
"build": "npm run clean && npm run build.css && stencil build --docs --es5 --docs-json dist/docs.json && npm run cdnloader",
|
"build": "npm run clean && npm run build.css && stencil build --docs --es5 --docs-json dist/docs.json && npm run cdnloader",
|
||||||
"build.css": "npm run css.sass && npm run css.minify",
|
"build.css": "npm run css.sass && npm run css.minify",
|
||||||
"build.debug": "npm run clean && stencil build --debug",
|
"build.debug": "npm run clean && stencil build --debug",
|
||||||
|
@ -119,14 +119,6 @@ export class Content implements ComponentInterface {
|
|||||||
this.resize();
|
this.resize();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Listen('click', { capture: true })
|
|
||||||
onClick(ev: Event) {
|
|
||||||
if (this.isScrolling) {
|
|
||||||
ev.preventDefault();
|
|
||||||
ev.stopPropagation();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private shouldForceOverscroll() {
|
private shouldForceOverscroll() {
|
||||||
const { forceOverscroll } = this;
|
const { forceOverscroll } = this;
|
||||||
const mode = getIonMode(this);
|
const mode = getIonMode(this);
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"packages": [
|
"packages": [
|
||||||
|
"core",
|
||||||
|
"docs",
|
||||||
|
"angular",
|
||||||
"packages/*"
|
"packages/*"
|
||||||
],
|
],
|
||||||
"version": "0.0.0"
|
"version": "5.9.2"
|
||||||
}
|
}
|
||||||
|
20287
package-lock.json
generated
20287
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -3,8 +3,6 @@
|
|||||||
"description": "Ionic mono-repo root package.json, used mainly to execute build scripts. This package is not published to npm.",
|
"description": "Ionic mono-repo root package.json, used mainly to execute build scripts. This package is not published to npm.",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "node .scripts/build.js",
|
"build": "node .scripts/build.js",
|
||||||
"release.dev": "node .scripts/release-dev.js",
|
|
||||||
"release.prepare": "node .scripts/prepare.js",
|
|
||||||
"release": "node .scripts/release.js",
|
"release": "node .scripts/release.js",
|
||||||
"changelog": "conventional-changelog -p angular -i ./CHANGELOG.md -k core -s",
|
"changelog": "conventional-changelog -p angular -i ./CHANGELOG.md -k core -s",
|
||||||
"commitizenBranches": "git-branch-is -q --not -r \"^(main|next|release-)\""
|
"commitizenBranches": "git-branch-is -q --not -r \"^(main|next|release-)\""
|
||||||
@ -22,6 +20,7 @@
|
|||||||
"git-branch-is": "^4.0.0",
|
"git-branch-is": "^4.0.0",
|
||||||
"husky": "^4.3.8",
|
"husky": "^4.3.8",
|
||||||
"inquirer": "^6.0.0",
|
"inquirer": "^6.0.0",
|
||||||
|
"lerna": "^4.0.0",
|
||||||
"listr": "^0.14.0",
|
"listr": "^0.14.0",
|
||||||
"rimraf": "^2.6.3",
|
"rimraf": "^2.6.3",
|
||||||
"semver": "^5.5.0"
|
"semver": "^5.5.0"
|
||||||
|
75
packages/angular-server/package-lock.json
generated
75
packages/angular-server/package-lock.json
generated
@ -9,65 +9,26 @@
|
|||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-eslint/eslint-plugin": "^12.6.1",
|
"@angular/animations": "8.2.13",
|
||||||
"@angular/animations": "^12.0.0",
|
"@angular/common": "8.2.13",
|
||||||
"@angular/common": "^12.0.0",
|
"@angular/compiler": "8.2.13",
|
||||||
"@angular/compiler": "^12.0.0",
|
"@angular/compiler-cli": "8.2.13",
|
||||||
"@angular/compiler-cli": "^12.0.0",
|
"@angular/core": "8.2.13",
|
||||||
"@angular/core": "^12.0.0",
|
"@angular/platform-browser": "8.2.13",
|
||||||
"@angular/platform-browser": "^12.0.0",
|
"@angular/platform-server": "8.2.13",
|
||||||
"@angular/platform-browser-dynamic": "^12.2.10",
|
"@ionic/core": "5.9.2",
|
||||||
"@angular/platform-server": "^12.0.0",
|
"ng-packagr": "5.7.1",
|
||||||
"@ionic/core": "6.0.0-rc.4",
|
"tslint": "^5.12.1",
|
||||||
"@ionic/eslint-config": "^0.3.0",
|
"tslint-ionic-rules": "0.0.21",
|
||||||
"@ionic/prettier-config": "^2.0.0",
|
"typescript": "3.4.5",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.2.0",
|
"typescript-tslint-plugin": "^0.5.5"
|
||||||
"eslint": "^8.1.0",
|
|
||||||
"eslint-plugin-import": "^2.25.2",
|
|
||||||
"ng-packagr": "^12.0.0",
|
|
||||||
"prettier": "^2.4.1",
|
|
||||||
"typescript": "4.2.4"
|
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/core": ">=12.0.0",
|
"@angular/core": ">=8.2.7",
|
||||||
"@angular/platform-server": ">=12.0.0",
|
"@angular/platform-server": ">=8.2.7",
|
||||||
"@ionic/angular": "*",
|
"@ionic/angular": "^5.9.2",
|
||||||
"rxjs": ">=6.6.0",
|
"rxjs": ">=6.2.0",
|
||||||
"zone.js": ">=0.11.0"
|
"zone.js": ">=0.8.26"
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@angular-eslint/bundled-angular-compiler": {
|
|
||||||
"version": "12.6.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-12.6.1.tgz",
|
|
||||||
"integrity": "sha512-m5upUwjiegTe/iPEn02ZYg/I0pKWRJkpgvQm4Odp2Bm173orpEihzCTursUxwEi1WPNlcyduh1bgjNKAPCOtkQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/@angular-eslint/eslint-plugin": {
|
|
||||||
"version": "12.6.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-12.6.1.tgz",
|
|
||||||
"integrity": "sha512-zchuiGeaeWYEc4q3XhHcX6Q5y4MOjtt3cZY2UxOaCTaYYp9yTh6k2MuE9hj0BO6qAcQyCrLlBiHhuYCpjAPO4Q==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@angular-eslint/utils": "12.6.1",
|
|
||||||
"@typescript-eslint/experimental-utils": "4.28.2"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"eslint": "*",
|
|
||||||
"typescript": "*"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@angular-eslint/utils": {
|
|
||||||
"version": "12.6.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-12.6.1.tgz",
|
|
||||||
"integrity": "sha512-v+Vl9y0hUCDRA8hFgYov3IORfD/e1AoEEL0rhznwH7hfXwbQhwDrjSZHeQ+BMh27rEz5e8LXxJGiicF3Sq8uJw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@angular-eslint/bundled-angular-compiler": "12.6.1",
|
|
||||||
"@typescript-eslint/experimental-utils": "4.28.2"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"eslint": "*",
|
|
||||||
"typescript": "*"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@angular/animations": {
|
"node_modules/@angular/animations": {
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://ionicframework.com/",
|
"homepage": "https://ionicframework.com/",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"prepublishOnly": "npm run build.prod",
|
||||||
"test": "echo 'angular no tests yet'",
|
"test": "echo 'angular no tests yet'",
|
||||||
"build": "ng-packagr -p package.json -c tsconfig.json",
|
"build": "ng-packagr -p package.json -c tsconfig.json",
|
||||||
"build.prod": "npm run clean && npm run build",
|
"build.prod": "npm run clean && npm run build",
|
||||||
@ -38,7 +39,7 @@
|
|||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/core": ">=12.0.0",
|
"@angular/core": ">=12.0.0",
|
||||||
"@angular/platform-server": ">=12.0.0",
|
"@angular/platform-server": ">=12.0.0",
|
||||||
"@ionic/angular": "*",
|
"@ionic/angular": "^5.9.2",
|
||||||
"rxjs": ">=6.6.0",
|
"rxjs": ">=6.6.0",
|
||||||
"zone.js": ">=0.11.0"
|
"zone.js": ">=0.11.0"
|
||||||
},
|
},
|
||||||
|
@ -1 +0,0 @@
|
|||||||
package-lock=false
|
|
15358
packages/react-router/package-lock.json
generated
Normal file
15358
packages/react-router/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -20,6 +20,7 @@
|
|||||||
"url": "https://github.com/ionic-team/ionic.git"
|
"url": "https://github.com/ionic-team/ionic.git"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"prepublishOnly": "npm run build",
|
||||||
"build": "npm run clean && npm run compile",
|
"build": "npm run clean && npm run compile",
|
||||||
"clean": "rimraf dist dist-transpiled",
|
"clean": "rimraf dist dist-transpiled",
|
||||||
"compile": "npm run tsc && rollup -c",
|
"compile": "npm run tsc && rollup -c",
|
||||||
@ -36,17 +37,16 @@
|
|||||||
"dist/"
|
"dist/"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@ionic/react": "5.9.2",
|
||||||
"tslib": "*"
|
"tslib": "*"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@ionic/react": "6.0.0",
|
|
||||||
"react": ">=16.8.6",
|
"react": ">=16.8.6",
|
||||||
"react-dom": ">=16.8.6",
|
"react-dom": ">=16.8.6",
|
||||||
"react-router": "^5.0.1",
|
"react-router": "^5.0.1",
|
||||||
"react-router-dom": "^5.0.1"
|
"react-router-dom": "^5.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ionic/react": "6.0.0",
|
|
||||||
"@rollup/plugin-node-resolve": "^8.1.0",
|
"@rollup/plugin-node-resolve": "^8.1.0",
|
||||||
"@types/node": "^14.0.14",
|
"@types/node": "^14.0.14",
|
||||||
"@types/react": "16.14.0",
|
"@types/react": "16.14.0",
|
||||||
|
@ -1 +0,0 @@
|
|||||||
package-lock=false
|
|
15227
packages/react/package-lock.json
generated
Normal file
15227
packages/react/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -20,6 +20,7 @@
|
|||||||
"url": "https://github.com/ionic-team/ionic.git"
|
"url": "https://github.com/ionic-team/ionic.git"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"prepublishOnly": "npm run build",
|
||||||
"build": "npm run clean && npm run copy && npm run compile",
|
"build": "npm run clean && npm run copy && npm run compile",
|
||||||
"clean": "rimraf dist && rimraf dist-transpiled && rimraf routing",
|
"clean": "rimraf dist && rimraf dist-transpiled && rimraf routing",
|
||||||
"compile": "npm run tsc && rollup -c",
|
"compile": "npm run tsc && rollup -c",
|
||||||
|
111
packages/vue-router/package-lock.json
generated
111
packages/vue-router/package-lock.json
generated
@ -8,8 +8,10 @@
|
|||||||
"name": "@ionic/vue-router",
|
"name": "@ionic/vue-router",
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@ionic/vue": "^5.4.2"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ionic/vue": "5.4.1",
|
|
||||||
"@types/jest": "^26.0.13",
|
"@types/jest": "^26.0.13",
|
||||||
"@types/node": "^14.10.1",
|
"@types/node": "^14.10.1",
|
||||||
"jest": "^27.0.4",
|
"jest": "^27.0.4",
|
||||||
@ -561,22 +563,21 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@ionic/core": {
|
"node_modules/@ionic/core": {
|
||||||
"version": "5.4.1",
|
"version": "5.9.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-5.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-5.9.2.tgz",
|
||||||
"integrity": "sha512-yONXeHjbVGUSL7zPgiCv0fQkw47VHJJ+8zVkYgTg4At+B0VhoLAMgS/ah3EUwSVTOATXdHa6Ak5+71uHPKpViQ==",
|
"integrity": "sha512-1ZqSBS8R6tGQsc+LsLxIRv0q3Ww6jwgJXLvdn6FmVWfpPbBvT+CjCuU9hqJ5qwM+atErblUMYSexvvpws8lGAA==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ionicons": "^5.1.2",
|
"@stencil/core": "^2.4.0",
|
||||||
"tslib": "^1.10.0"
|
"ionicons": "^5.5.3",
|
||||||
|
"tslib": "^2.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@ionic/vue": {
|
"node_modules/@ionic/vue": {
|
||||||
"version": "5.4.1",
|
"version": "5.9.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-5.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-5.9.2.tgz",
|
||||||
"integrity": "sha512-oUvP7z3D5b1bGksKFtlf9+WAwAxuNHdXN2hQ51T/CEXFdkkZvXbZ8eA4pIk+bIISqvMeh6v+O/1XOblgoUl8VQ==",
|
"integrity": "sha512-H+R7u3wXUp19L8kpE9VSfNX5ujPTn9d7CLXjxYN4t0tEcVBlLG8lXMQi5X0GBhJ/Px43r2iaykaH3PkYhbkhHQ==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ionic/core": "5.4.1",
|
"@ionic/core": "5.9.2",
|
||||||
"ionicons": "^5.1.2"
|
"ionicons": "^5.1.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1376,10 +1377,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@stencil/core": {
|
"node_modules/@stencil/core": {
|
||||||
"version": "2.9.0",
|
"version": "2.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.11.0.tgz",
|
||||||
"integrity": "sha512-kY3xYolZoJO1MKslL0NQccHy72R3TIl1prHgfmIrEoGcnMgc6uiskdWaGMuI5/sCGz9T+QuTVz76B1H2ySyBZg==",
|
"integrity": "sha512-/IubCWhVXCguyMUp/3zGrg3c882+RJNg/zpiKfyfJL3kRCOwe+/MD8OoAXVGdd+xAohZKIi1Ik+EHFlsptsjLg==",
|
||||||
"dev": true,
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"stencil": "bin/stencil"
|
"stencil": "bin/stencil"
|
||||||
},
|
},
|
||||||
@ -2617,12 +2617,23 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/ionicons": {
|
"node_modules/ionicons": {
|
||||||
"version": "5.5.3",
|
"version": "5.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.3.tgz",
|
"resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.4.tgz",
|
||||||
"integrity": "sha512-L71djrMi8pAad66tpwdnO1vwcyluCFvehzxU1PpH1k/HpYBZhZ5IaYhqXipmqUvu5aEbd4cbRguYyI5Fd4bxTw==",
|
"integrity": "sha512-3ph8X9my3inhabWEZ7N0XRA0MnnNQ1v9a602mLNgWsIXnxE9G5BybIZ/pws/OZZ/hoNlvSjk801N03yL9/FNgQ==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@stencil/core": "^2.5.0"
|
"@stencil/core": "~2.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/ionicons/node_modules/@stencil/core": {
|
||||||
|
"version": "2.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.10.0.tgz",
|
||||||
|
"integrity": "sha512-15rWMTPQ/sp0lSV82HVCXkIya3QLN+uBl7pqK4JnTrp4HiLrzLmNbWjbvgCs55gw0lULbCIGbRIEsFz+Pe/Q+A==",
|
||||||
|
"bin": {
|
||||||
|
"stencil": "bin/stencil"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12.10.0",
|
||||||
|
"npm": ">=6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/is-ci": {
|
"node_modules/is-ci": {
|
||||||
@ -5980,10 +5991,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tslib": {
|
"node_modules/tslib": {
|
||||||
"version": "1.14.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
|
||||||
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
|
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"node_modules/type-check": {
|
"node_modules/type-check": {
|
||||||
"version": "0.3.2",
|
"version": "0.3.2",
|
||||||
@ -6618,22 +6628,21 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@ionic/core": {
|
"@ionic/core": {
|
||||||
"version": "5.4.1",
|
"version": "5.9.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-5.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-5.9.2.tgz",
|
||||||
"integrity": "sha512-yONXeHjbVGUSL7zPgiCv0fQkw47VHJJ+8zVkYgTg4At+B0VhoLAMgS/ah3EUwSVTOATXdHa6Ak5+71uHPKpViQ==",
|
"integrity": "sha512-1ZqSBS8R6tGQsc+LsLxIRv0q3Ww6jwgJXLvdn6FmVWfpPbBvT+CjCuU9hqJ5qwM+atErblUMYSexvvpws8lGAA==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"ionicons": "^5.1.2",
|
"@stencil/core": "^2.4.0",
|
||||||
"tslib": "^1.10.0"
|
"ionicons": "^5.5.3",
|
||||||
|
"tslib": "^2.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@ionic/vue": {
|
"@ionic/vue": {
|
||||||
"version": "5.4.1",
|
"version": "5.9.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-5.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-5.9.2.tgz",
|
||||||
"integrity": "sha512-oUvP7z3D5b1bGksKFtlf9+WAwAxuNHdXN2hQ51T/CEXFdkkZvXbZ8eA4pIk+bIISqvMeh6v+O/1XOblgoUl8VQ==",
|
"integrity": "sha512-H+R7u3wXUp19L8kpE9VSfNX5ujPTn9d7CLXjxYN4t0tEcVBlLG8lXMQi5X0GBhJ/Px43r2iaykaH3PkYhbkhHQ==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@ionic/core": "5.4.1",
|
"@ionic/core": "5.9.2",
|
||||||
"ionicons": "^5.1.2"
|
"ionicons": "^5.1.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -7230,10 +7239,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@stencil/core": {
|
"@stencil/core": {
|
||||||
"version": "2.9.0",
|
"version": "2.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.11.0.tgz",
|
||||||
"integrity": "sha512-kY3xYolZoJO1MKslL0NQccHy72R3TIl1prHgfmIrEoGcnMgc6uiskdWaGMuI5/sCGz9T+QuTVz76B1H2ySyBZg==",
|
"integrity": "sha512-/IubCWhVXCguyMUp/3zGrg3c882+RJNg/zpiKfyfJL3kRCOwe+/MD8OoAXVGdd+xAohZKIi1Ik+EHFlsptsjLg=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"@tootallnate/once": {
|
"@tootallnate/once": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
@ -8061,12 +8069,18 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"ionicons": {
|
"ionicons": {
|
||||||
"version": "5.5.3",
|
"version": "5.5.4",
|
||||||
"resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.3.tgz",
|
"resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.5.4.tgz",
|
||||||
"integrity": "sha512-L71djrMi8pAad66tpwdnO1vwcyluCFvehzxU1PpH1k/HpYBZhZ5IaYhqXipmqUvu5aEbd4cbRguYyI5Fd4bxTw==",
|
"integrity": "sha512-3ph8X9my3inhabWEZ7N0XRA0MnnNQ1v9a602mLNgWsIXnxE9G5BybIZ/pws/OZZ/hoNlvSjk801N03yL9/FNgQ==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"@stencil/core": "^2.5.0"
|
"@stencil/core": "~2.10.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@stencil/core": {
|
||||||
|
"version": "2.10.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.10.0.tgz",
|
||||||
|
"integrity": "sha512-15rWMTPQ/sp0lSV82HVCXkIya3QLN+uBl7pqK4JnTrp4HiLrzLmNbWjbvgCs55gw0lULbCIGbRIEsFz+Pe/Q+A=="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"is-ci": {
|
"is-ci": {
|
||||||
@ -10385,10 +10399,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tslib": {
|
"tslib": {
|
||||||
"version": "1.14.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
|
||||||
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
|
"integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"type-check": {
|
"type-check": {
|
||||||
"version": "0.3.2",
|
"version": "0.3.2",
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"description": "Vue Router integration for @ionic/vue",
|
"description": "Vue Router integration for @ionic/vue",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"prepublishOnly": "npm run build",
|
||||||
"test.spec": "jest",
|
"test.spec": "jest",
|
||||||
"lint": "echo add linter",
|
"lint": "echo add linter",
|
||||||
"bundle": "rollup --config rollup.config.js",
|
"bundle": "rollup --config rollup.config.js",
|
||||||
@ -42,8 +43,10 @@
|
|||||||
"url": "https://github.com/ionic-team/ionic/issues"
|
"url": "https://github.com/ionic-team/ionic/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/ionic-team/ionic#readme",
|
"homepage": "https://github.com/ionic-team/ionic#readme",
|
||||||
|
"dependencies": {
|
||||||
|
"@ionic/vue": "^5.4.2"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ionic/vue": "5.4.1",
|
|
||||||
"@types/jest": "^26.0.13",
|
"@types/jest": "^26.0.13",
|
||||||
"@types/node": "^14.10.1",
|
"@types/node": "^14.10.1",
|
||||||
"jest": "^27.0.4",
|
"jest": "^27.0.4",
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"description": "Vue specific wrapper for @ionic/core",
|
"description": "Vue specific wrapper for @ionic/core",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"prepublishOnly": "npm run build",
|
||||||
"lint": "echo add linter",
|
"lint": "echo add linter",
|
||||||
"lint.fix": "npm run lint -- --fix",
|
"lint.fix": "npm run lint -- --fix",
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
|
@ -115,7 +115,14 @@ export const IonTabBar = defineComponent({
|
|||||||
* land on /tabs/tab1/child instead of /tabs/tab1.
|
* land on /tabs/tab1/child instead of /tabs/tab1.
|
||||||
*/
|
*/
|
||||||
if (activeTab !== prevActiveTab || (prevHref !== currentRoute.pathname)) {
|
if (activeTab !== prevActiveTab || (prevHref !== currentRoute.pathname)) {
|
||||||
const search = (currentRoute.search !== undefined) ? `?${currentRoute.search}` : '';
|
|
||||||
|
/**
|
||||||
|
* By default the search is `undefined` in Ionic Vue,
|
||||||
|
* but Vue Router can set the search to the empty string.
|
||||||
|
* We check for truthy here because empty string is falsy
|
||||||
|
* and currentRoute.search cannot ever be a boolean.
|
||||||
|
*/
|
||||||
|
const search = (currentRoute.search) ? `?${currentRoute.search}` : '';
|
||||||
tabs[activeTab] = {
|
tabs[activeTab] = {
|
||||||
...tabs[activeTab],
|
...tabs[activeTab],
|
||||||
currentHref: currentRoute.pathname + search
|
currentHref: currentRoute.pathname + search
|
||||||
|
@ -288,7 +288,30 @@ describe('Tabs', () => {
|
|||||||
cy.ionPageHidden('tab2');
|
cy.ionPageHidden('tab2');
|
||||||
|
|
||||||
cy.url().should('include', '/tabs/tab1/child-one?key=value');
|
cy.url().should('include', '/tabs/tab1/child-one?key=value');
|
||||||
})
|
});
|
||||||
|
|
||||||
|
// Verifies fix for https://github.com/ionic-team/ionic-framework/issues/23699
|
||||||
|
it('should handle clicking tab multiple times without query string', () => {
|
||||||
|
cy.visit('http://localhost:8080/tabs/tab1');
|
||||||
|
|
||||||
|
cy.ionPageVisible('tab1');
|
||||||
|
|
||||||
|
cy.get('ion-tab-button#tab-button-tab2').click();
|
||||||
|
cy.ionPageVisible('tab2');
|
||||||
|
cy.ionPageHidden('tab1');
|
||||||
|
|
||||||
|
cy.get('ion-tab-button#tab-button-tab1').click();
|
||||||
|
cy.ionPageVisible('tab1');
|
||||||
|
cy.ionPageHidden('tab2');
|
||||||
|
|
||||||
|
cy.get('ion-tab-button#tab-button-tab1').click();
|
||||||
|
cy.ionPageVisible('tab1');
|
||||||
|
cy.ionPageHidden('tab2');
|
||||||
|
|
||||||
|
cy.get('ion-tab-button#tab-button-tab2').click();
|
||||||
|
cy.ionPageVisible('tab2');
|
||||||
|
cy.ionPageHidden('tab1');
|
||||||
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('Tabs - Swipe to Go Back', () => {
|
describe('Tabs - Swipe to Go Back', () => {
|
||||||
|
Reference in New Issue
Block a user