From da7593cb8b9204afbac0c59c31c1a33f8458bae6 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 4 Aug 2023 16:21:02 -0400 Subject: [PATCH 01/29] chore: add cspell with custom allowed words --- cspell-wordlist.txt | 104 +++ cspell.json | 14 + package-lock.json | 1784 ++++++++++++++++++++++++++++++++++++++++--- package.json | 4 +- 4 files changed, 1819 insertions(+), 87 deletions(-) create mode 100644 cspell-wordlist.txt create mode 100644 cspell.json diff --git a/cspell-wordlist.txt b/cspell-wordlist.txt new file mode 100644 index 00000000000..aa44d200f7e --- /dev/null +++ b/cspell-wordlist.txt @@ -0,0 +1,104 @@ +Appflow +Ionicon +Ionicons + +actionsheet +fabs +datetime +datetimes +datetimepicker +infinitescroll +searchbar +sidemenu +textarea +textareas + +Codepen +Genymotion +Firestore +Logcat +Maskito +Pluralsight +Swiper +Udemy +Vetur +Wistia + +browserslistrc +jsdelivr +xcodeproj +xcworkspace + +CMDOPTS +DDTHH +ngsw + +authed +autogrow +automations +autoplay +comparewith +composables +devkit +engageable +flexbox +frontmatter +fullscreen +geolocation +isopen +jank +janky +lifecycles +localstorage +preconfigured +preflighted +proxying +quickstart +retargeted +rgba +runtimes +scroller +searchbars +swipeable +subcomponent +subcomponents +templating +transpiling +treeshaking +triaging +typeahead +unminified +unsanitized +webviews +viewports + +appstore +playstore +mobileweb +phablet +webapps + +allowtransparency +mozallowfullscreen +msallowfullscreen +oallowfullscreen +webkitallowfullscreen + +doubletap +keydown +keyframes +keypress +keyup +reachbeginning +reachend +slidechangetransitionend +slidechangetransitionstart +slidenexttransitionend +slidenexttransitionstart +slideprevtransitionend +slideprevtransitionstart +slidermove +touchend +touchstart +transitionend +transitionstart diff --git a/cspell.json b/cspell.json new file mode 100644 index 00000000000..b377a87b2f5 --- /dev/null +++ b/cspell.json @@ -0,0 +1,14 @@ +{ + "dictionaries": ["custom-words"], + "dictionaryDefinitions": [ + { + "name": "custom-words", + "path": "./cspell-wordlist.txt", + "addWords": true + } + ], + "ignoreRegExpList": [ + "/(```+)[\\s\\S]+?\\1/g", + "/`[a-zA-Z-_]+`/g" + ] +} diff --git a/package-lock.json b/package-lock.json index ca4fece301a..57501a22907 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,6 +46,7 @@ "@ionic/prettier-config": "^3.0.0", "@tsconfig/docusaurus": "^1.0.4", "@types/react": "^17.0.37", + "cspell": "^6.31.2", "html-loader": "^3.1.0", "hygen": "^6.2.11", "prettier": "^2.8.8", @@ -1769,6 +1770,396 @@ "node": ">=6.9.0" } }, + "node_modules/@cspell/cspell-bundled-dicts": { + "version": "6.31.2", + "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-6.31.2.tgz", + "integrity": "sha512-rQ5y/U1Ah5AaduIh3NU2z371hRrOr1cmNdhhP8oiuz2E4VqmcoVHflXIct9DgY8uIJpwsSCdR6ypOQWZYXYnwA==", + "dev": true, + "dependencies": { + "@cspell/dict-ada": "^4.0.1", + "@cspell/dict-aws": "^3.0.0", + "@cspell/dict-bash": "^4.1.1", + "@cspell/dict-companies": "^3.0.9", + "@cspell/dict-cpp": "^5.0.2", + "@cspell/dict-cryptocurrencies": "^3.0.1", + "@cspell/dict-csharp": "^4.0.2", + "@cspell/dict-css": "^4.0.5", + "@cspell/dict-dart": "^2.0.2", + "@cspell/dict-django": "^4.0.2", + "@cspell/dict-docker": "^1.1.6", + "@cspell/dict-dotnet": "^5.0.0", + "@cspell/dict-elixir": "^4.0.2", + "@cspell/dict-en_us": "^4.3.2", + "@cspell/dict-en-common-misspellings": "^1.0.2", + "@cspell/dict-en-gb": "1.1.33", + "@cspell/dict-filetypes": "^3.0.0", + "@cspell/dict-fonts": "^3.0.2", + "@cspell/dict-fullstack": "^3.1.5", + "@cspell/dict-gaming-terms": "^1.0.4", + "@cspell/dict-git": "^2.0.0", + "@cspell/dict-golang": "^6.0.1", + "@cspell/dict-haskell": "^4.0.1", + "@cspell/dict-html": "^4.0.3", + "@cspell/dict-html-symbol-entities": "^4.0.0", + "@cspell/dict-java": "^5.0.5", + "@cspell/dict-k8s": "^1.0.1", + "@cspell/dict-latex": "^4.0.0", + "@cspell/dict-lorem-ipsum": "^3.0.0", + "@cspell/dict-lua": "^4.0.1", + "@cspell/dict-node": "^4.0.2", + "@cspell/dict-npm": "^5.0.5", + "@cspell/dict-php": "^4.0.1", + "@cspell/dict-powershell": "^5.0.1", + "@cspell/dict-public-licenses": "^2.0.2", + "@cspell/dict-python": "^4.0.2", + "@cspell/dict-r": "^2.0.1", + "@cspell/dict-ruby": "^5.0.0", + "@cspell/dict-rust": "^4.0.1", + "@cspell/dict-scala": "^5.0.0", + "@cspell/dict-software-terms": "^3.1.6", + "@cspell/dict-sql": "^2.1.0", + "@cspell/dict-svelte": "^1.0.2", + "@cspell/dict-swift": "^2.0.1", + "@cspell/dict-typescript": "^3.1.1", + "@cspell/dict-vue": "^3.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@cspell/cspell-pipe": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-6.31.1.tgz", + "integrity": "sha512-zk1olZi4dr6GLm5PAjvsiZ01HURNSruUYFl1qSicGnTwYN8GaN4RhAwannAytcJ7zJPIcyXlid0YsB58nJf3wQ==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@cspell/cspell-service-bus": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-6.31.1.tgz", + "integrity": "sha512-YyBicmJyZ1uwKVxujXw7sgs9x+Eps43OkWmCtDZmZlnq489HdTSuhF1kTbVi2yeFSeaXIS87+uHo12z97KkQpg==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@cspell/cspell-types": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-6.31.1.tgz", + "integrity": "sha512-1KeTQFiHMssW1eRoF2NZIEg4gPVIfXLsL2+VSD/AV6YN7lBcuf6gRRgV5KWYarhxtEfjxhDdDTmu26l/iJEUtw==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@cspell/dict-ada": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-4.0.2.tgz", + "integrity": "sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==", + "dev": true + }, + "node_modules/@cspell/dict-aws": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-3.0.0.tgz", + "integrity": "sha512-O1W6nd5y3Z00AMXQMzfiYrIJ1sTd9fB1oLr+xf/UD7b3xeHeMeYE2OtcWbt9uyeHim4tk+vkSTcmYEBKJgS5bQ==", + "dev": true + }, + "node_modules/@cspell/dict-bash": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-4.1.1.tgz", + "integrity": "sha512-8czAa/Mh96wu2xr0RXQEGMTBUGkTvYn/Pb0o+gqOO1YW+poXGQc3gx0YPqILDryP/KCERrNvkWUJz3iGbvwC2A==", + "dev": true + }, + "node_modules/@cspell/dict-companies": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-3.0.18.tgz", + "integrity": "sha512-KJYZ8N7DFR8HY+82+nHY34NW9nTw5SJiwcxCdEw9Wr2t2qwebidLEyGZN43KQcI184hmt2PvIae4IUrGGbP0Tg==", + "dev": true + }, + "node_modules/@cspell/dict-cpp": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-5.0.4.tgz", + "integrity": "sha512-Vmz/CCb2d91ES5juaO8+CFWeTa2AFsbpR8bkCPJq+P8cRP16+37tY0zNXEBSK/1ur4MakaRf76jeQBijpZxw0Q==", + "dev": true + }, + "node_modules/@cspell/dict-cryptocurrencies": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-3.0.1.tgz", + "integrity": "sha512-Tdlr0Ahpp5yxtwM0ukC13V6+uYCI0p9fCRGMGZt36rWv8JQZHIuHfehNl7FB/Qc09NCF7p5ep0GXbL+sVTd/+w==", + "dev": true + }, + "node_modules/@cspell/dict-csharp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-csharp/-/dict-csharp-4.0.2.tgz", + "integrity": "sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==", + "dev": true + }, + "node_modules/@cspell/dict-css": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-4.0.6.tgz", + "integrity": "sha512-2Lo8W2ezHmGgY8cWFr4RUwnjbndna5mokpCK/DuxGILQnuajR0J31ANQOXj/8iZM2phFB93ZzMNk/0c04TDfSQ==", + "dev": true + }, + "node_modules/@cspell/dict-dart": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-dart/-/dict-dart-2.0.3.tgz", + "integrity": "sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw==", + "dev": true + }, + "node_modules/@cspell/dict-data-science": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-1.0.9.tgz", + "integrity": "sha512-erbpIk/tmtCNq0Z6oFNJYIFdn2fzr+YoyCvks88NEV8j+z5z5pZeGAavWt3sxEW/0lmOlZsFJpW1Kzf+6NU8pQ==", + "dev": true + }, + "node_modules/@cspell/dict-django": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-django/-/dict-django-4.1.0.tgz", + "integrity": "sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==", + "dev": true + }, + "node_modules/@cspell/dict-docker": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-docker/-/dict-docker-1.1.7.tgz", + "integrity": "sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==", + "dev": true + }, + "node_modules/@cspell/dict-dotnet": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-5.0.0.tgz", + "integrity": "sha512-EOwGd533v47aP5QYV8GlSSKkmM9Eq8P3G/eBzSpH3Nl2+IneDOYOBLEUraHuiCtnOkNsz0xtZHArYhAB2bHWAw==", + "dev": true + }, + "node_modules/@cspell/dict-elixir": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-4.0.3.tgz", + "integrity": "sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==", + "dev": true + }, + "node_modules/@cspell/dict-en_us": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.6.tgz", + "integrity": "sha512-odhgsjNZI9BtEOJdvqfAuv/3yz5aB1ngfBNaph7WSnYVt//9e3fhrElZ6/pIIkoyuGgeQPwz1fXt+tMgcnLSEQ==", + "dev": true + }, + "node_modules/@cspell/dict-en-common-misspellings": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-1.0.2.tgz", + "integrity": "sha512-jg7ZQZpZH7+aAxNBlcAG4tGhYF6Ksy+QS5Df73Oo+XyckBjC9QS+PrRwLTeYoFIgXy5j3ICParK5r3MSSoL4gw==", + "dev": true + }, + "node_modules/@cspell/dict-en-gb": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-gb/-/dict-en-gb-1.1.33.tgz", + "integrity": "sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==", + "dev": true + }, + "node_modules/@cspell/dict-filetypes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-filetypes/-/dict-filetypes-3.0.1.tgz", + "integrity": "sha512-8z8mY1IbrTyTRumx2vvD9yzRhNMk9SajM/GtI5hdMM2pPpNSp25bnuauzjRf300eqlqPY2MNb5MmhBFO014DJw==", + "dev": true + }, + "node_modules/@cspell/dict-fonts": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-3.0.2.tgz", + "integrity": "sha512-Z5QdbgEI7DV+KPXrAeDA6dDm/vTzyaW53SGlKqz6PI5VhkOjgkBXv3YtZjnxMZ4dY2ZIqq+RUK6qa9Pi8rQdGQ==", + "dev": true + }, + "node_modules/@cspell/dict-fullstack": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-fullstack/-/dict-fullstack-3.1.5.tgz", + "integrity": "sha512-6ppvo1dkXUZ3fbYn/wwzERxCa76RtDDl5Afzv2lijLoijGGUw5yYdLBKJnx8PJBGNLh829X352ftE7BElG4leA==", + "dev": true + }, + "node_modules/@cspell/dict-gaming-terms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-gaming-terms/-/dict-gaming-terms-1.0.4.tgz", + "integrity": "sha512-hbDduNXlk4AOY0wFxcDMWBPpm34rpqJBeqaySeoUH70eKxpxm+dvjpoRLJgyu0TmymEICCQSl6lAHTHSDiWKZg==", + "dev": true + }, + "node_modules/@cspell/dict-git": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-git/-/dict-git-2.0.0.tgz", + "integrity": "sha512-n1AxyX5Kgxij/sZFkxFJlzn3K9y/sCcgVPg/vz4WNJ4K9YeTsUmyGLA2OQI7d10GJeiuAo2AP1iZf2A8j9aj2w==", + "dev": true + }, + "node_modules/@cspell/dict-golang": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-6.0.2.tgz", + "integrity": "sha512-5pyZn4AAiYukAW+gVMIMVmUSkIERFrDX2vtPDjg8PLQUhAHWiVeQSDjuOhq9/C5GCCEZU/zWSONkGiwLBBvV9A==", + "dev": true + }, + "node_modules/@cspell/dict-haskell": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-4.0.1.tgz", + "integrity": "sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ==", + "dev": true + }, + "node_modules/@cspell/dict-html": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.3.tgz", + "integrity": "sha512-Gae8i8rrArT0UyG1I6DHDK62b7Be6QEcBSIeWOm4VIIW1CASkN9B0qFgSVnkmfvnu1Y3H7SSaaEynKjdj3cs8w==", + "dev": true + }, + "node_modules/@cspell/dict-html-symbol-entities": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-4.0.0.tgz", + "integrity": "sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==", + "dev": true + }, + "node_modules/@cspell/dict-java": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-5.0.5.tgz", + "integrity": "sha512-X19AoJgWIBwJBSWGFqSgHaBR/FEykBHTMjL6EqOnhIGEyE9nvuo32tsSHjXNJ230fQxQptEvRZoaldNLtKxsRg==", + "dev": true + }, + "node_modules/@cspell/dict-k8s": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-k8s/-/dict-k8s-1.0.1.tgz", + "integrity": "sha512-gc5y4Nm3hVdMZNBZfU2M1AsAmObZsRWjCUk01NFPfGhFBXyVne41T7E62rpnzu5330FV/6b/TnFcPgRmak9lLw==", + "dev": true + }, + "node_modules/@cspell/dict-latex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-4.0.0.tgz", + "integrity": "sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ==", + "dev": true + }, + "node_modules/@cspell/dict-lorem-ipsum": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-3.0.0.tgz", + "integrity": "sha512-msEV24qEpzWZs2kcEicqYlhyBpR0amfDkJOs+iffC07si9ftqtQ+yP3lf1VFLpgqw3SQh1M1vtU7RD4sPrNlcQ==", + "dev": true + }, + "node_modules/@cspell/dict-lua": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-lua/-/dict-lua-4.0.1.tgz", + "integrity": "sha512-j0MFmeCouSoC6EdZTbvGe1sJ9V+ruwKSeF+zRkNNNload7R72Co5kX1haW2xLHGdlq0kqSy1ODRZKdVl0e+7hg==", + "dev": true + }, + "node_modules/@cspell/dict-node": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-4.0.2.tgz", + "integrity": "sha512-FEQJ4TnMcXEFslqBQkXa5HposMoCGsiBv2ux4IZuIXgadXeHKHUHk60iarWpjhzNzQLyN2GD7NoRMd12bK3Llw==", + "dev": true + }, + "node_modules/@cspell/dict-npm": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.0.8.tgz", + "integrity": "sha512-KuqH8tEsFD6DPKqKwIfWr9E+admE3yghaC0AKXG8jPaf77N0lkctKaS3dm0oxWUXkYKA/eXj6LCtz3VcTyxFPg==", + "dev": true + }, + "node_modules/@cspell/dict-php": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-4.0.1.tgz", + "integrity": "sha512-XaQ/JkSyq2c07MfRG54DjLi2CV+HHwS99DDCAao9Fq2JfkWroTQsUeek7wYZXJATrJVOULoV3HKih12x905AtQ==", + "dev": true + }, + "node_modules/@cspell/dict-powershell": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-5.0.2.tgz", + "integrity": "sha512-IHfWLme3FXE7vnOmMncSBxOsMTdNWd1Vcyhag03WS8oANSgX8IZ+4lMI00mF0ptlgchf16/OU8WsV4pZfikEFw==", + "dev": true + }, + "node_modules/@cspell/dict-public-licenses": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.3.tgz", + "integrity": "sha512-JSLEdpEYufQ1H+93UHi+axlqQm1fhgK6kpdLHp6uPHu//CsvETcqNVawjB+qOdI/g38JTMw5fBqSd0aGNxa6Dw==", + "dev": true + }, + "node_modules/@cspell/dict-python": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.1.5.tgz", + "integrity": "sha512-wWUWyHdyJtx5iG6Fz9rBQ17BtdpEsB17vmutao+gixQD28Jzb6XoLgDQ6606M0RnFjBSFhs5iT4CJBzlD2Kq6g==", + "dev": true, + "dependencies": { + "@cspell/dict-data-science": "^1.0.0" + } + }, + "node_modules/@cspell/dict-r": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-r/-/dict-r-2.0.1.tgz", + "integrity": "sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==", + "dev": true + }, + "node_modules/@cspell/dict-ruby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-5.0.0.tgz", + "integrity": "sha512-ssb96QxLZ76yPqFrikWxItnCbUKhYXJ2owkoIYzUGNFl2CHSoHCb5a6Zetum9mQ/oUA3gNeUhd28ZUlXs0la2A==", + "dev": true + }, + "node_modules/@cspell/dict-rust": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-rust/-/dict-rust-4.0.1.tgz", + "integrity": "sha512-xJSSzHDK2z6lSVaOmMxl3PTOtfoffaxMo7fTcbZUF+SCJzfKbO6vnN9TCGX2sx1RHFDz66Js6goz6SAZQdOwaw==", + "dev": true + }, + "node_modules/@cspell/dict-scala": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-scala/-/dict-scala-5.0.0.tgz", + "integrity": "sha512-ph0twaRoV+ylui022clEO1dZ35QbeEQaKTaV2sPOsdwIokABPIiK09oWwGK9qg7jRGQwVaRPEq0Vp+IG1GpqSQ==", + "dev": true + }, + "node_modules/@cspell/dict-software-terms": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-3.2.1.tgz", + "integrity": "sha512-+QXmyoONVc/3aNgKW+0F0u3XUCRTfNRkWKLZQA78i+9fOfde8ZT4JmROmZgRveH/MxD4n6pNFceIRcYI6C8WuQ==", + "dev": true + }, + "node_modules/@cspell/dict-sql": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-sql/-/dict-sql-2.1.1.tgz", + "integrity": "sha512-v1mswi9NF40+UDUMuI148YQPEQvWjac72P6ZsjlRdLjEiQEEMEsTQ+zlkIdnzC9QCNyJaqD5Liq9Mn78/8Zxtw==", + "dev": true + }, + "node_modules/@cspell/dict-svelte": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-svelte/-/dict-svelte-1.0.2.tgz", + "integrity": "sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==", + "dev": true + }, + "node_modules/@cspell/dict-swift": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-swift/-/dict-swift-2.0.1.tgz", + "integrity": "sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==", + "dev": true + }, + "node_modules/@cspell/dict-typescript": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-3.1.1.tgz", + "integrity": "sha512-N9vNJZoOXmmrFPR4ir3rGvnqqwmQGgOYoL1+y6D4oIhyr7FhaYiyF/d7QT61RmjZQcATMa6PSL+ZisCeRLx9+A==", + "dev": true + }, + "node_modules/@cspell/dict-vue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-vue/-/dict-vue-3.0.0.tgz", + "integrity": "sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==", + "dev": true + }, + "node_modules/@cspell/dynamic-import": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-6.31.1.tgz", + "integrity": "sha512-uliIUv9uZlnyYmjUlcw/Dm3p0xJOEnWJNczHAfqAl4Ytg6QZktw0GtUA9b1umbRXLv0KRTPtSC6nMq3cR7rRmQ==", + "dev": true, + "dependencies": { + "import-meta-resolve": "^2.2.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@cspell/strong-weak-map": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-6.31.1.tgz", + "integrity": "sha512-z8AuWvUuSnugFKJOA9Ke0aiFuehcqLFqia9bk8XaQNEWr44ahPVn3sEWnAncTxPbpWuUw5UajoJa0egRAE1CCg==", + "dev": true, + "engines": { + "node": ">=14.6" + } + }, "node_modules/@docsearch/css": { "version": "3.0.0-alpha.41", "license": "MIT" @@ -3665,8 +4056,9 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.0", - "license": "MIT", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" } @@ -3707,6 +4099,12 @@ "version": "2.1.2", "license": "MIT" }, + "node_modules/array-timsort": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", + "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", + "dev": true + }, "node_modules/array-union": { "version": "2.1.0", "license": "MIT", @@ -4478,6 +4876,43 @@ "node": ">=6" } }, + "node_modules/clear-module": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/clear-module/-/clear-module-4.1.2.tgz", + "integrity": "sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==", + "dev": true, + "dependencies": { + "parent-module": "^2.0.0", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clear-module/node_modules/parent-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-2.0.0.tgz", + "integrity": "sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==", + "dev": true, + "dependencies": { + "callsites": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clear-module/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/cli-boxes": { "version": "2.2.1", "license": "MIT", @@ -4676,6 +5111,22 @@ "node": ">= 6" } }, + "node_modules/comment-json": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.2.3.tgz", + "integrity": "sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==", + "dev": true, + "dependencies": { + "array-timsort": "^1.0.3", + "core-util-is": "^1.0.3", + "esprima": "^4.0.1", + "has-own-prop": "^2.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/commondir": { "version": "1.0.1", "license": "MIT" @@ -5034,11 +5485,310 @@ "node": "*" } }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "license": "MIT", + "node_modules/crypto-random-string": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cspell": { + "version": "6.31.2", + "resolved": "https://registry.npmjs.org/cspell/-/cspell-6.31.2.tgz", + "integrity": "sha512-HJcQ8jqL/1N3Mj5dufFnIZCX3ACuRoFTSVY6h3Bo5wBqd2iiJTyeQ1SY9Zymlxtb2KyJ6jQRiFmkWeFx2HVs7w==", + "dev": true, + "dependencies": { + "@cspell/cspell-pipe": "6.31.1", + "@cspell/cspell-types": "6.31.1", + "@cspell/dynamic-import": "6.31.1", + "chalk": "^4.1.2", + "commander": "^10.0.0", + "cspell-gitignore": "6.31.2", + "cspell-glob": "6.31.2", + "cspell-io": "6.31.2", + "cspell-lib": "6.31.2", + "fast-glob": "^3.2.12", + "fast-json-stable-stringify": "^2.1.0", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "imurmurhash": "^0.1.4", + "semver": "^7.3.8", + "strip-ansi": "^6.0.1", + "vscode-uri": "^3.0.7" + }, + "bin": { + "cspell": "bin.js", + "cspell-esm": "bin.mjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/streetsidesoftware/cspell?sponsor=1" + } + }, + "node_modules/cspell-dictionary": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-6.31.1.tgz", + "integrity": "sha512-7+K7aQGarqbpucky26wled7QSCJeg6VkLUWS+hLjyf0Cqc9Zew5xsLa4QjReExWUJx+a97jbiflITZNuWxgMrg==", + "dev": true, + "dependencies": { + "@cspell/cspell-pipe": "6.31.1", + "@cspell/cspell-types": "6.31.1", + "cspell-trie-lib": "6.31.1", + "fast-equals": "^4.0.3", + "gensequence": "^5.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/cspell-gitignore": { + "version": "6.31.2", + "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-6.31.2.tgz", + "integrity": "sha512-B1i8aiXCIbb/08u0K3xnDyXtg0qD+lb5B2itOOXi7KXlPkKvIuN4hWyXxhVDweWyYWEzyXD5wBpPrqICVrStHQ==", + "dev": true, + "dependencies": { + "cspell-glob": "6.31.2", + "find-up": "^5.0.0" + }, + "bin": { + "cspell-gitignore": "bin.mjs" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/cspell-gitignore/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cspell-gitignore/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cspell-gitignore/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cspell-glob": { + "version": "6.31.2", + "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-6.31.2.tgz", + "integrity": "sha512-ceTjHM4HaBgvG5S3oiB+PTPYq58EQYG6MmYpycDHzpR5I2H1NurK9lxWHfANmLbi0DsHn58tIZNDMUnnQj19Jw==", + "dev": true, + "dependencies": { + "micromatch": "^4.0.5" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/cspell-grammar": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-6.31.1.tgz", + "integrity": "sha512-AsRVP0idcNFVSb9+p9XjMumFj3BUV67WIPWApaAzJl/dYyiIygQObRE+si0/QtFWGNw873b7hNhWZiKjqIdoaQ==", + "dev": true, + "dependencies": { + "@cspell/cspell-pipe": "6.31.1", + "@cspell/cspell-types": "6.31.1" + }, + "bin": { + "cspell-grammar": "bin.mjs" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/cspell-io": { + "version": "6.31.2", + "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-6.31.2.tgz", + "integrity": "sha512-Lp7LsF/f35LaOneROb/9mWiprShz2ONxjYFAt3bYP7gIxq41lWi8QhO+SN6spoqPp/wQXjSqJ7MuTZsemxPRnA==", + "dev": true, + "dependencies": { + "@cspell/cspell-service-bus": "6.31.1", + "node-fetch": "^2.6.9" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/cspell-io/node_modules/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/cspell-lib": { + "version": "6.31.2", + "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-6.31.2.tgz", + "integrity": "sha512-LqaB2ZfVfQHKL5aZzYoKU6/UxxAtWeXAYwpC9l+satXmajYyXtAh4kWmuW+y7kKRH2jA79rJQS3QE6ToeSqgQQ==", + "dev": true, + "dependencies": { + "@cspell/cspell-bundled-dicts": "6.31.2", + "@cspell/cspell-pipe": "6.31.1", + "@cspell/cspell-types": "6.31.1", + "@cspell/strong-weak-map": "6.31.1", + "clear-module": "^4.1.2", + "comment-json": "^4.2.3", + "configstore": "^5.0.1", + "cosmiconfig": "8.0.0", + "cspell-dictionary": "6.31.1", + "cspell-glob": "6.31.2", + "cspell-grammar": "6.31.1", + "cspell-io": "6.31.2", + "cspell-trie-lib": "6.31.1", + "fast-equals": "^4.0.3", + "find-up": "^5.0.0", + "gensequence": "^5.0.2", + "import-fresh": "^3.3.0", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0", + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-uri": "^3.0.7" + }, + "engines": { + "node": ">=14.6" + } + }, + "node_modules/cspell-lib/node_modules/cosmiconfig": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.0.0.tgz", + "integrity": "sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==", + "dev": true, + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/cspell-lib/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cspell-lib/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cspell-lib/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cspell-lib/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cspell-trie-lib": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-6.31.1.tgz", + "integrity": "sha512-MtYh7s4Sbr1rKT31P2BK6KY+YfOy3dWsuusq9HnqCXmq6aZ1HyFgjH/9p9uvqGi/TboMqn1KOV8nifhXK3l3jg==", + "dev": true, + "dependencies": { + "@cspell/cspell-pipe": "6.31.1", + "@cspell/cspell-types": "6.31.1", + "gensequence": "^5.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/cspell/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=14" } }, "node_modules/css-color-names": { @@ -6047,19 +6797,25 @@ "version": "3.1.3", "license": "MIT" }, + "node_modules/fast-equals": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-4.0.3.tgz", + "integrity": "sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg==", + "dev": true + }, "node_modules/fast-glob": { - "version": "3.2.5", - "license": "MIT", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" }, "engines": { - "node": ">=8" + "node": ">=8.6.0" } }, "node_modules/fast-json-stable-stringify": { @@ -6144,6 +6900,18 @@ "node": ">=0.8.0" } }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, "node_modules/file-loader": { "version": "6.2.0", "license": "MIT", @@ -6290,6 +7058,25 @@ "node": ">=8" } }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, "node_modules/follow-redirects": { "version": "1.14.5", "funding": [ @@ -6486,6 +7273,15 @@ "version": "1.1.1", "license": "MIT" }, + "node_modules/gensequence": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/gensequence/-/gensequence-5.0.2.tgz", + "integrity": "sha512-JlKEZnFc6neaeSVlkzBGGgkIoIaSxMgvdamRoPN8r3ozm2r9dusqxeKqYQ7lhzmj2UhFQP8nkyfCaiLQxiLrDA==", + "dev": true, + "engines": { + "node": ">=14" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "license": "MIT", @@ -6516,6 +7312,18 @@ "version": "3.0.2", "license": "ISC" }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-stream": { "version": "6.0.1", "license": "MIT", @@ -6743,6 +7551,15 @@ "node": ">=8" } }, + "node_modules/has-own-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz", + "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/has-symbols": { "version": "1.0.2", "license": "MIT", @@ -7305,6 +8122,16 @@ "node": ">=4" } }, + "node_modules/import-meta-resolve": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz", + "integrity": "sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "license": "MIT", @@ -8420,11 +9247,12 @@ } }, "node_modules/micromatch": { - "version": "4.0.4", - "license": "MIT", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" @@ -10811,13 +11639,6 @@ "strip-ansi": "^6.0.1" } }, - "node_modules/renderkid/node_modules/ansi-regex": { - "version": "5.0.1", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/renderkid/node_modules/css-select": { "version": "4.1.3", "license": "BSD-2-Clause", @@ -10923,16 +11744,6 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/renderkid/node_modules/strip-ansi": { - "version": "6.0.1", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/repeat-string": { "version": "1.6.1", "license": "MIT", @@ -10975,6 +11786,30 @@ "node": ">=4" } }, + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "dev": true, + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-global/node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dev": true, + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/resolve-pathname": { "version": "3.0.0", "license": "MIT" @@ -11265,8 +12100,9 @@ } }, "node_modules/semver": { - "version": "7.3.5", - "license": "ISC", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -11827,10 +12663,11 @@ } }, "node_modules/strip-ansi": { - "version": "6.0.0", - "license": "MIT", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" @@ -12204,6 +13041,12 @@ "node": ">=6" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, "node_modules/traverse": { "version": "0.6.6", "license": "MIT" @@ -12728,6 +13571,18 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", + "dev": true + }, + "node_modules/vscode-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", + "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==", + "dev": true + }, "node_modules/wait-on": { "version": "6.0.0", "license": "MIT", @@ -12791,6 +13646,12 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, "node_modules/webpack": { "version": "5.63.0", "license": "MIT", @@ -13127,6 +13988,16 @@ "node": ">=0.8.0" } }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "license": "ISC", @@ -14294,42 +15165,414 @@ "regenerator-runtime": "^0.13.4" } }, - "@babel/runtime-corejs3": { - "version": "7.16.3", + "@babel/runtime-corejs3": { + "version": "7.16.3", + "requires": { + "core-js-pure": "^3.19.0", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.16.0", + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/traverse": { + "version": "7.16.3", + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/parser": "^7.16.3", + "@babel/types": "^7.16.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.16.0", + "requires": { + "@babel/helper-validator-identifier": "^7.15.7", + "to-fast-properties": "^2.0.0" + } + }, + "@cspell/cspell-bundled-dicts": { + "version": "6.31.2", + "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-6.31.2.tgz", + "integrity": "sha512-rQ5y/U1Ah5AaduIh3NU2z371hRrOr1cmNdhhP8oiuz2E4VqmcoVHflXIct9DgY8uIJpwsSCdR6ypOQWZYXYnwA==", + "dev": true, + "requires": { + "@cspell/dict-ada": "^4.0.1", + "@cspell/dict-aws": "^3.0.0", + "@cspell/dict-bash": "^4.1.1", + "@cspell/dict-companies": "^3.0.9", + "@cspell/dict-cpp": "^5.0.2", + "@cspell/dict-cryptocurrencies": "^3.0.1", + "@cspell/dict-csharp": "^4.0.2", + "@cspell/dict-css": "^4.0.5", + "@cspell/dict-dart": "^2.0.2", + "@cspell/dict-django": "^4.0.2", + "@cspell/dict-docker": "^1.1.6", + "@cspell/dict-dotnet": "^5.0.0", + "@cspell/dict-elixir": "^4.0.2", + "@cspell/dict-en_us": "^4.3.2", + "@cspell/dict-en-common-misspellings": "^1.0.2", + "@cspell/dict-en-gb": "1.1.33", + "@cspell/dict-filetypes": "^3.0.0", + "@cspell/dict-fonts": "^3.0.2", + "@cspell/dict-fullstack": "^3.1.5", + "@cspell/dict-gaming-terms": "^1.0.4", + "@cspell/dict-git": "^2.0.0", + "@cspell/dict-golang": "^6.0.1", + "@cspell/dict-haskell": "^4.0.1", + "@cspell/dict-html": "^4.0.3", + "@cspell/dict-html-symbol-entities": "^4.0.0", + "@cspell/dict-java": "^5.0.5", + "@cspell/dict-k8s": "^1.0.1", + "@cspell/dict-latex": "^4.0.0", + "@cspell/dict-lorem-ipsum": "^3.0.0", + "@cspell/dict-lua": "^4.0.1", + "@cspell/dict-node": "^4.0.2", + "@cspell/dict-npm": "^5.0.5", + "@cspell/dict-php": "^4.0.1", + "@cspell/dict-powershell": "^5.0.1", + "@cspell/dict-public-licenses": "^2.0.2", + "@cspell/dict-python": "^4.0.2", + "@cspell/dict-r": "^2.0.1", + "@cspell/dict-ruby": "^5.0.0", + "@cspell/dict-rust": "^4.0.1", + "@cspell/dict-scala": "^5.0.0", + "@cspell/dict-software-terms": "^3.1.6", + "@cspell/dict-sql": "^2.1.0", + "@cspell/dict-svelte": "^1.0.2", + "@cspell/dict-swift": "^2.0.1", + "@cspell/dict-typescript": "^3.1.1", + "@cspell/dict-vue": "^3.0.0" + } + }, + "@cspell/cspell-pipe": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-6.31.1.tgz", + "integrity": "sha512-zk1olZi4dr6GLm5PAjvsiZ01HURNSruUYFl1qSicGnTwYN8GaN4RhAwannAytcJ7zJPIcyXlid0YsB58nJf3wQ==", + "dev": true + }, + "@cspell/cspell-service-bus": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-6.31.1.tgz", + "integrity": "sha512-YyBicmJyZ1uwKVxujXw7sgs9x+Eps43OkWmCtDZmZlnq489HdTSuhF1kTbVi2yeFSeaXIS87+uHo12z97KkQpg==", + "dev": true + }, + "@cspell/cspell-types": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-6.31.1.tgz", + "integrity": "sha512-1KeTQFiHMssW1eRoF2NZIEg4gPVIfXLsL2+VSD/AV6YN7lBcuf6gRRgV5KWYarhxtEfjxhDdDTmu26l/iJEUtw==", + "dev": true + }, + "@cspell/dict-ada": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-4.0.2.tgz", + "integrity": "sha512-0kENOWQeHjUlfyId/aCM/mKXtkEgV0Zu2RhUXCBr4hHo9F9vph+Uu8Ww2b0i5a4ZixoIkudGA+eJvyxrG1jUpA==", + "dev": true + }, + "@cspell/dict-aws": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-3.0.0.tgz", + "integrity": "sha512-O1W6nd5y3Z00AMXQMzfiYrIJ1sTd9fB1oLr+xf/UD7b3xeHeMeYE2OtcWbt9uyeHim4tk+vkSTcmYEBKJgS5bQ==", + "dev": true + }, + "@cspell/dict-bash": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-4.1.1.tgz", + "integrity": "sha512-8czAa/Mh96wu2xr0RXQEGMTBUGkTvYn/Pb0o+gqOO1YW+poXGQc3gx0YPqILDryP/KCERrNvkWUJz3iGbvwC2A==", + "dev": true + }, + "@cspell/dict-companies": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-3.0.18.tgz", + "integrity": "sha512-KJYZ8N7DFR8HY+82+nHY34NW9nTw5SJiwcxCdEw9Wr2t2qwebidLEyGZN43KQcI184hmt2PvIae4IUrGGbP0Tg==", + "dev": true + }, + "@cspell/dict-cpp": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-5.0.4.tgz", + "integrity": "sha512-Vmz/CCb2d91ES5juaO8+CFWeTa2AFsbpR8bkCPJq+P8cRP16+37tY0zNXEBSK/1ur4MakaRf76jeQBijpZxw0Q==", + "dev": true + }, + "@cspell/dict-cryptocurrencies": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-3.0.1.tgz", + "integrity": "sha512-Tdlr0Ahpp5yxtwM0ukC13V6+uYCI0p9fCRGMGZt36rWv8JQZHIuHfehNl7FB/Qc09NCF7p5ep0GXbL+sVTd/+w==", + "dev": true + }, + "@cspell/dict-csharp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-csharp/-/dict-csharp-4.0.2.tgz", + "integrity": "sha512-1JMofhLK+4p4KairF75D3A924m5ERMgd1GvzhwK2geuYgd2ZKuGW72gvXpIV7aGf52E3Uu1kDXxxGAiZ5uVG7g==", + "dev": true + }, + "@cspell/dict-css": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-4.0.6.tgz", + "integrity": "sha512-2Lo8W2ezHmGgY8cWFr4RUwnjbndna5mokpCK/DuxGILQnuajR0J31ANQOXj/8iZM2phFB93ZzMNk/0c04TDfSQ==", + "dev": true + }, + "@cspell/dict-dart": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-dart/-/dict-dart-2.0.3.tgz", + "integrity": "sha512-cLkwo1KT5CJY5N5RJVHks2genFkNCl/WLfj+0fFjqNR+tk3tBI1LY7ldr9piCtSFSm4x9pO1x6IV3kRUY1lLiw==", + "dev": true + }, + "@cspell/dict-data-science": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-1.0.9.tgz", + "integrity": "sha512-erbpIk/tmtCNq0Z6oFNJYIFdn2fzr+YoyCvks88NEV8j+z5z5pZeGAavWt3sxEW/0lmOlZsFJpW1Kzf+6NU8pQ==", + "dev": true + }, + "@cspell/dict-django": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-django/-/dict-django-4.1.0.tgz", + "integrity": "sha512-bKJ4gPyrf+1c78Z0Oc4trEB9MuhcB+Yg+uTTWsvhY6O2ncFYbB/LbEZfqhfmmuK/XJJixXfI1laF2zicyf+l0w==", + "dev": true + }, + "@cspell/dict-docker": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-docker/-/dict-docker-1.1.7.tgz", + "integrity": "sha512-XlXHAr822euV36GGsl2J1CkBIVg3fZ6879ZOg5dxTIssuhUOCiV2BuzKZmt6aIFmcdPmR14+9i9Xq+3zuxeX0A==", + "dev": true + }, + "@cspell/dict-dotnet": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-5.0.0.tgz", + "integrity": "sha512-EOwGd533v47aP5QYV8GlSSKkmM9Eq8P3G/eBzSpH3Nl2+IneDOYOBLEUraHuiCtnOkNsz0xtZHArYhAB2bHWAw==", + "dev": true + }, + "@cspell/dict-elixir": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-4.0.3.tgz", + "integrity": "sha512-g+uKLWvOp9IEZvrIvBPTr/oaO6619uH/wyqypqvwpmnmpjcfi8+/hqZH8YNKt15oviK8k4CkINIqNhyndG9d9Q==", + "dev": true + }, + "@cspell/dict-en_us": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.6.tgz", + "integrity": "sha512-odhgsjNZI9BtEOJdvqfAuv/3yz5aB1ngfBNaph7WSnYVt//9e3fhrElZ6/pIIkoyuGgeQPwz1fXt+tMgcnLSEQ==", + "dev": true + }, + "@cspell/dict-en-common-misspellings": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-common-misspellings/-/dict-en-common-misspellings-1.0.2.tgz", + "integrity": "sha512-jg7ZQZpZH7+aAxNBlcAG4tGhYF6Ksy+QS5Df73Oo+XyckBjC9QS+PrRwLTeYoFIgXy5j3ICParK5r3MSSoL4gw==", + "dev": true + }, + "@cspell/dict-en-gb": { + "version": "1.1.33", + "resolved": "https://registry.npmjs.org/@cspell/dict-en-gb/-/dict-en-gb-1.1.33.tgz", + "integrity": "sha512-tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==", + "dev": true + }, + "@cspell/dict-filetypes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-filetypes/-/dict-filetypes-3.0.1.tgz", + "integrity": "sha512-8z8mY1IbrTyTRumx2vvD9yzRhNMk9SajM/GtI5hdMM2pPpNSp25bnuauzjRf300eqlqPY2MNb5MmhBFO014DJw==", + "dev": true + }, + "@cspell/dict-fonts": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-3.0.2.tgz", + "integrity": "sha512-Z5QdbgEI7DV+KPXrAeDA6dDm/vTzyaW53SGlKqz6PI5VhkOjgkBXv3YtZjnxMZ4dY2ZIqq+RUK6qa9Pi8rQdGQ==", + "dev": true + }, + "@cspell/dict-fullstack": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-fullstack/-/dict-fullstack-3.1.5.tgz", + "integrity": "sha512-6ppvo1dkXUZ3fbYn/wwzERxCa76RtDDl5Afzv2lijLoijGGUw5yYdLBKJnx8PJBGNLh829X352ftE7BElG4leA==", + "dev": true + }, + "@cspell/dict-gaming-terms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-gaming-terms/-/dict-gaming-terms-1.0.4.tgz", + "integrity": "sha512-hbDduNXlk4AOY0wFxcDMWBPpm34rpqJBeqaySeoUH70eKxpxm+dvjpoRLJgyu0TmymEICCQSl6lAHTHSDiWKZg==", + "dev": true + }, + "@cspell/dict-git": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-git/-/dict-git-2.0.0.tgz", + "integrity": "sha512-n1AxyX5Kgxij/sZFkxFJlzn3K9y/sCcgVPg/vz4WNJ4K9YeTsUmyGLA2OQI7d10GJeiuAo2AP1iZf2A8j9aj2w==", + "dev": true + }, + "@cspell/dict-golang": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-6.0.2.tgz", + "integrity": "sha512-5pyZn4AAiYukAW+gVMIMVmUSkIERFrDX2vtPDjg8PLQUhAHWiVeQSDjuOhq9/C5GCCEZU/zWSONkGiwLBBvV9A==", + "dev": true + }, + "@cspell/dict-haskell": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-4.0.1.tgz", + "integrity": "sha512-uRrl65mGrOmwT7NxspB4xKXFUenNC7IikmpRZW8Uzqbqcu7ZRCUfstuVH7T1rmjRgRkjcIjE4PC11luDou4wEQ==", + "dev": true + }, + "@cspell/dict-html": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-4.0.3.tgz", + "integrity": "sha512-Gae8i8rrArT0UyG1I6DHDK62b7Be6QEcBSIeWOm4VIIW1CASkN9B0qFgSVnkmfvnu1Y3H7SSaaEynKjdj3cs8w==", + "dev": true + }, + "@cspell/dict-html-symbol-entities": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-4.0.0.tgz", + "integrity": "sha512-HGRu+48ErJjoweR5IbcixxETRewrBb0uxQBd6xFGcxbEYCX8CnQFTAmKI5xNaIt2PKaZiJH3ijodGSqbKdsxhw==", + "dev": true + }, + "@cspell/dict-java": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-5.0.5.tgz", + "integrity": "sha512-X19AoJgWIBwJBSWGFqSgHaBR/FEykBHTMjL6EqOnhIGEyE9nvuo32tsSHjXNJ230fQxQptEvRZoaldNLtKxsRg==", + "dev": true + }, + "@cspell/dict-k8s": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-k8s/-/dict-k8s-1.0.1.tgz", + "integrity": "sha512-gc5y4Nm3hVdMZNBZfU2M1AsAmObZsRWjCUk01NFPfGhFBXyVne41T7E62rpnzu5330FV/6b/TnFcPgRmak9lLw==", + "dev": true + }, + "@cspell/dict-latex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-4.0.0.tgz", + "integrity": "sha512-LPY4y6D5oI7D3d+5JMJHK/wxYTQa2lJMSNxps2JtuF8hbAnBQb3igoWEjEbIbRRH1XBM0X8dQqemnjQNCiAtxQ==", + "dev": true + }, + "@cspell/dict-lorem-ipsum": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-3.0.0.tgz", + "integrity": "sha512-msEV24qEpzWZs2kcEicqYlhyBpR0amfDkJOs+iffC07si9ftqtQ+yP3lf1VFLpgqw3SQh1M1vtU7RD4sPrNlcQ==", + "dev": true + }, + "@cspell/dict-lua": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-lua/-/dict-lua-4.0.1.tgz", + "integrity": "sha512-j0MFmeCouSoC6EdZTbvGe1sJ9V+ruwKSeF+zRkNNNload7R72Co5kX1haW2xLHGdlq0kqSy1ODRZKdVl0e+7hg==", + "dev": true + }, + "@cspell/dict-node": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-4.0.2.tgz", + "integrity": "sha512-FEQJ4TnMcXEFslqBQkXa5HposMoCGsiBv2ux4IZuIXgadXeHKHUHk60iarWpjhzNzQLyN2GD7NoRMd12bK3Llw==", + "dev": true + }, + "@cspell/dict-npm": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-5.0.8.tgz", + "integrity": "sha512-KuqH8tEsFD6DPKqKwIfWr9E+admE3yghaC0AKXG8jPaf77N0lkctKaS3dm0oxWUXkYKA/eXj6LCtz3VcTyxFPg==", + "dev": true + }, + "@cspell/dict-php": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-4.0.1.tgz", + "integrity": "sha512-XaQ/JkSyq2c07MfRG54DjLi2CV+HHwS99DDCAao9Fq2JfkWroTQsUeek7wYZXJATrJVOULoV3HKih12x905AtQ==", + "dev": true + }, + "@cspell/dict-powershell": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-5.0.2.tgz", + "integrity": "sha512-IHfWLme3FXE7vnOmMncSBxOsMTdNWd1Vcyhag03WS8oANSgX8IZ+4lMI00mF0ptlgchf16/OU8WsV4pZfikEFw==", + "dev": true + }, + "@cspell/dict-public-licenses": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.3.tgz", + "integrity": "sha512-JSLEdpEYufQ1H+93UHi+axlqQm1fhgK6kpdLHp6uPHu//CsvETcqNVawjB+qOdI/g38JTMw5fBqSd0aGNxa6Dw==", + "dev": true + }, + "@cspell/dict-python": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.1.5.tgz", + "integrity": "sha512-wWUWyHdyJtx5iG6Fz9rBQ17BtdpEsB17vmutao+gixQD28Jzb6XoLgDQ6606M0RnFjBSFhs5iT4CJBzlD2Kq6g==", + "dev": true, "requires": { - "core-js-pure": "^3.19.0", - "regenerator-runtime": "^0.13.4" + "@cspell/dict-data-science": "^1.0.0" } }, - "@babel/template": { - "version": "7.16.0", - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0" - } + "@cspell/dict-r": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-r/-/dict-r-2.0.1.tgz", + "integrity": "sha512-KCmKaeYMLm2Ip79mlYPc8p+B2uzwBp4KMkzeLd5E6jUlCL93Y5Nvq68wV5fRLDRTf7N1LvofkVFWfDcednFOgA==", + "dev": true }, - "@babel/traverse": { - "version": "7.16.3", - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.3", - "@babel/types": "^7.16.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } + "@cspell/dict-ruby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-5.0.0.tgz", + "integrity": "sha512-ssb96QxLZ76yPqFrikWxItnCbUKhYXJ2owkoIYzUGNFl2CHSoHCb5a6Zetum9mQ/oUA3gNeUhd28ZUlXs0la2A==", + "dev": true }, - "@babel/types": { - "version": "7.16.0", + "@cspell/dict-rust": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-rust/-/dict-rust-4.0.1.tgz", + "integrity": "sha512-xJSSzHDK2z6lSVaOmMxl3PTOtfoffaxMo7fTcbZUF+SCJzfKbO6vnN9TCGX2sx1RHFDz66Js6goz6SAZQdOwaw==", + "dev": true + }, + "@cspell/dict-scala": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-scala/-/dict-scala-5.0.0.tgz", + "integrity": "sha512-ph0twaRoV+ylui022clEO1dZ35QbeEQaKTaV2sPOsdwIokABPIiK09oWwGK9qg7jRGQwVaRPEq0Vp+IG1GpqSQ==", + "dev": true + }, + "@cspell/dict-software-terms": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-3.2.1.tgz", + "integrity": "sha512-+QXmyoONVc/3aNgKW+0F0u3XUCRTfNRkWKLZQA78i+9fOfde8ZT4JmROmZgRveH/MxD4n6pNFceIRcYI6C8WuQ==", + "dev": true + }, + "@cspell/dict-sql": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-sql/-/dict-sql-2.1.1.tgz", + "integrity": "sha512-v1mswi9NF40+UDUMuI148YQPEQvWjac72P6ZsjlRdLjEiQEEMEsTQ+zlkIdnzC9QCNyJaqD5Liq9Mn78/8Zxtw==", + "dev": true + }, + "@cspell/dict-svelte": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@cspell/dict-svelte/-/dict-svelte-1.0.2.tgz", + "integrity": "sha512-rPJmnn/GsDs0btNvrRBciOhngKV98yZ9SHmg8qI6HLS8hZKvcXc0LMsf9LLuMK1TmS2+WQFAan6qeqg6bBxL2Q==", + "dev": true + }, + "@cspell/dict-swift": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-swift/-/dict-swift-2.0.1.tgz", + "integrity": "sha512-gxrCMUOndOk7xZFmXNtkCEeroZRnS2VbeaIPiymGRHj5H+qfTAzAKxtv7jJbVA3YYvEzWcVE2oKDP4wcbhIERw==", + "dev": true + }, + "@cspell/dict-typescript": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-3.1.1.tgz", + "integrity": "sha512-N9vNJZoOXmmrFPR4ir3rGvnqqwmQGgOYoL1+y6D4oIhyr7FhaYiyF/d7QT61RmjZQcATMa6PSL+ZisCeRLx9+A==", + "dev": true + }, + "@cspell/dict-vue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@cspell/dict-vue/-/dict-vue-3.0.0.tgz", + "integrity": "sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==", + "dev": true + }, + "@cspell/dynamic-import": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-6.31.1.tgz", + "integrity": "sha512-uliIUv9uZlnyYmjUlcw/Dm3p0xJOEnWJNczHAfqAl4Ytg6QZktw0GtUA9b1umbRXLv0KRTPtSC6nMq3cR7rRmQ==", + "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.15.7", - "to-fast-properties": "^2.0.0" + "import-meta-resolve": "^2.2.2" } }, + "@cspell/strong-weak-map": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-6.31.1.tgz", + "integrity": "sha512-z8AuWvUuSnugFKJOA9Ke0aiFuehcqLFqia9bk8XaQNEWr44ahPVn3sEWnAncTxPbpWuUw5UajoJa0egRAE1CCg==", + "dev": true + }, "@docsearch/css": { "version": "3.0.0-alpha.41" }, @@ -15606,7 +16849,9 @@ "version": "0.0.8" }, "ansi-regex": { - "version": "5.0.0" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "4.3.0", @@ -15630,6 +16875,12 @@ "array-flatten": { "version": "2.1.2" }, + "array-timsort": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", + "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==", + "dev": true + }, "array-union": { "version": "2.1.0" }, @@ -16117,6 +17368,33 @@ "clean-stack": { "version": "2.2.0" }, + "clear-module": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/clear-module/-/clear-module-4.1.2.tgz", + "integrity": "sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==", + "dev": true, + "requires": { + "parent-module": "^2.0.0", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "parent-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-2.0.0.tgz", + "integrity": "sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==", + "dev": true, + "requires": { + "callsites": "^3.1.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, "cli-boxes": { "version": "2.2.1" }, @@ -16233,6 +17511,19 @@ "commander": { "version": "5.1.0" }, + "comment-json": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.2.3.tgz", + "integrity": "sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==", + "dev": true, + "requires": { + "array-timsort": "^1.0.3", + "core-util-is": "^1.0.3", + "esprima": "^4.0.1", + "has-own-prop": "^2.0.0", + "repeat-string": "^1.6.1" + } + }, "commondir": { "version": "1.0.1" }, @@ -16470,6 +17761,220 @@ "crypto-random-string": { "version": "2.0.0" }, + "cspell": { + "version": "6.31.2", + "resolved": "https://registry.npmjs.org/cspell/-/cspell-6.31.2.tgz", + "integrity": "sha512-HJcQ8jqL/1N3Mj5dufFnIZCX3ACuRoFTSVY6h3Bo5wBqd2iiJTyeQ1SY9Zymlxtb2KyJ6jQRiFmkWeFx2HVs7w==", + "dev": true, + "requires": { + "@cspell/cspell-pipe": "6.31.1", + "@cspell/cspell-types": "6.31.1", + "@cspell/dynamic-import": "6.31.1", + "chalk": "^4.1.2", + "commander": "^10.0.0", + "cspell-gitignore": "6.31.2", + "cspell-glob": "6.31.2", + "cspell-io": "6.31.2", + "cspell-lib": "6.31.2", + "fast-glob": "^3.2.12", + "fast-json-stable-stringify": "^2.1.0", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "imurmurhash": "^0.1.4", + "semver": "^7.3.8", + "strip-ansi": "^6.0.1", + "vscode-uri": "^3.0.7" + }, + "dependencies": { + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true + } + } + }, + "cspell-dictionary": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-6.31.1.tgz", + "integrity": "sha512-7+K7aQGarqbpucky26wled7QSCJeg6VkLUWS+hLjyf0Cqc9Zew5xsLa4QjReExWUJx+a97jbiflITZNuWxgMrg==", + "dev": true, + "requires": { + "@cspell/cspell-pipe": "6.31.1", + "@cspell/cspell-types": "6.31.1", + "cspell-trie-lib": "6.31.1", + "fast-equals": "^4.0.3", + "gensequence": "^5.0.2" + } + }, + "cspell-gitignore": { + "version": "6.31.2", + "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-6.31.2.tgz", + "integrity": "sha512-B1i8aiXCIbb/08u0K3xnDyXtg0qD+lb5B2itOOXi7KXlPkKvIuN4hWyXxhVDweWyYWEzyXD5wBpPrqICVrStHQ==", + "dev": true, + "requires": { + "cspell-glob": "6.31.2", + "find-up": "^5.0.0" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + } + } + }, + "cspell-glob": { + "version": "6.31.2", + "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-6.31.2.tgz", + "integrity": "sha512-ceTjHM4HaBgvG5S3oiB+PTPYq58EQYG6MmYpycDHzpR5I2H1NurK9lxWHfANmLbi0DsHn58tIZNDMUnnQj19Jw==", + "dev": true, + "requires": { + "micromatch": "^4.0.5" + } + }, + "cspell-grammar": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-6.31.1.tgz", + "integrity": "sha512-AsRVP0idcNFVSb9+p9XjMumFj3BUV67WIPWApaAzJl/dYyiIygQObRE+si0/QtFWGNw873b7hNhWZiKjqIdoaQ==", + "dev": true, + "requires": { + "@cspell/cspell-pipe": "6.31.1", + "@cspell/cspell-types": "6.31.1" + } + }, + "cspell-io": { + "version": "6.31.2", + "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-6.31.2.tgz", + "integrity": "sha512-Lp7LsF/f35LaOneROb/9mWiprShz2ONxjYFAt3bYP7gIxq41lWi8QhO+SN6spoqPp/wQXjSqJ7MuTZsemxPRnA==", + "dev": true, + "requires": { + "@cspell/cspell-service-bus": "6.31.1", + "node-fetch": "^2.6.9" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + } + } + }, + "cspell-lib": { + "version": "6.31.2", + "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-6.31.2.tgz", + "integrity": "sha512-LqaB2ZfVfQHKL5aZzYoKU6/UxxAtWeXAYwpC9l+satXmajYyXtAh4kWmuW+y7kKRH2jA79rJQS3QE6ToeSqgQQ==", + "dev": true, + "requires": { + "@cspell/cspell-bundled-dicts": "6.31.2", + "@cspell/cspell-pipe": "6.31.1", + "@cspell/cspell-types": "6.31.1", + "@cspell/strong-weak-map": "6.31.1", + "clear-module": "^4.1.2", + "comment-json": "^4.2.3", + "configstore": "^5.0.1", + "cosmiconfig": "8.0.0", + "cspell-dictionary": "6.31.1", + "cspell-glob": "6.31.2", + "cspell-grammar": "6.31.1", + "cspell-io": "6.31.2", + "cspell-trie-lib": "6.31.1", + "fast-equals": "^4.0.3", + "find-up": "^5.0.0", + "gensequence": "^5.0.2", + "import-fresh": "^3.3.0", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0", + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-uri": "^3.0.7" + }, + "dependencies": { + "cosmiconfig": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.0.0.tgz", + "integrity": "sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==", + "dev": true, + "requires": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "cspell-trie-lib": { + "version": "6.31.1", + "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-6.31.1.tgz", + "integrity": "sha512-MtYh7s4Sbr1rKT31P2BK6KY+YfOy3dWsuusq9HnqCXmq6aZ1HyFgjH/9p9uvqGi/TboMqn1KOV8nifhXK3l3jg==", + "dev": true, + "requires": { + "@cspell/cspell-pipe": "6.31.1", + "@cspell/cspell-types": "6.31.1", + "gensequence": "^5.0.2" + } + }, "css-color-names": { "version": "1.0.1" }, @@ -17103,15 +18608,22 @@ "fast-deep-equal": { "version": "3.1.3" }, + "fast-equals": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-4.0.3.tgz", + "integrity": "sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg==", + "dev": true + }, "fast-glob": { - "version": "3.2.5", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" } }, "fast-json-stable-stringify": { @@ -17173,6 +18685,15 @@ } } }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, "file-loader": { "version": "6.2.0", "requires": { @@ -17274,6 +18795,22 @@ "path-exists": "^4.0.0" } }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, "follow-redirects": { "version": "1.14.5" }, @@ -17387,6 +18924,12 @@ "function-bind": { "version": "1.1.1" }, + "gensequence": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/gensequence/-/gensequence-5.0.2.tgz", + "integrity": "sha512-JlKEZnFc6neaeSVlkzBGGgkIoIaSxMgvdamRoPN8r3ozm2r9dusqxeKqYQ7lhzmj2UhFQP8nkyfCaiLQxiLrDA==", + "dev": true + }, "gensync": { "version": "1.0.0-beta.2" }, @@ -17404,6 +18947,12 @@ "get-own-enumerable-property-symbols": { "version": "3.0.2" }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true + }, "get-stream": { "version": "6.0.1" }, @@ -17550,6 +19099,12 @@ "has-flag": { "version": "4.0.0" }, + "has-own-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz", + "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==", + "dev": true + }, "has-symbols": { "version": "1.0.2" }, @@ -17914,6 +19469,12 @@ "import-lazy": { "version": "2.1.0" }, + "import-meta-resolve": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz", + "integrity": "sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==", + "dev": true + }, "imurmurhash": { "version": "0.1.4" }, @@ -18557,10 +20118,12 @@ "version": "1.1.2" }, "micromatch": { - "version": "4.0.4", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "mime": { @@ -19976,9 +21539,6 @@ "strip-ansi": "^6.0.1" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1" - }, "css-select": { "version": "4.1.3", "requires": { @@ -20034,12 +21594,6 @@ "requires": { "boolbase": "^1.0.0" } - }, - "strip-ansi": { - "version": "6.0.1", - "requires": { - "ansi-regex": "^5.0.1" - } } } }, @@ -20065,6 +21619,26 @@ "resolve-from": { "version": "4.0.0" }, + "resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "dev": true, + "requires": { + "global-dirs": "^0.1.1" + }, + "dependencies": { + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dev": true, + "requires": { + "ini": "^1.3.4" + } + } + } + }, "resolve-pathname": { "version": "3.0.0" }, @@ -20225,7 +21799,9 @@ } }, "semver": { - "version": "7.3.5", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -20614,9 +22190,11 @@ } }, "strip-ansi": { - "version": "6.0.0", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "strip-bom-string": { @@ -20848,6 +22426,12 @@ "totalist": { "version": "1.1.0" }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, "traverse": { "version": "0.6.6" }, @@ -21146,6 +22730,18 @@ "unist-util-stringify-position": "^2.0.0" } }, + "vscode-languageserver-textdocument": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", + "dev": true + }, + "vscode-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", + "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==", + "dev": true + }, "wait-on": { "version": "6.0.0", "requires": { @@ -21192,6 +22788,12 @@ "web-namespaces": { "version": "1.1.4" }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, "webpack": { "version": "5.63.0", "requires": { @@ -21385,6 +22987,16 @@ "websocket-extensions": { "version": "0.1.4" }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "2.0.2", "requires": { diff --git a/package.json b/package.json index b0695fe21ba..4f9f981d799 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,8 @@ "prestart": "npm run generate-markdown", "prettier": "prettier \"./**/*.{html,ts,tsx,js,jsx,md}\"", "start": "docusaurus start", - "swizzle": "docusaurus swizzle --danger" + "swizzle": "docusaurus swizzle --danger", + "spellcheck": "cspell --no-progress \"docs/**/*.md\"" }, "browserslist": { "production": [ @@ -71,6 +72,7 @@ "@ionic/prettier-config": "^3.0.0", "@tsconfig/docusaurus": "^1.0.4", "@types/react": "^17.0.37", + "cspell": "^6.31.2", "html-loader": "^3.1.0", "hygen": "^6.2.11", "prettier": "^2.8.8", From 148d8f05b3654fe48f36d464a1717047fc4a8173 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 4 Aug 2023 16:21:24 -0400 Subject: [PATCH 02/29] docs(content): update to pass spellcheck --- docs/README.md | 2 +- docs/angular/performance.md | 4 ++++ docs/angular/testing.md | 2 +- docs/angular/your-first-app/8-distribute.md | 4 ++-- docs/components.md | 2 +- .../core-concepts/what-are-progressive-web-apps.md | 2 ++ docs/developer-resources/books.md | 14 +++++++++++++- docs/developer-resources/courses.md | 14 +++++++++++++- docs/native-faq.md | 2 +- docs/react/navigation.md | 6 +++++- docs/react/pwa.md | 2 +- docs/react/your-first-app/2-taking-photos.md | 2 +- docs/react/your-first-app/8-distribute.md | 6 +++--- docs/reference/glossary.md | 1 + docs/vue/overview.md | 4 ++++ docs/vue/quickstart.md | 2 +- docs/vue/your-first-app/8-distribute.md | 4 ++-- versioned_docs/version-v5/angular/testing.md | 2 +- versioned_docs/version-v5/components.md | 2 +- .../core-concepts/what-are-progressive-web-apps.md | 2 ++ .../version-v5/developer-resources/books.md | 14 +++++++++++++- .../version-v5/developer-resources/courses.md | 14 +++++++++++++- versioned_docs/version-v5/native/music-controls.md | 2 +- versioned_docs/version-v5/native/wifi-wizard-2.md | 6 +++--- versioned_docs/version-v5/react/navigation.md | 4 ++++ versioned_docs/version-v5/react/pwa.md | 2 +- .../react/your-first-app/2-taking-photos.md | 2 +- versioned_docs/version-v5/reference/glossary.md | 1 + .../version-v5/theming/css-shadow-parts.md | 2 +- versioned_docs/version-v5/vue/quickstart.md | 2 +- versioned_docs/version-v6/README.md | 2 +- versioned_docs/version-v6/angular/testing.md | 2 +- .../angular/your-first-app/8-distribute.md | 4 ++-- versioned_docs/version-v6/api/select.md | 4 ++-- versioned_docs/version-v6/components.md | 2 +- .../core-concepts/what-are-progressive-web-apps.md | 2 ++ .../version-v6/developer-resources/books.md | 14 +++++++++++++- .../version-v6/developer-resources/courses.md | 14 +++++++++++++- versioned_docs/version-v6/native-faq.md | 2 +- versioned_docs/version-v6/react/navigation.md | 4 ++++ versioned_docs/version-v6/react/pwa.md | 2 +- .../react/your-first-app/2-taking-photos.md | 2 +- .../react/your-first-app/8-distribute.md | 6 +++--- versioned_docs/version-v6/reference/glossary.md | 1 + versioned_docs/version-v6/vue/overview.md | 4 ++++ versioned_docs/version-v6/vue/quickstart.md | 2 +- .../version-v6/vue/your-first-app/8-distribute.md | 4 ++-- 47 files changed, 152 insertions(+), 47 deletions(-) diff --git a/docs/README.md b/docs/README.md index 2da29748116..12005305278 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,7 +4,7 @@ The `/docs` folder houses all markdown files. The page structure loosely maps to ## Versioning -This folder can also contain components, assets, and whatever else is meant to be versioned when the docusaurus versioning script is run. For example, if there is a page component that is only relevant to the `layout` section in the current version of Ionic, it could be added to a `_components/` folder in `docs/layout/`. When the versioning script is run, the component will be copied to `versioned_docs/verion-{X}/layout/_components/` and there will now be a separate component in `docs/layout/_components/` that can be deleted or updated to the latest version. The same concept applies to images and other files. +This folder can also contain components, assets, and whatever else is meant to be versioned when the docusaurus versioning script is run. For example, if there is a page component that is only relevant to the `layout` section in the current version of Ionic, it could be added to a `_components/` folder in `docs/layout/`. When the versioning script is run, the component will be copied to `versioned_docs/version-{X}/layout/_components/` and there will now be a separate component in `docs/layout/_components/` that can be deleted or updated to the latest version. The same concept applies to images and other files. If components are meant to be shared across versions, they can be put in `src/components/`. If images and other served files are meant to be shared across versions they can be put in `static/`. diff --git a/docs/angular/performance.md b/docs/angular/performance.md index c19ee5d7b2c..b45d46377e0 100644 --- a/docs/angular/performance.md +++ b/docs/angular/performance.md @@ -56,6 +56,8 @@ For more information on how Angular manages change propagation with `ngFor` see ## From the Community +// cspell:disable + [High Performance Animations in Ionic](https://www.joshmorony.com/high-performance-animations-in-ionic/) - Josh Morony [High Performance List Filtering in Ionic](https://www.joshmorony.com/high-performance-list-filtering-in-ionic-2/) - Josh Morony @@ -64,6 +66,8 @@ For more information on how Angular manages change propagation with `ngFor` see [Ionic Framework is Fast (But Your Code Might Not Be)](https://www.joshmorony.com/ionic-framework-is-fast-but-your-code-might-not-be/) - Josh Morony +// cspell:enable + :::note Do you have a guide you'd like to share? Click the _Edit this page_ button below. ::: diff --git a/docs/angular/testing.md b/docs/angular/testing.md index 142f4dd6ec4..1278551b0b9 100644 --- a/docs/angular/testing.md +++ b/docs/angular/testing.md @@ -293,7 +293,7 @@ When an `@ionic/angular` application is generated, a default end-to-end test app - `protractor.conf.js` - the Protractor configuration file - `tsconfig.e2e.json` - specific TypeScript configuration for the testing application -- `src/app.po.ts` - a page object containing methods that navigate the application, query elements in the DOM, and maninpulate elements on the page +- `src/app.po.ts` - a page object containing methods that navigate the application, query elements in the DOM, and manipulate elements on the page - `src/app.e2e-spec.ts` - a testing script #### Page Objects diff --git a/docs/angular/your-first-app/8-distribute.md b/docs/angular/your-first-app/8-distribute.md index 44b3781b476..545e57c1945 100644 --- a/docs/angular/your-first-app/8-distribute.md +++ b/docs/angular/your-first-app/8-distribute.md @@ -18,7 +18,7 @@ For more on connecting your code repository to Appflow, checkout the [Connect yo The Appflow SDK (also known as Ionic Deploy plugin) will allow you to take advantage of arguably two of the best Appflow features: deploying live updates to your app and bypassing the app stores. Ionic Appflow's Live Update feature is shipped with Appflow SDK and features the capabilities of detecting and syncing the updates for your app that you have pushed to your identified channels within the dashboard. -To get the Appflow SDK plugin added to your project, you can follow the install instructions within the Appflow Dashboard by clicking on "Install Instructions" inside of the `Deploy > Destinations` section. Alternatively, you can install the plugin manually by excuting the following command in your app's root directory: +To get the Appflow SDK plugin added to your project, you can follow the install instructions within the Appflow Dashboard by clicking on "Install Instructions" inside of the `Deploy > Destinations` section. Alternatively, you can install the plugin manually by executing the following command in your app's root directory: ```shell ionic deploy add \ @@ -75,7 +75,7 @@ For more information, visit the [Create an Automation](https://ionic.io/docs/app ## Create an Environment -[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be futher customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever. +[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be further customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever. Creating an Environment is available for those on our [Basic plans](https://ionic.io/pricing) and above. More information on this can be found in the [Create an Environment](https://ionic.io/docs/appflow/quickstart/environment) section within the Appflow docs. diff --git a/docs/components.md b/docs/components.md index 9b5518e95d6..732b59a43b2 100644 --- a/docs/components.md +++ b/docs/components.md @@ -143,7 +143,7 @@ Ionic apps are made of high-level building blocks called Components, which allow -

