From e01a48d571aa7a00c2980314910b4011dd781b47 Mon Sep 17 00:00:00 2001 From: esoubiran-aneo Date: Sat, 6 May 2023 22:48:18 +0200 Subject: [PATCH] style: install linter for markdown --- .../workflows/validate-docs-generation.yml | 39 +++- .gitignore | 1 + .markdownlint.yml | 18 ++ .markdownlintignore | 3 + README.md | 2 +- content/1.introduction.md | 3 +- content/2.sign-cla.md | 2 +- .../2.working-processes/1.discuss-first.md | 6 +- .../2.submission-guidelines.md | 5 +- .../3.release-processes.md | 2 +- content/3.contribution-guides/1.typescript.md | 2 +- package.json | 14 +- pnpm-lock.yaml | 212 +++++++++++++++--- 13 files changed, 260 insertions(+), 49 deletions(-) create mode 100644 .markdownlint.yml create mode 100644 .markdownlintignore diff --git a/.github/workflows/validate-docs-generation.yml b/.github/workflows/validate-docs-generation.yml index 5c3a3e4..c087260 100644 --- a/.github/workflows/validate-docs-generation.yml +++ b/.github/workflows/validate-docs-generation.yml @@ -1,12 +1,15 @@ name: Validate Docs Generation on: + push: + branches: + - main pull_request: branches: - main concurrency: - group: "ci-${{ github.ref }}" + group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: @@ -33,3 +36,37 @@ jobs: - name: Static HTML export with Nuxt run: nr generate + + lint-markdown: + name: Lint Markdown + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - run: npm i -g pnpm @antfu/ni + + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: pnpm + + - run: nci + + - run: nr lint:md + + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - run: npm i -g pnpm @antfu/ni + + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: pnpm + + - run: nci + + - run: nr lint diff --git a/.gitignore b/.gitignore index 69f6b69..95f27a2 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ dist sw.* .env .output +.eslintcache diff --git a/.markdownlint.yml b/.markdownlint.yml new file mode 100644 index 0000000..59042a1 --- /dev/null +++ b/.markdownlint.yml @@ -0,0 +1,18 @@ +# Default state for all rules +default: true +# Disable max line length +MD013: false +# Disable space after hash on atx style heading +MD018: false +# Allow duplicated heading for different sections +MD024: + allow_different_nesting: true + siblings_only: true +# Allow multiple top-level headings +MD025: false +# Allow inline HTML +MD033: false +# Allow non blank lines around list +MD032: false +MD046: + style: fenced diff --git a/.markdownlintignore b/.markdownlintignore new file mode 100644 index 0000000..8467502 --- /dev/null +++ b/.markdownlintignore @@ -0,0 +1,3 @@ +**/node_modules + +content/0.index.md diff --git a/README.md b/README.md index 84e8daf..c93b4a9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ArmoniK Community +# ArmoniK Community All our ways of working and our good practices. diff --git a/content/1.introduction.md b/content/1.introduction.md index eb2a0e1..57efb01 100644 --- a/content/1.introduction.md +++ b/content/1.introduction.md @@ -27,11 +27,10 @@ Feel free to ask if there is something you don't understand. The whole ArmoniK t In addition to processes and **for each language** you could find in ArmoniK, we created a **contribution guide**. -- [Typescript](./2.contribution-guides/1.typescript.md) +- [TypeScript](./2.contribution-guides/1.typescript.md) Feel free to ask if there is something you don't understand. The whole ArmoniK team would be delighted to answer you. - ## Before starting your journey diff --git a/content/2.sign-cla.md b/content/2.sign-cla.md index 93e9c4b..1c62b54 100644 --- a/content/2.sign-cla.md +++ b/content/2.sign-cla.md @@ -4,4 +4,4 @@ navigation.icon: lucide:file-signature --- -*Work in progress* +Work in progress... diff --git a/content/2.working-processes/1.discuss-first.md b/content/2.working-processes/1.discuss-first.md index a19ab00..7358607 100644 --- a/content/2.working-processes/1.discuss-first.md +++ b/content/2.working-processes/1.discuss-first.md @@ -1,6 +1,6 @@ -# Discuss First ! +# Discuss First Create a new issue and talk to us about it before attempting to create a feature pull request. -It will help maintainers in comprehending your requirements and ensuring that you take steps that are appropriate for ArmoniK's future. +It will help maintainers in comprehending your requirements and ensuring that you take steps that are appropriate for ArmoniK's future. -If you have an idea or want to discuss an issue with the community, you can alternatively create a discussion in our [Discussions Channel](https://github.com/aneoconsulting/ArmoniK/discussions). \ No newline at end of file +If you have an idea or want to discuss an issue with the community, you can alternatively create a discussion in our [Discussions Channel](https://github.com/aneoconsulting/ArmoniK/discussions). diff --git a/content/2.working-processes/2.submission-guidelines.md b/content/2.working-processes/2.submission-guidelines.md index 3c6ed2a..d2f4b04 100644 --- a/content/2.working-processes/2.submission-guidelines.md +++ b/content/2.working-processes/2.submission-guidelines.md @@ -10,7 +10,7 @@ A minimal reproduction scenario allows us to quickly confirm a bug, isolate it a Unfortunately, we are not able to investigate or fix bugs without a minimal reproduction sample, so if we don't hear back from you, we will close the issue since it is missing information to be reproduced. The issue can be reopened if the user can provide more information after the issue was closed. -Helping us to easily reproduce an issue also helps you. Our developers will be able to more easily pinpoint the problem and provide a correction. As a result, the process of resolving issues is accelerated. +Helping us to easily reproduce an issue also helps you. Our developers will be able to more easily pinpoint the problem and provide a correction. As a result, the process of resolving issues is accelerated. You can file new issues by selecting from our [new issues templates](https://github.com/aneoconsulting/ArmoniK/issues/new/choose) and filling it. @@ -45,6 +45,7 @@ The following coding rules must be respected: If your PR fixes or resolves an existing issue, please link in the desciption of your PR. You can either put the issue number or the complete link to the issue if the fix is not in the same repository as the issue. You will have to replace the 123 by the issue number you fix. Example: + ```markdown fix #123 fix https://github.com/aneoconsulting/ArmoniK/issues/123 @@ -60,4 +61,4 @@ We should particularly take attention to: - Documentation - Tests - Maintainability -- Performances \ No newline at end of file +- Performances diff --git a/content/2.working-processes/3.release-processes.md b/content/2.working-processes/3.release-processes.md index b12e96b..e89c352 100644 --- a/content/2.working-processes/3.release-processes.md +++ b/content/2.working-processes/3.release-processes.md @@ -6,4 +6,4 @@ Our release process in the repositories is as follow: 2. The CI/CD will check that the tag is valid. If the tag is not valid, the CI/CD will fail. 3. The CI/CD will run and produce the artifacts with the given tag. -Note: Some repositories may have a slightly different way of producing releases; therefore, refer to the documentation in the repositories to ensure that you follow the right steps. If the process is still not clear to you, do not hesitate to contact us. \ No newline at end of file +Note: Some repositories may have a slightly different way of producing releases; therefore, refer to the documentation in the repositories to ensure that you follow the right steps. If the process is still not clear to you, do not hesitate to contact us. diff --git a/content/3.contribution-guides/1.typescript.md b/content/3.contribution-guides/1.typescript.md index 2c7ecc8..d8a5a0f 100644 --- a/content/3.contribution-guides/1.typescript.md +++ b/content/3.contribution-guides/1.typescript.md @@ -56,5 +56,5 @@ After bumpping, we remove lock file, we install them, runing build and test to v ### Releasing Please refer to [release processes](../2.working-processes/3.release-processes.md) in our working processes. - + > This guide is heavily inpired by the contribute from [@antfu](https://github.com/antfu/). diff --git a/package.json b/package.json index f25fdc6..565b10b 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,17 @@ { "name": "armonik-community", - "version": "0.1.0", "private": true, "scripts": { + "prepare": "nuxt prepare", + "postinstall": "nuxi prepare", "dev": "nuxi dev", "build": "nuxi build", "generate": "nuxi generate", "preview": "nuxi preview", - "lint": "eslint ." + "lint": "eslint --cache .", + "lint:fix": "eslint --cache --fix .", + "lint:md": "markdownlint . && case-police ./**/*.md", + "lint:md:fix": "markdownlint . --fix && case-police --fix ./**/*.md" }, "dependencies": { "@aneoconsultingfr/armonik-docs-theme": "^0.6.0", @@ -16,5 +20,9 @@ "nuxt": "^3.3.1", "rollup": "3.18.0" }, - "packageManager": "pnpm@8.1.0" + "packageManager": "pnpm@8.1.0", + "devDependencies": { + "case-police": "^0.6.0", + "markdownlint-cli": "^0.34.0" + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 676751d..5d37ae8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,6 +17,14 @@ dependencies: specifier: 3.18.0 version: 3.18.0 +devDependencies: + case-police: + specifier: ^0.6.0 + version: 0.6.0 + markdownlint-cli: + specifier: ^0.34.0 + version: 0.34.0 + packages: /@ampproject/remapping@2.2.0: @@ -878,6 +886,18 @@ packages: resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} dev: false + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.0.1 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + /@jridgewell/gen-mapping@0.1.1: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} engines: {node: '>=6.0.0'} @@ -1479,6 +1499,13 @@ packages: - supports-color dev: false + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + /@polka/url@1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: false @@ -2328,12 +2355,10 @@ packages: /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: false /ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} - dev: false /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} @@ -2347,12 +2372,10 @@ packages: engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - dev: false /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - dev: false /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} @@ -2413,7 +2436,6 @@ packages: /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: false /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} @@ -2471,7 +2493,6 @@ packages: /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: false /base64-js@0.0.8: resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==} @@ -2528,7 +2549,6 @@ packages: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 - dev: false /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} @@ -2644,6 +2664,11 @@ packages: upper-case-first: 2.0.2 dev: false + /case-police@0.6.0: + resolution: {integrity: sha512-j8LQSm2rxn58hAa5a56d6dlzud9GUjZ5lFn82y81IqKwbxO/7zlytu3YnXANsvC7eeUVjYWE3JJks0RdT/+MiA==} + hasBin: true + dev: true + /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} dev: false @@ -2850,7 +2875,6 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - dev: false /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} @@ -2858,7 +2882,6 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: false /color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} @@ -2877,10 +2900,9 @@ packages: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} dev: false - /commander@10.0.0: - resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} - dev: false /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -2983,7 +3005,6 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: false /css-background-parser@0.1.0: resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==} @@ -3455,6 +3476,11 @@ packages: character-entities: 2.0.2 dev: false + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: false @@ -3628,7 +3654,6 @@ packages: /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: false /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} @@ -3648,11 +3673,9 @@ packages: /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: false /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: false /emoticon@4.0.1: resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==} @@ -3709,6 +3732,11 @@ packages: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: false + /entities@3.0.1: + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} + dev: true + /entities@4.4.0: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} @@ -4150,6 +4178,14 @@ packages: is-callable: 1.2.7 dev: false + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.0.1 + dev: true + /formdata-polyfill@4.0.10: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} @@ -4257,6 +4293,11 @@ packages: resolution: {integrity: sha512-R5pcVO8Z1+pVDu8Ml3xaJCEkBiiy1VQN9za0YqH8GIi1nIqD4IzQhzY6dDzMRtdS1lyiGlucRzm8IN8wtLIXng==} dev: false + /get-stdin@9.0.0: + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} + dev: true + /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} @@ -4313,6 +4354,18 @@ packages: is-glob: 4.0.3 dev: false + /glob@10.2.2: + resolution: {integrity: sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.2.0 + minimatch: 9.0.0 + minipass: 5.0.0 + path-scurry: 1.7.0 + dev: true + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -4635,7 +4688,6 @@ packages: /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} - dev: false /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -4665,6 +4717,11 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: false + /ini@3.0.1: + resolution: {integrity: sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dev: true + /inquirer@9.1.5: resolution: {integrity: sha512-3ygAIh8gcZavV9bj6MTdYddG2zPSYswP808fKS46NOwlF0zZljVpnLCHODDqItWJDbDpLb3aouAxGaJbkxoppA==} engines: {node: '>=14.18.0'} @@ -4795,7 +4852,6 @@ packages: /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - dev: false /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} @@ -4907,7 +4963,15 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: false + + /jackspeak@2.2.0: + resolution: {integrity: sha512-r5XBrqIJfwRIjRt/Xr5fv9Wh09qyhHfKnYddDlpM+ibRR20qrYActpCAgU6U+d53EOEjzkvxPMVHSlgR7leXrQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true /jiti@1.18.2: resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} @@ -4927,7 +4991,6 @@ packages: hasBin: true dependencies: argparse: 2.0.1 - dev: false /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} @@ -4951,7 +5014,6 @@ packages: /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: false /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -5044,6 +5106,12 @@ packages: unicode-trie: 2.0.0 dev: false + /linkify-it@4.0.1: + resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} + dependencies: + uc.micro: 1.0.6 + dev: true + /listhen@1.0.4: resolution: {integrity: sha512-r94k7kmXHb8e8wpv7+UP/qqhhD+j/9TgX19QKim2cEJuWCLwlTw+5BkCFmYyjhQ7Bt8KdVun/2DcD7MF2Fe3+g==} dependencies: @@ -5174,6 +5242,11 @@ packages: engines: {node: '>=12'} dev: false + /lru-cache@9.1.1: + resolution: {integrity: sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==} + engines: {node: 14 || >=16.14} + dev: true + /magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: @@ -5208,10 +5281,50 @@ packages: semver: 6.3.0 dev: false + /markdown-it@13.0.1: + resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==} + hasBin: true + dependencies: + argparse: 2.0.1 + entities: 3.0.1 + linkify-it: 4.0.1 + mdurl: 1.0.1 + uc.micro: 1.0.6 + dev: true + /markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: false + /markdownlint-cli@0.34.0: + resolution: {integrity: sha512-4G9I++VBTZkaye6Yfc/7dU6HQHcyldZEVB+bYyQJLcpJOHKk/q5ZpGqK80oKMIdlxzsA3aWOJLZ4DkoaoUWXbQ==} + engines: {node: '>=14'} + hasBin: true + dependencies: + commander: 10.0.1 + get-stdin: 9.0.0 + glob: 10.2.2 + ignore: 5.2.4 + js-yaml: 4.1.0 + jsonc-parser: 3.2.0 + markdownlint: 0.28.2 + minimatch: 9.0.0 + run-con: 1.2.11 + dev: true + + /markdownlint-micromark@0.1.2: + resolution: {integrity: sha512-jRxlQg8KpOfM2IbCL9RXM8ZiYWz2rv6DlZAnGv8ASJQpUh6byTBnEsbuMZ6T2/uIgntyf7SKg/mEaEBo1164fQ==} + engines: {node: '>=14.18.0'} + dev: true + + /markdownlint@0.28.2: + resolution: {integrity: sha512-yYaQXoKKPV1zgrFsyAuZPEQoe+JrY9GDag9ObKpk09twx4OCU5lut+0/kZPrQ3W7w82SmgKhd7D8m34aG1unVw==} + engines: {node: '>=14.18.0'} + dependencies: + markdown-it: 13.0.1 + markdownlint-micromark: 0.1.2 + dev: true + /marky@1.2.5: resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} dev: false @@ -5360,7 +5473,6 @@ packages: /mdurl@1.0.1: resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: false /memory-fs@0.5.0: resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} @@ -5711,6 +5823,17 @@ packages: brace-expansion: 2.0.1 dev: false + /minimatch@9.0.0: + resolution: {integrity: sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} @@ -5723,6 +5846,11 @@ packages: engines: {node: '>=8'} dev: false + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + dev: true + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -6476,7 +6604,6 @@ packages: /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: false /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} @@ -6487,6 +6614,14 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: false + /path-scurry@1.7.0: + resolution: {integrity: sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 9.1.1 + minipass: 5.0.0 + dev: true + /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -7264,6 +7399,16 @@ packages: engines: {node: '>=0.12.0'} dev: false + /run-con@1.2.11: + resolution: {integrity: sha512-NEMGsUT+cglWkzEr4IFK21P4Jca45HqiAbIIZIBdX5+UZTB24Mb/21iNGgz9xZa8tL6vbW7CXmq7MFN42+VjNQ==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 3.0.1 + minimist: 1.2.8 + strip-json-comments: 3.1.1 + dev: true + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: @@ -7406,12 +7551,10 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - dev: false /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: false /shell-quote@1.8.0: resolution: {integrity: sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==} @@ -7425,6 +7568,11 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: false + /signal-exit@4.0.1: + resolution: {integrity: sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==} + engines: {node: '>=14'} + dev: true + /sirv@2.0.2: resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==} engines: {node: '>= 10'} @@ -7558,7 +7706,6 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: false /string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} @@ -7567,7 +7714,6 @@ packages: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.0.1 - dev: false /string.prototype.codepointat@0.2.1: resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==} @@ -7597,14 +7743,12 @@ packages: engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - dev: false /strip-ansi@7.0.1: resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 - dev: false /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} @@ -7619,7 +7763,6 @@ packages: /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - dev: false /strip-literal@1.0.1: resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} @@ -7634,7 +7777,7 @@ packages: dependencies: chalk: 4.1.2 change-case: 4.1.2 - commander: 10.0.0 + commander: 10.0.1 consola: 2.15.3 glob: 8.1.0 jiti: 1.18.2 @@ -7887,6 +8030,10 @@ packages: hasBin: true dev: false + /uc.micro@1.0.6: + resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} + dev: true + /ufo@1.1.1: resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} dev: false @@ -8526,7 +8673,6 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: false /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} @@ -8546,7 +8692,6 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: false /wrap-ansi@8.1.0: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} @@ -8555,7 +8700,6 @@ packages: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.0.1 - dev: false /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}