Toast is used to show a notification over the top of an app's content. It can be temporary or dismissable.

+

Toast is used to show a notification over the top of an app's content. It can be temporary or dismissible.

diff --git a/docs/core-concepts/what-are-progressive-web-apps.md b/docs/core-concepts/what-are-progressive-web-apps.md index fe7e769ee68..0514b680ad2 100644 --- a/docs/core-concepts/what-are-progressive-web-apps.md +++ b/docs/core-concepts/what-are-progressive-web-apps.md @@ -47,11 +47,13 @@ To be considered a Progressive Web App, your app must be: - Linkable - Easily share via URL and not require complex installation. +// cspell:disable Addy Osmani: Progressive web apps +// cspell:enable There is a lot here, but it boils down to a few points for Ionic apps. diff --git a/docs/developer-resources/books.md b/docs/developer-resources/books.md index 01218e277f4..d9efd36570a 100644 --- a/docs/developer-resources/books.md +++ b/docs/developer-resources/books.md @@ -4,50 +4,62 @@ Angular. Vue. React. Vanilla JavaScript. All of these tools can be used to create awesome applications with Ionic, thanks to the new Stencil compiler. This book is aimed at beginners that are looking to create amazing web, mobile and desktop applications using Ionic with examples across all of the popular frameworks. +// cspell:disable-next-line by [Paul Halliday](https:://developer.school) ### [Creating Ionic Applications with StencilJS](https://www.joshmorony.com/creating-ionic-applications-with-stencil-js/) - [Free Preview](https://cdn2.hubspot.net/hubfs/3776657/PREVIEW-Creating-Ionic-Apps-with-StencilJS.pdf) As well as being a powerful tool for generating reuseable web components, StencilJS provides the tools needed to build an entire application out of web components. Combined with the Ionic web components, StencilJS gives us everything we need to build high-quality production mobile applications - no framework required. +// cspell:disable-next-line by [Joshua Morony](https://www.joshmorony.com/blog) ### [Mobile App Development with Ionic: Cross-Platform Apps with Ionic 2, Angular 2, and Cordova](https://www.amazon.com/Mobile-App-Development-Ionic-Cross-Platform/dp/1491937785/ref=sr_1_2?ie=UTF8&qid=1464183332&sr=8-2&keywords=ionic+2) +// cspell:disable-next-line by Chris Griffith ### [Building Mobile Apps with Ionic & Angular](https://www.joshmorony.com/building-mobile-apps-with-ionic-2/) +// cspell:disable-next-line by [Joshua Morony](https://www.joshmorony.com/blog) Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning the latest and greatest version of Ionic. It is targeted at beginners and works its way through the basics of Ionic, to example applications of varying complexity, and then to the steps required to build and publish your application (on the app stores or as a PWA). It has been updated for every major release, so you can rest easy knowing that you're not learning outdated tech. ### [Ionic 2 From Zero to App Store](https://devdactic.com/zero-to-app) +// cspell:disable-next-line by Simon Reimler -### [Ionic Framework By Example](https://www.packtpub.com/application-development/ionic-framework-example) +### [Ionic Framework +By Example](https://www.packtpub.com/application-development/ionic-framework-example) +// cspell:disable-next-line by Sani Yusuf ### [Building Firestore Powered Ionic Apps](https://javebratt.com/ionic-firebase-book/) +// cspell:disable-next-line by Jorge Vergara This book will help you go from not knowing what Firebase is to be able to use the different APIs for your Ionic Applications. It will take you from “_What’s Firebase?_” to building scalable, production-ready apps and it’s always up-to-date with latest Ionic and Firebase versions. ### [Ionic 2 Cookbook - Second Edition](https://www.amazon.com/Ionic-Cookbook-Second-Hoc-Phan-ebook/dp/B01C4D9VWS?ie=UTF8&keywords=ionic%202&qid=1464183332&ref_=sr_1_3&sr=8-3) +// cspell:disable-next-line by Hoc Phan ### [Mastering Ionic 2](https://www.leanpub.com/masteringionic2) +// cspell:disable-next-line by James Griffiths ### [Learning Ionic](https://www.packtpub.com/in/application-development/learning-ionic) (Ionic 1) +// cspell:disable-next-line by Arvind Ravulavaru ### [Learning Ionic - Second Edition](https://www.packtpub.com/in/web-development/learning-ionic-second-edition) (Ionic 2/3) +// cspell:disable-next-line by Arvind Ravulavaru diff --git a/docs/developer-resources/courses.md b/docs/developer-resources/courses.md index 46038f4ffb1..a0ee11979f8 100644 --- a/docs/developer-resources/courses.md +++ b/docs/developer-resources/courses.md @@ -2,24 +2,28 @@ ### [Elite Ionic](https://www.joshmorony.com/elite/) +// cspell:disable-next-line by Josh Morony Elite Ionic is an online course for Ionic developers who want to move past the basics, and build complex, well tested, high performing, beautiful, and useable mobile applications. It is recommended that you already have a reasonably solid understanding of the basics of Ionic before starting this course. ### [Ionic Academy](https://ionicacademy.com/) +// cspell:disable-next-line by Simon Grimm Learn Ionic with step-by-step video courses & quick wins from one of the Ionic community leaders. Covers beginner, intermediate and advanced topics. Get access to a community of developers just like you. ### [Ionic Framework: Tips, Tricks & Techniques](https://www.packtpub.com/mobile/ionic-framework-tips-tricks-and-techniques-video) +// cspell:disable-next-line by Charles Muzonzini In this course, you will master tips and best practices for Ionic 4 & Ionic 5 that you can immediately implement to build high quality apps. This course covers a wide variety of topics from increasing app performance, to building custom native plugins, to securing your apps. It's a practical, hands-on course that will take your app building skills to the next level. -### [Building Deskop Apps with Ionic and Electron](https://pluralsight.pxf.io/VeMXO) +### [Building Desktop Apps with Ionic and Electron](https://pluralsight.pxf.io/VeMXO) +// cspell:disable-next-line by Michael Callaghan at Pluralsight Desktop development has historically required dramatically different skills than those required for web @@ -33,6 +37,7 @@ Windows and macOS users. ### [Building Progressive Web Apps with Ionic](https://pluralsight.pxf.io/Ly2EY) +// cspell:disable-next-line by Michael Callaghan at Pluralsight Everything changed when Google created the concept of Progressive Web Applications or PWA. A PWA is a pure web @@ -48,6 +53,7 @@ Progressive Web Application anywhere you desire. ### [Ionic CLI](https://pluralsight.pxf.io/ionic-cli) +// cspell:disable-next-line by Michael Callaghan at Pluralsight Since its inception, the Ionic Framework has included a rudimentary command line interface. Though only a few @@ -60,24 +66,30 @@ the confidence to use the Ionic CLI as part of your everyday Ionic development. ### [Wordpress Rest API and Ionic 4 (Angular) App With Auth](https://www.udemy.com/course/wordpress-rest-api-and-ionic-3-crud/) +// cspell:disable-next-line by Baljeet Singh at Udemy ### [Building Mobile Apps with Ionic 2, Angular 2, and TypeScript](https://app.pluralsight.com/library/courses/ionic2-angular2-typescript-mobile-apps/table-of-contents) +// cspell:disable-next-line by Pluralsight ### [Introducing Ionic 2](http://shop.oreilly.com/product/0636920050353.do) +// cspell:disable-next-line by Mathieu Chauvinc ### [Ionic 2 Master Course](https://www.udemy.com/ionic-2-tutorial/) +// cspell:disable-next-line by Udemy ### [Introducing Ionic 2](https://www.udemy.com/introducing-ionic-2/) +// cspell:disable-next-line by Udemy ### [Ionic 2 Solutions](https://www.packtpub.com/web-development/ionic-2-solutions-video) +// cspell:disable-next-line by Hoc Phan diff --git a/docs/native-faq.md b/docs/native-faq.md index 8ab58471fea..10c8a9eadfb 100644 --- a/docs/native-faq.md +++ b/docs/native-faq.md @@ -19,6 +19,6 @@ If you're using a plugin, it may require adding additional permissions to your n You need to manually add those permissions to the `info.plist` in your native project. Otherwise, calls to the native camera API will fail. -## Unexpected behaviour +## Unexpected behavior If for some reason the plugin does not behave in a way that is unexpected, please [open an issue on our github repo](https://github.com/ionic-team/capacitor-plugins)! Providing a clear issue report along with a reproduction can help get your issue resolved. diff --git a/docs/react/navigation.md b/docs/react/navigation.md index d85676786cc..d5005cce431 100644 --- a/docs/react/navigation.md +++ b/docs/react/navigation.md @@ -588,7 +588,7 @@ Since `IonRouterOutlet` takes over the job in determining which routes get rende ### useIonRouter -The `useIonRouter` hook can be used for more direct control over routing in Ionic React. It allows you to pass additional metadata to Ionic, such as a custom animaton, before calling React router. +The `useIonRouter` hook can be used for more direct control over routing in Ionic React. It allows you to pass additional metadata to Ionic, such as a custom animation, before calling React router. The `useIonRouter` hook returns a `UseIonRouterResult` which has several convenience methods for routing: @@ -647,4 +647,8 @@ For more info on routing in React using React Router, check out their docs at [h ## From the Community +// cspell:disable + [Ionic 4 and React: Navigation](https://alligator.io/ionic/ionic-4-react-navigation) - Paul Halliday + +// cspell:enable diff --git a/docs/react/pwa.md b/docs/react/pwa.md index e81a216d127..16ea8df72f2 100644 --- a/docs/react/pwa.md +++ b/docs/react/pwa.md @@ -81,7 +81,7 @@ Features like Service Workers and many JavaScript APIs (such as geolocation) req ### Service Worker configuration -By default, CRA/React Scripts come with a preconfigured Service Worker setup based on [Workbox's Webpack plugin](https://developers.google.com/web/tools/workbox/modules/workbox-webpack-plugin). This utilises a cache-first strategy, meaning that your app will load from a cache, even if the network returns a newer version of the app. +By default, CRA/React Scripts come with a preconfigured Service Worker setup based on [Workbox's Webpack plugin](https://developers.google.com/web/tools/workbox/modules/workbox-webpack-plugin). This utilizes a cache-first strategy, meaning that your app will load from a cache, even if the network returns a newer version of the app. Because of the nature of CRA/React Scripts, the configuration for this is internal to React Scripts, meaning that it cannot be customized without ejecting from React Scripts. Currently, the Ionic CLI does not support an ejected React App, so if this action is taken, you'll need to use npm/yarn scripts instead of the Ionic CLI. diff --git a/docs/react/your-first-app/2-taking-photos.md b/docs/react/your-first-app/2-taking-photos.md index 9693e233c53..ac70c03c26c 100644 --- a/docs/react/your-first-app/2-taking-photos.md +++ b/docs/react/your-first-app/2-taking-photos.md @@ -95,7 +95,7 @@ Back at the top of the function (right after the call to `usePhotoGallery`, we w const [photos, setPhotos] = useState([]); ``` -When the camera is done taking a picture, the resulting Photo returned from Capacitor will be stored in the `photo` variable. We want to create a new photo object and add it to the photos state array. We make sure we don't accidently mutate the current photos array by making a new array, and then call `setPhotos` to store the array into state. Update the `takePhoto` method and add this code after the getPhoto call: +When the camera is done taking a picture, the resulting Photo returned from Capacitor will be stored in the `photo` variable. We want to create a new photo object and add it to the photos state array. We make sure we don't accidentally mutate the current photos array by making a new array, and then call `setPhotos` to store the array into state. Update the `takePhoto` method and add this code after the getPhoto call: ```tsx const fileName = Date.now() + '.jpeg'; diff --git a/docs/react/your-first-app/8-distribute.md b/docs/react/your-first-app/8-distribute.md index 74966e8de58..4cb78606447 100644 --- a/docs/react/your-first-app/8-distribute.md +++ b/docs/react/your-first-app/8-distribute.md @@ -18,7 +18,7 @@ For more on connecting your code repository to Appflow, checkout the [Connect yo The Appflow SDK (also known as Ionic Deploy plugin) will allow you to take advantage of arguably two of the best Appflow features: deploying live updates to your app and bypassing the app stores. Ionic Appflow's Live Update feature is shipped with Appflow SDK and features the capabilities of detecting and syncing the updates for your app that you have pushed to your identified channels within the dashboard. -To get the Appflow SDK plugin added to your project, you can follow the install instructions within the Appflow Dashboard by clicking on "Install Instructions" inside of the `Deploy > Destinations` section. Alternatively, you can install the plugin manually by excuting the following command in your app's root directory: +To get the Appflow SDK plugin added to your project, you can follow the install instructions within the Appflow Dashboard by clicking on "Install Instructions" inside of the `Deploy > Destinations` section. Alternatively, you can install the plugin manually by executing the following command in your app's root directory: ```shell ionic deploy add \ @@ -43,7 +43,7 @@ After the push is made, you will then see your commit under the `Commits` tab of ## Deploy a Live Update -With the Appflow SDK installed and your commit pushed up to the Dashboard, you are ready to deploy a live update to a device. The Live Update feature uses the installed Appflow SDK with your native application to listen to a particular Deploy Channel Destination. When a live update is assigned to a Channel Distination, that update will be deployed to user devices running binaries that are configured to listen to that specific Channel Destination. +With the Appflow SDK installed and your commit pushed up to the Dashboard, you are ready to deploy a live update to a device. The Live Update feature uses the installed Appflow SDK with your native application to listen to a particular Deploy Channel Destination. When a live update is assigned to a Channel Destination, that update will be deployed to user devices running binaries that are configured to listen to that specific Channel Destination. To get the live update deployed, a Web build will need to be created. This can be done through the `Start build` icon from the `Commits` tab or by clicking the `New build` button in the top right corner of the `Build > Builds` tab. After selecting the correct commit to deploy, select the `Web` target platform and the `Latest` build stack. Depending on your Appflow plan, you will then be able to include custom environments, if any are configured. Finally, you can enable `Live Update` and pick the Channel to automatically assign the build to once it successfully completes. @@ -75,7 +75,7 @@ For more information, visit the [Create an Automation](https://ionic.io/docs/app ## Create an Environment -[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be futher customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever. +[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be further customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever. Creating an Environment is available for those on our [Basic plans](https://ionic.io/pricing) and above. More information on this can be found in the [Create an Environment](https://ionic.io/docs/appflow/quickstart/environment) section within the Appflow docs. diff --git a/docs/reference/glossary.md b/docs/reference/glossary.md index 0ac1a08c706..a276ebfe228 100644 --- a/docs/reference/glossary.md +++ b/docs/reference/glossary.md @@ -97,6 +97,7 @@ title: Glossary

CLI

+ // cspell:disable-next-line A CLI, or Command-Line Interface, is a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often use Command Prompt. The Ionic community often uses this term to refer to{' '} diff --git a/docs/vue/overview.md b/docs/vue/overview.md index 1689934bc26..b4a83931080 100644 --- a/docs/vue/overview.md +++ b/docs/vue/overview.md @@ -32,9 +32,13 @@ While there are no known technical limitations to using `Ionic Vue` with [Cordov ## From the Community +// cspell:disable + - [Using Vue.js with Ionic & Capacitor](https://dev.to/aaronksaunders/using-vue-js-v3-beta-with-ionic-components-capacitor-plugins-2b6f) - Aaron Saunders - [Building Mobile Apps With Vue3 and Ionic](https://soshace.com/building-mobile-apps-with-vue3-and-ionic/) - Oluwaseun Raphael Afolayan +// cspell:enable + ## Installation ```shell-session diff --git a/docs/vue/quickstart.md b/docs/vue/quickstart.md index 331ab3f864e..6f2e36942bb 100644 --- a/docs/vue/quickstart.md +++ b/docs/vue/quickstart.md @@ -652,7 +652,7 @@ For more information, see the Destinations` section. Alternatively, you can install the plugin manually by excuting the following command in your app's root directory: +To get the Appflow SDK plugin added to your project, you can follow the install instructions within the Appflow Dashboard by clicking on "Install Instructions" inside of the `Deploy > Destinations` section. Alternatively, you can install the plugin manually by executing the following command in your app's root directory: ```shell ionic deploy add \ @@ -75,7 +75,7 @@ For more information, visit the [Create an Automation](https://ionic.io/docs/app ## Create an Environment -[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be futher customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever. +[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be further customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever. Creating an Environment is available for those on our [Basic plans](https://ionic.io/pricing) and above. More information on this can be found in the [Create an Environment](https://ionic.io/docs/appflow/quickstart/environment) section within the Appflow docs. diff --git a/versioned_docs/version-v5/angular/testing.md b/versioned_docs/version-v5/angular/testing.md index ce608728a73..18bfd05ac67 100644 --- a/versioned_docs/version-v5/angular/testing.md +++ b/versioned_docs/version-v5/angular/testing.md @@ -285,7 +285,7 @@ When an `@ionic/angular` application is generated, a default end-to-end test app - `protractor.conf.js` - the Protractor configuration file - `tsconfig.e2e.json` - specific TypeScript configuration for the testing application -- `src/app.po.ts` - a page object containing methods that navigate the application, query elements in the DOM, and maninpulate elements on the page +- `src/app.po.ts` - a page object containing methods that navigate the application, query elements in the DOM, and manipulate elements on the page - `src/app.e2e-spec.ts` - a testing script #### Page Objects diff --git a/versioned_docs/version-v5/components.md b/versioned_docs/version-v5/components.md index bb6455efef1..62596fd9eca 100644 --- a/versioned_docs/version-v5/components.md +++ b/versioned_docs/version-v5/components.md @@ -148,7 +148,7 @@ Ionic apps are made of high-level building blocks called Components, which allow -

Toast is used to show a notification over the top of an app's content. It can be temporary or dismissable.

+

Toast is used to show a notification over the top of an app's content. It can be temporary or dismissible.

diff --git a/versioned_docs/version-v5/core-concepts/what-are-progressive-web-apps.md b/versioned_docs/version-v5/core-concepts/what-are-progressive-web-apps.md index 599e5cee3dc..0c3ff4583c3 100644 --- a/versioned_docs/version-v5/core-concepts/what-are-progressive-web-apps.md +++ b/versioned_docs/version-v5/core-concepts/what-are-progressive-web-apps.md @@ -40,11 +40,13 @@ To be considered a Progressive Web App, your app must be: - Linkable - Easily share via URL and not require complex installation. +// cspell:disable Addy Osmani: Progressive web apps +// cspell:enable There is a lot here, but it boils down to a few points for Ionic apps. diff --git a/versioned_docs/version-v5/developer-resources/books.md b/versioned_docs/version-v5/developer-resources/books.md index 01218e277f4..d9efd36570a 100644 --- a/versioned_docs/version-v5/developer-resources/books.md +++ b/versioned_docs/version-v5/developer-resources/books.md @@ -4,50 +4,62 @@ Angular. Vue. React. Vanilla JavaScript. All of these tools can be used to create awesome applications with Ionic, thanks to the new Stencil compiler. This book is aimed at beginners that are looking to create amazing web, mobile and desktop applications using Ionic with examples across all of the popular frameworks. +// cspell:disable-next-line by [Paul Halliday](https:://developer.school) ### [Creating Ionic Applications with StencilJS](https://www.joshmorony.com/creating-ionic-applications-with-stencil-js/) - [Free Preview](https://cdn2.hubspot.net/hubfs/3776657/PREVIEW-Creating-Ionic-Apps-with-StencilJS.pdf) As well as being a powerful tool for generating reuseable web components, StencilJS provides the tools needed to build an entire application out of web components. Combined with the Ionic web components, StencilJS gives us everything we need to build high-quality production mobile applications - no framework required. +// cspell:disable-next-line by [Joshua Morony](https://www.joshmorony.com/blog) ### [Mobile App Development with Ionic: Cross-Platform Apps with Ionic 2, Angular 2, and Cordova](https://www.amazon.com/Mobile-App-Development-Ionic-Cross-Platform/dp/1491937785/ref=sr_1_2?ie=UTF8&qid=1464183332&sr=8-2&keywords=ionic+2) +// cspell:disable-next-line by Chris Griffith ### [Building Mobile Apps with Ionic & Angular](https://www.joshmorony.com/building-mobile-apps-with-ionic-2/) +// cspell:disable-next-line by [Joshua Morony](https://www.joshmorony.com/blog) Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning the latest and greatest version of Ionic. It is targeted at beginners and works its way through the basics of Ionic, to example applications of varying complexity, and then to the steps required to build and publish your application (on the app stores or as a PWA). It has been updated for every major release, so you can rest easy knowing that you're not learning outdated tech. ### [Ionic 2 From Zero to App Store](https://devdactic.com/zero-to-app) +// cspell:disable-next-line by Simon Reimler -### [Ionic Framework By Example](https://www.packtpub.com/application-development/ionic-framework-example) +### [Ionic Framework +By Example](https://www.packtpub.com/application-development/ionic-framework-example) +// cspell:disable-next-line by Sani Yusuf ### [Building Firestore Powered Ionic Apps](https://javebratt.com/ionic-firebase-book/) +// cspell:disable-next-line by Jorge Vergara This book will help you go from not knowing what Firebase is to be able to use the different APIs for your Ionic Applications. It will take you from “_What’s Firebase?_” to building scalable, production-ready apps and it’s always up-to-date with latest Ionic and Firebase versions. ### [Ionic 2 Cookbook - Second Edition](https://www.amazon.com/Ionic-Cookbook-Second-Hoc-Phan-ebook/dp/B01C4D9VWS?ie=UTF8&keywords=ionic%202&qid=1464183332&ref_=sr_1_3&sr=8-3) +// cspell:disable-next-line by Hoc Phan ### [Mastering Ionic 2](https://www.leanpub.com/masteringionic2) +// cspell:disable-next-line by James Griffiths ### [Learning Ionic](https://www.packtpub.com/in/application-development/learning-ionic) (Ionic 1) +// cspell:disable-next-line by Arvind Ravulavaru ### [Learning Ionic - Second Edition](https://www.packtpub.com/in/web-development/learning-ionic-second-edition) (Ionic 2/3) +// cspell:disable-next-line by Arvind Ravulavaru diff --git a/versioned_docs/version-v5/developer-resources/courses.md b/versioned_docs/version-v5/developer-resources/courses.md index 46038f4ffb1..a0ee11979f8 100644 --- a/versioned_docs/version-v5/developer-resources/courses.md +++ b/versioned_docs/version-v5/developer-resources/courses.md @@ -2,24 +2,28 @@ ### [Elite Ionic](https://www.joshmorony.com/elite/) +// cspell:disable-next-line by Josh Morony Elite Ionic is an online course for Ionic developers who want to move past the basics, and build complex, well tested, high performing, beautiful, and useable mobile applications. It is recommended that you already have a reasonably solid understanding of the basics of Ionic before starting this course. ### [Ionic Academy](https://ionicacademy.com/) +// cspell:disable-next-line by Simon Grimm Learn Ionic with step-by-step video courses & quick wins from one of the Ionic community leaders. Covers beginner, intermediate and advanced topics. Get access to a community of developers just like you. ### [Ionic Framework: Tips, Tricks & Techniques](https://www.packtpub.com/mobile/ionic-framework-tips-tricks-and-techniques-video) +// cspell:disable-next-line by Charles Muzonzini In this course, you will master tips and best practices for Ionic 4 & Ionic 5 that you can immediately implement to build high quality apps. This course covers a wide variety of topics from increasing app performance, to building custom native plugins, to securing your apps. It's a practical, hands-on course that will take your app building skills to the next level. -### [Building Deskop Apps with Ionic and Electron](https://pluralsight.pxf.io/VeMXO) +### [Building Desktop Apps with Ionic and Electron](https://pluralsight.pxf.io/VeMXO) +// cspell:disable-next-line by Michael Callaghan at Pluralsight Desktop development has historically required dramatically different skills than those required for web @@ -33,6 +37,7 @@ Windows and macOS users. ### [Building Progressive Web Apps with Ionic](https://pluralsight.pxf.io/Ly2EY) +// cspell:disable-next-line by Michael Callaghan at Pluralsight Everything changed when Google created the concept of Progressive Web Applications or PWA. A PWA is a pure web @@ -48,6 +53,7 @@ Progressive Web Application anywhere you desire. ### [Ionic CLI](https://pluralsight.pxf.io/ionic-cli) +// cspell:disable-next-line by Michael Callaghan at Pluralsight Since its inception, the Ionic Framework has included a rudimentary command line interface. Though only a few @@ -60,24 +66,30 @@ the confidence to use the Ionic CLI as part of your everyday Ionic development. ### [Wordpress Rest API and Ionic 4 (Angular) App With Auth](https://www.udemy.com/course/wordpress-rest-api-and-ionic-3-crud/) +// cspell:disable-next-line by Baljeet Singh at Udemy ### [Building Mobile Apps with Ionic 2, Angular 2, and TypeScript](https://app.pluralsight.com/library/courses/ionic2-angular2-typescript-mobile-apps/table-of-contents) +// cspell:disable-next-line by Pluralsight ### [Introducing Ionic 2](http://shop.oreilly.com/product/0636920050353.do) +// cspell:disable-next-line by Mathieu Chauvinc ### [Ionic 2 Master Course](https://www.udemy.com/ionic-2-tutorial/) +// cspell:disable-next-line by Udemy ### [Introducing Ionic 2](https://www.udemy.com/introducing-ionic-2/) +// cspell:disable-next-line by Udemy ### [Ionic 2 Solutions](https://www.packtpub.com/web-development/ionic-2-solutions-video) +// cspell:disable-next-line by Hoc Phan diff --git a/versioned_docs/version-v5/native/music-controls.md b/versioned_docs/version-v5/native/music-controls.md index c7c46a69cd7..718873915e0 100644 --- a/versioned_docs/version-v5/native/music-controls.md +++ b/versioned_docs/version-v5/native/music-controls.md @@ -115,7 +115,7 @@ this.musicControls.create({ // cover can be a local path (use fullpath 'file:///storage/emulated/...', or only 'my_image.jpg' if my_image.jpg is in the www folder of your app) // or a remote url ('http://...', 'https://...', 'ftp://...') isPlaying : true, // optional, default : true - dismissable : true, // optional, default : false + dismissible : true, // optional, default : false // hide previous/next/close buttons: hasPrev : false, // show previous button, optional, default: true diff --git a/versioned_docs/version-v5/native/wifi-wizard-2.md b/versioned_docs/version-v5/native/wifi-wizard-2.md index 8c6053c32c2..bb500670c3f 100644 --- a/versioned_docs/version-v5/native/wifi-wizard-2.md +++ b/versioned_docs/version-v5/native/wifi-wizard-2.md @@ -192,7 +192,7 @@ this.wifiWizard2.connect(ssid, bindAll, password, algorithm, isHiddenSSID); - `CONNECT_FAILED_TIMEOUT` unable to verify connection, timed out after 60 seconds - `INVALID_NETWORK_ID_TO_CONNECT` Unable to connect based on generated wifi config -- `INTERPUT_EXCEPT_WHILE_CONNECTING` Interupt exception while waiting for connection +- `INTERPUT_EXCEPT_WHILE_CONNECTING` Interrupt exception while waiting for connection ## Disconnect vs Disable @@ -461,9 +461,9 @@ this.wifiWizard2.disable(ssid); this.wifiWizard2.requestPermission(); ``` -- Request `ACCESS_FINE_LOCATION` permssion +- Request `ACCESS_FINE_LOCATION` permission - This Android permission is required to run `scan`, `startStart` and `getScanResults` -- You can request permission by running this function manually, or WifiWizard2 will automagically request permission when one of the functions above is called +- You can request permission by running this function manually, or WifiWizard2 will automatically request permission when one of the functions above is called **Thrown Errors** diff --git a/versioned_docs/version-v5/react/navigation.md b/versioned_docs/version-v5/react/navigation.md index d32670f5bf1..d5eb628e78b 100644 --- a/versioned_docs/version-v5/react/navigation.md +++ b/versioned_docs/version-v5/react/navigation.md @@ -281,4 +281,8 @@ For more info on routing in React using React Router, check out their docs at [h ## From the Community +// cspell:disable + [Ionic 4 and React: Navigation](https://alligator.io/ionic/ionic-4-react-navigation) - Paul Halliday + +// cspell:enable diff --git a/versioned_docs/version-v5/react/pwa.md b/versioned_docs/version-v5/react/pwa.md index 0e06abb5093..2b6f237a31d 100644 --- a/versioned_docs/version-v5/react/pwa.md +++ b/versioned_docs/version-v5/react/pwa.md @@ -38,7 +38,7 @@ Features like Service Workers and many JavaScript APIs (such as geolocation) req ## Service Worker configuration -By default, CRA/React Scripts come with a preconfigured Service Worker setup based on [Workbox's Webpack plugin](https://developers.google.com/web/tools/workbox/modules/workbox-webpack-plugin). This utilises a cache-first strategy, meaning that your app will load from a cache, even if the network returns a newer version of the app. +By default, CRA/React Scripts come with a preconfigured Service Worker setup based on [Workbox's Webpack plugin](https://developers.google.com/web/tools/workbox/modules/workbox-webpack-plugin). This utilizes a cache-first strategy, meaning that your app will load from a cache, even if the network returns a newer version of the app. Because of the nature or CRA/React Scripts, the configuration for this is internal to React Scripts, meaning that is cannot be customized without ejecting from React Scripts. Currently, the Ionic CLI does not support an ejected React App, so if this action is taken, you'll need to use npm/yarn scripts instead of the Ionic CLI. diff --git a/versioned_docs/version-v5/react/your-first-app/2-taking-photos.md b/versioned_docs/version-v5/react/your-first-app/2-taking-photos.md index 46d8b604578..a36a71e6863 100644 --- a/versioned_docs/version-v5/react/your-first-app/2-taking-photos.md +++ b/versioned_docs/version-v5/react/your-first-app/2-taking-photos.md @@ -88,7 +88,7 @@ Back at the top of the function (right after the call to `usePhotoGallery`, we w const [photos, setPhotos] = useState([]); ``` -When the camera is done taking a picture, the resulting Photo returned from Capacitor will be stored in the `photo` variable. We want to create a new photo object and add it to the photos state array. We make sure we don't accidently mutate the current photos array by making a new array, and then call `setPhotos` to store the array into state. Update the `takePhoto` method and add this code after the getPhoto call: +When the camera is done taking a picture, the resulting Photo returned from Capacitor will be stored in the `photo` variable. We want to create a new photo object and add it to the photos state array. We make sure we don't accidentally mutate the current photos array by making a new array, and then call `setPhotos` to store the array into state. Update the `takePhoto` method and add this code after the getPhoto call: ```tsx const fileName = new Date().getTime() + '.jpeg'; diff --git a/versioned_docs/version-v5/reference/glossary.md b/versioned_docs/version-v5/reference/glossary.md index 65fc7ed8769..6be844174f8 100644 --- a/versioned_docs/version-v5/reference/glossary.md +++ b/versioned_docs/version-v5/reference/glossary.md @@ -73,6 +73,7 @@

CLI

+ // cspell:disable-next-line A CLI, or Command-Line Interface, is a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often use Command Prompt. The Ionic community often uses this term to refer to{' '} diff --git a/versioned_docs/version-v5/theming/css-shadow-parts.md b/versioned_docs/version-v5/theming/css-shadow-parts.md index c2d1f023a88..e43bdfb15bc 100644 --- a/versioned_docs/version-v5/theming/css-shadow-parts.md +++ b/versioned_docs/version-v5/theming/css-shadow-parts.md @@ -79,7 +79,7 @@ ion-select::part(placeholder)::first-letter { } ``` -Parts work with most psuedo-classes, as well: +Parts work with most pseudo-classes, as well: ```css ion-item::part(native):hover { diff --git a/versioned_docs/version-v5/vue/quickstart.md b/versioned_docs/version-v5/vue/quickstart.md index 8cd1eb02b71..015b505d2df 100644 --- a/versioned_docs/version-v5/vue/quickstart.md +++ b/versioned_docs/version-v5/vue/quickstart.md @@ -744,7 +744,7 @@ For more information, see the Destinations` section. Alternatively, you can install the plugin manually by excuting the following command in your app's root directory: +To get the Appflow SDK plugin added to your project, you can follow the install instructions within the Appflow Dashboard by clicking on "Install Instructions" inside of the `Deploy > Destinations` section. Alternatively, you can install the plugin manually by executing the following command in your app's root directory: ```shell ionic deploy add \ @@ -75,7 +75,7 @@ For more information, visit the [Create an Automation](https://ionic.io/docs/app ## Create an Environment -[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be futher customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever. +[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be further customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever. Creating an Environment is available for those on our [Basic plans](https://ionic.io/pricing) and above. More information on this can be found in the [Create an Environment](https://ionic.io/docs/appflow/quickstart/environment) section within the Appflow docs. diff --git a/versioned_docs/version-v6/api/select.md b/versioned_docs/version-v6/api/select.md index 89509c1becc..f731660634f 100644 --- a/versioned_docs/version-v6/api/select.md +++ b/versioned_docs/version-v6/api/select.md @@ -57,9 +57,9 @@ By adding the `multiple` attribute to select, users are able to select multiple Note: the `action-sheet` and `popover` interfaces will not work with multiple selection. -import MulipleSelectionExample from '@site/static/usage/v6/select/basic/multiple-selection/index.md'; +import MultipleSelectionExample from '@site/static/usage/v6/select/basic/multiple-selection/index.md'; - + ## Responding to Interaction diff --git a/versioned_docs/version-v6/components.md b/versioned_docs/version-v6/components.md index 9b5518e95d6..732b59a43b2 100644 --- a/versioned_docs/version-v6/components.md +++ b/versioned_docs/version-v6/components.md @@ -143,7 +143,7 @@ Ionic apps are made of high-level building blocks called Components, which allow -

Toast is used to show a notification over the top of an app's content. It can be temporary or dismissable.

+

Toast is used to show a notification over the top of an app's content. It can be temporary or dismissible.

diff --git a/versioned_docs/version-v6/core-concepts/what-are-progressive-web-apps.md b/versioned_docs/version-v6/core-concepts/what-are-progressive-web-apps.md index fe7e769ee68..0514b680ad2 100644 --- a/versioned_docs/version-v6/core-concepts/what-are-progressive-web-apps.md +++ b/versioned_docs/version-v6/core-concepts/what-are-progressive-web-apps.md @@ -47,11 +47,13 @@ To be considered a Progressive Web App, your app must be: - Linkable - Easily share via URL and not require complex installation. +// cspell:disable
Addy Osmani: Progressive web apps +// cspell:enable There is a lot here, but it boils down to a few points for Ionic apps. diff --git a/versioned_docs/version-v6/developer-resources/books.md b/versioned_docs/version-v6/developer-resources/books.md index 01218e277f4..d9efd36570a 100644 --- a/versioned_docs/version-v6/developer-resources/books.md +++ b/versioned_docs/version-v6/developer-resources/books.md @@ -4,50 +4,62 @@ Angular. Vue. React. Vanilla JavaScript. All of these tools can be used to create awesome applications with Ionic, thanks to the new Stencil compiler. This book is aimed at beginners that are looking to create amazing web, mobile and desktop applications using Ionic with examples across all of the popular frameworks. +// cspell:disable-next-line by [Paul Halliday](https:://developer.school) ### [Creating Ionic Applications with StencilJS](https://www.joshmorony.com/creating-ionic-applications-with-stencil-js/) - [Free Preview](https://cdn2.hubspot.net/hubfs/3776657/PREVIEW-Creating-Ionic-Apps-with-StencilJS.pdf) As well as being a powerful tool for generating reuseable web components, StencilJS provides the tools needed to build an entire application out of web components. Combined with the Ionic web components, StencilJS gives us everything we need to build high-quality production mobile applications - no framework required. +// cspell:disable-next-line by [Joshua Morony](https://www.joshmorony.com/blog) ### [Mobile App Development with Ionic: Cross-Platform Apps with Ionic 2, Angular 2, and Cordova](https://www.amazon.com/Mobile-App-Development-Ionic-Cross-Platform/dp/1491937785/ref=sr_1_2?ie=UTF8&qid=1464183332&sr=8-2&keywords=ionic+2) +// cspell:disable-next-line by Chris Griffith ### [Building Mobile Apps with Ionic & Angular](https://www.joshmorony.com/building-mobile-apps-with-ionic-2/) +// cspell:disable-next-line by [Joshua Morony](https://www.joshmorony.com/blog) Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning the latest and greatest version of Ionic. It is targeted at beginners and works its way through the basics of Ionic, to example applications of varying complexity, and then to the steps required to build and publish your application (on the app stores or as a PWA). It has been updated for every major release, so you can rest easy knowing that you're not learning outdated tech. ### [Ionic 2 From Zero to App Store](https://devdactic.com/zero-to-app) +// cspell:disable-next-line by Simon Reimler -### [Ionic Framework By Example](https://www.packtpub.com/application-development/ionic-framework-example) +### [Ionic Framework +By Example](https://www.packtpub.com/application-development/ionic-framework-example) +// cspell:disable-next-line by Sani Yusuf ### [Building Firestore Powered Ionic Apps](https://javebratt.com/ionic-firebase-book/) +// cspell:disable-next-line by Jorge Vergara This book will help you go from not knowing what Firebase is to be able to use the different APIs for your Ionic Applications. It will take you from “_What’s Firebase?_” to building scalable, production-ready apps and it’s always up-to-date with latest Ionic and Firebase versions. ### [Ionic 2 Cookbook - Second Edition](https://www.amazon.com/Ionic-Cookbook-Second-Hoc-Phan-ebook/dp/B01C4D9VWS?ie=UTF8&keywords=ionic%202&qid=1464183332&ref_=sr_1_3&sr=8-3) +// cspell:disable-next-line by Hoc Phan ### [Mastering Ionic 2](https://www.leanpub.com/masteringionic2) +// cspell:disable-next-line by James Griffiths ### [Learning Ionic](https://www.packtpub.com/in/application-development/learning-ionic) (Ionic 1) +// cspell:disable-next-line by Arvind Ravulavaru ### [Learning Ionic - Second Edition](https://www.packtpub.com/in/web-development/learning-ionic-second-edition) (Ionic 2/3) +// cspell:disable-next-line by Arvind Ravulavaru diff --git a/versioned_docs/version-v6/developer-resources/courses.md b/versioned_docs/version-v6/developer-resources/courses.md index 46038f4ffb1..a0ee11979f8 100644 --- a/versioned_docs/version-v6/developer-resources/courses.md +++ b/versioned_docs/version-v6/developer-resources/courses.md @@ -2,24 +2,28 @@ ### [Elite Ionic](https://www.joshmorony.com/elite/) +// cspell:disable-next-line by Josh Morony Elite Ionic is an online course for Ionic developers who want to move past the basics, and build complex, well tested, high performing, beautiful, and useable mobile applications. It is recommended that you already have a reasonably solid understanding of the basics of Ionic before starting this course. ### [Ionic Academy](https://ionicacademy.com/) +// cspell:disable-next-line by Simon Grimm Learn Ionic with step-by-step video courses & quick wins from one of the Ionic community leaders. Covers beginner, intermediate and advanced topics. Get access to a community of developers just like you. ### [Ionic Framework: Tips, Tricks & Techniques](https://www.packtpub.com/mobile/ionic-framework-tips-tricks-and-techniques-video) +// cspell:disable-next-line by Charles Muzonzini In this course, you will master tips and best practices for Ionic 4 & Ionic 5 that you can immediately implement to build high quality apps. This course covers a wide variety of topics from increasing app performance, to building custom native plugins, to securing your apps. It's a practical, hands-on course that will take your app building skills to the next level. -### [Building Deskop Apps with Ionic and Electron](https://pluralsight.pxf.io/VeMXO) +### [Building Desktop Apps with Ionic and Electron](https://pluralsight.pxf.io/VeMXO) +// cspell:disable-next-line by Michael Callaghan at Pluralsight Desktop development has historically required dramatically different skills than those required for web @@ -33,6 +37,7 @@ Windows and macOS users. ### [Building Progressive Web Apps with Ionic](https://pluralsight.pxf.io/Ly2EY) +// cspell:disable-next-line by Michael Callaghan at Pluralsight Everything changed when Google created the concept of Progressive Web Applications or PWA. A PWA is a pure web @@ -48,6 +53,7 @@ Progressive Web Application anywhere you desire. ### [Ionic CLI](https://pluralsight.pxf.io/ionic-cli) +// cspell:disable-next-line by Michael Callaghan at Pluralsight Since its inception, the Ionic Framework has included a rudimentary command line interface. Though only a few @@ -60,24 +66,30 @@ the confidence to use the Ionic CLI as part of your everyday Ionic development. ### [Wordpress Rest API and Ionic 4 (Angular) App With Auth](https://www.udemy.com/course/wordpress-rest-api-and-ionic-3-crud/) +// cspell:disable-next-line by Baljeet Singh at Udemy ### [Building Mobile Apps with Ionic 2, Angular 2, and TypeScript](https://app.pluralsight.com/library/courses/ionic2-angular2-typescript-mobile-apps/table-of-contents) +// cspell:disable-next-line by Pluralsight ### [Introducing Ionic 2](http://shop.oreilly.com/product/0636920050353.do) +// cspell:disable-next-line by Mathieu Chauvinc ### [Ionic 2 Master Course](https://www.udemy.com/ionic-2-tutorial/) +// cspell:disable-next-line by Udemy ### [Introducing Ionic 2](https://www.udemy.com/introducing-ionic-2/) +// cspell:disable-next-line by Udemy ### [Ionic 2 Solutions](https://www.packtpub.com/web-development/ionic-2-solutions-video) +// cspell:disable-next-line by Hoc Phan diff --git a/versioned_docs/version-v6/native-faq.md b/versioned_docs/version-v6/native-faq.md index a74c967ba41..6bd7d2a9c4b 100644 --- a/versioned_docs/version-v6/native-faq.md +++ b/versioned_docs/version-v6/native-faq.md @@ -19,6 +19,6 @@ If you're using a plugin, it may require adding additional permissions to your n You need to manually add those permissions to the `info.plist` in your native project. Otherwise, calls to the native camera API will fail. -## Unexpected behaviour +## Unexpected behavior If for some reason the plugin does not behave in a way that is unexpected, please [open an issue on our github repo](https://github.com/ionic-team/capacitor-plugins)! Providing a clear issue report along with a reproduction can help get your issue resolved. diff --git a/versioned_docs/version-v6/react/navigation.md b/versioned_docs/version-v6/react/navigation.md index a8554943706..f64d9693733 100644 --- a/versioned_docs/version-v6/react/navigation.md +++ b/versioned_docs/version-v6/react/navigation.md @@ -588,4 +588,8 @@ For more info on routing in React using React Router, check out their docs at [h ## From the Community +// cspell:disable + [Ionic 4 and React: Navigation](https://alligator.io/ionic/ionic-4-react-navigation) - Paul Halliday + +// cspell:enable diff --git a/versioned_docs/version-v6/react/pwa.md b/versioned_docs/version-v6/react/pwa.md index 2cee872655d..bc908da6c18 100644 --- a/versioned_docs/version-v6/react/pwa.md +++ b/versioned_docs/version-v6/react/pwa.md @@ -49,7 +49,7 @@ Features like Service Workers and many JavaScript APIs (such as geolocation) req ## Service Worker configuration -By default, CRA/React Scripts come with a preconfigured Service Worker setup based on [Workbox's Webpack plugin](https://developers.google.com/web/tools/workbox/modules/workbox-webpack-plugin). This utilises a cache-first strategy, meaning that your app will load from a cache, even if the network returns a newer version of the app. +By default, CRA/React Scripts come with a preconfigured Service Worker setup based on [Workbox's Webpack plugin](https://developers.google.com/web/tools/workbox/modules/workbox-webpack-plugin). This utilizes a cache-first strategy, meaning that your app will load from a cache, even if the network returns a newer version of the app. Because of the nature of CRA/React Scripts, the configuration for this is internal to React Scripts, meaning that it cannot be customized without ejecting from React Scripts. Currently, the Ionic CLI does not support an ejected React App, so if this action is taken, you'll need to use npm/yarn scripts instead of the Ionic CLI. diff --git a/versioned_docs/version-v6/react/your-first-app/2-taking-photos.md b/versioned_docs/version-v6/react/your-first-app/2-taking-photos.md index 1c460796688..4c0b3dae2cd 100644 --- a/versioned_docs/version-v6/react/your-first-app/2-taking-photos.md +++ b/versioned_docs/version-v6/react/your-first-app/2-taking-photos.md @@ -95,7 +95,7 @@ Back at the top of the function (right after the call to `usePhotoGallery`, we w const [photos, setPhotos] = useState([]); ``` -When the camera is done taking a picture, the resulting Photo returned from Capacitor will be stored in the `photo` variable. We want to create a new photo object and add it to the photos state array. We make sure we don't accidently mutate the current photos array by making a new array, and then call `setPhotos` to store the array into state. Update the `takePhoto` method and add this code after the getPhoto call: +When the camera is done taking a picture, the resulting Photo returned from Capacitor will be stored in the `photo` variable. We want to create a new photo object and add it to the photos state array. We make sure we don't accidentally mutate the current photos array by making a new array, and then call `setPhotos` to store the array into state. Update the `takePhoto` method and add this code after the getPhoto call: ```tsx const fileName = Date.now() + '.jpeg'; diff --git a/versioned_docs/version-v6/react/your-first-app/8-distribute.md b/versioned_docs/version-v6/react/your-first-app/8-distribute.md index 74966e8de58..4cb78606447 100644 --- a/versioned_docs/version-v6/react/your-first-app/8-distribute.md +++ b/versioned_docs/version-v6/react/your-first-app/8-distribute.md @@ -18,7 +18,7 @@ For more on connecting your code repository to Appflow, checkout the [Connect yo The Appflow SDK (also known as Ionic Deploy plugin) will allow you to take advantage of arguably two of the best Appflow features: deploying live updates to your app and bypassing the app stores. Ionic Appflow's Live Update feature is shipped with Appflow SDK and features the capabilities of detecting and syncing the updates for your app that you have pushed to your identified channels within the dashboard. -To get the Appflow SDK plugin added to your project, you can follow the install instructions within the Appflow Dashboard by clicking on "Install Instructions" inside of the `Deploy > Destinations` section. Alternatively, you can install the plugin manually by excuting the following command in your app's root directory: +To get the Appflow SDK plugin added to your project, you can follow the install instructions within the Appflow Dashboard by clicking on "Install Instructions" inside of the `Deploy > Destinations` section. Alternatively, you can install the plugin manually by executing the following command in your app's root directory: ```shell ionic deploy add \ @@ -43,7 +43,7 @@ After the push is made, you will then see your commit under the `Commits` tab of ## Deploy a Live Update -With the Appflow SDK installed and your commit pushed up to the Dashboard, you are ready to deploy a live update to a device. The Live Update feature uses the installed Appflow SDK with your native application to listen to a particular Deploy Channel Destination. When a live update is assigned to a Channel Distination, that update will be deployed to user devices running binaries that are configured to listen to that specific Channel Destination. +With the Appflow SDK installed and your commit pushed up to the Dashboard, you are ready to deploy a live update to a device. The Live Update feature uses the installed Appflow SDK with your native application to listen to a particular Deploy Channel Destination. When a live update is assigned to a Channel Destination, that update will be deployed to user devices running binaries that are configured to listen to that specific Channel Destination. To get the live update deployed, a Web build will need to be created. This can be done through the `Start build` icon from the `Commits` tab or by clicking the `New build` button in the top right corner of the `Build > Builds` tab. After selecting the correct commit to deploy, select the `Web` target platform and the `Latest` build stack. Depending on your Appflow plan, you will then be able to include custom environments, if any are configured. Finally, you can enable `Live Update` and pick the Channel to automatically assign the build to once it successfully completes. @@ -75,7 +75,7 @@ For more information, visit the [Create an Automation](https://ionic.io/docs/app ## Create an Environment -[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be futher customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever. +[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be further customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever. Creating an Environment is available for those on our [Basic plans](https://ionic.io/pricing) and above. More information on this can be found in the [Create an Environment](https://ionic.io/docs/appflow/quickstart/environment) section within the Appflow docs. diff --git a/versioned_docs/version-v6/reference/glossary.md b/versioned_docs/version-v6/reference/glossary.md index 1d70bd176dc..53a866d5249 100644 --- a/versioned_docs/version-v6/reference/glossary.md +++ b/versioned_docs/version-v6/reference/glossary.md @@ -83,6 +83,7 @@ title: Glossary

CLI

+ // cspell:disable-next-line A CLI, or Command-Line Interface, is a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often use Command Prompt. The Ionic community often uses this term to refer to{' '} diff --git a/versioned_docs/version-v6/vue/overview.md b/versioned_docs/version-v6/vue/overview.md index 1689934bc26..b4a83931080 100644 --- a/versioned_docs/version-v6/vue/overview.md +++ b/versioned_docs/version-v6/vue/overview.md @@ -32,9 +32,13 @@ While there are no known technical limitations to using `Ionic Vue` with [Cordov ## From the Community +// cspell:disable + - [Using Vue.js with Ionic & Capacitor](https://dev.to/aaronksaunders/using-vue-js-v3-beta-with-ionic-components-capacitor-plugins-2b6f) - Aaron Saunders - [Building Mobile Apps With Vue3 and Ionic](https://soshace.com/building-mobile-apps-with-vue3-and-ionic/) - Oluwaseun Raphael Afolayan +// cspell:enable + ## Installation ```shell-session diff --git a/versioned_docs/version-v6/vue/quickstart.md b/versioned_docs/version-v6/vue/quickstart.md index 75571575ac7..675f18476aa 100644 --- a/versioned_docs/version-v6/vue/quickstart.md +++ b/versioned_docs/version-v6/vue/quickstart.md @@ -648,7 +648,7 @@ For more information, see the Destinations` section. Alternatively, you can install the plugin manually by excuting the following command in your app's root directory: +To get the Appflow SDK plugin added to your project, you can follow the install instructions within the Appflow Dashboard by clicking on "Install Instructions" inside of the `Deploy > Destinations` section. Alternatively, you can install the plugin manually by executing the following command in your app's root directory: ```shell ionic deploy add \ @@ -75,7 +75,7 @@ For more information, visit the [Create an Automation](https://ionic.io/docs/app ## Create an Environment -[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be futher customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever. +[Package builds](https://ionic.io/docs/appflow/package/builds) and [Deploy builds](https://ionic.io/docs/appflow/deploy/builds) can be further customized via [Environments](https://ionic.io/docs/appflow/automation/environments). This powerful feature allows you to create different configurations based on the environment variables passed in at build time. When combined with the [Automation](https://ionic.io/docs/appflow/automation/intro) feature, development teams can easily configure development, staging, and production build configurations, allowing them to embrace DevOps best practices and ship better quality updates faster than ever. Creating an Environment is available for those on our [Basic plans](https://ionic.io/pricing) and above. More information on this can be found in the [Create an Environment](https://ionic.io/docs/appflow/quickstart/environment) section within the Appflow docs. From 32963ceebe33cab0baa35877f4dd57e674168740 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 21 Sep 2023 11:42:41 -0400 Subject: [PATCH 03/29] chore(cspell): include more markdown files to lint while excluding native/cli --- cspell-wordlist.txt | 15 +++++++++++---- cspell.json | 7 +++++++ package.json | 2 +- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/cspell-wordlist.txt b/cspell-wordlist.txt index aa44d200f7e..a5e8366037d 100644 --- a/cspell-wordlist.txt +++ b/cspell-wordlist.txt @@ -16,6 +16,7 @@ textareas Codepen Genymotion Firestore +Hygen Logcat Maskito Pluralsight @@ -26,14 +27,15 @@ Wistia browserslistrc jsdelivr +ngsw xcodeproj xcworkspace CMDOPTS DDTHH -ngsw authed +autocrlf autogrow automations autoplay @@ -48,6 +50,8 @@ geolocation isopen jank janky +jarsigner +keytool lifecycles localstorage preconfigured @@ -59,9 +63,10 @@ rgba runtimes scroller searchbars -swipeable subcomponent subcomponents +swipeable +tada templating transpiling treeshaking @@ -69,9 +74,11 @@ triaging typeahead unminified unsanitized -webviews viewports - +webviews +xlarge +xsmall +zipalign appstore playstore mobileweb diff --git a/cspell.json b/cspell.json index b377a87b2f5..75c4ece6195 100644 --- a/cspell.json +++ b/cspell.json @@ -10,5 +10,12 @@ "ignoreRegExpList": [ "/(```+)[\\s\\S]+?\\1/g", "/`[a-zA-Z-_]+`/g" + ], + "ignorePaths": [ + "docs/cli", + "docs/native", + "versioned_docs/**/api", + "versioned_docs/**/cli", + "versioned_docs/**/native", ] } diff --git a/package.json b/package.json index 4f9f981d799..b362dbd801a 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "prettier": "prettier \"./**/*.{html,ts,tsx,js,jsx,md}\"", "start": "docusaurus start", "swizzle": "docusaurus swizzle --danger", - "spellcheck": "cspell --no-progress \"docs/**/*.md\"" + "spellcheck": "cspell --no-progress \"**/*.md\"" }, "browserslist": { "production": [ From 4c0fc7b4ec5a0ef869a8df54812aea6a0e5c5a06 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 21 Sep 2023 11:42:48 -0400 Subject: [PATCH 04/29] syle: spellcheck lint --- CONTRIBUTING.md | 15 +-------------- src/components/global/Playground/README.md | 7 ++++--- src/components/global/Playground/index.tsx | 16 ++++++++-------- .../global/Playground/stackblitz.utils.ts | 16 ++++++++-------- src/styles/components/README.md | 2 +- static/code/stackblitz/README.md | 4 ++-- versioned_docs/version-v5/angular/performance.md | 4 ++++ .../version-v5/utilities/animations.md | 3 +++ versioned_docs/version-v6/angular/performance.md | 4 ++++ .../version-v6/utilities/animations.md | 3 +++ 10 files changed, 38 insertions(+), 36 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 327ea5004e8..3db3b768bcc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -87,6 +87,7 @@ We use Crowdin for our translation service. You can participate in the translati _Please submit translation issues to the Crowdin page and not the Ionic Docs GitHub repo._ +// cspell:disable-next-line The Japanese translation of the docs were built by an independent team, lead by [rdlabo](https://github.com/rdlabo) and can be found and contributed to on the [ionic-jp group's `ionic-docs` project page](https://github.com/ionic-jp/ionic-docs). ## Reporting Issues @@ -110,20 +111,6 @@ When submitting pull requests, please keep the scope of your change contained to --- - - ## Deploying The Ionic documentation's `main` branch is deployed automatically and separately from the [Ionic site](https://github.com/ionic-team/ionic-site) itself. The Ionic site then uses a proxy for paths under `/docs` to request the deployed documentation. diff --git a/src/components/global/Playground/README.md b/src/components/global/Playground/README.md index 92e9b9fa3c2..2eba3a5f34b 100644 --- a/src/components/global/Playground/README.md +++ b/src/components/global/Playground/README.md @@ -14,7 +14,7 @@ By default, Playground examples will render in an empty container and fill the a ## Multiple File Examples -Playground supports single file and multi-file examples to show the required code to create a sample. To include multiple file examples for a single framework target, use the `files` option to specify the file location (in the Stackblitz generated project) and the file contents. +Playground supports single file and multi-file examples to show the required code to create a sample. To include multiple file examples for a single framework target, use the `files` option to specify the file location (in the StackBlitz generated project) and the file contents. You can mix multi-file and single file examples together in a single example: @@ -46,7 +46,8 @@ import javascript from './javascript.md'; />; ``` -The file location is respective to the Stackblitz demo project. If you are unsure of the exact path, refer to the `stackblitz.utils.ts` method for each respective target. The path specified in `sdk.openProject` will coincide with the value used in the `files` configuration. +// cspell:disable-next-line +The file location is respective to the StackBlitz demo project. If you are unsure of the exact path, refer to the `stackblitz.utils.ts` method for each respective target. The path specified in `sdk.openProject` will coincide with the value used in the `files` configuration. ## Creating a New Playground @@ -54,7 +55,7 @@ You can [generate a new playground](../../../../_templates/README.md#new-playgro ## Ejecting from IonApp/IonContent Boilerplate -By default, Playground examples will automatically include the following template wrapper for each component example when opened in Stackblitz. +By default, Playground examples will automatically include the following template wrapper for each component example when opened in StackBlitz. ```html diff --git a/src/components/global/Playground/index.tsx b/src/components/global/Playground/index.tsx index 386525467cc..1e61832fa33 100644 --- a/src/components/global/Playground/index.tsx +++ b/src/components/global/Playground/index.tsx @@ -68,11 +68,11 @@ type MdxContent = () => {}; /** * The advanced configuration of options when creating a * playground example with multiple files for a single usage target - * or if needing to modify the generated Stackblitz example code. + * or if needing to modify the generated StackBlitz example code. */ interface UsageTargetOptions { /** - * The list of the file names to use in the Stackblitz example + * The list of the file names to use in the StackBlitz example * and their associated MDX content. * * ```ts @@ -86,7 +86,7 @@ interface UsageTargetOptions { [key: string]: MdxContent; }; /** - * The list of dependencies to use in the Stackblitz example. + * The list of dependencies to use in the StackBlitz example. * The key is the package name and the value is the version. * The version must be a valid semver range. * @@ -104,8 +104,8 @@ interface UsageTargetOptions { /** * @param code The code snippets for each supported framework target. - * @param title Optional title of the generated playground example. Specify to customize the Stackblitz title. - * @param description Optional description of the generated playground example. Specify to customize the Stackblitz description. + * @param title Optional title of the generated playground example. Specify to customize the StackBlitz title. + * @param description Optional description of the generated playground example. Specify to customize the StackBlitz description. * @param src The absolute path to the playground demo. For example: `/usage/button/basic/demo.html` * @param size The height of the playground. Supports `xsmall`, `small`, `medium`, `large`, 'xlarge' or any string value. * @param devicePreview `true` if the playground example should render in a device frame (iOS/MD). @@ -138,8 +138,8 @@ export default function Playground({ showConsole?: boolean; includeIonContent: boolean; /** - * The major version of Ionic to use in the generated Stackblitz examples. - * This will also load assets for Stackblitz from the specified version directory. + * The major version of Ionic to use in the generated StackBlitz examples. + * This will also load assets for StackBlitz from the specified version directory. */ version: number; }) { @@ -366,7 +366,7 @@ export default function Playground({ version, }; - // using outerText will preserve line breaks for formatting in Stackblitz editor + // using outerText will preserve line breaks for formatting in StackBlitz editor const codeBlock = codeRef.current.querySelector('code').outerText; if (hasUsageTargetOptions) { diff --git a/src/components/global/Playground/stackblitz.utils.ts b/src/components/global/Playground/stackblitz.utils.ts index c711d7212bc..15e35e01454 100644 --- a/src/components/global/Playground/stackblitz.utils.ts +++ b/src/components/global/Playground/stackblitz.utils.ts @@ -1,17 +1,17 @@ import sdk from '@stackblitz/sdk'; -// The default title to use for Stackblitz examples (when not overwritten) +// The default title to use for StackBlitz examples (when not overwritten) const DEFAULT_EDITOR_TITLE = 'Ionic Docs Example'; -// The default description to use for Stackblitz examples (when not overwritten) +// The default description to use for StackBlitz examples (when not overwritten) const DEFAULT_EDITOR_DESCRIPTION = ''; export interface EditorOptions { /** - * The title of the Stackblitz example. + * The title of the StackBlitz example. */ title?: string; /** - * The description of the Stackblitz example. + * The description of the StackBlitz example. */ description?: string; @@ -20,7 +20,7 @@ export interface EditorOptions { }; /** - * List of dependencies to add to the Stackblitz example. + * List of dependencies to add to the StackBlitz example. * The key is the name of the dependency and the value is the version. */ dependencies?: { @@ -29,12 +29,12 @@ export interface EditorOptions { /** * `true` if `ion-app` and `ion-content` should automatically be injected into the - * Stackblitz example. + * StackBlitz example. */ includeIonContent: boolean; /** - * The mode of the Stackblitz example. + * The mode of the StackBlitz example. */ mode?: string; @@ -272,7 +272,7 @@ const openVueEditor = async (code: string, options?: EditorOptions) => { ); /** - * We have to use Stackblitz web containers here (node template), due + * We have to use StackBlitz web containers here (node template), due * to multiple issues with Vite, Vue/Vue Router and Vue 3's script setup. * * https://github.com/stackblitz/core/issues/1308 diff --git a/src/styles/components/README.md b/src/styles/components/README.md index b27f0f6857b..35572b81131 100644 --- a/src/styles/components/README.md +++ b/src/styles/components/README.md @@ -26,7 +26,7 @@ Global variables can be overridden at root like this: } ``` -Styles can be overriden like this: +Styles can be overridden like this: ```css #__docusaurus { diff --git a/static/code/stackblitz/README.md b/static/code/stackblitz/README.md index 0f0d24b620d..a816e80581f 100644 --- a/static/code/stackblitz/README.md +++ b/static/code/stackblitz/README.md @@ -1,6 +1,6 @@ -# Stackblitz +# StackBlitz -This directory contains the source files for generating the individual framework targets for a playground examples. The contents of the files will be loaded and injected into the Stackblitz example that is opened from the Playground. +This directory contains the source files for generating the individual framework targets for a playground examples. The contents of the files will be loaded and injected into the StackBlitz example that is opened from the Playground. ## Angular diff --git a/versioned_docs/version-v5/angular/performance.md b/versioned_docs/version-v5/angular/performance.md index ba542f38f46..8bfb0926f12 100644 --- a/versioned_docs/version-v5/angular/performance.md +++ b/versioned_docs/version-v5/angular/performance.md @@ -49,6 +49,8 @@ For more information on how Angular manages change propagation with `ngFor` see ## From the Community +// cspell:disable + [High Performance Animations in Ionic](https://www.joshmorony.com/high-performance-animations-in-ionic/) - Josh Morony [High Performance List Filtering in Ionic](https://www.joshmorony.com/high-performance-list-filtering-in-ionic-2/) - Josh Morony @@ -57,6 +59,8 @@ For more information on how Angular manages change propagation with `ngFor` see [Ionic Framework is Fast (But Your Code Might Not Be)](https://www.joshmorony.com/ionic-framework-is-fast-but-your-code-might-not-be/) - Josh Morony +// cspell:enable + :::note Do you have a guide you'd like to share? Click the _Edit this page_ button below. ::: diff --git a/versioned_docs/version-v5/utilities/animations.md b/versioned_docs/version-v5/utilities/animations.md index 9387b9639c6..cf838446f90 100644 --- a/versioned_docs/version-v5/utilities/animations.md +++ b/versioned_docs/version-v5/utilities/animations.md @@ -507,6 +507,7 @@ const parent = createAnimation() This example shows 3 child animations controlled by a single parent animation. Animations `squareA` and `squareB` inherit the parent animation's duration of 2000ms, but animation `squareC` has a duration of 5000ms since it was explicitly set. +// cspell:disable-next-line ## Before and After Hooks @@ -624,6 +625,7 @@ In this example, an inline opacity of 0.2 is set on the `.square` element prior See [Methods](#methods) for a complete list of hooks. +// cspell:disable-next-line ## Chained Animations @@ -1490,6 +1492,7 @@ export default defineComponent({ ```` +// cspell:disable-next-line ## Performance Considerations diff --git a/versioned_docs/version-v6/angular/performance.md b/versioned_docs/version-v6/angular/performance.md index c19ee5d7b2c..b45d46377e0 100644 --- a/versioned_docs/version-v6/angular/performance.md +++ b/versioned_docs/version-v6/angular/performance.md @@ -56,6 +56,8 @@ For more information on how Angular manages change propagation with `ngFor` see ## From the Community +// cspell:disable + [High Performance Animations in Ionic](https://www.joshmorony.com/high-performance-animations-in-ionic/) - Josh Morony [High Performance List Filtering in Ionic](https://www.joshmorony.com/high-performance-list-filtering-in-ionic-2/) - Josh Morony @@ -64,6 +66,8 @@ For more information on how Angular manages change propagation with `ngFor` see [Ionic Framework is Fast (But Your Code Might Not Be)](https://www.joshmorony.com/ionic-framework-is-fast-but-your-code-might-not-be/) - Josh Morony +// cspell:enable + :::note Do you have a guide you'd like to share? Click the _Edit this page_ button below. ::: diff --git a/versioned_docs/version-v6/utilities/animations.md b/versioned_docs/version-v6/utilities/animations.md index dd2678b8086..7539a8fb20d 100644 --- a/versioned_docs/version-v6/utilities/animations.md +++ b/versioned_docs/version-v6/utilities/animations.md @@ -517,6 +517,7 @@ const parent = createAnimation() This example shows 3 child animations controlled by a single parent animation. Animations `squareA` and `squareB` inherit the parent animation's duration of 2000ms, but animation `squareC` has a duration of 5000ms since it was explicitly set. +// cspell:disable-next-line ## Before and After Hooks @@ -634,6 +635,7 @@ In this example, an inline opacity of 0.2 is set on the `.square` element prior See [Methods](#methods) for a complete list of hooks. +// cspell:disable-next-line ## Chained Animations @@ -1508,6 +1510,7 @@ export default defineComponent({ ```` +// cspell:disable-next-line ## Performance Considerations From 3664357b3d13cc5c8e0753bbcf6a1f57138d81d9 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 21 Sep 2023 11:50:32 -0400 Subject: [PATCH 05/29] style: fix broken link --- docs/developer-resources/books.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/developer-resources/books.md b/docs/developer-resources/books.md index d9efd36570a..35bf9faa72e 100644 --- a/docs/developer-resources/books.md +++ b/docs/developer-resources/books.md @@ -31,8 +31,7 @@ Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning // cspell:disable-next-line by Simon Reimler -### [Ionic Framework -By Example](https://www.packtpub.com/application-development/ionic-framework-example) +### [Ionic Framework By Example](https://www.packtpub.com/application-development/ionic-framework-example) // cspell:disable-next-line by Sani Yusuf From 5ccc1ae28b39168a5fd0338699545e430e62057e Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 21 Sep 2023 11:52:59 -0400 Subject: [PATCH 06/29] style: more broken links --- versioned_docs/version-v5/developer-resources/books.md | 3 +-- versioned_docs/version-v6/developer-resources/books.md | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/versioned_docs/version-v5/developer-resources/books.md b/versioned_docs/version-v5/developer-resources/books.md index d9efd36570a..35bf9faa72e 100644 --- a/versioned_docs/version-v5/developer-resources/books.md +++ b/versioned_docs/version-v5/developer-resources/books.md @@ -31,8 +31,7 @@ Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning // cspell:disable-next-line by Simon Reimler -### [Ionic Framework -By Example](https://www.packtpub.com/application-development/ionic-framework-example) +### [Ionic Framework By Example](https://www.packtpub.com/application-development/ionic-framework-example) // cspell:disable-next-line by Sani Yusuf diff --git a/versioned_docs/version-v6/developer-resources/books.md b/versioned_docs/version-v6/developer-resources/books.md index d9efd36570a..35bf9faa72e 100644 --- a/versioned_docs/version-v6/developer-resources/books.md +++ b/versioned_docs/version-v6/developer-resources/books.md @@ -31,8 +31,7 @@ Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning // cspell:disable-next-line by Simon Reimler -### [Ionic Framework -By Example](https://www.packtpub.com/application-development/ionic-framework-example) +### [Ionic Framework By Example](https://www.packtpub.com/application-development/ionic-framework-example) // cspell:disable-next-line by Sani Yusuf From ad015f5604535f7a194f1f42fa15b3013cf719a1 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 21 Sep 2023 11:56:13 -0400 Subject: [PATCH 07/29] style: undo api name change --- versioned_docs/version-v5/native/music-controls.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versioned_docs/version-v5/native/music-controls.md b/versioned_docs/version-v5/native/music-controls.md index 718873915e0..c7c46a69cd7 100644 --- a/versioned_docs/version-v5/native/music-controls.md +++ b/versioned_docs/version-v5/native/music-controls.md @@ -115,7 +115,7 @@ this.musicControls.create({ // cover can be a local path (use fullpath 'file:///storage/emulated/...', or only 'my_image.jpg' if my_image.jpg is in the www folder of your app) // or a remote url ('http://...', 'https://...', 'ftp://...') isPlaying : true, // optional, default : true - dismissible : true, // optional, default : false + dismissable : true, // optional, default : false // hide previous/next/close buttons: hasPrev : false, // show previous button, optional, default: true From a88f0e3157a7356b84f7cea54502d7759889755a Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 21 Sep 2023 11:59:55 -0400 Subject: [PATCH 08/29] chore: bump cspell --- package-lock.json | 429 ++++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 227 insertions(+), 204 deletions(-) diff --git a/package-lock.json b/package-lock.json index 57501a22907..a8a95bfd655 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,7 +46,7 @@ "@ionic/prettier-config": "^3.0.0", "@tsconfig/docusaurus": "^1.0.4", "@types/react": "^17.0.37", - "cspell": "^6.31.2", + "cspell": "^6.31.3", "html-loader": "^3.1.0", "hygen": "^6.2.11", "prettier": "^2.8.8", @@ -1771,9 +1771,9 @@ } }, "node_modules/@cspell/cspell-bundled-dicts": { - "version": "6.31.2", - "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-6.31.2.tgz", - "integrity": "sha512-rQ5y/U1Ah5AaduIh3NU2z371hRrOr1cmNdhhP8oiuz2E4VqmcoVHflXIct9DgY8uIJpwsSCdR6ypOQWZYXYnwA==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-6.31.3.tgz", + "integrity": "sha512-KXy3qKWYzXOGYwqOGMCXHem3fV39iEmoKLiNhoWWry/SFdvAafmeY+LIDcQTXAcOQLkMDCwP2/rY/NadcWnrjg==", "dev": true, "dependencies": { "@cspell/dict-ada": "^4.0.1", @@ -1827,28 +1827,40 @@ "node": ">=14" } }, + "node_modules/@cspell/cspell-json-reporter": { + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-6.31.3.tgz", + "integrity": "sha512-ZJwj2vT4lxncYxduXcxy0dCvjjMvXIfphbLSCN5CXvufrtupB4KlcjZUnOofCi4pfpp8qocCSn1lf2DU9xgUXA==", + "dev": true, + "dependencies": { + "@cspell/cspell-types": "6.31.3" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/@cspell/cspell-pipe": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-6.31.1.tgz", - "integrity": "sha512-zk1olZi4dr6GLm5PAjvsiZ01HURNSruUYFl1qSicGnTwYN8GaN4RhAwannAytcJ7zJPIcyXlid0YsB58nJf3wQ==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-6.31.3.tgz", + "integrity": "sha512-Lv/y4Ya/TJyU1pf66yl1te7LneFZd3lZg1bN5oe1cPrKSmfWdiX48v7plTRecWd/OWyLGd0yN807v79A+/0W7A==", "dev": true, "engines": { "node": ">=14" } }, "node_modules/@cspell/cspell-service-bus": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-6.31.1.tgz", - "integrity": "sha512-YyBicmJyZ1uwKVxujXw7sgs9x+Eps43OkWmCtDZmZlnq489HdTSuhF1kTbVi2yeFSeaXIS87+uHo12z97KkQpg==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-6.31.3.tgz", + "integrity": "sha512-x5j8j3n39KN8EXOAlv75CpircdpF5WEMCC5pcO916o6GBmJBy8SrdzdsBGJhVcYGGilqy6pf8R9RCZ3yAmG8gQ==", "dev": true, "engines": { "node": ">=14" } }, "node_modules/@cspell/cspell-types": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-6.31.1.tgz", - "integrity": "sha512-1KeTQFiHMssW1eRoF2NZIEg4gPVIfXLsL2+VSD/AV6YN7lBcuf6gRRgV5KWYarhxtEfjxhDdDTmu26l/iJEUtw==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-6.31.3.tgz", + "integrity": "sha512-wZ+t+lUsQJB65M31btZM4fH3K1CkRgE8pSeTiCwxYcnCL19pi4TMcEEMKdO8yFZMdocW4B7VRwzxNoQMw2ewBg==", "dev": true, "engines": { "node": ">=14" @@ -1873,15 +1885,15 @@ "dev": true }, "node_modules/@cspell/dict-companies": { - "version": "3.0.18", - "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-3.0.18.tgz", - "integrity": "sha512-KJYZ8N7DFR8HY+82+nHY34NW9nTw5SJiwcxCdEw9Wr2t2qwebidLEyGZN43KQcI184hmt2PvIae4IUrGGbP0Tg==", + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-3.0.23.tgz", + "integrity": "sha512-Xdj3whPrPw4B+I2zEfMOaoJCqEXAQu/WWyOuA0+eXyRDyGvckF0mf8Fsmi1059X6OFeUbbgHQqv59ip81APA2Q==", "dev": true }, "node_modules/@cspell/dict-cpp": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-5.0.4.tgz", - "integrity": "sha512-Vmz/CCb2d91ES5juaO8+CFWeTa2AFsbpR8bkCPJq+P8cRP16+37tY0zNXEBSK/1ur4MakaRf76jeQBijpZxw0Q==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-5.0.5.tgz", + "integrity": "sha512-ojCpQ4z+sHHLJYfvA3SApqQ1BjO/k3TUdDgqR3sVhFl5qjT9yz1/srBNzqCaBBSz/fiO5A8NKdSA9+IFrUHcig==", "dev": true }, "node_modules/@cspell/dict-cryptocurrencies": { @@ -1897,9 +1909,9 @@ "dev": true }, "node_modules/@cspell/dict-css": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-4.0.6.tgz", - "integrity": "sha512-2Lo8W2ezHmGgY8cWFr4RUwnjbndna5mokpCK/DuxGILQnuajR0J31ANQOXj/8iZM2phFB93ZzMNk/0c04TDfSQ==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-4.0.8.tgz", + "integrity": "sha512-K+WVgxxTq6JyuZrcH36w5aiDtIH6OHtnDIdZItTbVJAT8GitmLpKZRIgnwtykCGZc7eDIwCdft/bg1UC7hVfRQ==", "dev": true }, "node_modules/@cspell/dict-dart": { @@ -1909,9 +1921,9 @@ "dev": true }, "node_modules/@cspell/dict-data-science": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-1.0.9.tgz", - "integrity": "sha512-erbpIk/tmtCNq0Z6oFNJYIFdn2fzr+YoyCvks88NEV8j+z5z5pZeGAavWt3sxEW/0lmOlZsFJpW1Kzf+6NU8pQ==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-1.0.11.tgz", + "integrity": "sha512-TaHAZRVe0Zlcc3C23StZqqbzC0NrodRwoSAc8dis+5qLeLLnOCtagYQeROQvDlcDg3X/VVEO9Whh4W/z4PAmYQ==", "dev": true }, "node_modules/@cspell/dict-django": { @@ -1939,9 +1951,9 @@ "dev": true }, "node_modules/@cspell/dict-en_us": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.6.tgz", - "integrity": "sha512-odhgsjNZI9BtEOJdvqfAuv/3yz5aB1ngfBNaph7WSnYVt//9e3fhrElZ6/pIIkoyuGgeQPwz1fXt+tMgcnLSEQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.7.tgz", + "integrity": "sha512-83V0XXqiXJvXa1pj5cVpviYKeLTN2Dxvouz8ullrwgcfPtY57pYBy+3ACVAMYK0eGByhRPc/xVXlIgv4o0BNZw==", "dev": true }, "node_modules/@cspell/dict-en-common-misspellings": { @@ -2041,9 +2053,9 @@ "dev": true }, "node_modules/@cspell/dict-node": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-4.0.2.tgz", - "integrity": "sha512-FEQJ4TnMcXEFslqBQkXa5HposMoCGsiBv2ux4IZuIXgadXeHKHUHk60iarWpjhzNzQLyN2GD7NoRMd12bK3Llw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-4.0.3.tgz", + "integrity": "sha512-sFlUNI5kOogy49KtPg8SMQYirDGIAoKBO3+cDLIwD4MLdsWy1q0upc7pzGht3mrjuyMiPRUV14Bb0rkVLrxOhg==", "dev": true }, "node_modules/@cspell/dict-npm": { @@ -2053,9 +2065,9 @@ "dev": true }, "node_modules/@cspell/dict-php": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-4.0.1.tgz", - "integrity": "sha512-XaQ/JkSyq2c07MfRG54DjLi2CV+HHwS99DDCAao9Fq2JfkWroTQsUeek7wYZXJATrJVOULoV3HKih12x905AtQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-4.0.3.tgz", + "integrity": "sha512-PxtSmWJCDEB4M8R9ER9ijxBum/tvUqYT26QeuV58q2IFs5IrPZ6hocQKvnFGXItjCWH4oYXyAEAAzINlBC4Opg==", "dev": true }, "node_modules/@cspell/dict-powershell": { @@ -2065,18 +2077,18 @@ "dev": true }, "node_modules/@cspell/dict-public-licenses": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.3.tgz", - "integrity": "sha512-JSLEdpEYufQ1H+93UHi+axlqQm1fhgK6kpdLHp6uPHu//CsvETcqNVawjB+qOdI/g38JTMw5fBqSd0aGNxa6Dw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.4.tgz", + "integrity": "sha512-KjsfuGwMWvPkp6s0nR+s4mZc9SQhh1tHDOyQZfEVRwi+2ev7f8l7R6ts9sP2Mplb8UcxwO6YmKwxHjN+XHoMoA==", "dev": true }, "node_modules/@cspell/dict-python": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.1.5.tgz", - "integrity": "sha512-wWUWyHdyJtx5iG6Fz9rBQ17BtdpEsB17vmutao+gixQD28Jzb6XoLgDQ6606M0RnFjBSFhs5iT4CJBzlD2Kq6g==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.1.8.tgz", + "integrity": "sha512-yFrO9gGI3KIbw0Y1odAEtagrzmthjJVank9B7qlsSQvN78RgD1JQQycTadNWpzdjCj+JuiiH8pJBFWflweZoxw==", "dev": true, "dependencies": { - "@cspell/dict-data-science": "^1.0.0" + "@cspell/dict-data-science": "^1.0.11" } }, "node_modules/@cspell/dict-r": { @@ -2104,9 +2116,9 @@ "dev": true }, "node_modules/@cspell/dict-software-terms": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-3.2.1.tgz", - "integrity": "sha512-+QXmyoONVc/3aNgKW+0F0u3XUCRTfNRkWKLZQA78i+9fOfde8ZT4JmROmZgRveH/MxD4n6pNFceIRcYI6C8WuQ==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-3.2.5.tgz", + "integrity": "sha512-Hmdm4A8AKD0xQDrZ8GQqdq5n0ewCCp9hu1kkf3tPlUGqzchtzmqaQ91XAfbrhJiMvB5jo51mWK09ZIrR0uoJhA==", "dev": true }, "node_modules/@cspell/dict-sql": { @@ -2140,9 +2152,9 @@ "dev": true }, "node_modules/@cspell/dynamic-import": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-6.31.1.tgz", - "integrity": "sha512-uliIUv9uZlnyYmjUlcw/Dm3p0xJOEnWJNczHAfqAl4Ytg6QZktw0GtUA9b1umbRXLv0KRTPtSC6nMq3cR7rRmQ==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-6.31.3.tgz", + "integrity": "sha512-A6sT00+6UNGFksQ5SxW2ohNl6vUutai8F4jwJMHTjZL/9vivQpU7y5V4PpsfoPZtx3WZcbrzuTvJ+tLfdbWc4A==", "dev": true, "dependencies": { "import-meta-resolve": "^2.2.2" @@ -2152,9 +2164,9 @@ } }, "node_modules/@cspell/strong-weak-map": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-6.31.1.tgz", - "integrity": "sha512-z8AuWvUuSnugFKJOA9Ke0aiFuehcqLFqia9bk8XaQNEWr44ahPVn3sEWnAncTxPbpWuUw5UajoJa0egRAE1CCg==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-6.31.3.tgz", + "integrity": "sha512-znwc9IlgGUPioHGshP/zyM8HsuYg1OY5S7HSiVXARh5H8RqcyBsnyn8abc0PPhqPrfDy9Fh5xHsAEPZ55dl1vQ==", "dev": true, "engines": { "node": ">=14.6" @@ -5493,20 +5505,21 @@ } }, "node_modules/cspell": { - "version": "6.31.2", - "resolved": "https://registry.npmjs.org/cspell/-/cspell-6.31.2.tgz", - "integrity": "sha512-HJcQ8jqL/1N3Mj5dufFnIZCX3ACuRoFTSVY6h3Bo5wBqd2iiJTyeQ1SY9Zymlxtb2KyJ6jQRiFmkWeFx2HVs7w==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell/-/cspell-6.31.3.tgz", + "integrity": "sha512-VeeShDLWVM6YPiU/imeGy0lmg6ki63tbLEa6hz20BExhzzpmINOP5nSTYtpY0H9zX9TrF/dLbI38TuuYnyG3Uw==", "dev": true, "dependencies": { - "@cspell/cspell-pipe": "6.31.1", - "@cspell/cspell-types": "6.31.1", - "@cspell/dynamic-import": "6.31.1", + "@cspell/cspell-json-reporter": "6.31.3", + "@cspell/cspell-pipe": "6.31.3", + "@cspell/cspell-types": "6.31.3", + "@cspell/dynamic-import": "6.31.3", "chalk": "^4.1.2", "commander": "^10.0.0", - "cspell-gitignore": "6.31.2", - "cspell-glob": "6.31.2", - "cspell-io": "6.31.2", - "cspell-lib": "6.31.2", + "cspell-gitignore": "6.31.3", + "cspell-glob": "6.31.3", + "cspell-io": "6.31.3", + "cspell-lib": "6.31.3", "fast-glob": "^3.2.12", "fast-json-stable-stringify": "^2.1.0", "file-entry-cache": "^6.0.1", @@ -5528,14 +5541,14 @@ } }, "node_modules/cspell-dictionary": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-6.31.1.tgz", - "integrity": "sha512-7+K7aQGarqbpucky26wled7QSCJeg6VkLUWS+hLjyf0Cqc9Zew5xsLa4QjReExWUJx+a97jbiflITZNuWxgMrg==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-6.31.3.tgz", + "integrity": "sha512-3w5P3Md/tbHLVGPKVL0ePl1ObmNwhdDiEuZ2TXfm2oAIwg4aqeIrw42A2qmhaKLcuAIywpqGZsrGg8TviNNhig==", "dev": true, "dependencies": { - "@cspell/cspell-pipe": "6.31.1", - "@cspell/cspell-types": "6.31.1", - "cspell-trie-lib": "6.31.1", + "@cspell/cspell-pipe": "6.31.3", + "@cspell/cspell-types": "6.31.3", + "cspell-trie-lib": "6.31.3", "fast-equals": "^4.0.3", "gensequence": "^5.0.2" }, @@ -5544,12 +5557,12 @@ } }, "node_modules/cspell-gitignore": { - "version": "6.31.2", - "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-6.31.2.tgz", - "integrity": "sha512-B1i8aiXCIbb/08u0K3xnDyXtg0qD+lb5B2itOOXi7KXlPkKvIuN4hWyXxhVDweWyYWEzyXD5wBpPrqICVrStHQ==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-6.31.3.tgz", + "integrity": "sha512-vCfVG4ZrdwJnsZHl/cdp8AY+YNPL3Ga+0KR9XJsaz69EkQpgI6porEqehuwle7hiXw5e3L7xFwNEbpCBlxgLRA==", "dev": true, "dependencies": { - "cspell-glob": "6.31.2", + "cspell-glob": "6.31.3", "find-up": "^5.0.0" }, "bin": { @@ -5606,9 +5619,9 @@ } }, "node_modules/cspell-glob": { - "version": "6.31.2", - "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-6.31.2.tgz", - "integrity": "sha512-ceTjHM4HaBgvG5S3oiB+PTPYq58EQYG6MmYpycDHzpR5I2H1NurK9lxWHfANmLbi0DsHn58tIZNDMUnnQj19Jw==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-6.31.3.tgz", + "integrity": "sha512-+koUJPSCOittQwhR0T1mj4xXT3N+ZnY2qQ53W6Gz9HY3hVfEEy0NpbwE/Uy7sIvFMbc426fK0tGXjXyIj72uhQ==", "dev": true, "dependencies": { "micromatch": "^4.0.5" @@ -5618,13 +5631,13 @@ } }, "node_modules/cspell-grammar": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-6.31.1.tgz", - "integrity": "sha512-AsRVP0idcNFVSb9+p9XjMumFj3BUV67WIPWApaAzJl/dYyiIygQObRE+si0/QtFWGNw873b7hNhWZiKjqIdoaQ==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-6.31.3.tgz", + "integrity": "sha512-TZYaOLIGAumyHlm4w7HYKKKcR1ZgEMKt7WNjCFqq7yGVW7U+qyjQqR8jqnLiUTZl7c2Tque4mca7n0CFsjVv5A==", "dev": true, "dependencies": { - "@cspell/cspell-pipe": "6.31.1", - "@cspell/cspell-types": "6.31.1" + "@cspell/cspell-pipe": "6.31.3", + "@cspell/cspell-types": "6.31.3" }, "bin": { "cspell-grammar": "bin.mjs" @@ -5634,12 +5647,12 @@ } }, "node_modules/cspell-io": { - "version": "6.31.2", - "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-6.31.2.tgz", - "integrity": "sha512-Lp7LsF/f35LaOneROb/9mWiprShz2ONxjYFAt3bYP7gIxq41lWi8QhO+SN6spoqPp/wQXjSqJ7MuTZsemxPRnA==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-6.31.3.tgz", + "integrity": "sha512-yCnnQ5bTbngUuIAaT5yNSdI1P0Kc38uvC8aynNi7tfrCYOQbDu1F9/DcTpbdhrsCv+xUn2TB1YjuCmm0STfJlA==", "dev": true, "dependencies": { - "@cspell/cspell-service-bus": "6.31.1", + "@cspell/cspell-service-bus": "6.31.3", "node-fetch": "^2.6.9" }, "engines": { @@ -5647,9 +5660,9 @@ } }, "node_modules/cspell-io/node_modules/node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "dependencies": { "whatwg-url": "^5.0.0" @@ -5667,24 +5680,24 @@ } }, "node_modules/cspell-lib": { - "version": "6.31.2", - "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-6.31.2.tgz", - "integrity": "sha512-LqaB2ZfVfQHKL5aZzYoKU6/UxxAtWeXAYwpC9l+satXmajYyXtAh4kWmuW+y7kKRH2jA79rJQS3QE6ToeSqgQQ==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-6.31.3.tgz", + "integrity": "sha512-Dv55aecaMvT/5VbNryKo0Zos8dtHon7e1K0z8DR4/kGZdQVT0bOFWeotSLhuaIqoNFdEt8ypfKbrIHIdbgt1Hg==", "dev": true, "dependencies": { - "@cspell/cspell-bundled-dicts": "6.31.2", - "@cspell/cspell-pipe": "6.31.1", - "@cspell/cspell-types": "6.31.1", - "@cspell/strong-weak-map": "6.31.1", + "@cspell/cspell-bundled-dicts": "6.31.3", + "@cspell/cspell-pipe": "6.31.3", + "@cspell/cspell-types": "6.31.3", + "@cspell/strong-weak-map": "6.31.3", "clear-module": "^4.1.2", "comment-json": "^4.2.3", "configstore": "^5.0.1", "cosmiconfig": "8.0.0", - "cspell-dictionary": "6.31.1", - "cspell-glob": "6.31.2", - "cspell-grammar": "6.31.1", - "cspell-io": "6.31.2", - "cspell-trie-lib": "6.31.1", + "cspell-dictionary": "6.31.3", + "cspell-glob": "6.31.3", + "cspell-grammar": "6.31.3", + "cspell-io": "6.31.3", + "cspell-trie-lib": "6.31.3", "fast-equals": "^4.0.3", "find-up": "^5.0.0", "gensequence": "^5.0.2", @@ -5769,13 +5782,13 @@ } }, "node_modules/cspell-trie-lib": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-6.31.1.tgz", - "integrity": "sha512-MtYh7s4Sbr1rKT31P2BK6KY+YfOy3dWsuusq9HnqCXmq6aZ1HyFgjH/9p9uvqGi/TboMqn1KOV8nifhXK3l3jg==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-6.31.3.tgz", + "integrity": "sha512-HNUcLWOZAvtM3E34U+7/mSSpO0F6nLd/kFlRIcvSvPb9taqKe8bnSa0Yyb3dsdMq9rMxUmuDQtF+J6arZK343g==", "dev": true, "dependencies": { - "@cspell/cspell-pipe": "6.31.1", - "@cspell/cspell-types": "6.31.1", + "@cspell/cspell-pipe": "6.31.3", + "@cspell/cspell-types": "6.31.3", "gensequence": "^5.0.2" }, "engines": { @@ -15202,9 +15215,9 @@ } }, "@cspell/cspell-bundled-dicts": { - "version": "6.31.2", - "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-6.31.2.tgz", - "integrity": "sha512-rQ5y/U1Ah5AaduIh3NU2z371hRrOr1cmNdhhP8oiuz2E4VqmcoVHflXIct9DgY8uIJpwsSCdR6ypOQWZYXYnwA==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-6.31.3.tgz", + "integrity": "sha512-KXy3qKWYzXOGYwqOGMCXHem3fV39iEmoKLiNhoWWry/SFdvAafmeY+LIDcQTXAcOQLkMDCwP2/rY/NadcWnrjg==", "dev": true, "requires": { "@cspell/dict-ada": "^4.0.1", @@ -15255,22 +15268,31 @@ "@cspell/dict-vue": "^3.0.0" } }, + "@cspell/cspell-json-reporter": { + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/cspell-json-reporter/-/cspell-json-reporter-6.31.3.tgz", + "integrity": "sha512-ZJwj2vT4lxncYxduXcxy0dCvjjMvXIfphbLSCN5CXvufrtupB4KlcjZUnOofCi4pfpp8qocCSn1lf2DU9xgUXA==", + "dev": true, + "requires": { + "@cspell/cspell-types": "6.31.3" + } + }, "@cspell/cspell-pipe": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-6.31.1.tgz", - "integrity": "sha512-zk1olZi4dr6GLm5PAjvsiZ01HURNSruUYFl1qSicGnTwYN8GaN4RhAwannAytcJ7zJPIcyXlid0YsB58nJf3wQ==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-6.31.3.tgz", + "integrity": "sha512-Lv/y4Ya/TJyU1pf66yl1te7LneFZd3lZg1bN5oe1cPrKSmfWdiX48v7plTRecWd/OWyLGd0yN807v79A+/0W7A==", "dev": true }, "@cspell/cspell-service-bus": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-6.31.1.tgz", - "integrity": "sha512-YyBicmJyZ1uwKVxujXw7sgs9x+Eps43OkWmCtDZmZlnq489HdTSuhF1kTbVi2yeFSeaXIS87+uHo12z97KkQpg==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/cspell-service-bus/-/cspell-service-bus-6.31.3.tgz", + "integrity": "sha512-x5j8j3n39KN8EXOAlv75CpircdpF5WEMCC5pcO916o6GBmJBy8SrdzdsBGJhVcYGGilqy6pf8R9RCZ3yAmG8gQ==", "dev": true }, "@cspell/cspell-types": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-6.31.1.tgz", - "integrity": "sha512-1KeTQFiHMssW1eRoF2NZIEg4gPVIfXLsL2+VSD/AV6YN7lBcuf6gRRgV5KWYarhxtEfjxhDdDTmu26l/iJEUtw==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-6.31.3.tgz", + "integrity": "sha512-wZ+t+lUsQJB65M31btZM4fH3K1CkRgE8pSeTiCwxYcnCL19pi4TMcEEMKdO8yFZMdocW4B7VRwzxNoQMw2ewBg==", "dev": true }, "@cspell/dict-ada": { @@ -15292,15 +15314,15 @@ "dev": true }, "@cspell/dict-companies": { - "version": "3.0.18", - "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-3.0.18.tgz", - "integrity": "sha512-KJYZ8N7DFR8HY+82+nHY34NW9nTw5SJiwcxCdEw9Wr2t2qwebidLEyGZN43KQcI184hmt2PvIae4IUrGGbP0Tg==", + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-3.0.23.tgz", + "integrity": "sha512-Xdj3whPrPw4B+I2zEfMOaoJCqEXAQu/WWyOuA0+eXyRDyGvckF0mf8Fsmi1059X6OFeUbbgHQqv59ip81APA2Q==", "dev": true }, "@cspell/dict-cpp": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-5.0.4.tgz", - "integrity": "sha512-Vmz/CCb2d91ES5juaO8+CFWeTa2AFsbpR8bkCPJq+P8cRP16+37tY0zNXEBSK/1ur4MakaRf76jeQBijpZxw0Q==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-5.0.5.tgz", + "integrity": "sha512-ojCpQ4z+sHHLJYfvA3SApqQ1BjO/k3TUdDgqR3sVhFl5qjT9yz1/srBNzqCaBBSz/fiO5A8NKdSA9+IFrUHcig==", "dev": true }, "@cspell/dict-cryptocurrencies": { @@ -15316,9 +15338,9 @@ "dev": true }, "@cspell/dict-css": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-4.0.6.tgz", - "integrity": "sha512-2Lo8W2ezHmGgY8cWFr4RUwnjbndna5mokpCK/DuxGILQnuajR0J31ANQOXj/8iZM2phFB93ZzMNk/0c04TDfSQ==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-4.0.8.tgz", + "integrity": "sha512-K+WVgxxTq6JyuZrcH36w5aiDtIH6OHtnDIdZItTbVJAT8GitmLpKZRIgnwtykCGZc7eDIwCdft/bg1UC7hVfRQ==", "dev": true }, "@cspell/dict-dart": { @@ -15328,9 +15350,9 @@ "dev": true }, "@cspell/dict-data-science": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-1.0.9.tgz", - "integrity": "sha512-erbpIk/tmtCNq0Z6oFNJYIFdn2fzr+YoyCvks88NEV8j+z5z5pZeGAavWt3sxEW/0lmOlZsFJpW1Kzf+6NU8pQ==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@cspell/dict-data-science/-/dict-data-science-1.0.11.tgz", + "integrity": "sha512-TaHAZRVe0Zlcc3C23StZqqbzC0NrodRwoSAc8dis+5qLeLLnOCtagYQeROQvDlcDg3X/VVEO9Whh4W/z4PAmYQ==", "dev": true }, "@cspell/dict-django": { @@ -15358,9 +15380,9 @@ "dev": true }, "@cspell/dict-en_us": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.6.tgz", - "integrity": "sha512-odhgsjNZI9BtEOJdvqfAuv/3yz5aB1ngfBNaph7WSnYVt//9e3fhrElZ6/pIIkoyuGgeQPwz1fXt+tMgcnLSEQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-4.3.7.tgz", + "integrity": "sha512-83V0XXqiXJvXa1pj5cVpviYKeLTN2Dxvouz8ullrwgcfPtY57pYBy+3ACVAMYK0eGByhRPc/xVXlIgv4o0BNZw==", "dev": true }, "@cspell/dict-en-common-misspellings": { @@ -15460,9 +15482,9 @@ "dev": true }, "@cspell/dict-node": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-4.0.2.tgz", - "integrity": "sha512-FEQJ4TnMcXEFslqBQkXa5HposMoCGsiBv2ux4IZuIXgadXeHKHUHk60iarWpjhzNzQLyN2GD7NoRMd12bK3Llw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-4.0.3.tgz", + "integrity": "sha512-sFlUNI5kOogy49KtPg8SMQYirDGIAoKBO3+cDLIwD4MLdsWy1q0upc7pzGht3mrjuyMiPRUV14Bb0rkVLrxOhg==", "dev": true }, "@cspell/dict-npm": { @@ -15472,9 +15494,9 @@ "dev": true }, "@cspell/dict-php": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-4.0.1.tgz", - "integrity": "sha512-XaQ/JkSyq2c07MfRG54DjLi2CV+HHwS99DDCAao9Fq2JfkWroTQsUeek7wYZXJATrJVOULoV3HKih12x905AtQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-4.0.3.tgz", + "integrity": "sha512-PxtSmWJCDEB4M8R9ER9ijxBum/tvUqYT26QeuV58q2IFs5IrPZ6hocQKvnFGXItjCWH4oYXyAEAAzINlBC4Opg==", "dev": true }, "@cspell/dict-powershell": { @@ -15484,18 +15506,18 @@ "dev": true }, "@cspell/dict-public-licenses": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.3.tgz", - "integrity": "sha512-JSLEdpEYufQ1H+93UHi+axlqQm1fhgK6kpdLHp6uPHu//CsvETcqNVawjB+qOdI/g38JTMw5fBqSd0aGNxa6Dw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@cspell/dict-public-licenses/-/dict-public-licenses-2.0.4.tgz", + "integrity": "sha512-KjsfuGwMWvPkp6s0nR+s4mZc9SQhh1tHDOyQZfEVRwi+2ev7f8l7R6ts9sP2Mplb8UcxwO6YmKwxHjN+XHoMoA==", "dev": true }, "@cspell/dict-python": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.1.5.tgz", - "integrity": "sha512-wWUWyHdyJtx5iG6Fz9rBQ17BtdpEsB17vmutao+gixQD28Jzb6XoLgDQ6606M0RnFjBSFhs5iT4CJBzlD2Kq6g==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-4.1.8.tgz", + "integrity": "sha512-yFrO9gGI3KIbw0Y1odAEtagrzmthjJVank9B7qlsSQvN78RgD1JQQycTadNWpzdjCj+JuiiH8pJBFWflweZoxw==", "dev": true, "requires": { - "@cspell/dict-data-science": "^1.0.0" + "@cspell/dict-data-science": "^1.0.11" } }, "@cspell/dict-r": { @@ -15523,9 +15545,9 @@ "dev": true }, "@cspell/dict-software-terms": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-3.2.1.tgz", - "integrity": "sha512-+QXmyoONVc/3aNgKW+0F0u3XUCRTfNRkWKLZQA78i+9fOfde8ZT4JmROmZgRveH/MxD4n6pNFceIRcYI6C8WuQ==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-3.2.5.tgz", + "integrity": "sha512-Hmdm4A8AKD0xQDrZ8GQqdq5n0ewCCp9hu1kkf3tPlUGqzchtzmqaQ91XAfbrhJiMvB5jo51mWK09ZIrR0uoJhA==", "dev": true }, "@cspell/dict-sql": { @@ -15559,18 +15581,18 @@ "dev": true }, "@cspell/dynamic-import": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-6.31.1.tgz", - "integrity": "sha512-uliIUv9uZlnyYmjUlcw/Dm3p0xJOEnWJNczHAfqAl4Ytg6QZktw0GtUA9b1umbRXLv0KRTPtSC6nMq3cR7rRmQ==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/dynamic-import/-/dynamic-import-6.31.3.tgz", + "integrity": "sha512-A6sT00+6UNGFksQ5SxW2ohNl6vUutai8F4jwJMHTjZL/9vivQpU7y5V4PpsfoPZtx3WZcbrzuTvJ+tLfdbWc4A==", "dev": true, "requires": { "import-meta-resolve": "^2.2.2" } }, "@cspell/strong-weak-map": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-6.31.1.tgz", - "integrity": "sha512-z8AuWvUuSnugFKJOA9Ke0aiFuehcqLFqia9bk8XaQNEWr44ahPVn3sEWnAncTxPbpWuUw5UajoJa0egRAE1CCg==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/@cspell/strong-weak-map/-/strong-weak-map-6.31.3.tgz", + "integrity": "sha512-znwc9IlgGUPioHGshP/zyM8HsuYg1OY5S7HSiVXARh5H8RqcyBsnyn8abc0PPhqPrfDy9Fh5xHsAEPZ55dl1vQ==", "dev": true }, "@docsearch/css": { @@ -17762,20 +17784,21 @@ "version": "2.0.0" }, "cspell": { - "version": "6.31.2", - "resolved": "https://registry.npmjs.org/cspell/-/cspell-6.31.2.tgz", - "integrity": "sha512-HJcQ8jqL/1N3Mj5dufFnIZCX3ACuRoFTSVY6h3Bo5wBqd2iiJTyeQ1SY9Zymlxtb2KyJ6jQRiFmkWeFx2HVs7w==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell/-/cspell-6.31.3.tgz", + "integrity": "sha512-VeeShDLWVM6YPiU/imeGy0lmg6ki63tbLEa6hz20BExhzzpmINOP5nSTYtpY0H9zX9TrF/dLbI38TuuYnyG3Uw==", "dev": true, "requires": { - "@cspell/cspell-pipe": "6.31.1", - "@cspell/cspell-types": "6.31.1", - "@cspell/dynamic-import": "6.31.1", + "@cspell/cspell-json-reporter": "6.31.3", + "@cspell/cspell-pipe": "6.31.3", + "@cspell/cspell-types": "6.31.3", + "@cspell/dynamic-import": "6.31.3", "chalk": "^4.1.2", "commander": "^10.0.0", - "cspell-gitignore": "6.31.2", - "cspell-glob": "6.31.2", - "cspell-io": "6.31.2", - "cspell-lib": "6.31.2", + "cspell-gitignore": "6.31.3", + "cspell-glob": "6.31.3", + "cspell-io": "6.31.3", + "cspell-lib": "6.31.3", "fast-glob": "^3.2.12", "fast-json-stable-stringify": "^2.1.0", "file-entry-cache": "^6.0.1", @@ -17795,25 +17818,25 @@ } }, "cspell-dictionary": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-6.31.1.tgz", - "integrity": "sha512-7+K7aQGarqbpucky26wled7QSCJeg6VkLUWS+hLjyf0Cqc9Zew5xsLa4QjReExWUJx+a97jbiflITZNuWxgMrg==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-dictionary/-/cspell-dictionary-6.31.3.tgz", + "integrity": "sha512-3w5P3Md/tbHLVGPKVL0ePl1ObmNwhdDiEuZ2TXfm2oAIwg4aqeIrw42A2qmhaKLcuAIywpqGZsrGg8TviNNhig==", "dev": true, "requires": { - "@cspell/cspell-pipe": "6.31.1", - "@cspell/cspell-types": "6.31.1", - "cspell-trie-lib": "6.31.1", + "@cspell/cspell-pipe": "6.31.3", + "@cspell/cspell-types": "6.31.3", + "cspell-trie-lib": "6.31.3", "fast-equals": "^4.0.3", "gensequence": "^5.0.2" } }, "cspell-gitignore": { - "version": "6.31.2", - "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-6.31.2.tgz", - "integrity": "sha512-B1i8aiXCIbb/08u0K3xnDyXtg0qD+lb5B2itOOXi7KXlPkKvIuN4hWyXxhVDweWyYWEzyXD5wBpPrqICVrStHQ==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-6.31.3.tgz", + "integrity": "sha512-vCfVG4ZrdwJnsZHl/cdp8AY+YNPL3Ga+0KR9XJsaz69EkQpgI6porEqehuwle7hiXw5e3L7xFwNEbpCBlxgLRA==", "dev": true, "requires": { - "cspell-glob": "6.31.2", + "cspell-glob": "6.31.3", "find-up": "^5.0.0" }, "dependencies": { @@ -17848,38 +17871,38 @@ } }, "cspell-glob": { - "version": "6.31.2", - "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-6.31.2.tgz", - "integrity": "sha512-ceTjHM4HaBgvG5S3oiB+PTPYq58EQYG6MmYpycDHzpR5I2H1NurK9lxWHfANmLbi0DsHn58tIZNDMUnnQj19Jw==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-glob/-/cspell-glob-6.31.3.tgz", + "integrity": "sha512-+koUJPSCOittQwhR0T1mj4xXT3N+ZnY2qQ53W6Gz9HY3hVfEEy0NpbwE/Uy7sIvFMbc426fK0tGXjXyIj72uhQ==", "dev": true, "requires": { "micromatch": "^4.0.5" } }, "cspell-grammar": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-6.31.1.tgz", - "integrity": "sha512-AsRVP0idcNFVSb9+p9XjMumFj3BUV67WIPWApaAzJl/dYyiIygQObRE+si0/QtFWGNw873b7hNhWZiKjqIdoaQ==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-grammar/-/cspell-grammar-6.31.3.tgz", + "integrity": "sha512-TZYaOLIGAumyHlm4w7HYKKKcR1ZgEMKt7WNjCFqq7yGVW7U+qyjQqR8jqnLiUTZl7c2Tque4mca7n0CFsjVv5A==", "dev": true, "requires": { - "@cspell/cspell-pipe": "6.31.1", - "@cspell/cspell-types": "6.31.1" + "@cspell/cspell-pipe": "6.31.3", + "@cspell/cspell-types": "6.31.3" } }, "cspell-io": { - "version": "6.31.2", - "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-6.31.2.tgz", - "integrity": "sha512-Lp7LsF/f35LaOneROb/9mWiprShz2ONxjYFAt3bYP7gIxq41lWi8QhO+SN6spoqPp/wQXjSqJ7MuTZsemxPRnA==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-io/-/cspell-io-6.31.3.tgz", + "integrity": "sha512-yCnnQ5bTbngUuIAaT5yNSdI1P0Kc38uvC8aynNi7tfrCYOQbDu1F9/DcTpbdhrsCv+xUn2TB1YjuCmm0STfJlA==", "dev": true, "requires": { - "@cspell/cspell-service-bus": "6.31.1", + "@cspell/cspell-service-bus": "6.31.3", "node-fetch": "^2.6.9" }, "dependencies": { "node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, "requires": { "whatwg-url": "^5.0.0" @@ -17888,24 +17911,24 @@ } }, "cspell-lib": { - "version": "6.31.2", - "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-6.31.2.tgz", - "integrity": "sha512-LqaB2ZfVfQHKL5aZzYoKU6/UxxAtWeXAYwpC9l+satXmajYyXtAh4kWmuW+y7kKRH2jA79rJQS3QE6ToeSqgQQ==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-6.31.3.tgz", + "integrity": "sha512-Dv55aecaMvT/5VbNryKo0Zos8dtHon7e1K0z8DR4/kGZdQVT0bOFWeotSLhuaIqoNFdEt8ypfKbrIHIdbgt1Hg==", "dev": true, "requires": { - "@cspell/cspell-bundled-dicts": "6.31.2", - "@cspell/cspell-pipe": "6.31.1", - "@cspell/cspell-types": "6.31.1", - "@cspell/strong-weak-map": "6.31.1", + "@cspell/cspell-bundled-dicts": "6.31.3", + "@cspell/cspell-pipe": "6.31.3", + "@cspell/cspell-types": "6.31.3", + "@cspell/strong-weak-map": "6.31.3", "clear-module": "^4.1.2", "comment-json": "^4.2.3", "configstore": "^5.0.1", "cosmiconfig": "8.0.0", - "cspell-dictionary": "6.31.1", - "cspell-glob": "6.31.2", - "cspell-grammar": "6.31.1", - "cspell-io": "6.31.2", - "cspell-trie-lib": "6.31.1", + "cspell-dictionary": "6.31.3", + "cspell-glob": "6.31.3", + "cspell-grammar": "6.31.3", + "cspell-io": "6.31.3", + "cspell-trie-lib": "6.31.3", "fast-equals": "^4.0.3", "find-up": "^5.0.0", "gensequence": "^5.0.2", @@ -17965,13 +17988,13 @@ } }, "cspell-trie-lib": { - "version": "6.31.1", - "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-6.31.1.tgz", - "integrity": "sha512-MtYh7s4Sbr1rKT31P2BK6KY+YfOy3dWsuusq9HnqCXmq6aZ1HyFgjH/9p9uvqGi/TboMqn1KOV8nifhXK3l3jg==", + "version": "6.31.3", + "resolved": "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-6.31.3.tgz", + "integrity": "sha512-HNUcLWOZAvtM3E34U+7/mSSpO0F6nLd/kFlRIcvSvPb9taqKe8bnSa0Yyb3dsdMq9rMxUmuDQtF+J6arZK343g==", "dev": true, "requires": { - "@cspell/cspell-pipe": "6.31.1", - "@cspell/cspell-types": "6.31.1", + "@cspell/cspell-pipe": "6.31.3", + "@cspell/cspell-types": "6.31.3", "gensequence": "^5.0.2" } }, diff --git a/package.json b/package.json index b362dbd801a..c41a98f121b 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "@ionic/prettier-config": "^3.0.0", "@tsconfig/docusaurus": "^1.0.4", "@types/react": "^17.0.37", - "cspell": "^6.31.2", + "cspell": "^6.31.3", "html-loader": "^3.1.0", "hygen": "^6.2.11", "prettier": "^2.8.8", From c12ff8569fe342f61655a9e97d64a18fe4f1764d Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 21 Sep 2023 12:03:03 -0400 Subject: [PATCH 09/29] style: lint --- docs/core-concepts/what-are-progressive-web-apps.md | 1 + docs/reference/glossary.md | 8 +++++--- .../core-concepts/what-are-progressive-web-apps.md | 1 + versioned_docs/version-v5/reference/glossary.md | 8 +++++--- versioned_docs/version-v5/utilities/animations.md | 3 +++ .../core-concepts/what-are-progressive-web-apps.md | 1 + versioned_docs/version-v6/reference/glossary.md | 8 +++++--- versioned_docs/version-v6/utilities/animations.md | 3 +++ 8 files changed, 24 insertions(+), 9 deletions(-) diff --git a/docs/core-concepts/what-are-progressive-web-apps.md b/docs/core-concepts/what-are-progressive-web-apps.md index 0514b680ad2..a0a3aea4aba 100644 --- a/docs/core-concepts/what-are-progressive-web-apps.md +++ b/docs/core-concepts/what-are-progressive-web-apps.md @@ -48,6 +48,7 @@ To be considered a Progressive Web App, your app must be: - Linkable - Easily share via URL and not require complex installation. // cspell:disable + Addy Osmani: Progressive web apps diff --git a/docs/reference/glossary.md b/docs/reference/glossary.md index a276ebfe228..d19dfb2686e 100644 --- a/docs/reference/glossary.md +++ b/docs/reference/glossary.md @@ -98,15 +98,17 @@ title: Glossary

// cspell:disable-next-line - A CLI, or Command-Line Interface, is a text-based interface for - interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often - use Command Prompt. The Ionic community often uses this term to refer to{' '} + + A CLI, or Command-Line Interface, is + a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal + app, and Windows users often use Command Prompt. The Ionic community often uses this term to refer to{' '} Ionic's CLI. Ionic's CLI can be used for a number of things, such as creating production builds of an app, running the development server, and accessing{' '} Ionic commercial services . +

diff --git a/versioned_docs/version-v5/core-concepts/what-are-progressive-web-apps.md b/versioned_docs/version-v5/core-concepts/what-are-progressive-web-apps.md index 0c3ff4583c3..526b2523401 100644 --- a/versioned_docs/version-v5/core-concepts/what-are-progressive-web-apps.md +++ b/versioned_docs/version-v5/core-concepts/what-are-progressive-web-apps.md @@ -41,6 +41,7 @@ To be considered a Progressive Web App, your app must be: - Linkable - Easily share via URL and not require complex installation. // cspell:disable + Addy Osmani: Progressive web apps diff --git a/versioned_docs/version-v5/reference/glossary.md b/versioned_docs/version-v5/reference/glossary.md index 6be844174f8..470ba7a1d20 100644 --- a/versioned_docs/version-v5/reference/glossary.md +++ b/versioned_docs/version-v5/reference/glossary.md @@ -74,15 +74,17 @@

// cspell:disable-next-line - A CLI, or Command-Line Interface, is a text-based interface for - interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often - use Command Prompt. The Ionic community often uses this term to refer to{' '} + + A CLI, or Command-Line Interface, is + a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal + app, and Windows users often use Command Prompt. The Ionic community often uses this term to refer to{' '} Ionic's CLI. Ionic's CLI can be used for a number of things, such as creating production builds of an app, running the development server, and accessing{' '} Ionic commercial services . +

diff --git a/versioned_docs/version-v5/utilities/animations.md b/versioned_docs/version-v5/utilities/animations.md index cf838446f90..eddcf310cc9 100644 --- a/versioned_docs/version-v5/utilities/animations.md +++ b/versioned_docs/version-v5/utilities/animations.md @@ -508,6 +508,7 @@ const parent = createAnimation() This example shows 3 child animations controlled by a single parent animation. Animations `squareA` and `squareB` inherit the parent animation's duration of 2000ms, but animation `squareC` has a duration of 5000ms since it was explicitly set. // cspell:disable-next-line + ## Before and After Hooks @@ -626,6 +627,7 @@ In this example, an inline opacity of 0.2 is set on the `.square` element prior See [Methods](#methods) for a complete list of hooks. // cspell:disable-next-line + ## Chained Animations @@ -1493,6 +1495,7 @@ export default defineComponent({ ```` // cspell:disable-next-line + ## Performance Considerations diff --git a/versioned_docs/version-v6/core-concepts/what-are-progressive-web-apps.md b/versioned_docs/version-v6/core-concepts/what-are-progressive-web-apps.md index 0514b680ad2..a0a3aea4aba 100644 --- a/versioned_docs/version-v6/core-concepts/what-are-progressive-web-apps.md +++ b/versioned_docs/version-v6/core-concepts/what-are-progressive-web-apps.md @@ -48,6 +48,7 @@ To be considered a Progressive Web App, your app must be: - Linkable - Easily share via URL and not require complex installation. // cspell:disable + Addy Osmani: Progressive web apps diff --git a/versioned_docs/version-v6/reference/glossary.md b/versioned_docs/version-v6/reference/glossary.md index 53a866d5249..667288b403a 100644 --- a/versioned_docs/version-v6/reference/glossary.md +++ b/versioned_docs/version-v6/reference/glossary.md @@ -84,15 +84,17 @@ title: Glossary

// cspell:disable-next-line - A CLI, or Command-Line Interface, is a text-based interface for - interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often - use Command Prompt. The Ionic community often uses this term to refer to{' '} + + A CLI, or Command-Line Interface, is + a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal + app, and Windows users often use Command Prompt. The Ionic community often uses this term to refer to{' '} Ionic's CLI. Ionic's CLI can be used for a number of things, such as creating production builds of an app, running the development server, and accessing{' '} Ionic commercial services . +

diff --git a/versioned_docs/version-v6/utilities/animations.md b/versioned_docs/version-v6/utilities/animations.md index 7539a8fb20d..b7c8a742235 100644 --- a/versioned_docs/version-v6/utilities/animations.md +++ b/versioned_docs/version-v6/utilities/animations.md @@ -518,6 +518,7 @@ const parent = createAnimation() This example shows 3 child animations controlled by a single parent animation. Animations `squareA` and `squareB` inherit the parent animation's duration of 2000ms, but animation `squareC` has a duration of 5000ms since it was explicitly set. // cspell:disable-next-line + ## Before and After Hooks @@ -636,6 +637,7 @@ In this example, an inline opacity of 0.2 is set on the `.square` element prior See [Methods](#methods) for a complete list of hooks. // cspell:disable-next-line + ## Chained Animations @@ -1511,6 +1513,7 @@ export default defineComponent({ ```` // cspell:disable-next-line + ## Performance Considerations From 55653910c9f050882c954806b2c34b0e55329395 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 21 Sep 2023 12:05:24 -0400 Subject: [PATCH 10/29] chore: add spellcheck to CI --- .github/workflows/CI.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index ced06132a9e..ae6f84477d4 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -25,9 +25,10 @@ jobs: run: npm ci --legacy-peer-deps - name: Lint run: npm run lint - # Lint changes should be pushed - # to the branch before the branch - # is merge eligible. + - name: Spellcheck + run: npm run spellcheck + # Lint and spellcheck changes should be pushed + # to the branch before the branch is merge eligible. - name: Check Diff run: git diff --exit-code shell: bash From 3f2b546dd20414db8ee3518af180429679c99f50 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 21 Sep 2023 12:50:45 -0400 Subject: [PATCH 11/29] style: fix improper comment styles for cspell --- CONTRIBUTING.md | 2 +- docs/angular/performance.md | 4 ++-- .../what-are-progressive-web-apps.md | 5 ++-- docs/developer-resources/books.md | 22 ++++++++--------- docs/developer-resources/courses.md | 24 +++++++++---------- docs/react/navigation.md | 4 ++-- docs/reference/glossary.md | 7 +++--- docs/vue/overview.md | 4 ++-- src/components/global/Playground/README.md | 2 +- .../version-v5/angular/performance.md | 4 ++-- .../what-are-progressive-web-apps.md | 5 ++-- .../version-v5/developer-resources/books.md | 22 ++++++++--------- .../version-v5/developer-resources/courses.md | 24 +++++++++---------- versioned_docs/version-v5/react/navigation.md | 4 ++-- .../version-v5/reference/glossary.md | 7 +++--- .../version-v5/utilities/animations.md | 9 +++---- .../version-v6/angular/performance.md | 4 ++-- .../what-are-progressive-web-apps.md | 5 ++-- .../version-v6/developer-resources/books.md | 22 ++++++++--------- .../version-v6/developer-resources/courses.md | 24 +++++++++---------- versioned_docs/version-v6/react/navigation.md | 4 ++-- .../version-v6/reference/glossary.md | 7 +++--- .../version-v6/utilities/animations.md | 9 +++---- versioned_docs/version-v6/vue/overview.md | 4 ++-- 24 files changed, 114 insertions(+), 114 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3db3b768bcc..ccc7ce04a3f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -87,7 +87,7 @@ We use Crowdin for our translation service. You can participate in the translati _Please submit translation issues to the Crowdin page and not the Ionic Docs GitHub repo._ -// cspell:disable-next-line + The Japanese translation of the docs were built by an independent team, lead by [rdlabo](https://github.com/rdlabo) and can be found and contributed to on the [ionic-jp group's `ionic-docs` project page](https://github.com/ionic-jp/ionic-docs). ## Reporting Issues diff --git a/docs/angular/performance.md b/docs/angular/performance.md index b45d46377e0..62877e6e4dd 100644 --- a/docs/angular/performance.md +++ b/docs/angular/performance.md @@ -56,7 +56,7 @@ For more information on how Angular manages change propagation with `ngFor` see ## From the Community -// cspell:disable + [High Performance Animations in Ionic](https://www.joshmorony.com/high-performance-animations-in-ionic/) - Josh Morony @@ -66,7 +66,7 @@ For more information on how Angular manages change propagation with `ngFor` see [Ionic Framework is Fast (But Your Code Might Not Be)](https://www.joshmorony.com/ionic-framework-is-fast-but-your-code-might-not-be/) - Josh Morony -// cspell:enable + :::note Do you have a guide you'd like to share? Click the _Edit this page_ button below. diff --git a/docs/core-concepts/what-are-progressive-web-apps.md b/docs/core-concepts/what-are-progressive-web-apps.md index a0a3aea4aba..2310a451f01 100644 --- a/docs/core-concepts/what-are-progressive-web-apps.md +++ b/docs/core-concepts/what-are-progressive-web-apps.md @@ -47,14 +47,15 @@ To be considered a Progressive Web App, your app must be: - Linkable - Easily share via URL and not require complex installation. -// cspell:disable + Addy Osmani: Progressive web apps -// cspell:enable + + There is a lot here, but it boils down to a few points for Ionic apps. diff --git a/docs/developer-resources/books.md b/docs/developer-resources/books.md index 35bf9faa72e..6efc49db185 100644 --- a/docs/developer-resources/books.md +++ b/docs/developer-resources/books.md @@ -4,61 +4,61 @@ Angular. Vue. React. Vanilla JavaScript. All of these tools can be used to create awesome applications with Ionic, thanks to the new Stencil compiler. This book is aimed at beginners that are looking to create amazing web, mobile and desktop applications using Ionic with examples across all of the popular frameworks. -// cspell:disable-next-line + by [Paul Halliday](https:://developer.school) ### [Creating Ionic Applications with StencilJS](https://www.joshmorony.com/creating-ionic-applications-with-stencil-js/) - [Free Preview](https://cdn2.hubspot.net/hubfs/3776657/PREVIEW-Creating-Ionic-Apps-with-StencilJS.pdf) As well as being a powerful tool for generating reuseable web components, StencilJS provides the tools needed to build an entire application out of web components. Combined with the Ionic web components, StencilJS gives us everything we need to build high-quality production mobile applications - no framework required. -// cspell:disable-next-line + by [Joshua Morony](https://www.joshmorony.com/blog) ### [Mobile App Development with Ionic: Cross-Platform Apps with Ionic 2, Angular 2, and Cordova](https://www.amazon.com/Mobile-App-Development-Ionic-Cross-Platform/dp/1491937785/ref=sr_1_2?ie=UTF8&qid=1464183332&sr=8-2&keywords=ionic+2) -// cspell:disable-next-line + by Chris Griffith ### [Building Mobile Apps with Ionic & Angular](https://www.joshmorony.com/building-mobile-apps-with-ionic-2/) -// cspell:disable-next-line + by [Joshua Morony](https://www.joshmorony.com/blog) Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning the latest and greatest version of Ionic. It is targeted at beginners and works its way through the basics of Ionic, to example applications of varying complexity, and then to the steps required to build and publish your application (on the app stores or as a PWA). It has been updated for every major release, so you can rest easy knowing that you're not learning outdated tech. ### [Ionic 2 From Zero to App Store](https://devdactic.com/zero-to-app) -// cspell:disable-next-line + by Simon Reimler ### [Ionic Framework By Example](https://www.packtpub.com/application-development/ionic-framework-example) -// cspell:disable-next-line + by Sani Yusuf ### [Building Firestore Powered Ionic Apps](https://javebratt.com/ionic-firebase-book/) -// cspell:disable-next-line + by Jorge Vergara This book will help you go from not knowing what Firebase is to be able to use the different APIs for your Ionic Applications. It will take you from “_What’s Firebase?_” to building scalable, production-ready apps and it’s always up-to-date with latest Ionic and Firebase versions. ### [Ionic 2 Cookbook - Second Edition](https://www.amazon.com/Ionic-Cookbook-Second-Hoc-Phan-ebook/dp/B01C4D9VWS?ie=UTF8&keywords=ionic%202&qid=1464183332&ref_=sr_1_3&sr=8-3) -// cspell:disable-next-line + by Hoc Phan ### [Mastering Ionic 2](https://www.leanpub.com/masteringionic2) -// cspell:disable-next-line + by James Griffiths ### [Learning Ionic](https://www.packtpub.com/in/application-development/learning-ionic) (Ionic 1) -// cspell:disable-next-line + by Arvind Ravulavaru ### [Learning Ionic - Second Edition](https://www.packtpub.com/in/web-development/learning-ionic-second-edition) (Ionic 2/3) -// cspell:disable-next-line + by Arvind Ravulavaru diff --git a/docs/developer-resources/courses.md b/docs/developer-resources/courses.md index a0ee11979f8..6cf1847314f 100644 --- a/docs/developer-resources/courses.md +++ b/docs/developer-resources/courses.md @@ -2,28 +2,28 @@ ### [Elite Ionic](https://www.joshmorony.com/elite/) -// cspell:disable-next-line + by Josh Morony Elite Ionic is an online course for Ionic developers who want to move past the basics, and build complex, well tested, high performing, beautiful, and useable mobile applications. It is recommended that you already have a reasonably solid understanding of the basics of Ionic before starting this course. ### [Ionic Academy](https://ionicacademy.com/) -// cspell:disable-next-line + by Simon Grimm Learn Ionic with step-by-step video courses & quick wins from one of the Ionic community leaders. Covers beginner, intermediate and advanced topics. Get access to a community of developers just like you. ### [Ionic Framework: Tips, Tricks & Techniques](https://www.packtpub.com/mobile/ionic-framework-tips-tricks-and-techniques-video) -// cspell:disable-next-line + by Charles Muzonzini In this course, you will master tips and best practices for Ionic 4 & Ionic 5 that you can immediately implement to build high quality apps. This course covers a wide variety of topics from increasing app performance, to building custom native plugins, to securing your apps. It's a practical, hands-on course that will take your app building skills to the next level. ### [Building Desktop Apps with Ionic and Electron](https://pluralsight.pxf.io/VeMXO) -// cspell:disable-next-line + by Michael Callaghan at Pluralsight Desktop development has historically required dramatically different skills than those required for web @@ -37,7 +37,7 @@ Windows and macOS users. ### [Building Progressive Web Apps with Ionic](https://pluralsight.pxf.io/Ly2EY) -// cspell:disable-next-line + by Michael Callaghan at Pluralsight Everything changed when Google created the concept of Progressive Web Applications or PWA. A PWA is a pure web @@ -53,7 +53,7 @@ Progressive Web Application anywhere you desire. ### [Ionic CLI](https://pluralsight.pxf.io/ionic-cli) -// cspell:disable-next-line + by Michael Callaghan at Pluralsight Since its inception, the Ionic Framework has included a rudimentary command line interface. Though only a few @@ -66,30 +66,30 @@ the confidence to use the Ionic CLI as part of your everyday Ionic development. ### [Wordpress Rest API and Ionic 4 (Angular) App With Auth](https://www.udemy.com/course/wordpress-rest-api-and-ionic-3-crud/) -// cspell:disable-next-line + by Baljeet Singh at Udemy ### [Building Mobile Apps with Ionic 2, Angular 2, and TypeScript](https://app.pluralsight.com/library/courses/ionic2-angular2-typescript-mobile-apps/table-of-contents) -// cspell:disable-next-line + by Pluralsight ### [Introducing Ionic 2](http://shop.oreilly.com/product/0636920050353.do) -// cspell:disable-next-line + by Mathieu Chauvinc ### [Ionic 2 Master Course](https://www.udemy.com/ionic-2-tutorial/) -// cspell:disable-next-line + by Udemy ### [Introducing Ionic 2](https://www.udemy.com/introducing-ionic-2/) -// cspell:disable-next-line + by Udemy ### [Ionic 2 Solutions](https://www.packtpub.com/web-development/ionic-2-solutions-video) -// cspell:disable-next-line + by Hoc Phan diff --git a/docs/react/navigation.md b/docs/react/navigation.md index 2bced304bac..2c1efa761e2 100644 --- a/docs/react/navigation.md +++ b/docs/react/navigation.md @@ -647,8 +647,8 @@ For more info on routing in React using the React Router implementation that Ion ## From the Community -// cspell:disable + [Ionic 4 and React: Navigation](https://alligator.io/ionic/ionic-4-react-navigation) - Paul Halliday -// cspell:enable + diff --git a/docs/reference/glossary.md b/docs/reference/glossary.md index d19dfb2686e..e23496d24a3 100644 --- a/docs/reference/glossary.md +++ b/docs/reference/glossary.md @@ -92,13 +92,13 @@ title: Glossary

+ +

CLI

- // cspell:disable-next-line - A CLI, or Command-Line Interface, is a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often use Command Prompt. The Ionic community often uses this term to refer to{' '} @@ -108,10 +108,11 @@ title: Glossary Ionic commercial services . -

+ +

CommonJS

diff --git a/docs/vue/overview.md b/docs/vue/overview.md index b4a83931080..045cb75b123 100644 --- a/docs/vue/overview.md +++ b/docs/vue/overview.md @@ -32,12 +32,12 @@ While there are no known technical limitations to using `Ionic Vue` with [Cordov ## From the Community -// cspell:disable + - [Using Vue.js with Ionic & Capacitor](https://dev.to/aaronksaunders/using-vue-js-v3-beta-with-ionic-components-capacitor-plugins-2b6f) - Aaron Saunders - [Building Mobile Apps With Vue3 and Ionic](https://soshace.com/building-mobile-apps-with-vue3-and-ionic/) - Oluwaseun Raphael Afolayan -// cspell:enable + ## Installation diff --git a/src/components/global/Playground/README.md b/src/components/global/Playground/README.md index 2eba3a5f34b..7c5cceb3413 100644 --- a/src/components/global/Playground/README.md +++ b/src/components/global/Playground/README.md @@ -46,7 +46,7 @@ import javascript from './javascript.md'; />; ``` -// cspell:disable-next-line + The file location is respective to the StackBlitz demo project. If you are unsure of the exact path, refer to the `stackblitz.utils.ts` method for each respective target. The path specified in `sdk.openProject` will coincide with the value used in the `files` configuration. ## Creating a New Playground diff --git a/versioned_docs/version-v5/angular/performance.md b/versioned_docs/version-v5/angular/performance.md index 8bfb0926f12..1a4369e3f82 100644 --- a/versioned_docs/version-v5/angular/performance.md +++ b/versioned_docs/version-v5/angular/performance.md @@ -49,7 +49,7 @@ For more information on how Angular manages change propagation with `ngFor` see ## From the Community -// cspell:disable + [High Performance Animations in Ionic](https://www.joshmorony.com/high-performance-animations-in-ionic/) - Josh Morony @@ -59,7 +59,7 @@ For more information on how Angular manages change propagation with `ngFor` see [Ionic Framework is Fast (But Your Code Might Not Be)](https://www.joshmorony.com/ionic-framework-is-fast-but-your-code-might-not-be/) - Josh Morony -// cspell:enable + :::note Do you have a guide you'd like to share? Click the _Edit this page_ button below. diff --git a/versioned_docs/version-v5/core-concepts/what-are-progressive-web-apps.md b/versioned_docs/version-v5/core-concepts/what-are-progressive-web-apps.md index 526b2523401..4663faec695 100644 --- a/versioned_docs/version-v5/core-concepts/what-are-progressive-web-apps.md +++ b/versioned_docs/version-v5/core-concepts/what-are-progressive-web-apps.md @@ -40,14 +40,15 @@ To be considered a Progressive Web App, your app must be: - Linkable - Easily share via URL and not require complex installation. -// cspell:disable +
Addy Osmani: Progressive web apps -// cspell:enable + + There is a lot here, but it boils down to a few points for Ionic apps. diff --git a/versioned_docs/version-v5/developer-resources/books.md b/versioned_docs/version-v5/developer-resources/books.md index 35bf9faa72e..6efc49db185 100644 --- a/versioned_docs/version-v5/developer-resources/books.md +++ b/versioned_docs/version-v5/developer-resources/books.md @@ -4,61 +4,61 @@ Angular. Vue. React. Vanilla JavaScript. All of these tools can be used to create awesome applications with Ionic, thanks to the new Stencil compiler. This book is aimed at beginners that are looking to create amazing web, mobile and desktop applications using Ionic with examples across all of the popular frameworks. -// cspell:disable-next-line + by [Paul Halliday](https:://developer.school) ### [Creating Ionic Applications with StencilJS](https://www.joshmorony.com/creating-ionic-applications-with-stencil-js/) - [Free Preview](https://cdn2.hubspot.net/hubfs/3776657/PREVIEW-Creating-Ionic-Apps-with-StencilJS.pdf) As well as being a powerful tool for generating reuseable web components, StencilJS provides the tools needed to build an entire application out of web components. Combined with the Ionic web components, StencilJS gives us everything we need to build high-quality production mobile applications - no framework required. -// cspell:disable-next-line + by [Joshua Morony](https://www.joshmorony.com/blog) ### [Mobile App Development with Ionic: Cross-Platform Apps with Ionic 2, Angular 2, and Cordova](https://www.amazon.com/Mobile-App-Development-Ionic-Cross-Platform/dp/1491937785/ref=sr_1_2?ie=UTF8&qid=1464183332&sr=8-2&keywords=ionic+2) -// cspell:disable-next-line + by Chris Griffith ### [Building Mobile Apps with Ionic & Angular](https://www.joshmorony.com/building-mobile-apps-with-ionic-2/) -// cspell:disable-next-line + by [Joshua Morony](https://www.joshmorony.com/blog) Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning the latest and greatest version of Ionic. It is targeted at beginners and works its way through the basics of Ionic, to example applications of varying complexity, and then to the steps required to build and publish your application (on the app stores or as a PWA). It has been updated for every major release, so you can rest easy knowing that you're not learning outdated tech. ### [Ionic 2 From Zero to App Store](https://devdactic.com/zero-to-app) -// cspell:disable-next-line + by Simon Reimler ### [Ionic Framework By Example](https://www.packtpub.com/application-development/ionic-framework-example) -// cspell:disable-next-line + by Sani Yusuf ### [Building Firestore Powered Ionic Apps](https://javebratt.com/ionic-firebase-book/) -// cspell:disable-next-line + by Jorge Vergara This book will help you go from not knowing what Firebase is to be able to use the different APIs for your Ionic Applications. It will take you from “_What’s Firebase?_” to building scalable, production-ready apps and it’s always up-to-date with latest Ionic and Firebase versions. ### [Ionic 2 Cookbook - Second Edition](https://www.amazon.com/Ionic-Cookbook-Second-Hoc-Phan-ebook/dp/B01C4D9VWS?ie=UTF8&keywords=ionic%202&qid=1464183332&ref_=sr_1_3&sr=8-3) -// cspell:disable-next-line + by Hoc Phan ### [Mastering Ionic 2](https://www.leanpub.com/masteringionic2) -// cspell:disable-next-line + by James Griffiths ### [Learning Ionic](https://www.packtpub.com/in/application-development/learning-ionic) (Ionic 1) -// cspell:disable-next-line + by Arvind Ravulavaru ### [Learning Ionic - Second Edition](https://www.packtpub.com/in/web-development/learning-ionic-second-edition) (Ionic 2/3) -// cspell:disable-next-line + by Arvind Ravulavaru diff --git a/versioned_docs/version-v5/developer-resources/courses.md b/versioned_docs/version-v5/developer-resources/courses.md index a0ee11979f8..6cf1847314f 100644 --- a/versioned_docs/version-v5/developer-resources/courses.md +++ b/versioned_docs/version-v5/developer-resources/courses.md @@ -2,28 +2,28 @@ ### [Elite Ionic](https://www.joshmorony.com/elite/) -// cspell:disable-next-line + by Josh Morony Elite Ionic is an online course for Ionic developers who want to move past the basics, and build complex, well tested, high performing, beautiful, and useable mobile applications. It is recommended that you already have a reasonably solid understanding of the basics of Ionic before starting this course. ### [Ionic Academy](https://ionicacademy.com/) -// cspell:disable-next-line + by Simon Grimm Learn Ionic with step-by-step video courses & quick wins from one of the Ionic community leaders. Covers beginner, intermediate and advanced topics. Get access to a community of developers just like you. ### [Ionic Framework: Tips, Tricks & Techniques](https://www.packtpub.com/mobile/ionic-framework-tips-tricks-and-techniques-video) -// cspell:disable-next-line + by Charles Muzonzini In this course, you will master tips and best practices for Ionic 4 & Ionic 5 that you can immediately implement to build high quality apps. This course covers a wide variety of topics from increasing app performance, to building custom native plugins, to securing your apps. It's a practical, hands-on course that will take your app building skills to the next level. ### [Building Desktop Apps with Ionic and Electron](https://pluralsight.pxf.io/VeMXO) -// cspell:disable-next-line + by Michael Callaghan at Pluralsight Desktop development has historically required dramatically different skills than those required for web @@ -37,7 +37,7 @@ Windows and macOS users. ### [Building Progressive Web Apps with Ionic](https://pluralsight.pxf.io/Ly2EY) -// cspell:disable-next-line + by Michael Callaghan at Pluralsight Everything changed when Google created the concept of Progressive Web Applications or PWA. A PWA is a pure web @@ -53,7 +53,7 @@ Progressive Web Application anywhere you desire. ### [Ionic CLI](https://pluralsight.pxf.io/ionic-cli) -// cspell:disable-next-line + by Michael Callaghan at Pluralsight Since its inception, the Ionic Framework has included a rudimentary command line interface. Though only a few @@ -66,30 +66,30 @@ the confidence to use the Ionic CLI as part of your everyday Ionic development. ### [Wordpress Rest API and Ionic 4 (Angular) App With Auth](https://www.udemy.com/course/wordpress-rest-api-and-ionic-3-crud/) -// cspell:disable-next-line + by Baljeet Singh at Udemy ### [Building Mobile Apps with Ionic 2, Angular 2, and TypeScript](https://app.pluralsight.com/library/courses/ionic2-angular2-typescript-mobile-apps/table-of-contents) -// cspell:disable-next-line + by Pluralsight ### [Introducing Ionic 2](http://shop.oreilly.com/product/0636920050353.do) -// cspell:disable-next-line + by Mathieu Chauvinc ### [Ionic 2 Master Course](https://www.udemy.com/ionic-2-tutorial/) -// cspell:disable-next-line + by Udemy ### [Introducing Ionic 2](https://www.udemy.com/introducing-ionic-2/) -// cspell:disable-next-line + by Udemy ### [Ionic 2 Solutions](https://www.packtpub.com/web-development/ionic-2-solutions-video) -// cspell:disable-next-line + by Hoc Phan diff --git a/versioned_docs/version-v5/react/navigation.md b/versioned_docs/version-v5/react/navigation.md index d5eb628e78b..6405fae835d 100644 --- a/versioned_docs/version-v5/react/navigation.md +++ b/versioned_docs/version-v5/react/navigation.md @@ -281,8 +281,8 @@ For more info on routing in React using React Router, check out their docs at [h ## From the Community -// cspell:disable + [Ionic 4 and React: Navigation](https://alligator.io/ionic/ionic-4-react-navigation) - Paul Halliday -// cspell:enable + diff --git a/versioned_docs/version-v5/reference/glossary.md b/versioned_docs/version-v5/reference/glossary.md index 470ba7a1d20..138853b05a7 100644 --- a/versioned_docs/version-v5/reference/glossary.md +++ b/versioned_docs/version-v5/reference/glossary.md @@ -68,13 +68,13 @@

+ +

CLI

- // cspell:disable-next-line - A CLI, or Command-Line Interface, is a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often use Command Prompt. The Ionic community often uses this term to refer to{' '} @@ -84,10 +84,11 @@ Ionic commercial services . -

+ +

CommonJS

diff --git a/versioned_docs/version-v5/utilities/animations.md b/versioned_docs/version-v5/utilities/animations.md index eddcf310cc9..15651651402 100644 --- a/versioned_docs/version-v5/utilities/animations.md +++ b/versioned_docs/version-v5/utilities/animations.md @@ -507,8 +507,7 @@ const parent = createAnimation() This example shows 3 child animations controlled by a single parent animation. Animations `squareA` and `squareB` inherit the parent animation's duration of 2000ms, but animation `squareC` has a duration of 5000ms since it was explicitly set. -// cspell:disable-next-line - + ## Before and After Hooks @@ -626,8 +625,7 @@ In this example, an inline opacity of 0.2 is set on the `.square` element prior See [Methods](#methods) for a complete list of hooks. -// cspell:disable-next-line - + ## Chained Animations @@ -1494,8 +1492,7 @@ export default defineComponent({ ```` -// cspell:disable-next-line - + ## Performance Considerations diff --git a/versioned_docs/version-v6/angular/performance.md b/versioned_docs/version-v6/angular/performance.md index b45d46377e0..62877e6e4dd 100644 --- a/versioned_docs/version-v6/angular/performance.md +++ b/versioned_docs/version-v6/angular/performance.md @@ -56,7 +56,7 @@ For more information on how Angular manages change propagation with `ngFor` see ## From the Community -// cspell:disable + [High Performance Animations in Ionic](https://www.joshmorony.com/high-performance-animations-in-ionic/) - Josh Morony @@ -66,7 +66,7 @@ For more information on how Angular manages change propagation with `ngFor` see [Ionic Framework is Fast (But Your Code Might Not Be)](https://www.joshmorony.com/ionic-framework-is-fast-but-your-code-might-not-be/) - Josh Morony -// cspell:enable + :::note Do you have a guide you'd like to share? Click the _Edit this page_ button below. diff --git a/versioned_docs/version-v6/core-concepts/what-are-progressive-web-apps.md b/versioned_docs/version-v6/core-concepts/what-are-progressive-web-apps.md index a0a3aea4aba..2310a451f01 100644 --- a/versioned_docs/version-v6/core-concepts/what-are-progressive-web-apps.md +++ b/versioned_docs/version-v6/core-concepts/what-are-progressive-web-apps.md @@ -47,14 +47,15 @@ To be considered a Progressive Web App, your app must be: - Linkable - Easily share via URL and not require complex installation. -// cspell:disable +
Addy Osmani: Progressive web apps -// cspell:enable + + There is a lot here, but it boils down to a few points for Ionic apps. diff --git a/versioned_docs/version-v6/developer-resources/books.md b/versioned_docs/version-v6/developer-resources/books.md index 35bf9faa72e..6efc49db185 100644 --- a/versioned_docs/version-v6/developer-resources/books.md +++ b/versioned_docs/version-v6/developer-resources/books.md @@ -4,61 +4,61 @@ Angular. Vue. React. Vanilla JavaScript. All of these tools can be used to create awesome applications with Ionic, thanks to the new Stencil compiler. This book is aimed at beginners that are looking to create amazing web, mobile and desktop applications using Ionic with examples across all of the popular frameworks. -// cspell:disable-next-line + by [Paul Halliday](https:://developer.school) ### [Creating Ionic Applications with StencilJS](https://www.joshmorony.com/creating-ionic-applications-with-stencil-js/) - [Free Preview](https://cdn2.hubspot.net/hubfs/3776657/PREVIEW-Creating-Ionic-Apps-with-StencilJS.pdf) As well as being a powerful tool for generating reuseable web components, StencilJS provides the tools needed to build an entire application out of web components. Combined with the Ionic web components, StencilJS gives us everything we need to build high-quality production mobile applications - no framework required. -// cspell:disable-next-line + by [Joshua Morony](https://www.joshmorony.com/blog) ### [Mobile App Development with Ionic: Cross-Platform Apps with Ionic 2, Angular 2, and Cordova](https://www.amazon.com/Mobile-App-Development-Ionic-Cross-Platform/dp/1491937785/ref=sr_1_2?ie=UTF8&qid=1464183332&sr=8-2&keywords=ionic+2) -// cspell:disable-next-line + by Chris Griffith ### [Building Mobile Apps with Ionic & Angular](https://www.joshmorony.com/building-mobile-apps-with-ionic-2/) -// cspell:disable-next-line + by [Joshua Morony](https://www.joshmorony.com/blog) Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning the latest and greatest version of Ionic. It is targeted at beginners and works its way through the basics of Ionic, to example applications of varying complexity, and then to the steps required to build and publish your application (on the app stores or as a PWA). It has been updated for every major release, so you can rest easy knowing that you're not learning outdated tech. ### [Ionic 2 From Zero to App Store](https://devdactic.com/zero-to-app) -// cspell:disable-next-line + by Simon Reimler ### [Ionic Framework By Example](https://www.packtpub.com/application-development/ionic-framework-example) -// cspell:disable-next-line + by Sani Yusuf ### [Building Firestore Powered Ionic Apps](https://javebratt.com/ionic-firebase-book/) -// cspell:disable-next-line + by Jorge Vergara This book will help you go from not knowing what Firebase is to be able to use the different APIs for your Ionic Applications. It will take you from “_What’s Firebase?_” to building scalable, production-ready apps and it’s always up-to-date with latest Ionic and Firebase versions. ### [Ionic 2 Cookbook - Second Edition](https://www.amazon.com/Ionic-Cookbook-Second-Hoc-Phan-ebook/dp/B01C4D9VWS?ie=UTF8&keywords=ionic%202&qid=1464183332&ref_=sr_1_3&sr=8-3) -// cspell:disable-next-line + by Hoc Phan ### [Mastering Ionic 2](https://www.leanpub.com/masteringionic2) -// cspell:disable-next-line + by James Griffiths ### [Learning Ionic](https://www.packtpub.com/in/application-development/learning-ionic) (Ionic 1) -// cspell:disable-next-line + by Arvind Ravulavaru ### [Learning Ionic - Second Edition](https://www.packtpub.com/in/web-development/learning-ionic-second-edition) (Ionic 2/3) -// cspell:disable-next-line + by Arvind Ravulavaru diff --git a/versioned_docs/version-v6/developer-resources/courses.md b/versioned_docs/version-v6/developer-resources/courses.md index a0ee11979f8..6cf1847314f 100644 --- a/versioned_docs/version-v6/developer-resources/courses.md +++ b/versioned_docs/version-v6/developer-resources/courses.md @@ -2,28 +2,28 @@ ### [Elite Ionic](https://www.joshmorony.com/elite/) -// cspell:disable-next-line + by Josh Morony Elite Ionic is an online course for Ionic developers who want to move past the basics, and build complex, well tested, high performing, beautiful, and useable mobile applications. It is recommended that you already have a reasonably solid understanding of the basics of Ionic before starting this course. ### [Ionic Academy](https://ionicacademy.com/) -// cspell:disable-next-line + by Simon Grimm Learn Ionic with step-by-step video courses & quick wins from one of the Ionic community leaders. Covers beginner, intermediate and advanced topics. Get access to a community of developers just like you. ### [Ionic Framework: Tips, Tricks & Techniques](https://www.packtpub.com/mobile/ionic-framework-tips-tricks-and-techniques-video) -// cspell:disable-next-line + by Charles Muzonzini In this course, you will master tips and best practices for Ionic 4 & Ionic 5 that you can immediately implement to build high quality apps. This course covers a wide variety of topics from increasing app performance, to building custom native plugins, to securing your apps. It's a practical, hands-on course that will take your app building skills to the next level. ### [Building Desktop Apps with Ionic and Electron](https://pluralsight.pxf.io/VeMXO) -// cspell:disable-next-line + by Michael Callaghan at Pluralsight Desktop development has historically required dramatically different skills than those required for web @@ -37,7 +37,7 @@ Windows and macOS users. ### [Building Progressive Web Apps with Ionic](https://pluralsight.pxf.io/Ly2EY) -// cspell:disable-next-line + by Michael Callaghan at Pluralsight Everything changed when Google created the concept of Progressive Web Applications or PWA. A PWA is a pure web @@ -53,7 +53,7 @@ Progressive Web Application anywhere you desire. ### [Ionic CLI](https://pluralsight.pxf.io/ionic-cli) -// cspell:disable-next-line + by Michael Callaghan at Pluralsight Since its inception, the Ionic Framework has included a rudimentary command line interface. Though only a few @@ -66,30 +66,30 @@ the confidence to use the Ionic CLI as part of your everyday Ionic development. ### [Wordpress Rest API and Ionic 4 (Angular) App With Auth](https://www.udemy.com/course/wordpress-rest-api-and-ionic-3-crud/) -// cspell:disable-next-line + by Baljeet Singh at Udemy ### [Building Mobile Apps with Ionic 2, Angular 2, and TypeScript](https://app.pluralsight.com/library/courses/ionic2-angular2-typescript-mobile-apps/table-of-contents) -// cspell:disable-next-line + by Pluralsight ### [Introducing Ionic 2](http://shop.oreilly.com/product/0636920050353.do) -// cspell:disable-next-line + by Mathieu Chauvinc ### [Ionic 2 Master Course](https://www.udemy.com/ionic-2-tutorial/) -// cspell:disable-next-line + by Udemy ### [Introducing Ionic 2](https://www.udemy.com/introducing-ionic-2/) -// cspell:disable-next-line + by Udemy ### [Ionic 2 Solutions](https://www.packtpub.com/web-development/ionic-2-solutions-video) -// cspell:disable-next-line + by Hoc Phan diff --git a/versioned_docs/version-v6/react/navigation.md b/versioned_docs/version-v6/react/navigation.md index f64d9693733..7542cb07e15 100644 --- a/versioned_docs/version-v6/react/navigation.md +++ b/versioned_docs/version-v6/react/navigation.md @@ -588,8 +588,8 @@ For more info on routing in React using React Router, check out their docs at [h ## From the Community -// cspell:disable + [Ionic 4 and React: Navigation](https://alligator.io/ionic/ionic-4-react-navigation) - Paul Halliday -// cspell:enable + diff --git a/versioned_docs/version-v6/reference/glossary.md b/versioned_docs/version-v6/reference/glossary.md index 667288b403a..120435debb1 100644 --- a/versioned_docs/version-v6/reference/glossary.md +++ b/versioned_docs/version-v6/reference/glossary.md @@ -78,13 +78,13 @@ title: Glossary

+ +

CLI

- // cspell:disable-next-line - A CLI, or Command-Line Interface, is a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often use Command Prompt. The Ionic community often uses this term to refer to{' '} @@ -94,10 +94,11 @@ title: Glossary Ionic commercial services . -

+ +

CommonJS

diff --git a/versioned_docs/version-v6/utilities/animations.md b/versioned_docs/version-v6/utilities/animations.md index b7c8a742235..3fb550d6ba7 100644 --- a/versioned_docs/version-v6/utilities/animations.md +++ b/versioned_docs/version-v6/utilities/animations.md @@ -517,8 +517,7 @@ const parent = createAnimation() This example shows 3 child animations controlled by a single parent animation. Animations `squareA` and `squareB` inherit the parent animation's duration of 2000ms, but animation `squareC` has a duration of 5000ms since it was explicitly set. -// cspell:disable-next-line - + ## Before and After Hooks @@ -636,8 +635,7 @@ In this example, an inline opacity of 0.2 is set on the `.square` element prior See [Methods](#methods) for a complete list of hooks. -// cspell:disable-next-line - + ## Chained Animations @@ -1512,8 +1510,7 @@ export default defineComponent({ ```` -// cspell:disable-next-line - + ## Performance Considerations diff --git a/versioned_docs/version-v6/vue/overview.md b/versioned_docs/version-v6/vue/overview.md index b4a83931080..045cb75b123 100644 --- a/versioned_docs/version-v6/vue/overview.md +++ b/versioned_docs/version-v6/vue/overview.md @@ -32,12 +32,12 @@ While there are no known technical limitations to using `Ionic Vue` with [Cordov ## From the Community -// cspell:disable + - [Using Vue.js with Ionic & Capacitor](https://dev.to/aaronksaunders/using-vue-js-v3-beta-with-ionic-components-capacitor-plugins-2b6f) - Aaron Saunders - [Building Mobile Apps With Vue3 and Ionic](https://soshace.com/building-mobile-apps-with-vue3-and-ionic/) - Oluwaseun Raphael Afolayan -// cspell:enable + ## Installation From 0bd13f09089c05061c6674a4163e6d3579f6df85 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 21 Sep 2023 12:54:15 -0400 Subject: [PATCH 12/29] style: lint --- CONTRIBUTING.md | 1 + docs/developer-resources/books.md | 11 +++++++++++ docs/developer-resources/courses.md | 12 ++++++++++++ docs/reference/glossary.md | 6 +++--- src/components/global/Playground/README.md | 1 + .../version-v5/developer-resources/books.md | 11 +++++++++++ .../version-v5/developer-resources/courses.md | 12 ++++++++++++ versioned_docs/version-v5/reference/glossary.md | 6 +++--- versioned_docs/version-v5/utilities/animations.md | 3 +++ .../version-v6/developer-resources/books.md | 11 +++++++++++ .../version-v6/developer-resources/courses.md | 12 ++++++++++++ versioned_docs/version-v6/reference/glossary.md | 6 +++--- versioned_docs/version-v6/utilities/animations.md | 3 +++ 13 files changed, 86 insertions(+), 9 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ccc7ce04a3f..c17de038aa9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -88,6 +88,7 @@ We use Crowdin for our translation service. You can participate in the translati _Please submit translation issues to the Crowdin page and not the Ionic Docs GitHub repo._ + The Japanese translation of the docs were built by an independent team, lead by [rdlabo](https://github.com/rdlabo) and can be found and contributed to on the [ionic-jp group's `ionic-docs` project page](https://github.com/ionic-jp/ionic-docs). ## Reporting Issues diff --git a/docs/developer-resources/books.md b/docs/developer-resources/books.md index 6efc49db185..1a51bc94e8f 100644 --- a/docs/developer-resources/books.md +++ b/docs/developer-resources/books.md @@ -5,6 +5,7 @@ Angular. Vue. React. Vanilla JavaScript. All of these tools can be used to create awesome applications with Ionic, thanks to the new Stencil compiler. This book is aimed at beginners that are looking to create amazing web, mobile and desktop applications using Ionic with examples across all of the popular frameworks. + by [Paul Halliday](https:://developer.school) ### [Creating Ionic Applications with StencilJS](https://www.joshmorony.com/creating-ionic-applications-with-stencil-js/) - [Free Preview](https://cdn2.hubspot.net/hubfs/3776657/PREVIEW-Creating-Ionic-Apps-with-StencilJS.pdf) @@ -12,16 +13,19 @@ by [Paul Halliday](https:://developer.school) As well as being a powerful tool for generating reuseable web components, StencilJS provides the tools needed to build an entire application out of web components. Combined with the Ionic web components, StencilJS gives us everything we need to build high-quality production mobile applications - no framework required. + by [Joshua Morony](https://www.joshmorony.com/blog) ### [Mobile App Development with Ionic: Cross-Platform Apps with Ionic 2, Angular 2, and Cordova](https://www.amazon.com/Mobile-App-Development-Ionic-Cross-Platform/dp/1491937785/ref=sr_1_2?ie=UTF8&qid=1464183332&sr=8-2&keywords=ionic+2) + by Chris Griffith ### [Building Mobile Apps with Ionic & Angular](https://www.joshmorony.com/building-mobile-apps-with-ionic-2/) + by [Joshua Morony](https://www.joshmorony.com/blog) Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning the latest and greatest version of Ionic. It is targeted at beginners and works its way through the basics of Ionic, to example applications of varying complexity, and then to the steps required to build and publish your application (on the app stores or as a PWA). It has been updated for every major release, so you can rest easy knowing that you're not learning outdated tech. @@ -29,16 +33,19 @@ Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning ### [Ionic 2 From Zero to App Store](https://devdactic.com/zero-to-app) + by Simon Reimler ### [Ionic Framework By Example](https://www.packtpub.com/application-development/ionic-framework-example) + by Sani Yusuf ### [Building Firestore Powered Ionic Apps](https://javebratt.com/ionic-firebase-book/) + by Jorge Vergara This book will help you go from not knowing what Firebase is to be able to use the different APIs for your Ionic Applications. It will take you from “_What’s Firebase?_” to building scalable, production-ready apps and it’s always up-to-date with latest Ionic and Firebase versions. @@ -46,19 +53,23 @@ This book will help you go from not knowing what Firebase is to be able to use t ### [Ionic 2 Cookbook - Second Edition](https://www.amazon.com/Ionic-Cookbook-Second-Hoc-Phan-ebook/dp/B01C4D9VWS?ie=UTF8&keywords=ionic%202&qid=1464183332&ref_=sr_1_3&sr=8-3) + by Hoc Phan ### [Mastering Ionic 2](https://www.leanpub.com/masteringionic2) + by James Griffiths ### [Learning Ionic](https://www.packtpub.com/in/application-development/learning-ionic) (Ionic 1) + by Arvind Ravulavaru ### [Learning Ionic - Second Edition](https://www.packtpub.com/in/web-development/learning-ionic-second-edition) (Ionic 2/3) + by Arvind Ravulavaru diff --git a/docs/developer-resources/courses.md b/docs/developer-resources/courses.md index 6cf1847314f..900a2c51084 100644 --- a/docs/developer-resources/courses.md +++ b/docs/developer-resources/courses.md @@ -3,6 +3,7 @@ ### [Elite Ionic](https://www.joshmorony.com/elite/) + by Josh Morony Elite Ionic is an online course for Ionic developers who want to move past the basics, and build complex, well tested, high performing, beautiful, and useable mobile applications. It is recommended that you already have a reasonably solid understanding of the basics of Ionic before starting this course. @@ -10,6 +11,7 @@ Elite Ionic is an online course for Ionic developers who want to move past the b ### [Ionic Academy](https://ionicacademy.com/) + by Simon Grimm Learn Ionic with step-by-step video courses & quick wins from one of the Ionic community leaders. Covers beginner, intermediate and advanced topics. Get access to a community of developers just like you. @@ -17,6 +19,7 @@ Learn Ionic with step-by-step video courses & quick wins from one of the Ionic c ### [Ionic Framework: Tips, Tricks & Techniques](https://www.packtpub.com/mobile/ionic-framework-tips-tricks-and-techniques-video) + by Charles Muzonzini In this course, you will master tips and best practices for Ionic 4 & Ionic 5 that you can immediately implement to build high quality apps. This course covers a wide variety of topics from increasing app performance, to building custom native plugins, to securing your apps. It's a practical, hands-on course that will take your app building skills to the next level. @@ -24,6 +27,7 @@ In this course, you will master tips and best practices for Ionic 4 & Ionic 5 th ### [Building Desktop Apps with Ionic and Electron](https://pluralsight.pxf.io/VeMXO) + by Michael Callaghan at Pluralsight Desktop development has historically required dramatically different skills than those required for web @@ -38,6 +42,7 @@ Windows and macOS users. ### [Building Progressive Web Apps with Ionic](https://pluralsight.pxf.io/Ly2EY) + by Michael Callaghan at Pluralsight Everything changed when Google created the concept of Progressive Web Applications or PWA. A PWA is a pure web @@ -54,6 +59,7 @@ Progressive Web Application anywhere you desire. ### [Ionic CLI](https://pluralsight.pxf.io/ionic-cli) + by Michael Callaghan at Pluralsight Since its inception, the Ionic Framework has included a rudimentary command line interface. Though only a few @@ -67,29 +73,35 @@ the confidence to use the Ionic CLI as part of your everyday Ionic development. ### [Wordpress Rest API and Ionic 4 (Angular) App With Auth](https://www.udemy.com/course/wordpress-rest-api-and-ionic-3-crud/) + by Baljeet Singh at Udemy ### [Building Mobile Apps with Ionic 2, Angular 2, and TypeScript](https://app.pluralsight.com/library/courses/ionic2-angular2-typescript-mobile-apps/table-of-contents) + by Pluralsight ### [Introducing Ionic 2](http://shop.oreilly.com/product/0636920050353.do) + by Mathieu Chauvinc ### [Ionic 2 Master Course](https://www.udemy.com/ionic-2-tutorial/) + by Udemy ### [Introducing Ionic 2](https://www.udemy.com/introducing-ionic-2/) + by Udemy ### [Ionic 2 Solutions](https://www.packtpub.com/web-development/ionic-2-solutions-video) + by Hoc Phan diff --git a/docs/reference/glossary.md b/docs/reference/glossary.md index e23496d24a3..110d5514beb 100644 --- a/docs/reference/glossary.md +++ b/docs/reference/glossary.md @@ -99,9 +99,9 @@ title: Glossary

CLI

- A CLI, or Command-Line Interface, is - a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal - app, and Windows users often use Command Prompt. The Ionic community often uses this term to refer to{' '} + A CLI, or Command-Line Interface, is a text-based interface for + interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often + use Command Prompt. The Ionic community often uses this term to refer to{' '} Ionic's CLI. Ionic's CLI can be used for a number of things, such as creating production builds of an app, running the development server, and accessing{' '} diff --git a/src/components/global/Playground/README.md b/src/components/global/Playground/README.md index 7c5cceb3413..f9975a9fb62 100644 --- a/src/components/global/Playground/README.md +++ b/src/components/global/Playground/README.md @@ -47,6 +47,7 @@ import javascript from './javascript.md'; ``` + The file location is respective to the StackBlitz demo project. If you are unsure of the exact path, refer to the `stackblitz.utils.ts` method for each respective target. The path specified in `sdk.openProject` will coincide with the value used in the `files` configuration. ## Creating a New Playground diff --git a/versioned_docs/version-v5/developer-resources/books.md b/versioned_docs/version-v5/developer-resources/books.md index 6efc49db185..1a51bc94e8f 100644 --- a/versioned_docs/version-v5/developer-resources/books.md +++ b/versioned_docs/version-v5/developer-resources/books.md @@ -5,6 +5,7 @@ Angular. Vue. React. Vanilla JavaScript. All of these tools can be used to create awesome applications with Ionic, thanks to the new Stencil compiler. This book is aimed at beginners that are looking to create amazing web, mobile and desktop applications using Ionic with examples across all of the popular frameworks. + by [Paul Halliday](https:://developer.school) ### [Creating Ionic Applications with StencilJS](https://www.joshmorony.com/creating-ionic-applications-with-stencil-js/) - [Free Preview](https://cdn2.hubspot.net/hubfs/3776657/PREVIEW-Creating-Ionic-Apps-with-StencilJS.pdf) @@ -12,16 +13,19 @@ by [Paul Halliday](https:://developer.school) As well as being a powerful tool for generating reuseable web components, StencilJS provides the tools needed to build an entire application out of web components. Combined with the Ionic web components, StencilJS gives us everything we need to build high-quality production mobile applications - no framework required. + by [Joshua Morony](https://www.joshmorony.com/blog) ### [Mobile App Development with Ionic: Cross-Platform Apps with Ionic 2, Angular 2, and Cordova](https://www.amazon.com/Mobile-App-Development-Ionic-Cross-Platform/dp/1491937785/ref=sr_1_2?ie=UTF8&qid=1464183332&sr=8-2&keywords=ionic+2) + by Chris Griffith ### [Building Mobile Apps with Ionic & Angular](https://www.joshmorony.com/building-mobile-apps-with-ionic-2/) + by [Joshua Morony](https://www.joshmorony.com/blog) Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning the latest and greatest version of Ionic. It is targeted at beginners and works its way through the basics of Ionic, to example applications of varying complexity, and then to the steps required to build and publish your application (on the app stores or as a PWA). It has been updated for every major release, so you can rest easy knowing that you're not learning outdated tech. @@ -29,16 +33,19 @@ Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning ### [Ionic 2 From Zero to App Store](https://devdactic.com/zero-to-app) + by Simon Reimler ### [Ionic Framework By Example](https://www.packtpub.com/application-development/ionic-framework-example) + by Sani Yusuf ### [Building Firestore Powered Ionic Apps](https://javebratt.com/ionic-firebase-book/) + by Jorge Vergara This book will help you go from not knowing what Firebase is to be able to use the different APIs for your Ionic Applications. It will take you from “_What’s Firebase?_” to building scalable, production-ready apps and it’s always up-to-date with latest Ionic and Firebase versions. @@ -46,19 +53,23 @@ This book will help you go from not knowing what Firebase is to be able to use t ### [Ionic 2 Cookbook - Second Edition](https://www.amazon.com/Ionic-Cookbook-Second-Hoc-Phan-ebook/dp/B01C4D9VWS?ie=UTF8&keywords=ionic%202&qid=1464183332&ref_=sr_1_3&sr=8-3) + by Hoc Phan ### [Mastering Ionic 2](https://www.leanpub.com/masteringionic2) + by James Griffiths ### [Learning Ionic](https://www.packtpub.com/in/application-development/learning-ionic) (Ionic 1) + by Arvind Ravulavaru ### [Learning Ionic - Second Edition](https://www.packtpub.com/in/web-development/learning-ionic-second-edition) (Ionic 2/3) + by Arvind Ravulavaru diff --git a/versioned_docs/version-v5/developer-resources/courses.md b/versioned_docs/version-v5/developer-resources/courses.md index 6cf1847314f..900a2c51084 100644 --- a/versioned_docs/version-v5/developer-resources/courses.md +++ b/versioned_docs/version-v5/developer-resources/courses.md @@ -3,6 +3,7 @@ ### [Elite Ionic](https://www.joshmorony.com/elite/) + by Josh Morony Elite Ionic is an online course for Ionic developers who want to move past the basics, and build complex, well tested, high performing, beautiful, and useable mobile applications. It is recommended that you already have a reasonably solid understanding of the basics of Ionic before starting this course. @@ -10,6 +11,7 @@ Elite Ionic is an online course for Ionic developers who want to move past the b ### [Ionic Academy](https://ionicacademy.com/) + by Simon Grimm Learn Ionic with step-by-step video courses & quick wins from one of the Ionic community leaders. Covers beginner, intermediate and advanced topics. Get access to a community of developers just like you. @@ -17,6 +19,7 @@ Learn Ionic with step-by-step video courses & quick wins from one of the Ionic c ### [Ionic Framework: Tips, Tricks & Techniques](https://www.packtpub.com/mobile/ionic-framework-tips-tricks-and-techniques-video) + by Charles Muzonzini In this course, you will master tips and best practices for Ionic 4 & Ionic 5 that you can immediately implement to build high quality apps. This course covers a wide variety of topics from increasing app performance, to building custom native plugins, to securing your apps. It's a practical, hands-on course that will take your app building skills to the next level. @@ -24,6 +27,7 @@ In this course, you will master tips and best practices for Ionic 4 & Ionic 5 th ### [Building Desktop Apps with Ionic and Electron](https://pluralsight.pxf.io/VeMXO) + by Michael Callaghan at Pluralsight Desktop development has historically required dramatically different skills than those required for web @@ -38,6 +42,7 @@ Windows and macOS users. ### [Building Progressive Web Apps with Ionic](https://pluralsight.pxf.io/Ly2EY) + by Michael Callaghan at Pluralsight Everything changed when Google created the concept of Progressive Web Applications or PWA. A PWA is a pure web @@ -54,6 +59,7 @@ Progressive Web Application anywhere you desire. ### [Ionic CLI](https://pluralsight.pxf.io/ionic-cli) + by Michael Callaghan at Pluralsight Since its inception, the Ionic Framework has included a rudimentary command line interface. Though only a few @@ -67,29 +73,35 @@ the confidence to use the Ionic CLI as part of your everyday Ionic development. ### [Wordpress Rest API and Ionic 4 (Angular) App With Auth](https://www.udemy.com/course/wordpress-rest-api-and-ionic-3-crud/) + by Baljeet Singh at Udemy ### [Building Mobile Apps with Ionic 2, Angular 2, and TypeScript](https://app.pluralsight.com/library/courses/ionic2-angular2-typescript-mobile-apps/table-of-contents) + by Pluralsight ### [Introducing Ionic 2](http://shop.oreilly.com/product/0636920050353.do) + by Mathieu Chauvinc ### [Ionic 2 Master Course](https://www.udemy.com/ionic-2-tutorial/) + by Udemy ### [Introducing Ionic 2](https://www.udemy.com/introducing-ionic-2/) + by Udemy ### [Ionic 2 Solutions](https://www.packtpub.com/web-development/ionic-2-solutions-video) + by Hoc Phan diff --git a/versioned_docs/version-v5/reference/glossary.md b/versioned_docs/version-v5/reference/glossary.md index 138853b05a7..e17e08704f2 100644 --- a/versioned_docs/version-v5/reference/glossary.md +++ b/versioned_docs/version-v5/reference/glossary.md @@ -75,9 +75,9 @@

CLI

- A CLI, or Command-Line Interface, is - a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal - app, and Windows users often use Command Prompt. The Ionic community often uses this term to refer to{' '} + A CLI, or Command-Line Interface, is a text-based interface for + interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often + use Command Prompt. The Ionic community often uses this term to refer to{' '} Ionic's CLI. Ionic's CLI can be used for a number of things, such as creating production builds of an app, running the development server, and accessing{' '} diff --git a/versioned_docs/version-v5/utilities/animations.md b/versioned_docs/version-v5/utilities/animations.md index 15651651402..e1fe5b310cd 100644 --- a/versioned_docs/version-v5/utilities/animations.md +++ b/versioned_docs/version-v5/utilities/animations.md @@ -508,6 +508,7 @@ const parent = createAnimation() This example shows 3 child animations controlled by a single parent animation. Animations `squareA` and `squareB` inherit the parent animation's duration of 2000ms, but animation `squareC` has a duration of 5000ms since it was explicitly set. + ## Before and After Hooks @@ -626,6 +627,7 @@ In this example, an inline opacity of 0.2 is set on the `.square` element prior See [Methods](#methods) for a complete list of hooks. + ## Chained Animations @@ -1493,6 +1495,7 @@ export default defineComponent({ ```` + ## Performance Considerations diff --git a/versioned_docs/version-v6/developer-resources/books.md b/versioned_docs/version-v6/developer-resources/books.md index 6efc49db185..1a51bc94e8f 100644 --- a/versioned_docs/version-v6/developer-resources/books.md +++ b/versioned_docs/version-v6/developer-resources/books.md @@ -5,6 +5,7 @@ Angular. Vue. React. Vanilla JavaScript. All of these tools can be used to create awesome applications with Ionic, thanks to the new Stencil compiler. This book is aimed at beginners that are looking to create amazing web, mobile and desktop applications using Ionic with examples across all of the popular frameworks. + by [Paul Halliday](https:://developer.school) ### [Creating Ionic Applications with StencilJS](https://www.joshmorony.com/creating-ionic-applications-with-stencil-js/) - [Free Preview](https://cdn2.hubspot.net/hubfs/3776657/PREVIEW-Creating-Ionic-Apps-with-StencilJS.pdf) @@ -12,16 +13,19 @@ by [Paul Halliday](https:://developer.school) As well as being a powerful tool for generating reuseable web components, StencilJS provides the tools needed to build an entire application out of web components. Combined with the Ionic web components, StencilJS gives us everything we need to build high-quality production mobile applications - no framework required. + by [Joshua Morony](https://www.joshmorony.com/blog) ### [Mobile App Development with Ionic: Cross-Platform Apps with Ionic 2, Angular 2, and Cordova](https://www.amazon.com/Mobile-App-Development-Ionic-Cross-Platform/dp/1491937785/ref=sr_1_2?ie=UTF8&qid=1464183332&sr=8-2&keywords=ionic+2) + by Chris Griffith ### [Building Mobile Apps with Ionic & Angular](https://www.joshmorony.com/building-mobile-apps-with-ionic-2/) + by [Joshua Morony](https://www.joshmorony.com/blog) Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning the latest and greatest version of Ionic. It is targeted at beginners and works its way through the basics of Ionic, to example applications of varying complexity, and then to the steps required to build and publish your application (on the app stores or as a PWA). It has been updated for every major release, so you can rest easy knowing that you're not learning outdated tech. @@ -29,16 +33,19 @@ Building Mobile Apps with Ionic & Angular is an all-in-one resource for learning ### [Ionic 2 From Zero to App Store](https://devdactic.com/zero-to-app) + by Simon Reimler ### [Ionic Framework By Example](https://www.packtpub.com/application-development/ionic-framework-example) + by Sani Yusuf ### [Building Firestore Powered Ionic Apps](https://javebratt.com/ionic-firebase-book/) + by Jorge Vergara This book will help you go from not knowing what Firebase is to be able to use the different APIs for your Ionic Applications. It will take you from “_What’s Firebase?_” to building scalable, production-ready apps and it’s always up-to-date with latest Ionic and Firebase versions. @@ -46,19 +53,23 @@ This book will help you go from not knowing what Firebase is to be able to use t ### [Ionic 2 Cookbook - Second Edition](https://www.amazon.com/Ionic-Cookbook-Second-Hoc-Phan-ebook/dp/B01C4D9VWS?ie=UTF8&keywords=ionic%202&qid=1464183332&ref_=sr_1_3&sr=8-3) + by Hoc Phan ### [Mastering Ionic 2](https://www.leanpub.com/masteringionic2) + by James Griffiths ### [Learning Ionic](https://www.packtpub.com/in/application-development/learning-ionic) (Ionic 1) + by Arvind Ravulavaru ### [Learning Ionic - Second Edition](https://www.packtpub.com/in/web-development/learning-ionic-second-edition) (Ionic 2/3) + by Arvind Ravulavaru diff --git a/versioned_docs/version-v6/developer-resources/courses.md b/versioned_docs/version-v6/developer-resources/courses.md index 6cf1847314f..900a2c51084 100644 --- a/versioned_docs/version-v6/developer-resources/courses.md +++ b/versioned_docs/version-v6/developer-resources/courses.md @@ -3,6 +3,7 @@ ### [Elite Ionic](https://www.joshmorony.com/elite/) + by Josh Morony Elite Ionic is an online course for Ionic developers who want to move past the basics, and build complex, well tested, high performing, beautiful, and useable mobile applications. It is recommended that you already have a reasonably solid understanding of the basics of Ionic before starting this course. @@ -10,6 +11,7 @@ Elite Ionic is an online course for Ionic developers who want to move past the b ### [Ionic Academy](https://ionicacademy.com/) + by Simon Grimm Learn Ionic with step-by-step video courses & quick wins from one of the Ionic community leaders. Covers beginner, intermediate and advanced topics. Get access to a community of developers just like you. @@ -17,6 +19,7 @@ Learn Ionic with step-by-step video courses & quick wins from one of the Ionic c ### [Ionic Framework: Tips, Tricks & Techniques](https://www.packtpub.com/mobile/ionic-framework-tips-tricks-and-techniques-video) + by Charles Muzonzini In this course, you will master tips and best practices for Ionic 4 & Ionic 5 that you can immediately implement to build high quality apps. This course covers a wide variety of topics from increasing app performance, to building custom native plugins, to securing your apps. It's a practical, hands-on course that will take your app building skills to the next level. @@ -24,6 +27,7 @@ In this course, you will master tips and best practices for Ionic 4 & Ionic 5 th ### [Building Desktop Apps with Ionic and Electron](https://pluralsight.pxf.io/VeMXO) + by Michael Callaghan at Pluralsight Desktop development has historically required dramatically different skills than those required for web @@ -38,6 +42,7 @@ Windows and macOS users. ### [Building Progressive Web Apps with Ionic](https://pluralsight.pxf.io/Ly2EY) + by Michael Callaghan at Pluralsight Everything changed when Google created the concept of Progressive Web Applications or PWA. A PWA is a pure web @@ -54,6 +59,7 @@ Progressive Web Application anywhere you desire. ### [Ionic CLI](https://pluralsight.pxf.io/ionic-cli) + by Michael Callaghan at Pluralsight Since its inception, the Ionic Framework has included a rudimentary command line interface. Though only a few @@ -67,29 +73,35 @@ the confidence to use the Ionic CLI as part of your everyday Ionic development. ### [Wordpress Rest API and Ionic 4 (Angular) App With Auth](https://www.udemy.com/course/wordpress-rest-api-and-ionic-3-crud/) + by Baljeet Singh at Udemy ### [Building Mobile Apps with Ionic 2, Angular 2, and TypeScript](https://app.pluralsight.com/library/courses/ionic2-angular2-typescript-mobile-apps/table-of-contents) + by Pluralsight ### [Introducing Ionic 2](http://shop.oreilly.com/product/0636920050353.do) + by Mathieu Chauvinc ### [Ionic 2 Master Course](https://www.udemy.com/ionic-2-tutorial/) + by Udemy ### [Introducing Ionic 2](https://www.udemy.com/introducing-ionic-2/) + by Udemy ### [Ionic 2 Solutions](https://www.packtpub.com/web-development/ionic-2-solutions-video) + by Hoc Phan diff --git a/versioned_docs/version-v6/reference/glossary.md b/versioned_docs/version-v6/reference/glossary.md index 120435debb1..e61088621c0 100644 --- a/versioned_docs/version-v6/reference/glossary.md +++ b/versioned_docs/version-v6/reference/glossary.md @@ -85,9 +85,9 @@ title: Glossary

CLI

- A CLI, or Command-Line Interface, is - a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal - app, and Windows users often use Command Prompt. The Ionic community often uses this term to refer to{' '} + A CLI, or Command-Line Interface, is a text-based interface for + interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often + use Command Prompt. The Ionic community often uses this term to refer to{' '} Ionic's CLI. Ionic's CLI can be used for a number of things, such as creating production builds of an app, running the development server, and accessing{' '} diff --git a/versioned_docs/version-v6/utilities/animations.md b/versioned_docs/version-v6/utilities/animations.md index 3fb550d6ba7..8edaf9179db 100644 --- a/versioned_docs/version-v6/utilities/animations.md +++ b/versioned_docs/version-v6/utilities/animations.md @@ -518,6 +518,7 @@ const parent = createAnimation() This example shows 3 child animations controlled by a single parent animation. Animations `squareA` and `squareB` inherit the parent animation's duration of 2000ms, but animation `squareC` has a duration of 5000ms since it was explicitly set. + ## Before and After Hooks @@ -636,6 +637,7 @@ In this example, an inline opacity of 0.2 is set on the `.square` element prior See [Methods](#methods) for a complete list of hooks. + ## Chained Animations @@ -1511,6 +1513,7 @@ export default defineComponent({ ```` + ## Performance Considerations From f5d6a9126cb383275e6c4e2b3a7db3c985c6ca4d Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 21 Sep 2023 13:07:54 -0400 Subject: [PATCH 13/29] make it fail --- docs/layout/css-utilities.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/layout/css-utilities.md b/docs/layout/css-utilities.md index 05bb0a88aaa..a44445c63a0 100644 --- a/docs/layout/css-utilities.md +++ b/docs/layout/css-utilities.md @@ -12,7 +12,9 @@ inlineHtmlPreviews: true /> -Ionic Framework provides a set of CSS utility classes that can be used on any element in order to modify the text, element placement or adjust the padding and margin. +Ionic Framework provides a set of CSS utility classs that can be used on any element in order to modify the text, element placement or adjust the padding and margin. + +Spellchekr should fail here. :::note If your app was not started using an available Ionic Framework starter, the stylesheets listed in the [optional section of the global stylesheets](global-stylesheets.md#optional) will need to be included in order for these styles to work. From dbb4d5db85a55ed5baf5e879ddb3b4095322c54d Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 21 Sep 2023 13:09:57 -0400 Subject: [PATCH 14/29] Revert "make it fail" This reverts commit f5d6a9126cb383275e6c4e2b3a7db3c985c6ca4d. --- docs/layout/css-utilities.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/layout/css-utilities.md b/docs/layout/css-utilities.md index a44445c63a0..05bb0a88aaa 100644 --- a/docs/layout/css-utilities.md +++ b/docs/layout/css-utilities.md @@ -12,9 +12,7 @@ inlineHtmlPreviews: true /> -Ionic Framework provides a set of CSS utility classs that can be used on any element in order to modify the text, element placement or adjust the padding and margin. - -Spellchekr should fail here. +Ionic Framework provides a set of CSS utility classes that can be used on any element in order to modify the text, element placement or adjust the padding and margin. :::note If your app was not started using an available Ionic Framework starter, the stylesheets listed in the [optional section of the global stylesheets](global-stylesheets.md#optional) will need to be included in order for these styles to work. From fb322f3bef5965d543082c1b0d9f593c4fbb2543 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 12:17:57 -0400 Subject: [PATCH 15/29] style: add interactives to wordlist --- cspell-wordlist.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cspell-wordlist.txt b/cspell-wordlist.txt index a5e8366037d..1ac8f472179 100644 --- a/cspell-wordlist.txt +++ b/cspell-wordlist.txt @@ -47,6 +47,7 @@ flexbox frontmatter fullscreen geolocation +interactives isopen jank janky From a58bc90138330fc59dcbb9b4725e0738ca7ea5e3 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 14:51:52 -0400 Subject: [PATCH 16/29] chore(cspell): remove words that are in filenames and improve regex for code ticks also adds regex for emojis like :tada: to ignore them --- cspell-wordlist.txt | 30 ++++++++-------------- cspell.json | 7 ++--- src/components/global/Playground/README.md | 2 -- 3 files changed, 15 insertions(+), 24 deletions(-) diff --git a/cspell-wordlist.txt b/cspell-wordlist.txt index 1ac8f472179..b8a6120e7b6 100644 --- a/cspell-wordlist.txt +++ b/cspell-wordlist.txt @@ -9,13 +9,14 @@ datetimes datetimepicker infinitescroll searchbar +searchbars sidemenu textarea textareas Codepen -Genymotion Firestore +Genymotion Hygen Logcat Maskito @@ -25,15 +26,7 @@ Udemy Vetur Wistia -browserslistrc -jsdelivr -ngsw -xcodeproj -xcworkspace - -CMDOPTS -DDTHH - +appstore authed autocrlf autogrow @@ -41,7 +34,6 @@ automations autoplay comparewith composables -devkit engageable flexbox frontmatter @@ -52,22 +44,23 @@ isopen jank janky jarsigner +jsdelivr keytool lifecycles localstorage +mobileweb +phablet +playstore preconfigured preflighted proxying quickstart retargeted -rgba runtimes scroller -searchbars subcomponent subcomponents swipeable -tada templating transpiling treeshaking @@ -76,15 +69,11 @@ typeahead unminified unsanitized viewports +webapps webviews xlarge xsmall zipalign -appstore -playstore -mobileweb -phablet -webapps allowtransparency mozallowfullscreen @@ -110,3 +99,6 @@ touchend touchstart transitionend transitionstart + +DDTHH +rgba diff --git a/cspell.json b/cspell.json index 75c4ece6195..93504689d7a 100644 --- a/cspell.json +++ b/cspell.json @@ -8,14 +8,15 @@ } ], "ignoreRegExpList": [ - "/(```+)[\\s\\S]+?\\1/g", - "/`[a-zA-Z-_]+`/g" + "/(```+)[\\s\\S]+?\\1/g", // Ignore all words inside of code blocks + "/`[a-zA-Z-_.@\/]+`/g", // Ignore all words inside of code ticks, including file names + "/:[a-zA-Z0-9-_\\+]+:/g" // Ignore all emojis e.g. :tada: ], "ignorePaths": [ "docs/cli", "docs/native", "versioned_docs/**/api", "versioned_docs/**/cli", - "versioned_docs/**/native", + "versioned_docs/**/native" ] } diff --git a/src/components/global/Playground/README.md b/src/components/global/Playground/README.md index f9975a9fb62..22c475fafe8 100644 --- a/src/components/global/Playground/README.md +++ b/src/components/global/Playground/README.md @@ -46,8 +46,6 @@ import javascript from './javascript.md'; />; ``` - - The file location is respective to the StackBlitz demo project. If you are unsure of the exact path, refer to the `stackblitz.utils.ts` method for each respective target. The path specified in `sdk.openProject` will coincide with the value used in the `files` configuration. ## Creating a New Playground From 1e0f260709fcc16010372b45b03806410f55f73f Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 15:14:46 -0400 Subject: [PATCH 17/29] chore(cspell): wrap datetime formats in code ticks --- cspell-wordlist.txt | 1 - cspell.json | 2 +- docs/api/datetime.md | 20 ++++++++++---------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/cspell-wordlist.txt b/cspell-wordlist.txt index b8a6120e7b6..b149f9771c7 100644 --- a/cspell-wordlist.txt +++ b/cspell-wordlist.txt @@ -100,5 +100,4 @@ touchstart transitionend transitionstart -DDTHH rgba diff --git a/cspell.json b/cspell.json index 93504689d7a..83f82d29a29 100644 --- a/cspell.json +++ b/cspell.json @@ -9,7 +9,7 @@ ], "ignoreRegExpList": [ "/(```+)[\\s\\S]+?\\1/g", // Ignore all words inside of code blocks - "/`[a-zA-Z-_.@\/]+`/g", // Ignore all words inside of code ticks, including file names + "/`[a-zA-Z-_.@:\/]+`/g", // Ignore all words inside of code ticks, including file names "/:[a-zA-Z0-9-_\\+]+:/g" // Ignore all emojis e.g. :tada: ], "ignorePaths": [ diff --git a/docs/api/datetime.md b/docs/api/datetime.md index aca72185d7c..b7181a0dca7 100644 --- a/docs/api/datetime.md +++ b/docs/api/datetime.md @@ -62,7 +62,7 @@ parse various datetime strings differently, especially per locale. Fortunately, Ionic Framework's datetime input has been designed so developers can avoid the common pitfalls, allowing developers to easily manipulate datetime values and give the user a simple datetime picker for a great user experience. -### ISO 8601 Datetime Format: YYYY-MM-DDTHH:mmZ +### ISO 8601 Datetime Format: `YYYY-MM-DDTHH:mmZ` Ionic Framework uses the [ISO 8601 datetime format](https://www.w3.org/TR/NOTE-datetime) for its value. The value is simply a string, rather than using JavaScript's @@ -71,15 +71,15 @@ and parse within JSON objects and databases. Below are some examples of ISO 8601 formats that can be used with `ion-datetime`: -| Description | Format | Datetime Value Example | -| -------------------- | ---------------------- | ---------------------------- | -| Year | YYYY | 1994 | -| Year and Month | YYYY-MM | 1994-12 | -| Complete Date | YYYY-MM-DD | 1994-12-15 | -| Date and Time | YYYY-MM-DDTHH:mm | 1994-12-15T13:47 | -| UTC Timezone | YYYY-MM-DDTHH:mm:ssZ | 1994-12-15T13:47:20Z | -| Timezone Offset | YYYY-MM-DDTHH:mm:ssTZD | 1994-12-15T13:47:20+05:00 | -| Hour and Minute | HH:mm | 13:47 | +| Description | Format | Datetime Value Example | +| -------------------- | ------------------------ | ------------------------------ | +| Year | `YYYY` | `1994` | +| Year and Month | `YYYY-MM` | `1994-12` | +| Complete Date | `YYYY-MM-DD` | `1994-12-15` | +| Date and Time | `YYYY-MM-DDTHH:mm` | `1994-12-15T13:47` | +| UTC Timezone | `YYYY-MM-DDTHH:mm:ssZ` | `1994-12-15T13:47:20Z` | +| Timezone Offset | `YYYY-MM-DDTHH:mm:ssTZD` | `1994-12-15T13:47:20+05:00` | +| Hour and Minute | `HH:mm` | `13:47` | Note that the year is always four-digits, milliseconds (if it's added) is always three-digits, and all others are always two-digits. So the number representing From 14fae4e8ba0fb059b772076030babbf76ed76ed7 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 15:16:03 -0400 Subject: [PATCH 18/29] chore(cspell): group and alphabetize product names --- cspell-wordlist.txt | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/cspell-wordlist.txt b/cspell-wordlist.txt index b149f9771c7..66623b28414 100644 --- a/cspell-wordlist.txt +++ b/cspell-wordlist.txt @@ -1,6 +1,17 @@ Appflow +Codepen +Firestore +Genymotion +Hygen Ionicon Ionicons +Logcat +Maskito +Pluralsight +Swiper +Udemy +Vetur +Wistia actionsheet fabs @@ -14,18 +25,6 @@ sidemenu textarea textareas -Codepen -Firestore -Genymotion -Hygen -Logcat -Maskito -Pluralsight -Swiper -Udemy -Vetur -Wistia - appstore authed autocrlf From bf865f266b0060499f7c4664e527f21559e85258 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 16:21:13 -0400 Subject: [PATCH 19/29] docs(slides): update tables to format code --- docs/angular/slides.md | 62 ++++++++++----------- docs/react/slides.md | 62 ++++++++++----------- docs/vue/slides.md | 62 ++++++++++----------- versioned_docs/version-v6/angular/slides.md | 62 ++++++++++----------- versioned_docs/version-v6/react/slides.md | 62 ++++++++++----------- versioned_docs/version-v6/vue/slides.md | 62 ++++++++++----------- 6 files changed, 186 insertions(+), 186 deletions(-) diff --git a/docs/angular/slides.md b/docs/angular/slides.md index c5eefbec3be..6e2d2a3aa15 100644 --- a/docs/angular/slides.md +++ b/docs/angular/slides.md @@ -224,24 +224,24 @@ To migrate, we would change the name of the event to `slidechange`: Below is a full list of event name changes when going from `ion-slides` to Swiper Angular: -| ion-slides Event | Swiper Event | -| ----------------------- | -------------------------- | -| ionSlideWillChange | slidechangetransitionstart | -| ionSlideDidChange | slidechangetransitionend | -| ionSlideDoubleTap | doubletap | -| ionSlideDrag | slidermove | -| ionSlideNextStart | slidenexttransitionstart | -| ionSlideNextEnd | slidenexttransitionend | -| ionSlidePrevStart | slideprevtransitionstart | -| ionSlidePrevEnd | slideprevtransitionend | -| ionSlideReachStart | reachbeginning | -| ionSlideReachEnd | reachend | -| ionSlideTap | tap | -| ionSlideTouchStart | touchstart | -| ionSlideTouchEnd | touchend | -| ionSlideTransitionStart | transitionstart | -| ionSlideTransitionEnd | transitionend | -| ionSlidesDidLoad | init | +| ion-slides Event | Swiper Event | +| ------------------------- | ---------------------------- | +| `ionSlideWillChange` | `slidechangetransitionstart` | +| `ionSlideDidChange` | `slidechangetransitionend` | +| `ionSlideDoubleTap` | `doubletap` | +| `ionSlideDrag` | `slidermove` | +| `ionSlideNextStart` | `slidenexttransitionstart` | +| `ionSlideNextEnd` | `slidenexttransitionend` | +| `ionSlidePrevStart` | `slideprevtransitionstart` | +| `ionSlidePrevEnd` | `slideprevtransitionend` | +| `ionSlideReachStart` | `reachbeginning` | +| `ionSlideReachEnd` | `reachend` | +| `ionSlideTap` | `tap` | +| `ionSlideTouchStart` | `touchstart` | +| `ionSlideTouchEnd` | `touchend` | +| `ionSlideTransitionStart` | `transitionstart` | +| `ionSlideTransitionEnd` | `transitionend` | +| `ionSlidesDidLoad` | `init` | :::note All events available in Swiper Element can be found at https://swiperjs.com/swiper-api#events. @@ -281,19 +281,19 @@ export class SlidesExample { Below is a full list of method changes when going from `ion-slides` to Swiper Element: -| ion-slides Method | Notes | -| ------------------ | ------------------------------------------------------------------------------------ | -| getActiveIndex() | Use the `activeIndex` property instead. | -| getPreviousIndex() | Use the `previousIndex` property instead. | -| getSwiper() | Get a reference to the Swiper instance using the `swiper` prop. See example above. | -| isBeginning() | Use the `isBeginning` property instead. | -| isEnd() | Use the `isEnd` property instead. | -| length() | Use the `slides` property instead. (i.e swiper.slides.length) | -| lockSwipeToNext() | Use the `allowSlidesNext` property instead. | -| lockSwipeToPrev() | Use the `allowSlidePrev` property instead. | -| lockSwipes() | Use the `allowSlideNext`, `allowSlidePrev`, and `allowTouchMove` properties instead. | -| startAutoplay() | Use the `autoplay` property instead. | -| stopAutoplay() | Use the `autoplay` property instead. | +| ion-slides Method | Notes | +| -------------------- | ------------------------------------------------------------------------------------ | +| `getActiveIndex()` | Use the `activeIndex` property instead. | +| `getPreviousIndex()` | Use the `previousIndex` property instead. | +| `getSwiper()` | Get a reference to the Swiper instance using the `swiper` prop. See example above. | +| `isBeginning()` | Use the `isBeginning` property instead. | +| `isEnd()` | Use the `isEnd` property instead. | +| `length()` | Use the `slides` property instead. (i.e swiper.slides.length) | +| `lockSwipeToNext()` | Use the `allowSlidesNext` property instead. | +| `lockSwipeToPrev()` | Use the `allowSlidePrev` property instead. | +| `lockSwipes()` | Use the `allowSlideNext`, `allowSlidePrev`, and `allowTouchMove` properties instead. | +| `startAutoplay()` | Use the `autoplay` property instead. | +| `stopAutoplay()` | Use the `autoplay` property instead. | :::note All methods and properties available on the Swiper instance can be found at https://swiperjs.com/swiper-api#methods-and-properties. diff --git a/docs/react/slides.md b/docs/react/slides.md index 522bc2d36ac..bd0a907c190 100644 --- a/docs/react/slides.md +++ b/docs/react/slides.md @@ -393,24 +393,24 @@ const MyComponent: React.FC = () => { Below is a full list of event name changes when going from `IonSlides` to Swiper React: -| IonSlides Event | Swiper Event | -| ------------------------- | ---------------------------- | -| onIonSlideWillChange | onSlideChangeTransitionStart | -| onIonSlideDidChange | onSlideChangeTransitionEnd | -| onIonSlideDoubleTap | onDoubleTap | -| onIonSlideDrag | onSliderMove | -| onIonSlideNextStart | onSlideNextTransitionStart | -| onIonSlideNextEnd | onSlideNextTransitionEnd | -| onIonSlidePrevStart | onSlidePrevTransitionStart | -| onIonSlidePrevEnd | onSlidePrevTransitionEnd | -| onIonSlideReachStart | onReachBeginning | -| onIonSlideReachEnd | onReachEnd | -| onIonSlideTap | onTap | -| onIonSlideTouchStart | onTouchStart | -| onIonSlideTouchEnd | onTouchEnd | -| onIonSlideTransitionStart | onTransitionStart | -| onIonSlideTransitionEnd | onTransitionEnd | -| onIonSlidesDidLoad | onInit | +| IonSlides Event | Swiper Event | +| --------------------------- | ------------------------------ | +| `onIonSlideWillChange` | `onSlideChangeTransitionStart` | +| `onIonSlideDidChange` | `onSlideChangeTransitionEnd` | +| `onIonSlideDoubleTap` | `onDoubleTap` | +| `onIonSlideDrag` | `onSliderMove` | +| `onIonSlideNextStart` | `onSlideNextTransitionStart` | +| `onIonSlideNextEnd` | `onSlideNextTransitionEnd` | +| `onIonSlidePrevStart` | `onSlidePrevTransitionStart` | +| `onIonSlidePrevEnd` | `onSlidePrevTransitionEnd` | +| `onIonSlideReachStart` | `onReachBeginning` | +| `onIonSlideReachEnd` | `onReachEnd` | +| `onIonSlideTap` | `onTap` | +| `onIonSlideTouchStart` | `onTouchStart` | +| `onIonSlideTouchEnd` | `onTouchEnd` | +| `onIonSlideTransitionStart` | `onTransitionStart` | +| `onIonSlideTransitionEnd` | `onTransitionEnd` | +| `onIonSlidesDidLoad` | `onInit` | :::note All events available in Swiper can be found at https://swiperjs.com/swiper-api#events. @@ -445,19 +445,19 @@ From here, if you wanted to access a property on the Swiper instance you would a Below is a full list of method changes when going from `IonSlides` to Swiper React: -| IonSlides Method | Notes | -| ------------------ | ------------------------------------------------------------------------------------ | -| getActiveIndex() | Use the `activeIndex` property instead. | -| getPreviousIndex() | Use the `previousIndex` property instead. | -| getSwiper() | Get a reference to the Swiper instance using `onSwiper`. See example above. | -| isBeginning() | Use the `isBeginning` property instead. | -| isEnd() | Use the `isEnd` property instead. | -| length() | Use the `slides` property instead. (i.e swiperRef.slides.length) | -| lockSwipeToNext() | Use the `allowSlidesNext` property instead. | -| lockSwipeToPrev() | Use the `allowSlidePrev` property instead. | -| lockSwipes() | Use the `allowSlideNext`, `allowSlidePrev`, and `allowTouchMove` properties instead. | -| startAutoplay() | Use the `autoplay` property instead. | -| stopAutoplay() | Use the `autoplay` property instead. | +| IonSlides Method | Notes | +| -------------------- | ------------------------------------------------------------------------------------ | +| `getActiveIndex()` | Use the `activeIndex` property instead. | +| `getPreviousIndex()` | Use the `previousIndex` property instead. | +| `getSwiper()` | Get a reference to the Swiper instance using `onSwiper`. See example above. | +| `isBeginning()` | Use the `isBeginning` property instead. | +| `isEnd()` | Use the `isEnd` property instead. | +| `length()` | Use the `slides` property instead. (i.e swiperRef.slides.length) | +| `lockSwipeToNext()` | Use the `allowSlidesNext` property instead. | +| `lockSwipeToPrev()` | Use the `allowSlidePrev` property instead. | +| `lockSwipes()` | Use the `allowSlideNext`, `allowSlidePrev`, and `allowTouchMove` properties instead. | +| `startAutoplay()` | Use the `autoplay` property instead. | +| `stopAutoplay()` | Use the `autoplay` property instead. | ## Effects diff --git a/docs/vue/slides.md b/docs/vue/slides.md index 36fda773742..4fb4af5e911 100644 --- a/docs/vue/slides.md +++ b/docs/vue/slides.md @@ -372,24 +372,24 @@ To migrate, we would change the name of the event to `slideChange`: Below is a full list of event name changes when going from `ion-slides` to Swiper Vue: -| ion-slides Event | Swiper Event | -| ----------------------- | -------------------------- | -| ionSlideWillChange | slideChangeTransitionStart | -| ionSlideDidChange | slideChangeTransitionEnd | -| ionSlideDoubleTap | doubleTap | -| ionSlideDrag | sliderMove | -| ionSlideNextStart | slideNextTransitionStart | -| ionSlideNextEnd | slideNextTransitionEnd | -| ionSlidePrevStart | slidePrevTransitionStart | -| ionSlidePrevEnd | slidePrevTransitionEnd | -| ionSlideReachStart | reachBeginning | -| ionSlideReachEnd | reachEnd | -| ionSlideTap | tap | -| ionSlideTouchStart | touchStart | -| ionSlideTouchEnd | touchEnd | -| ionSlideTransitionStart | transitionStart | -| ionSlideTransitionEnd | transitionEnd | -| ionSlidesDidLoad | init | +| ion-slides Event | Swiper Event | +| ------------------------- | ---------------------------- | +| `ionSlideWillChange` | `slideChangeTransitionStart` | +| `ionSlideDidChange` | `slideChangeTransitionEnd` | +| `ionSlideDoubleTap` | `doubleTap` | +| `ionSlideDrag` | `sliderMove` | +| `ionSlideNextStart` | `slideNextTransitionStart` | +| `ionSlideNextEnd` | `slideNextTransitionEnd` | +| `ionSlidePrevStart` | `slidePrevTransitionStart` | +| `ionSlidePrevEnd` | `slidePrevTransitionEnd` | +| `ionSlideReachStart` | `reachBeginning` | +| `ionSlideReachEnd` | `reachEnd` | +| `ionSlideTap` | `tap` | +| `ionSlideTouchStart` | `touchStart` | +| `ionSlideTouchEnd` | `touchEnd` | +| `ionSlideTransitionStart` | `transitionStart` | +| `ionSlideTransitionEnd` | `transitionEnd` | +| `ionSlidesDidLoad` | `init` | :::note All events available in Swiper Vue can be found at https://swiperjs.com/vue#swiper-events. @@ -425,19 +425,19 @@ From here, if you wanted to access a property on the Swiper instance you would a Below is a full list of method changes when going from `ion-slides` to Swiper Vue: -| ion-slides Method | Notes | -| ------------------ | ------------------------------------------------------------------------------------ | -| getActiveIndex() | Use the `activeIndex` property instead. | -| getPreviousIndex() | Use the `previousIndex` property instead. | -| getSwiper() | Get a reference to the Swiper instance using `@swiper`. See example above. | -| isBeginning() | Use the `isBeginning` property instead. | -| isEnd() | Use the `isEnd` property instead. | -| length() | Use the `slides` property instead. (i.e swiperRef.slides.length) | -| lockSwipeToNext() | Use the `allowSlideNext` property instead. | -| lockSwipeToPrev() | Use the `allowSlidePrev` property instead. | -| lockSwipes() | Use the `allowSlideNext`, `allowSlidePrev`, and `allowTouchMove` properties instead. | -| startAutoplay() | Use the `autoplay` property instead. | -| stopAutoplay() | Use the `autoplay` property instead. | +| ion-slides Method | Notes | +| -------------------- | ------------------------------------------------------------------------------------ | +| `getActiveIndex()` | Use the `activeIndex` property instead. | +| `getPreviousIndex()` | Use the `previousIndex` property instead. | +| `getSwiper()` | Get a reference to the Swiper instance using `@swiper`. See example above. | +| `isBeginning()` | Use the `isBeginning` property instead. | +| `isEnd()` | Use the `isEnd` property instead. | +| `length()` | Use the `slides` property instead. (i.e swiperRef.slides.length) | +| `lockSwipeToNext()` | Use the `allowSlideNext` property instead. | +| `lockSwipeToPrev()` | Use the `allowSlidePrev` property instead. | +| `lockSwipes()` | Use the `allowSlideNext`, `allowSlidePrev`, and `allowTouchMove` properties instead. | +| `startAutoplay()` | Use the `autoplay` property instead. | +| `stopAutoplay()` | Use the `autoplay` property instead. | ## Effects diff --git a/versioned_docs/version-v6/angular/slides.md b/versioned_docs/version-v6/angular/slides.md index 1379f1fddd9..1aa6a96e409 100644 --- a/versioned_docs/version-v6/angular/slides.md +++ b/versioned_docs/version-v6/angular/slides.md @@ -222,24 +222,24 @@ To migrate, we would change the name of the event to `slidechange`: Below is a full list of event name changes when going from `ion-slides` to Swiper Angular: -| ion-slides Event | Swiper Event | -| ----------------------- | -------------------------- | -| ionSlideWillChange | slidechangetransitionstart | -| ionSlideDidChange | slidechangetransitionend | -| ionSlideDoubleTap | doubletap | -| ionSlideDrag | slidermove | -| ionSlideNextStart | slidenexttransitionstart | -| ionSlideNextEnd | slidenexttransitionend | -| ionSlidePrevStart | slideprevtransitionstart | -| ionSlidePrevEnd | slideprevtransitionend | -| ionSlideReachStart | reachbeginning | -| ionSlideReachEnd | reachend | -| ionSlideTap | tap | -| ionSlideTouchStart | touchstart | -| ionSlideTouchEnd | touchend | -| ionSlideTransitionStart | transitionstart | -| ionSlideTransitionEnd | transitionend | -| ionSlidesDidLoad | init | +| ion-slides Event | Swiper Event | +| ------------------------- | ---------------------------- | +| `ionSlideWillChange` | `slidechangetransitionstart` | +| `ionSlideDidChange` | `slidechangetransitionend` | +| `ionSlideDoubleTap` | `doubletap` | +| `ionSlideDrag` | `slidermove` | +| `ionSlideNextStart` | `slidenexttransitionstart` | +| `ionSlideNextEnd` | `slidenexttransitionend` | +| `ionSlidePrevStart` | `slideprevtransitionstart` | +| `ionSlidePrevEnd` | `slideprevtransitionend` | +| `ionSlideReachStart` | `reachbeginning` | +| `ionSlideReachEnd` | `reachend` | +| `ionSlideTap` | `tap` | +| `ionSlideTouchStart` | `touchstart` | +| `ionSlideTouchEnd` | `touchend` | +| `ionSlideTransitionStart` | `transitionstart` | +| `ionSlideTransitionEnd` | `transitionend` | +| `ionSlidesDidLoad` | `init` | :::note All events available in Swiper Element can be found at https://swiperjs.com/swiper-api#events. @@ -279,19 +279,19 @@ export class SlidesExample { Below is a full list of method changes when going from `ion-slides` to Swiper Element: -| ion-slides Method | Notes | -| ------------------ | ------------------------------------------------------------------------------------ | -| getActiveIndex() | Use the `activeIndex` property instead. | -| getPreviousIndex() | Use the `previousIndex` property instead. | -| getSwiper() | Get a reference to the Swiper instance using the `swiper` prop. See example above. | -| isBeginning() | Use the `isBeginning` property instead. | -| isEnd() | Use the `isEnd` property instead. | -| length() | Use the `slides` property instead. (i.e swiper.slides.length) | -| lockSwipeToNext() | Use the `allowSlidesNext` property instead. | -| lockSwipeToPrev() | Use the `allowSlidePrev` property instead. | -| lockSwipes() | Use the `allowSlideNext`, `allowSlidePrev`, and `allowTouchMove` properties instead. | -| startAutoplay() | Use the `autoplay` property instead. | -| stopAutoplay() | Use the `autoplay` property instead. | +| ion-slides Method | Notes | +| -------------------- | ------------------------------------------------------------------------------------ | +| `getActiveIndex()` | Use the `activeIndex` property instead. | +| `getPreviousIndex()` | Use the `previousIndex` property instead. | +| `getSwiper()` | Get a reference to the Swiper instance using the `swiper` prop. See example above. | +| `isBeginning()` | Use the `isBeginning` property instead. | +| `isEnd()` | Use the `isEnd` property instead. | +| `length()` | Use the `slides` property instead. (i.e swiper.slides.length) | +| `lockSwipeToNext()` | Use the `allowSlidesNext` property instead. | +| `lockSwipeToPrev()` | Use the `allowSlidePrev` property instead. | +| `lockSwipes()` | Use the `allowSlideNext`, `allowSlidePrev`, and `allowTouchMove` properties instead. | +| `startAutoplay()` | Use the `autoplay` property instead. | +| `stopAutoplay()` | Use the `autoplay` property instead. | :::note All methods and properties available on the Swiper instance can be found at https://swiperjs.com/swiper-api#methods-and-properties. diff --git a/versioned_docs/version-v6/react/slides.md b/versioned_docs/version-v6/react/slides.md index 98127c26dd7..a7444b7d5e7 100644 --- a/versioned_docs/version-v6/react/slides.md +++ b/versioned_docs/version-v6/react/slides.md @@ -389,24 +389,24 @@ const MyComponent: React.FC = () => { Below is a full list of event name changes when going from `IonSlides` to Swiper React: -| IonSlides Event | Swiper Event | -| ------------------------- | ---------------------------- | -| onIonSlideWillChange | onSlideChangeTransitionStart | -| onIonSlideDidChange | onSlideChangeTransitionEnd | -| onIonSlideDoubleTap | onDoubleTap | -| onIonSlideDrag | onSliderMove | -| onIonSlideNextStart | onSlideNextTransitionStart | -| onIonSlideNextEnd | onSlideNextTransitionEnd | -| onIonSlidePrevStart | onSlidePrevTransitionStart | -| onIonSlidePrevEnd | onSlidePrevTransitionEnd | -| onIonSlideReachStart | onReachBeginning | -| onIonSlideReachEnd | onReachEnd | -| onIonSlideTap | onTap | -| onIonSlideTouchStart | onTouchStart | -| onIonSlideTouchEnd | onTouchEnd | -| onIonSlideTransitionStart | onTransitionStart | -| onIonSlideTransitionEnd | onTransitionEnd | -| onIonSlidesDidLoad | onInit | +| IonSlides Event | Swiper Event | +| --------------------------- | ------------------------------ | +| `onIonSlideWillChange` | `onSlideChangeTransitionStart` | +| `onIonSlideDidChange` | `onSlideChangeTransitionEnd` | +| `onIonSlideDoubleTap` | `onDoubleTap` | +| `onIonSlideDrag` | `onSliderMove` | +| `onIonSlideNextStart` | `onSlideNextTransitionStart` | +| `onIonSlideNextEnd` | `onSlideNextTransitionEnd` | +| `onIonSlidePrevStart` | `onSlidePrevTransitionStart` | +| `onIonSlidePrevEnd` | `onSlidePrevTransitionEnd` | +| `onIonSlideReachStart` | `onReachBeginning` | +| `onIonSlideReachEnd` | `onReachEnd` | +| `onIonSlideTap` | `onTap` | +| `onIonSlideTouchStart` | `onTouchStart` | +| `onIonSlideTouchEnd` | `onTouchEnd` | +| `onIonSlideTransitionStart` | `onTransitionStart` | +| `onIonSlideTransitionEnd` | `onTransitionEnd` | +| `onIonSlidesDidLoad` | `onInit` | :::note All events available in Swiper can be found at https://swiperjs.com/swiper-api#events. @@ -441,19 +441,19 @@ From here, if you wanted to access a property on the Swiper instance you would a Below is a full list of method changes when going from `IonSlides` to Swiper React: -| IonSlides Method | Notes | -| ------------------ | ------------------------------------------------------------------------------------ | -| getActiveIndex() | Use the `activeIndex` property instead. | -| getPreviousIndex() | Use the `previousIndex` property instead. | -| getSwiper() | Get a reference to the Swiper instance using `onSwiper`. See example above. | -| isBeginning() | Use the `isBeginning` property instead. | -| isEnd() | Use the `isEnd` property instead. | -| length() | Use the `slides` property instead. (i.e swiperRef.slides.length) | -| lockSwipeToNext() | Use the `allowSlidesNext` property instead. | -| lockSwipeToPrev() | Use the `allowSlidePrev` property instead. | -| lockSwipes() | Use the `allowSlideNext`, `allowSlidePrev`, and `allowTouchMove` properties instead. | -| startAutoplay() | Use the `autoplay` property instead. | -| stopAutoplay() | Use the `autoplay` property instead. | +| IonSlides Method | Notes | +| -------------------- | ------------------------------------------------------------------------------------ | +| `getActiveIndex()` | Use the `activeIndex` property instead. | +| `getPreviousIndex()` | Use the `previousIndex` property instead. | +| `getSwiper()` | Get a reference to the Swiper instance using `onSwiper`. See example above. | +| `isBeginning()` | Use the `isBeginning` property instead. | +| `isEnd()` | Use the `isEnd` property instead. | +| `length()` | Use the `slides` property instead. (i.e swiperRef.slides.length) | +| `lockSwipeToNext()` | Use the `allowSlidesNext` property instead. | +| `lockSwipeToPrev()` | Use the `allowSlidePrev` property instead. | +| `lockSwipes()` | Use the `allowSlideNext`, `allowSlidePrev`, and `allowTouchMove` properties instead. | +| `startAutoplay()` | Use the `autoplay` property instead. | +| `stopAutoplay()` | Use the `autoplay` property instead. | ## Effects diff --git a/versioned_docs/version-v6/vue/slides.md b/versioned_docs/version-v6/vue/slides.md index 726959e964e..7b2673defd3 100644 --- a/versioned_docs/version-v6/vue/slides.md +++ b/versioned_docs/version-v6/vue/slides.md @@ -370,24 +370,24 @@ To migrate, we would change the name of the event to `slideChange`: Below is a full list of event name changes when going from `ion-slides` to Swiper Vue: -| ion-slides Event | Swiper Event | -| ----------------------- | -------------------------- | -| ionSlideWillChange | slideChangeTransitionStart | -| ionSlideDidChange | slideChangeTransitionEnd | -| ionSlideDoubleTap | doubleTap | -| ionSlideDrag | sliderMove | -| ionSlideNextStart | slideNextTransitionStart | -| ionSlideNextEnd | slideNextTransitionEnd | -| ionSlidePrevStart | slidePrevTransitionStart | -| ionSlidePrevEnd | slidePrevTransitionEnd | -| ionSlideReachStart | reachBeginning | -| ionSlideReachEnd | reachEnd | -| ionSlideTap | tap | -| ionSlideTouchStart | touchStart | -| ionSlideTouchEnd | touchEnd | -| ionSlideTransitionStart | transitionStart | -| ionSlideTransitionEnd | transitionEnd | -| ionSlidesDidLoad | init | +| ion-slides Event | Swiper Event | +| ------------------------- | ---------------------------- | +| `ionSlideWillChange` | `slideChangeTransitionStart` | +| `ionSlideDidChange` | `slideChangeTransitionEnd` | +| `ionSlideDoubleTap` | `doubleTap` | +| `ionSlideDrag` | `sliderMove` | +| `ionSlideNextStart` | `slideNextTransitionStart` | +| `ionSlideNextEnd` | `slideNextTransitionEnd` | +| `ionSlidePrevStart` | `slidePrevTransitionStart` | +| `ionSlidePrevEnd` | `slidePrevTransitionEnd` | +| `ionSlideReachStart` | `reachBeginning` | +| `ionSlideReachEnd` | `reachEnd` | +| `ionSlideTap` | `tap` | +| `ionSlideTouchStart` | `touchStart` | +| `ionSlideTouchEnd` | `touchEnd` | +| `ionSlideTransitionStart` | `transitionStart` | +| `ionSlideTransitionEnd` | `transitionEnd` | +| `ionSlidesDidLoad` | `init` | :::note All events available in Swiper Vue can be found at https://swiperjs.com/vue#swiper-events. @@ -423,19 +423,19 @@ From here, if you wanted to access a property on the Swiper instance you would a Below is a full list of method changes when going from `ion-slides` to Swiper Vue: -| ion-slides Method | Notes | -| ------------------ | ------------------------------------------------------------------------------------ | -| getActiveIndex() | Use the `activeIndex` property instead. | -| getPreviousIndex() | Use the `previousIndex` property instead. | -| getSwiper() | Get a reference to the Swiper instance using `@swiper`. See example above. | -| isBeginning() | Use the `isBeginning` property instead. | -| isEnd() | Use the `isEnd` property instead. | -| length() | Use the `slides` property instead. (i.e swiperRef.slides.length) | -| lockSwipeToNext() | Use the `allowSlidesNext` property instead. | -| lockSwipeToPrev() | Use the `allowSlidePrev` property instead. | -| lockSwipes() | Use the `allowSlideNext`, `allowSlidePrev`, and `allowTouchMove` properties instead. | -| startAutoplay() | Use the `autoplay` property instead. | -| stopAutoplay() | Use the `autoplay` property instead. | +| ion-slides Method | Notes | +| -------------------- | ------------------------------------------------------------------------------------ | +| `getActiveIndex()` | Use the `activeIndex` property instead. | +| `getPreviousIndex()` | Use the `previousIndex` property instead. | +| `getSwiper()` | Get a reference to the Swiper instance using `@swiper`. See example above. | +| `isBeginning()` | Use the `isBeginning` property instead. | +| `isEnd()` | Use the `isEnd` property instead. | +| `length()` | Use the `slides` property instead. (i.e swiperRef.slides.length) | +| `lockSwipeToNext()` | Use the `allowSlidesNext` property instead. | +| `lockSwipeToPrev()` | Use the `allowSlidePrev` property instead. | +| `lockSwipes()` | Use the `allowSlideNext`, `allowSlidePrev`, and `allowTouchMove` properties instead. | +| `startAutoplay()` | Use the `autoplay` property instead. | +| `stopAutoplay()` | Use the `autoplay` property instead. | ## Effects From 3216673bc16b870a1acf5b28d549a0671e3da2b7 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 16:25:20 -0400 Subject: [PATCH 20/29] docs(input): wrap keyboard events in code formatting --- docs/api/input.md | 4 ++-- versioned_docs/version-v5/api/input.md | 2 +- versioned_docs/version-v6/api/input.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/api/input.md b/docs/api/input.md index b4996e6afb4..afbf24ced47 100644 --- a/docs/api/input.md +++ b/docs/api/input.md @@ -30,7 +30,7 @@ import Basic from '@site/static/usage/v7/input/basic/index.md'; ## Types -The input component is meant for text type inputs only, such as `"text"`, `"password"`, `"email"`, `"number"`, `"search"`, `"tel"`, and `"url"`. It supports all standard text input events including keyup, keydown, keypress, and more. The default `type` is `"text"`. +The input component is meant for text type inputs only, such as `"text"`, `"password"`, `"email"`, `"number"`, `"search"`, `"tel"`, and `"url"`. It supports all standard text input events including `keyup`, `keydown`, `keypress`, and more. The default `type` is `"text"`. import Types from '@site/static/usage/v7/input/types/index.md'; @@ -120,7 +120,7 @@ import CounterAlignment from '@site/static/usage/v7/input/counter-alignment/inde ## Filtering User Input -Developers can use the `ionInput` event to update the input value in response to user input such as a keypress. This is useful for filtering out invalid or unwanted characters. +Developers can use the `ionInput` event to update the input value in response to user input such as a `keypress`. This is useful for filtering out invalid or unwanted characters. When storing the value in a state variable, we recommend updating both the state variable and the `ion-input` component value. This ensures that the state variable and the `ion-input` component value remain in sync. diff --git a/versioned_docs/version-v5/api/input.md b/versioned_docs/version-v5/api/input.md index c7c408fd1ab..5db846bb186 100644 --- a/versioned_docs/version-v5/api/input.md +++ b/versioned_docs/version-v5/api/input.md @@ -18,7 +18,7 @@ import Slots from '@ionic-internal/component-api/v5/input/slots.md'; The input component is a wrapper to the HTML input element with custom styling and additional functionality. It accepts most of the same properties as the HTML input, but works great on desktop devices and integrates with the keyboard on mobile devices. -It is meant for text `type` inputs only, such as `"text"`, `"password"`, `"email"`, `"number"`, `"search"`, `"tel"`, and `"url"`. It supports all standard text input events including keyup, keydown, keypress, and more. +It is meant for text `type` inputs only, such as `"text"`, `"password"`, `"email"`, `"number"`, `"search"`, `"tel"`, and `"url"`. It supports all standard text input events including `keyup`, `keydown`, `keypress`, and more. ## Usage diff --git a/versioned_docs/version-v6/api/input.md b/versioned_docs/version-v6/api/input.md index 3f439459ada..ca1575a0ad8 100644 --- a/versioned_docs/version-v6/api/input.md +++ b/versioned_docs/version-v6/api/input.md @@ -31,7 +31,7 @@ import Basic from '@site/static/usage/v6/input/basic/index.md'; ## Types -The input component is meant for text type inputs only, such as `"text"`, `"password"`, `"email"`, `"number"`, `"search"`, `"tel"`, and `"url"`. It supports all standard text input events including keyup, keydown, keypress, and more. The default `type` is `"text"`. +The input component is meant for text type inputs only, such as `"text"`, `"password"`, `"email"`, `"number"`, `"search"`, `"tel"`, and `"url"`. It supports all standard text input events including `keyup`, `keydown`, `keypress`, and more. The default `type` is `"text"`. import Types from '@site/static/usage/v6/input/types/index.md'; From c31477bdef1f73ef2aa3622c1bea253e15fe1a80 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 16:25:33 -0400 Subject: [PATCH 21/29] docs(theming): wrap "rgba" in code formatting --- docs/api/datetime.md | 2 +- docs/theming/advanced.md | 2 +- versioned_docs/version-v5/theming/advanced.md | 2 +- versioned_docs/version-v6/theming/advanced.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/api/datetime.md b/docs/api/datetime.md index b7181a0dca7..cf9ed3071f7 100644 --- a/docs/api/datetime.md +++ b/docs/api/datetime.md @@ -296,7 +296,7 @@ Developers can provide their own buttons for advanced custom behavior. Using the `highlightedDates` property, developers can style particular dates with custom text or background colors. This property can be defined as either an array of dates and their colors, or a callback that receives an ISO string and returns the colors to use. -When specifying colors, any valid CSS color format can be used. This includes hex codes, rgba, [color variables](../theming/colors), etc. +When specifying colors, any valid CSS color format can be used. This includes hex codes, `rgba`, [color variables](../theming/colors), etc. To maintain a consistent user experience, the style of selected date(s) will always override custom highlights. diff --git a/docs/theming/advanced.md b/docs/theming/advanced.md index 2911d7c0e58..24c6a22b221 100644 --- a/docs/theming/advanced.md +++ b/docs/theming/advanced.md @@ -87,7 +87,7 @@ While the application and stepped variables in the themes section are useful for ### The Alpha Problem -There is not yet full browser support for alpha use of a hex color. The rgba() function only accepts a value in `R, G, B, A` (Red, Green, Blue, Alpha) format. The following code shows examples of correct and incorrect values passed to `rgba()`. +There is not yet full browser support for alpha use of a hex color. The `rgba()` function only accepts a value in `R, G, B, A` (Red, Green, Blue, Alpha) format. The following code shows examples of correct and incorrect values passed to `rgba()`. ```css /* These examples use the same color: blueviolet. */ diff --git a/versioned_docs/version-v5/theming/advanced.md b/versioned_docs/version-v5/theming/advanced.md index e34d75b765d..8be75c4b105 100644 --- a/versioned_docs/version-v5/theming/advanced.md +++ b/versioned_docs/version-v5/theming/advanced.md @@ -47,7 +47,7 @@ While the application and stepped variables in the themes section are useful for ### The Alpha Problem -There is not yet full browser support for alpha use of a hex color. The rgba() function only accepts a value in `R, G, B, A` (Red, Green, Blue, Alpha) format. The following code shows examples of correct and incorrect values passed to `rgba()`. +There is not yet full browser support for alpha use of a hex color. The `rgba()` function only accepts a value in `R, G, B, A` (Red, Green, Blue, Alpha) format. The following code shows examples of correct and incorrect values passed to `rgba()`. ```css /* These examples use the same color: blueviolet. */ diff --git a/versioned_docs/version-v6/theming/advanced.md b/versioned_docs/version-v6/theming/advanced.md index 20516abca8b..d4e9cab4701 100644 --- a/versioned_docs/version-v6/theming/advanced.md +++ b/versioned_docs/version-v6/theming/advanced.md @@ -87,7 +87,7 @@ While the application and stepped variables in the themes section are useful for ### The Alpha Problem -There is not yet full browser support for alpha use of a hex color. The rgba() function only accepts a value in `R, G, B, A` (Red, Green, Blue, Alpha) format. The following code shows examples of correct and incorrect values passed to `rgba()`. +There is not yet full browser support for alpha use of a hex color. The `rgba()` function only accepts a value in `R, G, B, A` (Red, Green, Blue, Alpha) format. The following code shows examples of correct and incorrect values passed to `rgba()`. ```css /* These examples use the same color: blueviolet. */ From 91635140c7616b3bc608a32c0e096fbc98ac601b Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 16:27:12 -0400 Subject: [PATCH 22/29] chore(cspell): improve regex to match anything in code ticks Removes ignored words from the wordlist that are now inside of code formatting and ignored by the regex --- cspell-wordlist.txt | 24 +----------------------- cspell.json | 4 ++-- 2 files changed, 3 insertions(+), 25 deletions(-) diff --git a/cspell-wordlist.txt b/cspell-wordlist.txt index 66623b28414..607ba8200db 100644 --- a/cspell-wordlist.txt +++ b/cspell-wordlist.txt @@ -27,7 +27,6 @@ textareas appstore authed -autocrlf autogrow automations autoplay @@ -44,6 +43,7 @@ jank janky jarsigner jsdelivr +keyframes keytool lifecycles localstorage @@ -72,31 +72,9 @@ webapps webviews xlarge xsmall -zipalign allowtransparency mozallowfullscreen msallowfullscreen oallowfullscreen webkitallowfullscreen - -doubletap -keydown -keyframes -keypress -keyup -reachbeginning -reachend -slidechangetransitionend -slidechangetransitionstart -slidenexttransitionend -slidenexttransitionstart -slideprevtransitionend -slideprevtransitionstart -slidermove -touchend -touchstart -transitionend -transitionstart - -rgba diff --git a/cspell.json b/cspell.json index 83f82d29a29..253280c70df 100644 --- a/cspell.json +++ b/cspell.json @@ -9,8 +9,8 @@ ], "ignoreRegExpList": [ "/(```+)[\\s\\S]+?\\1/g", // Ignore all words inside of code blocks - "/`[a-zA-Z-_.@:\/]+`/g", // Ignore all words inside of code ticks, including file names - "/:[a-zA-Z0-9-_\\+]+:/g" // Ignore all emojis e.g. :tada: + "`([^`]*)`", // Ignore everything inside of code ticks + "/:[a-zA-Z0-9-_\\+]+:/g" // Ignore all markdown emojis e.g. :tada: ], "ignorePaths": [ "docs/cli", From 8fef62a80b00ddad08d8e41a2d7e1c8947e7ad23 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 16:53:23 -0400 Subject: [PATCH 23/29] chore(cspell): add flagged words for the since cspell doesn't run against 3 letter words --- cspell.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cspell.json b/cspell.json index 253280c70df..3efe86da99c 100644 --- a/cspell.json +++ b/cspell.json @@ -18,5 +18,10 @@ "versioned_docs/**/api", "versioned_docs/**/cli", "versioned_docs/**/native" + ], + // List of words to be always considered incorrect + // This is useful for offensive words and common spelling errors. + "flagWords": [ + "hte" // "hte" should be "the" ] } From db378891e34301331f43734cab1eb4c854ee3e16 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 18:20:28 -0400 Subject: [PATCH 24/29] docs(contributing): add notes on running spellcheck --- CONTRIBUTING.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c17de038aa9..4714c4e7f77 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,6 +4,9 @@ Thanks for your interest in contributing to Ionic's documentation! :tada: Check - [Contributing Guide](#contributing-guide) - [Development Workflow](#development-workflow) + - [Previewing Changes](#previewing-changes) + - [Linting Documentation](#linting-documentation) + - [Spell Check](#spell-check) - [Using VS Code on Windows](#using-vs-code-on-windows) - [Project Structure](#project-structure) - [Directories](#directories) @@ -12,7 +15,6 @@ Thanks for your interest in contributing to Ionic's documentation! :tada: Check - [Translation](#translation) - [Reporting Issues](#reporting-issues) - [Pull Request Guidelines](#pull-request-guidelines) - - [Deploying](#deploying) - [License](#license) @@ -20,6 +22,8 @@ Thanks for your interest in contributing to Ionic's documentation! :tada: Check ## Development Workflow +### Previewing Changes + In order to run the documentation locally, install the dependencies and run the development server: ```sh @@ -27,7 +31,59 @@ $ npm install --legacy-peer-deps $ npm start ``` -> **Note**: certain versions of npm (5-8) and Node.js (10-16) are required to run certain scripts. +> [!NOTE] certain versions of npm (5-8) and Node.js (10-16) are required to run certain scripts. + +### Linting Documentation + +This repository uses [Prettier](https://prettier.io/), an opinionated code formatter, in order to keep consistent formatting throughout the documentation. Run the following command to automatically fix all formatting, and then push any changes: + +``` +npm run lint +``` + +### Spell Check + +This repository uses [cspell](https://cspell.org/), a spell checker for code, to automatically flag any spelling errors. Run the following command to see any spelling errors: + +``` +npm run spellcheck +``` + +> [!NOTE] +> Any spelling errors will need to be fixed manually. There are various ways to ignore words or sections that were flagged erroneously. These are listed below. + +#### Ignoring words + +**To ignore:** + +- A **specific word**, add it to the following file: `cspell-wordlist.txt` + - For example, `Ionicons` is flagged as an unknown word. Since this is the name of our software, it has been added to this file to be ignored. +- A **directory** or anything matching a **regular expression**, update the following file: `cspell.json` + - For example, we don't want to flag anything inside of code ticks (`) or code blocks (```), so there are regular expressions added to ignore anything inside of these. +- An **entire line**, add the following comment above it: + ```markdown + + ``` +- **Multiple lines**, add comments above and below the lines to be ignored: + ```markdown + + +

Everything inside of these comments will be ignored by the spell checkr. Proofread your own words carefully.

+ + + ``` + +> [!IMPORTANT] +> You need to have line breaks between the `cspell` comments and any HTML elements, +> otherwise the build will error with `Module build failed`. + +#### Tips + +Before adding a word or section to be ignored, see if there is a way to make it pass the spell check. Technical terms that are part of an API may need to be wrapped in code formatting. For example, the word `keydown` is flagged as an unknown word by the spell checker, but this is a [Web API event](https://developer.mozilla.org/en-US/docs/Web/API/Element/keydown_event). We can wrap any mentions of `keydown` in two backticks (\`keydown\`) in order to avoid it being flagged by the spell checker. + +Comments disabling the next line or entire sections of documentation are useful for making the spell checker ignore people's names. + +In general, we should try to avoid ignoring words unless they are technical terms that are used throughout the documentation and wouldn't necessarily make sense formatted as code. --- From cfda51f7b12d284a91eb68aa2234f5ad76f3a9d1 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 18:20:37 -0400 Subject: [PATCH 25/29] chore(CI): update spell check to two words --- .github/workflows/CI.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 431c95995c3..2903eb255f6 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -25,9 +25,9 @@ jobs: run: npm ci --legacy-peer-deps - name: Lint run: npm run lint - - name: Spellcheck + - name: Spell Check run: npm run spellcheck - # Lint and spellcheck changes should be pushed + # Lint and spell check changes should be pushed # to the branch before the branch is merge eligible. - name: Check Diff run: git diff --exit-code From ace2cafc162007127381f24419856cd26d69104a Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 18:23:51 -0400 Subject: [PATCH 26/29] style: formatting --- CONTRIBUTING.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4714c4e7f77..02b3ab6e628 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,7 +31,8 @@ $ npm install --legacy-peer-deps $ npm start ``` -> [!NOTE] certain versions of npm (5-8) and Node.js (10-16) are required to run certain scripts. +> [!NOTE] +> Certain versions of npm (5-8) and Node.js (10-16) are required to run certain scripts. ### Linting Documentation From c5e258fc8beb2c2b051adc180c000d12363ee1b5 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 18:24:43 -0400 Subject: [PATCH 27/29] style: formatting --- CONTRIBUTING.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 02b3ab6e628..f93bca1ee5f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -159,7 +159,8 @@ If the issue you're reporting is a bug, please be sure it is an issue with the I - OS and browser versions - If possible, a demo repo or CodePen/CodeSandbox -> **Note**: Some [reference content](#reference-content) is pulled from other Ionic repos. In that case, please submit your issue on the docs repo with a link to the repo where the content lives. +> [!NOTE] +> Some [reference content](#reference-content) is pulled from other Ionic repos. In that case, please submit your issue on the docs repo with a link to the repo where the content lives. --- From b5d9054469ca7b23c8f0e79183a7e8308b6a308e Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Fri, 22 Sep 2023 18:26:49 -0400 Subject: [PATCH 28/29] style: lint --- CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f93bca1ee5f..0931f6f983c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -66,6 +66,7 @@ npm run spellcheck ``` - **Multiple lines**, add comments above and below the lines to be ignored: + ```markdown From 54480ffbd8e4ef518ef2f83e4a482f572565f679 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Mon, 25 Sep 2023 14:39:11 -0400 Subject: [PATCH 29/29] style: remove comments --- cspell.json | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/cspell.json b/cspell.json index 3efe86da99c..5fcd46d4140 100644 --- a/cspell.json +++ b/cspell.json @@ -8,9 +8,9 @@ } ], "ignoreRegExpList": [ - "/(```+)[\\s\\S]+?\\1/g", // Ignore all words inside of code blocks - "`([^`]*)`", // Ignore everything inside of code ticks - "/:[a-zA-Z0-9-_\\+]+:/g" // Ignore all markdown emojis e.g. :tada: + "/(```+)[\\s\\S]+?\\1/g", + "`([^`]*)`", + "/:[a-zA-Z0-9-_\\+]+:/g" ], "ignorePaths": [ "docs/cli", @@ -19,9 +19,7 @@ "versioned_docs/**/cli", "versioned_docs/**/native" ], - // List of words to be always considered incorrect - // This is useful for offensive words and common spelling errors. "flagWords": [ - "hte" // "hte" should be "the" + "hte" ] }