From 86f387bf5358c45c7506d897126790ab6049bd55 Mon Sep 17 00:00:00 2001 From: Sall Date: Thu, 30 Nov 2023 12:45:25 +0000 Subject: [PATCH] refactor: Update Docusaurus & ESLint configuration (#522) [WIP] Co-authored-by: Salvydas Lukosius --- .eslintrc.yml | 46 +- .github/ISSUE_TEMPLATE/01_bug_report.yml | 2 + .github/ISSUE_TEMPLATE/02_feature_request.yml | 4 +- .github/workflows/argos.yml | 38 + .github/workflows/ci-perf.yml | 14 +- .github/workflows/lock.yml | 1 - .trunk/trunk.yaml | 6 +- blog/2022/01/15/swiss_army_knife_for_zsh.md | 9 +- .../01_zsh_guide/01_roadmap/10_expansion.mdx | 3 +- community/99_contributors.mdx | 23 - docs/getting_started/01_installation.mdx | 37 +- docs/guides/01_commands.mdx | 60 +- docs/index.mdx | 6 +- docusaurus.config.js => docusaurus.config.ts | 276 +- ecosystem/plugins/zsh_comand_architect.mdx | 14 +- ecosystem/plugins/zsh_editing_workbench.mdx | 3 +- ecosystem/plugins/zsh_modules.mdx | 2 +- ecosystem/plugins/zsh_unique_id.mdx | 7 +- i18n/en/code.json | 144 +- i18n/en/docusaurus-theme-classic/footer.json | 12 - i18n/ja/code.json | 476 -- .../options.json | 14 - .../current.json | 22 - .../current/02_zsh_plugin_standard.mdx | 532 -- .../03_zsh_native_scripting_handbook.mdx | 330 - .../current/99_contributors.mdx | 290 - .../current/_category_.json | 7 - .../current/index.mdx | 30 - .../current.json | 18 - .../current/_category_.json | 7 - .../current/annexes/0_overview.mdx | 169 - .../current/annexes/19_eval.mdx | 125 - .../current/annexes/1_bin_gem_node.mdx | 568 -- .../current/annexes/20_test.mdx | 52 - .../current/annexes/2_meta_plugins.mdx | 243 - .../current/annexes/3_default_ice.mdx | 76 - .../current/annexes/4_patch-dl.mdx | 72 - .../current/annexes/5_readurl.mdx | 131 - .../current/annexes/6_submods.mdx | 54 - .../current/annexes/7_unscope.mdx | 161 - .../current/annexes/8_linkbin.mdx | 102 - .../current/annexes/9_rust.mdx | 164 - .../current/annexes/_category_.json | 7 - .../current/index.mdx | 26 - .../current/packages/01_synopsis.mdx | 143 - .../current/packages/02_usage.mdx | 1022 --- .../current/packages/_category_.json | 7 - .../current.json | 18 - .../getting_started/01_installation.mdx | 288 - .../current/getting_started/02_overview.mdx | 509 -- .../current/getting_started/03_migration.mdx | 476 -- .../current/getting_started/_category_.json | 7 - .../current/guides/01_commands.mdx | 318 - .../current/guides/02_customization.mdx | 331 - .../current/guides/03_benchmark.mdx | 137 - .../current/guides/_category_.json | 7 - .../current/guides/syntax/01_standard.mdx | 801 --- .../current/guides/syntax/02_for.mdx | 266 - .../guides/syntax/03_ice_modifiers.mdx | 227 - .../current/guides/syntax/10_bindkey.mdx | 143 - .../current/guides/syntax/_category_.json | 7 - .../current/index.mdx | 129 - .../current/zi_code.mdx | 85 - i18n/ja/docusaurus-theme-classic/footer.json | 78 - i18n/ja/docusaurus-theme-classic/navbar.json | 18 - i18n/zh-Hans/code.json | 476 -- .../options.json | 14 - .../current.json | 22 - .../current/02_zsh_plugin_standard.mdx | 532 -- .../03_zsh_native_scripting_handbook.mdx | 330 - .../current/99_contributors.mdx | 290 - .../current/_category_.json | 7 - .../current/index.mdx | 30 - .../current.json | 18 - .../current/_category_.json | 7 - .../current/annexes/0_overview.mdx | 169 - .../current/annexes/19_eval.mdx | 125 - .../current/annexes/1_bin_gem_node.mdx | 568 -- .../current/annexes/20_test.mdx | 52 - .../current/annexes/2_meta_plugins.mdx | 243 - .../current/annexes/3_default_ice.mdx | 76 - .../current/annexes/4_patch-dl.mdx | 72 - .../current/annexes/5_readurl.mdx | 131 - .../current/annexes/6_submods.mdx | 54 - .../current/annexes/7_unscope.mdx | 161 - .../current/annexes/8_linkbin.mdx | 102 - .../current/annexes/9_rust.mdx | 164 - .../current/annexes/_category_.json | 7 - .../current/index.mdx | 26 - .../current/packages/01_synopsis.mdx | 143 - .../current/packages/02_usage.mdx | 1022 --- .../current/packages/_category_.json | 7 - .../current.json | 18 - .../getting_started/01_installation.mdx | 288 - .../current/getting_started/02_overview.mdx | 510 -- .../current/getting_started/03_migration.mdx | 476 -- .../current/getting_started/_category_.json | 7 - .../current/guides/01_commands.mdx | 318 - .../current/guides/02_customization.mdx | 331 - .../current/guides/03_benchmark.mdx | 137 - .../current/guides/_category_.json | 7 - .../current/guides/syntax/01_standard.mdx | 801 --- .../current/guides/syntax/02_for.mdx | 266 - .../guides/syntax/03_ice_modifiers.mdx | 227 - .../current/guides/syntax/10_bindkey.mdx | 143 - .../current/guides/syntax/_category_.json | 7 - .../current/index.mdx | 129 - .../current/zi_code.mdx | 85 - .../docusaurus-theme-classic/footer.json | 78 - .../docusaurus-theme-classic/navbar.json | 18 - package.json | 91 +- pnpm-lock.yaml | 5554 ++++++++++------- sidebars.js | 8 - sidebars.ts | 7 + src/components/APITable/index.tsx | 30 +- src/components/Emoji.tsx | 11 +- src/components/Highlight.tsx | 1 - src/components/HomeBanner/index.tsx | 1 - src/components/HomeFeatures/index.tsx | 1 - src/components/ImgShow/index.tsx | 43 +- src/components/Player/asciinema-player.d.ts | 22 - src/components/Player/index.tsx | 24 +- src/components/Svg/index.tsx | 2 - src/pages/index.tsx | 2 - src/theme/MDXComponents.tsx | 9 + tsconfig.json | 23 +- 126 files changed, 3608 insertions(+), 20315 deletions(-) create mode 100644 .github/workflows/argos.yml rename docusaurus.config.js => docusaurus.config.ts (51%) delete mode 100644 i18n/ja/code.json delete mode 100644 i18n/ja/docusaurus-plugin-content-blog/options.json delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-community/current.json delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-community/current/02_zsh_plugin_standard.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-community/current/03_zsh_native_scripting_handbook.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-community/current/99_contributors.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-community/current/_category_.json delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-community/current/index.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current.json delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/_category_.json delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/0_overview.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/19_eval.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/1_bin_gem_node.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/20_test.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/2_meta_plugins.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/3_default_ice.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/4_patch-dl.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/5_readurl.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/6_submods.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/7_unscope.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/8_linkbin.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/9_rust.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/_category_.json delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/index.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/packages/01_synopsis.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/packages/02_usage.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/packages/_category_.json delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current.json delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/getting_started/01_installation.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/getting_started/02_overview.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/getting_started/03_migration.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/getting_started/_category_.json delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/guides/01_commands.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/guides/02_customization.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/guides/03_benchmark.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/guides/_category_.json delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/01_standard.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/02_for.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/03_ice_modifiers.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/10_bindkey.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/_category_.json delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/index.mdx delete mode 100644 i18n/ja/docusaurus-plugin-content-docs/current/zi_code.mdx delete mode 100644 i18n/ja/docusaurus-theme-classic/footer.json delete mode 100644 i18n/ja/docusaurus-theme-classic/navbar.json delete mode 100644 i18n/zh-Hans/code.json delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-blog/options.json delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-community/current.json delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/02_zsh_plugin_standard.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/03_zsh_native_scripting_handbook.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/99_contributors.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/_category_.json delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/index.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current.json delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/_category_.json delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/0_overview.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/19_eval.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/1_bin_gem_node.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/20_test.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/2_meta_plugins.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/3_default_ice.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/4_patch-dl.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/5_readurl.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/6_submods.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/7_unscope.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/8_linkbin.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/9_rust.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/_category_.json delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/index.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/packages/01_synopsis.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/packages/02_usage.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/packages/_category_.json delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current.json delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/01_installation.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/02_overview.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/03_migration.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/_category_.json delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/01_commands.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/02_customization.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/03_benchmark.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/_category_.json delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/01_standard.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/02_for.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/03_ice_modifiers.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/10_bindkey.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/_category_.json delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/index.mdx delete mode 100644 i18n/zh-Hans/docusaurus-plugin-content-docs/current/zi_code.mdx delete mode 100644 i18n/zh-Hans/docusaurus-theme-classic/footer.json delete mode 100644 i18n/zh-Hans/docusaurus-theme-classic/navbar.json delete mode 100644 sidebars.js create mode 100644 sidebars.ts delete mode 100644 src/components/Player/asciinema-player.d.ts create mode 100644 src/theme/MDXComponents.tsx diff --git a/.eslintrc.yml b/.eslintrc.yml index 6daa6c3f..7c20b078 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -1,18 +1,16 @@ env: browser: true - es2022: true + es2024: true node: true extends: - - plugin:react/recommended - - standard-with-typescript + - eslint:recommended - plugin:react-hooks/recommended + - plugin:@typescript-eslint/recommended - prettier - plugin:@docusaurus/recommended -settings: - "import/resolver": - typescript: {} - node: - extensions: [".js", ".jsx", ".ts", ".tsx"] +globals: + JSX: true +reportUnusedDisableDirectives: true parser: "@typescript-eslint/parser" parserOptions: ecmaVersion: latest @@ -21,9 +19,18 @@ parserOptions: jsx: true project: - tsconfig.json +settings: + "import/resolver": + typescript: + alwaysTryTypes: true + node: + extensions: [".js", ".jsx", ".ts", ".tsx"] + "import/parsers": + "@typescript-eslint/parser": [".ts", ".tsx"] plugins: + - import - react-hooks - - "@docusaurus" + - "@typescript-eslint" rules: { "semi": [2, "always"], @@ -49,22 +56,8 @@ rules: "prefer-destructuring": 1, "prefer-named-capture-group": 1, "prefer-template": 1, - "react-hooks/rules-of-hooks": 2, - "react-hooks/exhaustive-deps": 2, - "react/jsx-filename-extension": [1, {extensions: [".js", ".jsx", ".ts", ".tsx"]}], - "react/function-component-definition": - [2, {namedComponents: "function-declaration", unnamedComponents: "arrow-function"}], - "react/jsx-props-no-spreading": 0, - "react/jsx-key": [2, {checkFragmentShorthand: true}], - "react/jsx-no-useless-fragment": [1, {allowExpressions: true}], - "react/no-unstable-nested-components": [1, {allowAsProps: true}], - "react/prefer-stateless-function": 1, - "react/require-default-props": [2, {ignoreFunctionalComponents: true}], - "import/prefer-default-export": 0, - "@docusaurus/string-literal-i18n-messages": 2, - "@docusaurus/no-untranslated-text": [1, {ignoredStrings: ["ยท", "โ€”", "ร—"]}], "import/extensions": 0, - "import/no-unresolved": [2, {"ignore": ["^@theme", "^@docusaurus", "^@site"]}], + "import/no-unresolved": [2, {ignore: ["^@theme", "^@docusaurus", "^@generated", "^@site", "^@testing-utils"]}], "import/order": [ 1, @@ -79,6 +72,8 @@ rules: position: "after", }, {pattern: "react", group: "builtin", position: "before"}, + {pattern: "react-dom", group: "builtin", position: "before"}, + {pattern: "react-dom/**", group: "builtin", position: "before"}, {pattern: "clsx", group: "external", position: "before"}, {pattern: "@theme/**", group: "internal"}, {pattern: "@site/**", group: "internal"}, @@ -89,6 +84,5 @@ rules: warnOnUnassignedImports: true, }, ], - "@typescript-eslint/explicit-function-return-type": 0, - "@typescript-eslint/consistent-type-imports": [2, {"disallowTypeAnnotations": false}], + "import/prefer-default-export": 0, } diff --git a/.github/ISSUE_TEMPLATE/01_bug_report.yml b/.github/ISSUE_TEMPLATE/01_bug_report.yml index e789112a..5c96929a 100644 --- a/.github/ISSUE_TEMPLATE/01_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/01_bug_report.yml @@ -14,11 +14,13 @@ body: label: Environment description: > Please describe your environment in as much detail as possible. Otherwise, we may not be able to reproduce the issue. + placeholder: > Example: print "Device: $VENDOR | $OSTYPE | $CPUTYPE" print "Shell: $SHELL | $ZSH_ARGZERO | $ZSH_PATCHLEVEL" print "Zi: $(git -C $ZI[BIN_DIR] rev-parse HEAD)" + validations: required: true - type: textarea diff --git a/.github/ISSUE_TEMPLATE/02_feature_request.yml b/.github/ISSUE_TEMPLATE/02_feature_request.yml index 84d3586e..80cd628c 100644 --- a/.github/ISSUE_TEMPLATE/02_feature_request.yml +++ b/.github/ISSUE_TEMPLATE/02_feature_request.yml @@ -26,9 +26,7 @@ body: id: additional attributes: label: Additional Context - description: - "List any other information that is relevant to your issue. Stack traces, related issues, suggestions on how to add, use case, Stack Overflow links, forum links, screenshots, OS if applicable, - etc." + description: "List any other information that is relevant to your issue. Stack traces, related issues, suggestions on how to add, use case, Stack Overflow links, forum links, screenshots, OS if applicable, etc." validations: required: false - type: checkboxes diff --git a/.github/workflows/argos.yml b/.github/workflows/argos.yml new file mode 100644 index 00000000..66e6c7be --- /dev/null +++ b/.github/workflows/argos.yml @@ -0,0 +1,38 @@ +--- +name: "๐Ÿ“Š Argos CI" + +on: + push: + branches: [main] + pull_request: + branches: [main] + +permissions: read-all + +jobs: + take-screenshots: + runs-on: ubuntu-latest + steps: + - name: "โคต๏ธ Check out code from GitHub" + uses: actions/checkout@v4 + - name: "๐Ÿ“ฆ Setup pnpm" + uses: pnpm/action-setup@v2.4.0 + - name: "โŽ” Setup node" + uses: actions/setup-node@v4.0.0 + with: + node-version: current + cache: "pnpm" + - name: Install dependencies + run: pnpm i + + - name: Install Playwright browsers + run: pnpm playwright install --with-deps chromium + + - name: Build the website + run: pnpm build:en + + - name: Take screenshots with Playwright + run: pnpm playwright test + + - name: Upload screenshots to Argos + run: pnpm argos upload ./screenshots diff --git a/.github/workflows/ci-perf.yml b/.github/workflows/ci-perf.yml index 7451f3f9..02d3da9a 100644 --- a/.github/workflows/ci-perf.yml +++ b/.github/workflows/ci-perf.yml @@ -16,7 +16,7 @@ on: - "package.json" - "pnpm-lock.yaml" - "babel.config.js" - - "docusaurus.config.js" + - "docusaurus.config.ts" - "src/**" - "static/**" - "!docs/**" @@ -40,14 +40,11 @@ jobs: name: " ๐Ÿ“Š Build Size Report" timeout-minutes: 30 runs-on: ubuntu-latest - strategy: - matrix: - node-version: [18] permissions: checks: write # for preactjs/compressed-size-action to create and update the checks contents: read # for actions/checkout to fetch code - issues: write # for preactjs/compressed-size-action to create comments pull-requests: write # for preactjs/compressed-size-action to write a PR review + issues: write # for preactjs/compressed-size-action to create comments steps: - name: "โคต๏ธ Check out code from GitHub" uses: actions/checkout@v4 @@ -58,7 +55,7 @@ jobs: - name: "โŽ” Setup node" uses: actions/setup-node@v4.0.0 with: - node-version: ${{ matrix.node-version }} + node-version: current cache: "pnpm" - run: pnpm i --prod - uses: preactjs/compressed-size-action@v2 @@ -74,9 +71,6 @@ jobs: name: ๐Ÿ’น Build Time Perf timeout-minutes: 30 runs-on: ubuntu-latest - strategy: - matrix: - node-version: [18] steps: - name: "โคต๏ธ Check out code from GitHub" uses: actions/checkout@v4 @@ -87,7 +81,7 @@ jobs: - name: "โŽ” Setup node" uses: actions/setup-node@v4.0.0 with: - node-version: ${{ matrix.node-version }} + node-version: current cache: "pnpm" - run: pnpm i --prod # Ensure build with a cold cache does not increase too much diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index a8be78c1..a9eb595a 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -1,4 +1,3 @@ -# @format --- name: ๐Ÿ”’ Lock closed issues and PRs diff --git a/.trunk/trunk.yaml b/.trunk/trunk.yaml index ef0f8933..ba4bec8e 100644 --- a/.trunk/trunk.yaml +++ b/.trunk/trunk.yaml @@ -11,12 +11,12 @@ plugins: - id: trunk uri: https://github.com/trunk-io/plugins ref: v1.3.0 - import_to_global: true merge: required_statuses: - Trunk Check lint: disabled: + - terrascan - trufflehog - trivy - checkov @@ -25,7 +25,7 @@ lint: - yamllint - shellcheck enabled: - - terrascan@1.18.3 + - sort-package-json@2.6.0 - taplo@0.8.1 - oxipng@9.0.0 - svgo@3.0.4 @@ -50,7 +50,7 @@ lint: - .trunk/config/* - linters: [gitleaks] paths: - - docusaurus.config.js + - docusaurus.config.ts - linters: [markdownlint] paths: - src/components/Markdown/* diff --git a/blog/2022/01/15/swiss_army_knife_for_zsh.md b/blog/2022/01/15/swiss_army_knife_for_zsh.md index 45217d75..3a16b351 100644 --- a/blog/2022/01/15/swiss_army_knife_for_zsh.md +++ b/blog/2022/01/15/swiss_army_knife_for_zsh.md @@ -15,15 +15,12 @@ image: /img/png/theme/z/320x320.png ## ๐Ÿง™โ€โ™‚๏ธ ๐Ÿช„ [โฎ ZI โฏ](https://github.com/z-shell/zi) - A Swiss Army Knife for [Zsh](https://zsh.sourceforge.io/) - [Unix shell](https://en.wikipedia.org/wiki/Unix_shell) -import useBaseUrl from '@docusaurus/useBaseUrl'; -import ThemedImage from '@theme/ThemedImage'; +import useBaseUrl from '@docusaurus/useBaseUrl'; import ThemedImage from '@theme/ThemedImage'; - + }} /> Designed to glue everything together. ๐Ÿ”— diff --git a/community/01_zsh_guide/01_roadmap/10_expansion.mdx b/community/01_zsh_guide/01_roadmap/10_expansion.mdx index d3ed095d..41f0c290 100644 --- a/community/01_zsh_guide/01_roadmap/10_expansion.mdx +++ b/community/01_zsh_guide/01_roadmap/10_expansion.mdx @@ -1,8 +1,7 @@ --- id: expansion title: ๐Ÿƒ Expansion -description: The expansion, commonly referred to as globbing, is the operation that expands - a wildcard pattern into the list of pathnames matching the pattern +description: The expansion, commonly referred to as globbing, is the operation that expands a wildcard pattern into the list of pathnames matching the pattern sidebar_position: 2 image: /img/zsh/artwork/app-icons/zsh-icon-256x256.png keywords: diff --git a/community/99_contributors.mdx b/community/99_contributors.mdx index d1242ae5..46fd8c3d 100644 --- a/community/99_contributors.mdx +++ b/community/99_contributors.mdx @@ -14,7 +14,6 @@ slug: contributors import Link from "@docusaurus/Link"; import Image from "@theme/IdealImage"; -import Emoji from "@site/src/components/Emoji"; import useBaseUrl from "@docusaurus/useBaseUrl"; import ThemedImage from "@theme/ThemedImage"; @@ -169,16 +168,6 @@ Contributions make the open-source community an amazing place to learn, inspire, Colerar - - - -
- MisakaCloud - - Dongsen - - Caleb Cushing - - - -
- David Lapshin - - - import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import Link from "@docusaurus/Link"; -import Emoji from "@site/src/components/Emoji"; ## Quick setup {#quick-setup} @@ -54,7 +51,7 @@ Reload the shell with exec zsh -il and run zi -h for usage :::tip - Verify the sha256 [checksum][checksum-txt] for file: lib/sh/install.sh -- If required append `-b ` or `-b ` e.g: +- If required append -b \ or -b \ e.g: ```shell sh -c "$(curl -fsSL get.zshell.dev)" -- -i skip -b main @@ -184,7 +181,7 @@ Run zi -h for available commands or [explore][collection-page] wiki t If you have any issue or need help , lets [discuss][discuss] it or open an [issue][issue] on GitHub. -It helps us to improve and make Zi better. Don't forget to help the project: share, contribute, or [translate][translate] . +It helps us to improve and make Zi better. Don't forget to help the project: share, contribute, or [translate][help-translate] . Let's glue a toolchain that works for us . @@ -233,25 +230,21 @@ The module transparently and automatically compiles sourced scripts and lists of ### Installer {#installer} -| Service | URL | -| :--------- | ------------------------------------------------------------------------- | -| Redirect | | -| R2 | | -| Cloudflare | | -| IPFS | | -| Git.io | | -| GitHub RAW | | +| Service | URL | +| :--------- | ----------------------------------------------------------------------- | +| Redirect | https://get.zshell.dev | +| Cloudflare | https://src.zshell.dev/sh/install.sh | +| Git.io | https://git.io/get-zi | +| GitHub RAW | https://raw.githubusercontent.com/z-shell/zi-src/main/lib/sh/install.sh | ### Loader {#loader} -| Service | URL | -| :--------- | ------------------------------------------------------------------------ | -| Redirect | | -| R2 | | -| Cloudflare | | -| IPFS | | -| Git.io | | -| GitHub RAW | | +| Service | URL | +| :--------- | ---------------------------------------------------------------------- | +| Redirect | https://init.zshell.dev | +| Cloudflare | https://src.zshell.dev/zsh/init.zsh | +| Git.io | https://git.io/zi-loader | +| GitHub RAW | https://raw.githubusercontent.com/z-shell/zi-src/main/lib/zsh/init.zsh | @@ -271,5 +264,5 @@ The module transparently and automatically compiles sourced scripts and lists of [issue]: https://github.com/z-shell/zi/issues/new/choose [playground]: https://github.com/z-shell/playground [status]: https://status.zshell.dev -[translate]: https://digitalclouds.crowdin.com/z-shell +[help-translate]: https://digitalclouds.crowdin.com/z-shell [z-shell/zpmod]: https://github.com/z-shell/zpmod diff --git a/docs/guides/01_commands.mdx b/docs/guides/01_commands.mdx index 21a27c1d..9e921059 100644 --- a/docs/guides/01_commands.mdx +++ b/docs/guides/01_commands.mdx @@ -153,10 +153,6 @@ Following commands are passed to `zi โ€ฆ` to obtain described effects. ## Loading and unloading -```mdx-code-block - -``` - | Command | Description | | :------------------: | ------------------------------------------------------------------------------------------------- | | `load` `'โ€ฆ'` | Load plugin, can also receive absolute local path. | @@ -164,16 +160,8 @@ Following commands are passed to `zi โ€ฆ` to obtain described effects. | `unload` `-q` `'โ€ฆ'` | Unload plugin loaded with `zi load โ€ฆ`. `-q` โ€“ quiet. | | `snippet` `-f` `URL` | Source local (full path) or remote file (URL). `-f` โ€“ don't use cache (force re-download). [^2] | -```mdx-code-block - -``` - ## Completions management -```mdx-code-block - -``` - | Command | Description | | :------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------------- | | `clist` `columns` or `completions` `columns` | List completions in use, with `columns` completions per line. `zi clist 5` will for example print 5 completions per line. Default is 3. | @@ -188,16 +176,8 @@ Following commands are passed to `zi โ€ฆ` to obtain described effects. | `cdreplay` `-q` | Replay compdefs (to be done after compinit). `-q` โ€“ quiet. | | `cdclear` `-q` | Clear compdef replay list. `-q` โ€“ quiet. | -```mdx-code-block - -``` - ## Tracking of the active session -```mdx-code-block - -``` - | Command | Description | | :--------------: | ----------------------------------------------------- | | `dtrace, dstart` | Start investigating what's going on in the session. | @@ -206,16 +186,8 @@ Following commands are passed to `zi โ€ฆ` to obtain described effects. | `dreport` | Report what was going on in the session. | | `dclear` | Clear report of what was going on in the session. | -```mdx-code-block - -``` - ## Reports and statistics -```mdx-code-block - -``` - | Command | Description | | :-----------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | `times` `-s` `-m` `-a` | Statistics on plugin load times, sorted in order of loading. `-s` โ€“ use seconds instead of milliseconds. `-m` โ€“ show plugin loading moments and `-a` both. | @@ -228,32 +200,16 @@ Following commands are passed to `zi โ€ฆ` to obtain described effects. | `recently` `time-spec` | Show plugins that changed recently, the argument is e.g. 1 month 2 days. | | `bindkeys` | Lists bindkeys set up by each plugin. | -```mdx-code-block - -``` - ## Compiling -```mdx-code-block - -``` - | Command | Description | | :-----------------------: | ----------------------------------------------------------------------- | | `compile` `'โ€ฆ'` `--all` | Compile plugin. `--all` โ€“ compile all plugins. | | `uncompile` `'โ€ฆ'` `--all` | Remove compiled version of the plugin. `--all` โ€“ do it for all plugins. | | `compiled` | List plugins that are compiled. | -```mdx-code-block - -``` - ## Other commands -```mdx-code-block - -``` - | Command | Description | | :------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | `self-update` | Updates and compiles Zi. | @@ -262,7 +218,7 @@ Following commands are passed to `zi โ€ฆ` to obtain described effects. | `delete` `'โ€ฆ'` or `--clean` `--all` | Remove plugin or snippet from disk (good to forget wrongly passed ice-modifiers) `--all` โ€“ delete plugins and snippets that are not loaded with `--clean`. | | `cd 'โ€ฆ'` | Jump into the plugin's directory. Also support snippets if fed with URL. | | `edit 'โ€ฆ'` | Edit plugin's file with set \$EDITOR. | -| `glance 'โ€ฆ'` | Look at plugin's source (pygmentize, {,source-}highlight). | +| `glance 'โ€ฆ'` | Look at plugin's source (pygmentize, source-highlight). | | `stress 'โ€ฆ'` | Test plugin for compatibility with a set of options. | | `changes 'โ€ฆ'` | View plugin's git log. | | `create 'โ€ฆ'` | Create plugin (also together with GitHub repository). | @@ -273,31 +229,19 @@ Following commands are passed to `zi โ€ฆ` to obtain described effects. | `add-fpath` `fpath` `-f` `--front` `'โ€ฆ'` `sub-directory` | Adds given plugin (not yet snippet) directory to `$fpath`. If the second argument is given, it is appended to the directory path. [^3] | | `run` `-l` `plugin` `{command}` | Runs the given command in the given plugin's directory. [^4] | -```mdx-code-block - -``` - ## Help & manual -```mdx-code-block - -``` - | Command | Description | | :--------: | ------------------ | | `-h, help` | Usage information. | | `man` | Manual. | -```mdx-code-block - -``` - ## Commands available using ^TAB completion - + [^1]: There's also `light-mode` ice which can be used to induce the no-investigating (i.e.: _light_) loading, regardless of the command used. [^2]: The URL can use the following shorthands: `PZT::` (Prezto), `PZTM::` (Prezto module), `OMZ::` (Oh-My-Zsh), `OMZP::` (OMZ plugin), `OMZL::` (OMZ library), `OMZT::` (OMZ theme), e.g.: `PZTM::environment`, `OMZP::git`, etc. diff --git a/docs/index.mdx b/docs/index.mdx index 117d9865..a9d0cc46 100644 --- a/docs/index.mdx +++ b/docs/index.mdx @@ -7,8 +7,6 @@ image: /img/png/theme/z/320x320.png description: Introduction to a Swiss Army Knife for Zsh, formerly known as zplugin, zinit. --- - - import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import Link from "@docusaurus/Link"; @@ -53,7 +51,7 @@ Install and control almost everything from GitHub: [Annexes](/ecosystem/category - [Annexes](ecosystem/category/-annexes) allow extending the plugin manager with new features. - [Turbo][turbo-mode-zsh--53] mode yields **50-80%** faster Zsh startup. -## Neat and flexible +## Neat and flexible - [Customize paths][customizing-paths], use [multiple prompts][multiple-prompts] or create [your own][non-github-local-plugins] plugins. - Supports [Oh My Zsh][oh-my-zsh-prezto] and [Prezto][oh-my-zsh-prezto] plugins and libraries. ([migration][help-migrate]). @@ -61,7 +59,7 @@ Install and control almost everything from GitHub: [Annexes](/ecosystem/category - Code is immune to KSH_ARRAYS and other options typically causing compatibility problems. - Do not require root access, and provide many workarounds e.g: setting so-called **shims** locally. -## Familiarize and control +## Familiarize and control - [Visualize and manage][commands] elements of the plugin: - **aliases**, **functions**, **bindkeys**, **zle widgets**, **completions**, **variables**. diff --git a/docusaurus.config.js b/docusaurus.config.ts similarity index 51% rename from docusaurus.config.js rename to docusaurus.config.ts index c7369b2e..cbd490a8 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.ts @@ -1,37 +1,44 @@ -// @ts-check +import {themes as prismThemes} from "prism-react-renderer"; + +import type {Config} from "@docusaurus/types"; +import type * as Preset from "@docusaurus/preset-classic"; +import type {Options as DocsOptions} from "@docusaurus/plugin-content-docs"; +import type {Options as BlogOptions} from "@docusaurus/plugin-content-blog"; +import type {Options as PageOptions} from "@docusaurus/plugin-content-pages"; +import type {Options as IdealImageOptions} from "@docusaurus/plugin-ideal-image"; + const url = process.env.URL ?? "https://wiki.zshell.dev"; const baseUrl = process.env.BASE_URL ?? "/"; -const styles = process.env.STYLES ?? "https://cdn.jsdelivr.net/gh/FortAwesome/Font-Awesome@6.x/js/all.js"; -/* const math = require("remark-math"); */ -/* const katex = require("rehype-katex"); */ +const styles = process.env.STYLES ?? "https://cdn.jsdelivr.net/gh/FortAwesome/Font-Awesome@6.x/free/js/all.js"; -/** @type {import('@docusaurus/types').Config} */ -const config = { - url, - baseUrl, - trailingSlash: false, - title: "Z-Shell", - titleDelimiter: "|", - tagline: "A Swiss Army Knife for Zsh Unix shell", - projectName: "wiki", - organizationName: "z-shell", - baseUrlIssueBanner: true, - onBrokenLinks: "throw", - onBrokenMarkdownLinks: "warn", - staticDirectories: ["static"], - favicon: "/img/favicon.ico", - i18n: {defaultLocale: "en", locales: ["en", "ja", "zh-Hans"]}, - scripts: [{src: styles, crossorigin: "anonymous"}], - presets: [ - [ - "classic", - /** @type {import('@docusaurus/preset-classic').Options} */ - ({ - docs: { - path: "docs", - sidebarPath: require.resolve("./sidebars.js"), - sidebarCollapsible: true, - sidebarCollapsed: true, +export default async function createConfigAsync() { + return { + url, + baseUrl, + trailingSlash: false, + title: "Z-Shell", + titleDelimiter: "|", + tagline: "A Swiss Army Knife for Zsh Unix shell", + projectName: "wiki", + organizationName: "z-shell", + baseUrlIssueBanner: true, + onBrokenLinks: "throw", + onBrokenMarkdownLinks: "warn", + staticDirectories: ["static"], + favicon: "/img/favicon.ico", + i18n: {defaultLocale: "en", locales: ["en", "ja", "zh-Hans"]}, + themes: ["@docusaurus/theme-mermaid"], + markdown: {mermaid: false}, + scripts: [{src: styles, crossorigin: "anonymous", async: true}], + plugins: [ + [ + "content-docs", + { + id: "community", + path: "community", + breadcrumbs: true, + routeBasePath: "community", + sidebarPath: "sidebars.ts", editUrl: ({locale, versionDocsDirPath, docPath}) => { if (locale !== "en") { return `https://digitalclouds.crowdin.com/z-shell/${locale}`; @@ -40,106 +47,102 @@ const config = { }, showLastUpdateAuthor: true, showLastUpdateTime: true, - }, - blog: { - editUrl: ({locale, blogDirPath, blogPath}) => { + } satisfies DocsOptions, + ], + [ + "content-docs", + { + id: "ecosystem", + path: "ecosystem", + breadcrumbs: true, + routeBasePath: "ecosystem", + sidebarPath: "sidebars.ts", + editUrl: ({locale, versionDocsDirPath, docPath}) => { if (locale !== "en") { return `https://digitalclouds.crowdin.com/z-shell/${locale}`; } - return `https://github.com/z-shell/wiki/tree/main/${blogDirPath}/${blogPath}`; - }, - showReadingTime: true, - postsPerPage: "ALL", - feedOptions: { - type: "all", - copyright: `Copyright ยฉ ${new Date().getFullYear()} Z-Shell Community`, + return `https://github.com/z-shell/wiki/tree/main/${versionDocsDirPath}/${docPath}`; }, + showLastUpdateAuthor: false, + showLastUpdateTime: true, + } satisfies DocsOptions, + ], + ["ideal-image", {quality: 70, max: 1030, min: 630, disableInDev: false} satisfies IdealImageOptions], + [ + "pwa", + { + debug: true, + offlineModeActivationStrategies: ["appInstalled", "standalone", "queryString"], + pwaHead: [ + {tagName: "link", rel: "icon", href: "img/logo.svg"}, + {tagName: "link", rel: "icon", href: "img/logo.png"}, + {tagName: "link", rel: "manifest", href: "manifest.json"}, + {tagName: "link", rel: "browserconfig", href: "browserconfig.xml"}, + /* Windows */ + {tagName: "meta", name: "msapplication-TileColor", content: "#23b898"}, + {tagName: "meta", name: "msapplication-TileImage", content: "img/logo.png"}, + {tagName: "meta", name: "msapplication-navbutton-color", content: "#23b898"}, + {tagName: "meta", name: "msapplication-config", content: "browserconfig.xml"}, + /* Android */ + {tagName: "meta", name: "theme-color", content: "hsl(167ยฐ, 68%, 43%)"}, + {tagName: "meta", name: "mobile-web-app-capable", content: "yes"}, + /* iOS */ + {tagName: "meta", name: "apple-mobile-web-app-title", content: "Z-Shell"}, + {tagName: "meta", name: "apple-mobile-web-app-capable", content: "yes"}, + {tagName: "meta", name: "apple-mobile-web-app-status-bar-style", content: "default"}, + /* Pinned Sites */ + {tagName: "meta", name: "application-name", content: "Z-Shell"}, + {tagName: "meta", name: "msapplication-tooltip", content: "A Swiss Army Knife for Zsh Unix shell"}, + {tagName: "meta", name: "msapplication-starturl", content: "/"}, + /* Tap highlighting */ + {tagName: "meta", name: "msapplication-tap-highlight", content: "no"}, + ], }, - sitemap: {changefreq: "weekly"}, - theme: {customCss: [require.resolve("./src/css/custom.css")]}, - }), - ], - ], - plugins: [ - [ - "content-docs", - /** @type {import('@docusaurus/plugin-content-docs').Options} */ - ({ - id: "community", - path: "community", - routeBasePath: "community", - sidebarPath: require.resolve("./sidebars.js"), - editUrl: ({locale, versionDocsDirPath, docPath}) => { - if (locale !== "en") { - return `https://digitalclouds.crowdin.com/z-shell/${locale}`; - } - return `https://github.com/z-shell/wiki/tree/main/${versionDocsDirPath}/${docPath}`; - }, - showLastUpdateAuthor: true, - showLastUpdateTime: true, - }), - ], - [ - "content-docs", - /** @type {import('@docusaurus/plugin-content-docs').Options} */ - ({ - id: "ecosystem", - path: "ecosystem", - routeBasePath: "ecosystem", - sidebarPath: require.resolve("./sidebars.js"), - editUrl: ({locale, versionDocsDirPath, docPath}) => { - if (locale !== "en") { - return `https://digitalclouds.crowdin.com/z-shell/${locale}`; - } - return `https://github.com/z-shell/wiki/tree/main/${versionDocsDirPath}/${docPath}`; - }, - showLastUpdateAuthor: false, - showLastUpdateTime: true, - }), - ], - [ - "ideal-image", - /** @type {import('@docusaurus/plugin-ideal-image').PluginOptions} */ - ({quality: 70, max: 1030, min: 630, disableInDev: false}), + ], ], - [ - "pwa", - /** @type {import('@docusaurus/plugin-pwa').PluginOptions} */ - { - debug: true, - offlineModeActivationStrategies: ["appInstalled", "standalone", "queryString"], - pwaHead: [ - {tagName: "link", rel: "icon", href: "img/logo.svg"}, - {tagName: "link", rel: "icon", href: "img/logo.png"}, - {tagName: "link", rel: "manifest", href: "manifest.json"}, - {tagName: "link", rel: "browserconfig", href: "browserconfig.xml"}, - /* Windows */ - {tagName: "meta", name: "msapplication-TileColor", content: "#23b898"}, - {tagName: "meta", name: "msapplication-TileImage", content: "img/logo.png"}, - {tagName: "meta", name: "msapplication-navbutton-color", content: "#23b898"}, - {tagName: "meta", name: "msapplication-config", content: "browserconfig.xml"}, - /* Android */ - {tagName: "meta", name: "theme-color", content: "hsl(167ยฐ, 68%, 43%)"}, - {tagName: "meta", name: "mobile-web-app-capable", content: "yes"}, - /* iOS */ - {tagName: "meta", name: "apple-mobile-web-app-title", content: "Z-Shell"}, - {tagName: "meta", name: "apple-mobile-web-app-capable", content: "yes"}, - {tagName: "meta", name: "apple-mobile-web-app-status-bar-style", content: "default"}, - /* Pinned Sites */ - {tagName: "meta", name: "application-name", content: "Z-Shell"}, - {tagName: "meta", name: "msapplication-tooltip", content: "A Swiss Army Knife for Zsh Unix shell"}, - {tagName: "meta", name: "msapplication-starturl", content: "/"}, - /* Tap highlighting */ - {tagName: "meta", name: "msapplication-tap-highlight", content: "no"}, - ], - }, + presets: [ + [ + "classic", + { + docs: { + path: "docs", + breadcrumbs: true, + routeBasePath: "docs", + sidebarPath: "sidebars.ts", + sidebarCollapsible: true, + sidebarCollapsed: true, + editUrl: ({locale, versionDocsDirPath, docPath}) => { + if (locale !== "en") { + return `https://digitalclouds.crowdin.com/z-shell/${locale}`; + } + return `https://github.com/z-shell/wiki/tree/main/${versionDocsDirPath}/${docPath}`; + }, + showLastUpdateAuthor: true, + showLastUpdateTime: true, + }, + blog: { + path: "blog", + editUrl: ({locale, blogDirPath, blogPath}) => { + if (locale !== "en") { + return `https://digitalclouds.crowdin.com/z-shell/${locale}`; + } + return `https://github.com/z-shell/wiki/tree/main/${blogDirPath}/${blogPath}`; + }, + showReadingTime: true, + postsPerPage: "ALL", + feedOptions: { + type: "all", + copyright: `Copyright ยฉ ${new Date().getFullYear()} Z-Shell Community`, + }, + } satisfies BlogOptions, + pages: { + path: "src/pages", + } satisfies PageOptions, + theme: {customCss: "./src/css/custom.css"}, + } satisfies Preset.Options, + ], ], - ], - themes: ["@docusaurus/theme-mermaid"], - markdown: {mermaid: false}, - themeConfig: - /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ - ({ + themeConfig: { docs: {sidebar: {hideable: true, autoCollapseCategories: true}}, colorMode: { defaultMode: "dark", @@ -215,10 +218,6 @@ const config = { label: "Community", to: "/community", }, - { - label: "Guides", - to: "/docs/category/-guides", - }, ], }, { @@ -236,19 +235,11 @@ const config = { label: "Matrix", href: "https://matrix.to/#/#zshell:matrix.org", }, - { - label: "Gitter", - href: "https://gitter.im/z-shell/zi", - }, ], }, { title: "More", items: [ - { - label: "Zsh News", - href: "https://zsh.sourceforge.io/News/", - }, { label: "Zsh Manual", href: "https://zsh.sourceforge.io/Doc/Release/zsh_toc.html", @@ -275,10 +266,10 @@ const config = { copyright: `Copyright ยฉ ${new Date().getFullYear()} Z-Shell Community`, }, prism: { - theme: require("prism-react-renderer/themes/github"), - darkTheme: require("prism-react-renderer/themes/dracula"), + theme: prismThemes.github, + darkTheme: prismThemes.dracula, defaultLanguage: "shell", - additionalLanguages: ["ini", "vim", "verilog"], + additionalLanguages: ["ini", "vim", "verilog", "diff", "bash"], magicComments: [ { className: "theme-code-block-highlighted-line", @@ -292,7 +283,6 @@ const config = { ], }, tableOfContents: {minHeadingLevel: 2, maxHeadingLevel: 5}, - }), -}; - -module.exports = config; + } satisfies Preset.ThemeConfig, + } satisfies Config; +} diff --git a/ecosystem/plugins/zsh_comand_architect.mdx b/ecosystem/plugins/zsh_comand_architect.mdx index ea5e36a8..7b27d582 100644 --- a/ecosystem/plugins/zsh_comand_architect.mdx +++ b/ecosystem/plugins/zsh_comand_architect.mdx @@ -28,7 +28,7 @@ The Zsh Command Architect allows to copy segments of commands in history, rearra | g, G | Beginning and end of the list | | / | Start incremental search | | Esc | Exit incremental search, clearing filter | -| <,>, {,} | Horizontal scroll | +| \<,>, \{,} | Horizontal scroll | | Ctrl+L | Redraw of whole display | | Ctrl+O, o | Enter uniq mode (no duplicate lines) | | Ctrl+W | (in incremental search) - delete whole word | @@ -102,25 +102,19 @@ After installing and reloading the shell give `ZCA` a quick try with Ctrl-T
Fixing tmux, screen and linux vt -If `TERM=screen-256color` (often a case for `tmux` and `screen` sessions) then -`ncv` terminfo capability will have `2`nd bit set. This in general means that -underline won't work. To fix this by creating your own `ncv=0`-equipped -terminfo file, run: +If `TERM=screen-256color` (often a case for `tmux` and `screen` sessions) then `ncv` terminfo capability will have `2`nd bit set. This in general means that underline won't work. To fix this by creating your own `ncv=0`-equipped terminfo file, run: ```shell { infocmp -x screen-256color; printf '\t%s\n' 'ncv@,'; } > /tmp/t && tic -x /tmp/t ``` -A file will be created in directory `~/.terminfo` and will be automatically -used, `tmux` and `screen` will work. Similar is for Linux virtual terminal: +A file will be created in directory `~/.terminfo` and will be automatically used, `tmux` and `screen` will work. Similar is for Linux virtual terminal: ```shell { infocmp -x linux; printf '\t%s\n' 'ncv@,'; } > /tmp/t && tic -x /tmp/t ``` -It will not display underline properly, but will instead highlight by a color, -which is quite nice. The same will not work for FreeBSD's vt, `ZCA` will detect -if that vt is used and will revert to highlighting elements via `reverse` mode. +It will not display underline properly, but will instead highlight by a color, which is quite nice. The same will not work for FreeBSD's vt, `ZCA` will detect if that vt is used and will revert to highlighting elements via `reverse` mode.
diff --git a/ecosystem/plugins/zsh_editing_workbench.mdx b/ecosystem/plugins/zsh_editing_workbench.mdx index ff7c6947..aab15fcb 100644 --- a/ecosystem/plugins/zsh_editing_workbench.mdx +++ b/ecosystem/plugins/zsh_editing_workbench.mdx @@ -87,8 +87,7 @@ echo 'Konsole*keysym.Meta: Meta' >> ~/.config/konsolerc [^1]: A **shell word** is a text that Zsh would see as single segment. For example `$(( i + 1 ))` is a single **shell word**. [^2]: - A **word style** defines a way Zsh recognizes segments (words) of text in commands that want to use the style information. - The style can be configured in **zew.conf** to be one of: + A **word style** defines a way Zsh recognizes segments (words) of text in commands that want to use the style information. The style can be configured in **zew.conf** to be one of: - bash words are built up of alphanumeric characters only. - normal as in normal shell operation: word characters are alphanumeric characters plus any characters present in the string given by the parameter `$WORDCHARS`. diff --git a/ecosystem/plugins/zsh_modules.mdx b/ecosystem/plugins/zsh_modules.mdx index 7b81ba1f..09b04934 100644 --- a/ecosystem/plugins/zsh_modules.mdx +++ b/ecosystem/plugins/zsh_modules.mdx @@ -46,7 +46,7 @@ This feature allows profiling the shell startup. Also, no script can pass throug zpmod [options] ``` -Used by zpmod internally to speed up loading plugins with tracking (reporting). It extends the given field {plugin-ID} in `$ZI_REPORTS` hash, with the given string {new-report-body}. +Used by zpmod internally to speed up loading plugins with tracking (reporting). It extends the given field \{plugin-ID} in `$ZI_REPORTS` hash, with the given string \{new-report-body}. ### Debugging diff --git a/ecosystem/plugins/zsh_unique_id.mdx b/ecosystem/plugins/zsh_unique_id.mdx index 912638ca..12cec52e 100644 --- a/ecosystem/plugins/zsh_unique_id.mdx +++ b/ecosystem/plugins/zsh_unique_id.mdx @@ -12,9 +12,8 @@ keywords: import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; -import Highlight from "@site/src/components/Highlight"; -## [z-shell/zsh-unique-id][] +## [z-shell/zsh-unique-id][zsh-unique-id] This plugin provides a **unique number** that identifies a **running** Z shell session, in its shell variable `$ZUID_ID`. Besides this unique number, also a unique _codename_ is provided, in the shell variable `$ZUID_CODENAME`. Once you load this plugin, the two parameters will be set, and their values will not be available to other Zshell sessions (being thus _unique_). `$ZUID_ID` is a progressing number starting from `1`. `$ZUID_CODENAME` is chosen from a list of predefined codenames, see the default list below. An example use case is to hold logs in files `.../mylog-${ZUID_CODENAME}.log` so that two different Z shells will not write to the same file at the same time. @@ -79,7 +78,7 @@ zi load z-shell/zsh-unique-id -Add `zgen load z-shell/zsh-unique-id` to your .zshrc file in the same place you're doing your other `zgen load` calls in. +Add `zgen load z-shell/zsh-unique-id` to your `.zshrc` file in the same place you're doing your other `zgen load` calls in. @@ -99,4 +98,4 @@ And add `zsh-unique-id` to your plugin list. -[z-shell/zsh-unique-id]: https://github.com/z-shell/zsh-unique-id +[zsh-unique-id]: https://github.com/z-shell/zsh-unique-id diff --git a/i18n/en/code.json b/i18n/en/code.json index 442b446c..1bd7c591 100644 --- a/i18n/en/code.json +++ b/i18n/en/code.json @@ -43,38 +43,6 @@ "message": "This page crashed.", "description": "The title of the fallback page when the page crashed" }, - "theme.NotFound.title": { - "message": "Page Not Found", - "description": "The title of the 404 page" - }, - "theme.NotFound.p1": { - "message": "We could not find what you were looking for.", - "description": "The first paragraph of the 404 page" - }, - "theme.NotFound.p2": { - "message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.", - "description": "The 2nd paragraph of the 404 page" - }, - "theme.admonition.note": { - "message": "note", - "description": "The default label used for the Note admonition (:::note)" - }, - "theme.admonition.tip": { - "message": "tip", - "description": "The default label used for the Tip admonition (:::tip)" - }, - "theme.admonition.danger": { - "message": "danger", - "description": "The default label used for the Danger admonition (:::danger)" - }, - "theme.admonition.info": { - "message": "info", - "description": "The default label used for the Info admonition (:::info)" - }, - "theme.admonition.caution": { - "message": "caution", - "description": "The default label used for the Caution admonition (:::caution)" - }, "theme.BackToTopButton.buttonAriaLabel": { "message": "Scroll back to top", "description": "The ARIA label for the back to top button" @@ -87,17 +55,17 @@ "message": "Archive", "description": "The page & hero description of the blog archive page" }, - "theme.blog.post.plurals": { - "message": "One post|{count} posts", - "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + "theme.blog.paginator.navAriaLabel": { + "message": "Blog list page navigation", + "description": "The ARIA label for the blog pagination" }, - "theme.blog.tagTitle": { - "message": "{nPosts} tagged with \"{tagName}\"", - "description": "The title of the page for a blog tag" + "theme.blog.paginator.newerEntries": { + "message": "Newer Entries", + "description": "The label used to navigate to the newer blog posts page (previous page)" }, - "theme.tags.tagsPageLink": { - "message": "View All Tags", - "description": "The label of the link targeting the tag list page" + "theme.blog.paginator.olderEntries": { + "message": "Older Entries", + "description": "The label used to navigate to the older blog posts page (next page)" }, "theme.blog.post.paginator.navAriaLabel": { "message": "Blog post page navigation", @@ -111,17 +79,17 @@ "message": "Older Post", "description": "The blog post button label to navigate to the older/next post" }, - "theme.blog.paginator.navAriaLabel": { - "message": "Blog list page navigation", - "description": "The ARIA label for the blog pagination" + "theme.blog.post.plurals": { + "message": "One post|{count} posts", + "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" }, - "theme.blog.paginator.newerEntries": { - "message": "Newer Entries", - "description": "The label used to navigate to the newer blog posts page (previous page)" + "theme.blog.tagTitle": { + "message": "{nPosts} tagged with \"{tagName}\"", + "description": "The title of the page for a blog tag" }, - "theme.blog.paginator.olderEntries": { - "message": "Older Entries", - "description": "The label used to navigate to the older blog posts page (next page)" + "theme.tags.tagsPageLink": { + "message": "View All Tags", + "description": "The label of the link targeting the tag list page" }, "theme.colorToggle.ariaLabel": { "message": "Switch between dark and light mode (currently {mode})", @@ -206,10 +174,38 @@ "message": "Versions", "description": "The label for the navbar versions dropdown on mobile view" }, + "theme.NotFound.title": { + "message": "Page Not Found", + "description": "The title of the 404 page" + }, "theme.tags.tagsListLabel": { "message": "Tags:", "description": "The label alongside a tag list" }, + "theme.admonition.caution": { + "message": "caution", + "description": "The default label used for the Caution admonition (:::caution)" + }, + "theme.admonition.danger": { + "message": "danger", + "description": "The default label used for the Danger admonition (:::danger)" + }, + "theme.admonition.info": { + "message": "info", + "description": "The default label used for the Info admonition (:::info)" + }, + "theme.admonition.note": { + "message": "note", + "description": "The default label used for the Note admonition (:::note)" + }, + "theme.admonition.tip": { + "message": "tip", + "description": "The default label used for the Tip admonition (:::tip)" + }, + "theme.admonition.warning": { + "message": "warning", + "description": "The default label used for the Warning admonition (:::warning)" + }, "theme.AnnouncementBar.closeButtonAriaLabel": { "message": "Close", "description": "The ARIA label for close button of announcement bar" @@ -218,10 +214,6 @@ "message": "Blog recent posts navigation", "description": "The ARIA label for recent posts in the blog sidebar" }, - "theme.CodeBlock.wordWrapToggle": { - "message": "Toggle word wrap", - "description": "The title attribute for toggle word wrapping button of code block lines" - }, "theme.CodeBlock.copied": { "message": "Copied", "description": "The copied button label on code blocks" @@ -234,25 +226,37 @@ "message": "Copy", "description": "The copy button label on code blocks" }, - "theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel": { - "message": "Toggle the collapsible sidebar category '{label}'", - "description": "The ARIA label to toggle the collapsible sidebar category" + "theme.CodeBlock.wordWrapToggle": { + "message": "Toggle word wrap", + "description": "The title attribute for toggle word wrapping button of code block lines" + }, + "theme.DocSidebarItem.expandCategoryAriaLabel": { + "message": "Expand sidebar category '{label}'", + "description": "The ARIA label to expand the sidebar category" + }, + "theme.DocSidebarItem.collapseCategoryAriaLabel": { + "message": "Collapse sidebar category '{label}'", + "description": "The ARIA label to collapse the sidebar category" }, "theme.NavBar.navAriaLabel": { "message": "Main", "description": "The ARIA label for the main navigation" }, - "theme.TOCCollapsible.toggleButtonLabel": { - "message": "On this page", - "description": "The label used by the button on the collapsible TOC component" - }, "theme.navbar.mobileLanguageDropdown.label": { "message": "Languages", "description": "The label for the mobile language switcher dropdown" }, - "theme.blog.post.readingTime.plurals": { - "message": "One min read|{readingTime} min read", - "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + "theme.NotFound.p1": { + "message": "We could not find what you were looking for.", + "description": "The first paragraph of the 404 page" + }, + "theme.NotFound.p2": { + "message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.", + "description": "The 2nd paragraph of the 404 page" + }, + "theme.TOCCollapsible.toggleButtonLabel": { + "message": "On this page", + "description": "The label used by the button on the collapsible TOC component" }, "theme.blog.post.readMore": { "message": "Read More", @@ -262,6 +266,10 @@ "message": "Read more about {title}", "description": "The ARIA label for the link to full blog posts from excerpts" }, + "theme.blog.post.readingTime.plurals": { + "message": "One min read|{readingTime} min read", + "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" + }, "theme.docs.breadcrumbs.home": { "message": "Home page", "description": "The ARIA label for the home page in the breadcrumbs" @@ -472,5 +480,13 @@ "theme.tags.tagsPageTitle": { "message": "Tags", "description": "The title of the tag list page" + }, + "theme.unlistedContent.title": { + "message": "Unlisted page", + "description": "The unlisted content banner title" + }, + "theme.unlistedContent.message": { + "message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.", + "description": "The unlisted content banner message" } } diff --git a/i18n/en/docusaurus-theme-classic/footer.json b/i18n/en/docusaurus-theme-classic/footer.json index 2c37288c..1f589ca5 100644 --- a/i18n/en/docusaurus-theme-classic/footer.json +++ b/i18n/en/docusaurus-theme-classic/footer.json @@ -27,10 +27,6 @@ "message": "Community", "description": "The label of footer link with label=Community linking to /community" }, - "link.item.label.Guides": { - "message": "Guides", - "description": "The label of footer link with label=Guides linking to /docs/category/-guides" - }, "link.item.label.Discussions": { "message": "Discussions", "description": "The label of footer link with label=Discussions linking to https://discussions.zshell.dev" @@ -43,14 +39,6 @@ "message": "Matrix", "description": "The label of footer link with label=Matrix linking to https://matrix.to/#/#zshell:matrix.org" }, - "link.item.label.Gitter": { - "message": "Gitter", - "description": "The label of footer link with label=Gitter linking to https://gitter.im/z-shell/zi" - }, - "link.item.label.Zsh News": { - "message": "Zsh News", - "description": "The label of footer link with label=Zsh News linking to https://zsh.sourceforge.io/News/" - }, "link.item.label.Zsh Manual": { "message": "Zsh Manual", "description": "The label of footer link with label=Zsh Manual linking to https://zsh.sourceforge.io/Doc/Release/zsh_toc.html" diff --git a/i18n/ja/code.json b/i18n/ja/code.json deleted file mode 100644 index cc3a2304..00000000 --- a/i18n/ja/code.json +++ /dev/null @@ -1,476 +0,0 @@ -{ - "homepage.feature1.title": { - "message": "Zshใฎ่ตทๅ‹•ใ‚’50-80%้ซ˜้€ŸๅŒ–", - "description": "Title of feature 1 (left) on the home page" - }, - "home.feature1": { - "message": ".zshrcใฎ่ชญใฟ่พผใฟใŒ็ต‚ใ‚ใฃใฆใƒ—ใƒญใƒณใƒ—ใƒˆใŒๅ‡บใ‚‹ใพใงใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎใƒญใƒผใƒ‰ใ‚’ๅปถๆœŸใ™ใ‚‹", - "description": "Description of first featured banner in homepage" - }, - "homepage.feature2.title": { - "message": "ๅคงไบ‹ใชใ“ใจใซ้›†ไธญใ™ใ‚‹", - "description": "Title of feature 2 (middle) on the home page" - }, - "home.feature2": { - "message": "ใƒ—ใƒฉใ‚ฐใ‚คใƒณใŒ่จญๅฎšใ—ใŸ้–ขๆ•ฐใ€ใƒใ‚คใƒณใƒ‰ใ‚ญใƒผใ€่ฃœๅฎŒใ€ใใฎไป–ใฎ่ฆ็ด ใชใฉใƒ—ใƒฉใ‚ฐใ‚คใƒณใซ้–ขใ™ใ‚‹็ตฑ่จˆๆƒ…ๅ ฑใซใคใ„ใฆ่ชฌๆ˜Žใ—ใพใ™ใ€‚", - "description": "Description of second featured banner in homepage" - }, - "homepage.feature3.title": { - "message": "ๅน…ๅบƒใ„็‰นๅพด", - "description": "Title of feature 3 (right) on the home page" - }, - "home.feature3": { - "message": "Oh-My-ZshใจPreztoใ‚’ใ‚ตใƒใƒผใƒˆใ—ใพใ™ใ€‚ใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏๅ›บๆœ‰ใงใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚ใƒ—ใƒฉใ‚ฐใ‚คใƒณใ€ใƒฉใ‚คใƒ–ใƒฉใƒชใ€ใƒ†ใƒผใƒžใ‚’็ฐกๅ˜ใซไฝœๆˆใงใใพใ™ใ€‚", - "description": "Description of third featured banner in homepage" - }, - "homepage.hero.title": { - "message": "A Swiss Army Knife for Zsh Unix Shell", - "description": "Home page hero title, can contain simple html tags" - }, - "homepage.banner.button.1": { - "message": "ใฏใ˜ใ‚ใซ", - "description": "The homepage get started button" - }, - "homepage.banner.button.2": { - "message": "ใ‚ณใƒŸใƒฅใƒ‹ใƒ†ใ‚ฃ", - "description": "The homepage community button" - }, - "homepage.video.heading.1": { - "message": "้ซ˜้€Ÿใ‹ใค่ฑŠๅฏŒใชๆฉŸ่ƒฝ", - "description": "The homepage video container heading 1" - }, - "theme.ErrorPageContent.title": { - "message": "ใƒšใƒผใ‚ธใŒใ‚ฏใƒฉใƒƒใ‚ทใƒฅใ—ใพใ—ใŸใ€‚", - "description": "The title of the fallback page when the page crashed" - }, - "theme.ErrorPageContent.tryAgain": { - "message": "ใ‚„ใ‚Š็›ดใ™", - "description": "The label of the button to try again when the page crashed" - }, - "theme.NotFound.title": { - "message": "ใƒšใƒผใ‚ธใŒ่ฆ‹ใคใ‹ใ‚Šใพใ›ใ‚“", - "description": "The title of the 404 page" - }, - "theme.NotFound.p1": { - "message": "ใŠๆŽขใ—ใฎใƒšใƒผใ‚ธใŒ่ฆ‹ใคใ‹ใ‚Šใพใ›ใ‚“ใงใ—ใŸใ€‚", - "description": "The first paragraph of the 404 page" - }, - "theme.NotFound.p2": { - "message": "ใ“ใฎใƒšใƒผใ‚ธใซใƒชใƒณใ‚ฏใ—ใฆใ„ใ‚‹ใ‚ตใ‚คใƒˆใฎๆ‰€ๆœ‰่€…ใซ้€ฃ็ตกใ‚’ใ—ใฆใƒชใƒณใ‚ฏใŒๅฃŠใ‚Œใฆใ„ใ‚‹ใ“ใจใ‚’ไผใˆใฆใใ ใ•ใ„ใ€‚", - "description": "The 2nd paragraph of the 404 page" - }, - "theme.admonition.note": { - "message": "ๅค‡ๆณจ", - "description": "The default label used for the Note admonition (:::note)" - }, - "theme.admonition.tip": { - "message": "tip", - "description": "The default label used for the Tip admonition (:::tip)" - }, - "theme.admonition.danger": { - "message": "ๅฑ้™บ", - "description": "The default label used for the Danger admonition (:::danger)" - }, - "theme.admonition.info": { - "message": "info", - "description": "The default label used for the Info admonition (:::info)" - }, - "theme.admonition.caution": { - "message": "่ญฆๅ‘Š", - "description": "The default label used for the Caution admonition (:::caution)" - }, - "theme.BackToTopButton.buttonAriaLabel": { - "message": "ใƒšใƒผใ‚ธใƒˆใƒƒใƒ—ใธๆˆปใ‚‹", - "description": "The ARIA label for the back to top button" - }, - "theme.blog.archive.title": { - "message": "ใ‚ขใƒผใ‚ซใ‚คใƒ–", - "description": "The page & hero title of the blog archive page" - }, - "theme.blog.archive.description": { - "message": "ใ‚ขใƒผใ‚ซใ‚คใƒ–", - "description": "The page & hero description of the blog archive page" - }, - "theme.blog.paginator.navAriaLabel": { - "message": "ใƒ–ใƒญใ‚ฐ่จ˜ไบ‹ไธ€่ฆงใฎใƒŠใƒ“ใ‚ฒใƒผใ‚ทใƒงใƒณ", - "description": "The ARIA label for the blog pagination" - }, - "theme.blog.paginator.newerEntries": { - "message": "ๆ–ฐใ—ใ„่จ˜ไบ‹", - "description": "The label used to navigate to the newer blog posts page (previous page)" - }, - "theme.blog.paginator.olderEntries": { - "message": "้ŽๅŽปใฎ่จ˜ไบ‹", - "description": "The label used to navigate to the older blog posts page (next page)" - }, - "theme.blog.post.paginator.navAriaLabel": { - "message": "ใƒ–ใƒญใ‚ฐ่จ˜ไบ‹ใฎใƒŠใƒ“ใ‚ฒใƒผใ‚ทใƒงใƒณ", - "description": "The ARIA label for the blog posts pagination" - }, - "theme.blog.post.paginator.newerPost": { - "message": "ๆ–ฐใ—ใ„่จ˜ไบ‹", - "description": "The blog post button label to navigate to the newer/previous post" - }, - "theme.blog.post.paginator.olderPost": { - "message": "้ŽๅŽปใฎ่จ˜ไบ‹", - "description": "The blog post button label to navigate to the older/next post" - }, - "theme.blog.post.plurals": { - "message": "{count}ไปถ", - "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" - }, - "theme.blog.tagTitle": { - "message": "ใ€Œ{tagName}ใ€ใ‚ฟใ‚ฐใฎ่จ˜ไบ‹ใŒ{nPosts}ใ‚ใ‚Šใพใ™", - "description": "The title of the page for a blog tag" - }, - "theme.tags.tagsPageLink": { - "message": "ๅ…จใฆใฎใ‚ฟใ‚ฐใ‚’่ฆ‹ใ‚‹", - "description": "The label of the link targeting the tag list page" - }, - "theme.colorToggle.ariaLabel": { - "message": "ใƒ€ใƒผใ‚ฏใƒขใƒผใƒ‰ใจใƒฉใ‚คใƒˆใƒขใƒผใƒ‰ใฎๅˆ‡ใ‚Šๆ›ฟใˆ(็พๅœจใฏ {mode})", - "description": "The ARIA label for the navbar color mode toggle" - }, - "theme.colorToggle.ariaLabel.mode.dark": { - "message": "ใƒ€ใƒผใ‚ฏใƒขใƒผใƒ‰", - "description": "The name for the dark color mode" - }, - "theme.colorToggle.ariaLabel.mode.light": { - "message": "ใƒฉใ‚คใƒˆใƒขใƒผใƒ‰", - "description": "The name for the light color mode" - }, - "theme.docs.breadcrumbs.navAriaLabel": { - "message": "ใƒ‘ใƒณใใšใƒชใ‚นใƒˆใฎใƒŠใƒ“ใ‚ฒใƒผใ‚ทใƒงใƒณ", - "description": "The ARIA label for the breadcrumbs" - }, - "theme.docs.DocCard.categoryDescription": { - "message": "{count} ไปถ", - "description": "The default description for a category card in the generated index about how many items this category includes" - }, - "theme.docs.paginator.navAriaLabel": { - "message": "ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใฎใƒŠใƒ“ใ‚ฒใƒผใ‚ทใƒงใƒณ", - "description": "The ARIA label for the docs pagination" - }, - "theme.docs.paginator.previous": { - "message": "ๅ‰ใธ", - "description": "The label used to navigate to the previous doc" - }, - "theme.docs.paginator.next": { - "message": "ๆฌกใธ", - "description": "The label used to navigate to the next doc" - }, - "theme.docs.tagDocListPageTitle.nDocsTagged": { - "message": "ใ“ใฎใ‚ฟใ‚ฐใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ1ไปถ | ใ“ใฎใ‚ฟใ‚ฐใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ {count} ไปถ", - "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" - }, - "theme.docs.tagDocListPageTitle": { - "message": "ใ€Œ{tagName}ใ€ใŒ{nDocsTagged} ใ‚ใ‚Šใพใ™", - "description": "The title of the page for a docs tag" - }, - "theme.docs.versionBadge.label": { - "message": "ใƒใƒผใ‚ธใƒงใƒณ: {versionLabel}" - }, - "theme.docs.versions.unreleasedVersionLabel": { - "message": "ใ“ใ‚Œใฏใƒชใƒชใƒผใ‚นๅ‰ใฎ{siteTitle} {versionLabel}ใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใงใ™ใ€‚", - "description": "The label used to tell the user that he's browsing an unreleased doc version" - }, - "theme.docs.versions.unmaintainedVersionLabel": { - "message": "ใ“ใ‚Œใฏ{siteTitle} {versionLabel}ใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใง็พๅœจใฏใ‚ขใ‚ฏใƒ†ใ‚ฃใƒ–ใซใƒกใƒณใƒ†ใƒŠใƒณใ‚นใ•ใ‚Œใฆใ„ใพใ›ใ‚“ใ€‚", - "description": "The label used to tell the user that he's browsing an unmaintained doc version" - }, - "theme.docs.versions.latestVersionSuggestionLabel": { - "message": "ๆœ€ๆ–ฐใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใฏ{latestVersionLink} ({versionLabel}) ใ‚’่ฆ‹ใฆใใ ใ•ใ„ใ€‚", - "description": "The label used to tell the user to check the latest version" - }, - "theme.docs.versions.latestVersionLinkLabel": { - "message": "ๆœ€ๆ–ฐใƒใƒผใ‚ธใƒงใƒณ", - "description": "The label used for the latest version suggestion link label" - }, - "theme.common.editThisPage": { - "message": "ใ“ใฎใƒšใƒผใ‚ธใ‚’็ทจ้›†", - "description": "The link label to edit the current page" - }, - "theme.common.headingLinkTitle": { - "message": "Direct link to {heading}", - "description": "Title for link to heading" - }, - "theme.lastUpdated.atDate": { - "message": "{date}ใซ", - "description": "The words used to describe on which date a page has been last updated" - }, - "theme.lastUpdated.byUser": { - "message": "{user}ใŒ", - "description": "The words used to describe by who the page has been last updated" - }, - "theme.lastUpdated.lastUpdatedAtBy": { - "message": "{atDate}{byUser}ๆœ€็ต‚ๆ›ดๆ–ฐ", - "description": "The sentence used to display when a page has been last updated, and by who" - }, - "theme.navbar.mobileVersionsDropdown.label": { - "message": "ใƒใƒผใ‚ธใƒงใƒณ", - "description": "The label for the navbar versions dropdown on mobile view" - }, - "theme.tags.tagsListLabel": { - "message": "ใ‚ฟใ‚ฐ:", - "description": "The label alongside a tag list" - }, - "theme.AnnouncementBar.closeButtonAriaLabel": { - "message": "้–‰ใ˜ใ‚‹", - "description": "The ARIA label for close button of announcement bar" - }, - "theme.blog.sidebar.navAriaLabel": { - "message": "ๆœ€่ฟ‘ใฎใƒ–ใƒญใ‚ฐ่จ˜ไบ‹", - "description": "The ARIA label for recent posts in the blog sidebar" - }, - "theme.CodeBlock.copied": { - "message": "ใ‚ณใƒ”ใƒผใ—ใพใ—ใŸ", - "description": "The copied button label on code blocks" - }, - "theme.CodeBlock.copyButtonAriaLabel": { - "message": "ใ‚ฏใƒชใƒƒใƒ—ใƒœใƒผใƒ‰ใซใ‚ณใƒผใƒ‰ใ‚’ใ‚ณใƒ”ใƒผ", - "description": "The ARIA label for copy code blocks button" - }, - "theme.CodeBlock.copy": { - "message": "ใ‚ณใƒ”ใƒผ", - "description": "The copy button label on code blocks" - }, - "theme.CodeBlock.wordWrapToggle": { - "message": "ๆŠ˜ใ‚Š่ฟ”ใ—", - "description": "The title attribute for toggle word wrapping button of code block lines" - }, - "theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel": { - "message": "ใ‚ตใ‚คใƒ‰ใƒใƒผใฎใ‚ซใƒ†ใ‚ดใƒชใƒผ \"{label}\" ใ‚’ๆŠ˜ใ‚ŠใŸใŸใ‚€/้–‹ใ", - "description": "The ARIA label to toggle the collapsible sidebar category" - }, - "theme.NavBar.navAriaLabel": { - "message": "Main", - "description": "The ARIA label for the main navigation" - }, - "theme.navbar.mobileLanguageDropdown.label": { - "message": "่จ€่ชž", - "description": "The label for the mobile language switcher dropdown" - }, - "theme.TOCCollapsible.toggleButtonLabel": { - "message": "็›ฎๆฌก", - "description": "The label used by the button on the collapsible TOC component" - }, - "theme.blog.post.readMore": { - "message": "ใ‚‚ใฃใจ่ฆ‹ใ‚‹", - "description": "The label used in blog post item excerpts to link to full blog posts" - }, - "theme.blog.post.readMoreLabel": { - "message": "{title} ใซใคใ„ใฆ่ฉณใ—ใ่ฆ‹ใ‚‹", - "description": "The ARIA label for the link to full blog posts from excerpts" - }, - "theme.blog.post.readingTime.plurals": { - "message": "็ด„{readingTime}ๅˆ†", - "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" - }, - "theme.docs.breadcrumbs.home": { - "message": "ใƒ›ใƒผใƒ ใƒšใƒผใ‚ธ", - "description": "The ARIA label for the home page in the breadcrumbs" - }, - "theme.docs.sidebar.collapseButtonTitle": { - "message": "ใ‚ตใ‚คใƒ‰ใƒใƒผใ‚’้š ใ™", - "description": "The title attribute for collapse button of doc sidebar" - }, - "theme.docs.sidebar.collapseButtonAriaLabel": { - "message": "ใ‚ตใ‚คใƒ‰ใƒใƒผใ‚’้š ใ™", - "description": "The title attribute for collapse button of doc sidebar" - }, - "theme.docs.sidebar.navAriaLabel": { - "message": "Docs sidebar", - "description": "The ARIA label for the sidebar navigation" - }, - "theme.docs.sidebar.closeSidebarButtonAriaLabel": { - "message": "ใƒŠใƒ“ใ‚ฒใƒผใ‚ทใƒงใƒณใƒใƒผใ‚’้–‰ใ˜ใ‚‹", - "description": "The ARIA label for close button of mobile sidebar" - }, - "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": { - "message": "โ† ใƒกใ‚คใƒณใƒกใƒ‹ใƒฅใƒผใซๆˆปใ‚‹", - "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)" - }, - "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { - "message": "ใƒŠใƒ“ใ‚ฒใƒผใ‚ทใƒงใƒณใƒใƒผใฎๅˆ‡ใ‚Šๆ›ฟใˆ", - "description": "The ARIA label for hamburger menu button of mobile navigation" - }, - "theme.docs.sidebar.expandButtonTitle": { - "message": "ใ‚ตใ‚คใƒ‰ใƒใƒผใ‚’้–‹ใ", - "description": "The ARIA label and title attribute for expand button of doc sidebar" - }, - "theme.docs.sidebar.expandButtonAriaLabel": { - "message": "ใ‚ตใ‚คใƒ‰ใƒใƒผใ‚’้–‹ใ", - "description": "The ARIA label and title attribute for expand button of doc sidebar" - }, - "theme.SearchBar.seeAll": { - "message": "{count} ไปถใฎ็ตๆžœใ‚’่ฆ‹ใ‚‹" - }, - "theme.SearchPage.documentsFound.plurals": { - "message": "{count}ไปถใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใŒ่ฆ‹ใคใ‹ใ‚Šใพใ—ใŸ", - "description": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" - }, - "theme.SearchPage.existingResultsTitle": { - "message": "ใ€Ž{query}ใ€ใฎๆคœ็ดข็ตๆžœ", - "description": "The search page title for non-empty query" - }, - "theme.SearchPage.emptyResultsTitle": { - "message": "ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใ‚’ๆคœ็ดข", - "description": "The search page title for empty query" - }, - "theme.SearchPage.inputPlaceholder": { - "message": "ใ“ใ“ใซๆคœ็ดขใ™ใ‚‹ใ‚ญใƒผใƒฏใƒผใƒ‰ใ‚’ๅ…ฅๅŠ›ใ—ใฆใใ ใ•ใ„", - "description": "The placeholder for search page input" - }, - "theme.SearchPage.inputLabel": { - "message": "ๆคœ็ดข", - "description": "The ARIA label for search page input" - }, - "theme.SearchPage.algoliaLabel": { - "message": "Algoliaใงๆคœ็ดข", - "description": "The ARIA label for Algolia mention" - }, - "theme.SearchPage.noResultsText": { - "message": "ๆคœ็ดข็ตๆžœใŒ่ฆ‹ใคใ‹ใ‚Šใพใ›ใ‚“ใงใ—ใŸ", - "description": "The paragraph for empty search result" - }, - "theme.SearchPage.fetchingNewResults": { - "message": "ๆ–ฐใ—ใ„ๆคœ็ดข็ตๆžœใ‚’ๅ–ๅพ—ใ—ใฆใ„ใพใ™...", - "description": "The paragraph for fetching new search results" - }, - "theme.SearchBar.label": { - "message": "ๆคœ็ดข", - "description": "The ARIA label and placeholder for search button" - }, - "theme.SearchModal.searchBox.resetButtonTitle": { - "message": "ใ‚ฏใƒชใ‚ข", - "description": "The label and ARIA label for search box reset button" - }, - "theme.SearchModal.searchBox.cancelButtonText": { - "message": "ใ‚ญใƒฃใƒณใ‚ปใƒซ", - "description": "The label and ARIA label for search box cancel button" - }, - "theme.SearchModal.startScreen.recentSearchesTitle": { - "message": "ๆœ€่ฟ‘ใฎๆคœ็ดข", - "description": "The title for recent searches" - }, - "theme.SearchModal.startScreen.noRecentSearchesText": { - "message": "ๆœ€่ฟ‘ใฎๆคœ็ดขๅฑฅๆญดใฏใ‚ใ‚Šใพใ›ใ‚“", - "description": "The text when no recent searches" - }, - "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": { - "message": "ใ“ใฎๆคœ็ดขใ‚’ใŠๆฐ—ใซๅ…ฅใ‚Šใซ่ฟฝๅŠ ", - "description": "The label for save recent search button" - }, - "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": { - "message": "ใ“ใฎๆคœ็ดขใ‚’ๅฑฅๆญดใ‹ใ‚‰ๅ‰Š้™ค", - "description": "The label for remove recent search button" - }, - "theme.SearchModal.startScreen.favoriteSearchesTitle": { - "message": "ใŠๆฐ—ใซๅ…ฅใ‚Š", - "description": "The title for favorite searches" - }, - "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": { - "message": "ใ“ใฎๆคœ็ดขใ‚’ใŠๆฐ—ใซๅ…ฅใ‚Šใ‹ใ‚‰ๅ‰Š้™ค", - "description": "The label for remove favorite search button" - }, - "theme.SearchModal.errorScreen.titleText": { - "message": "ๆคœ็ดข็ตๆžœใฎๅ–ๅพ—ใซๅคฑๆ•—ใ—ใพใ—ใŸ", - "description": "The title for error screen of search modal" - }, - "theme.SearchModal.errorScreen.helpText": { - "message": "ใƒใƒƒใƒˆใƒฏใƒผใ‚ฏๆŽฅ็ถšใ‚’็ขบ่ชใ—ใฆใใ ใ•ใ„", - "description": "The help text for error screen of search modal" - }, - "theme.SearchModal.footer.selectText": { - "message": "้ธใถ", - "description": "The explanatory text of the action for the enter key" - }, - "theme.SearchModal.footer.selectKeyAriaLabel": { - "message": "ใ‚จใƒณใ‚ฟใƒผใ‚ญใƒผ", - "description": "The ARIA label for the Enter key button that makes the selection" - }, - "theme.SearchModal.footer.navigateText": { - "message": "็งปๅ‹•", - "description": "The explanatory text of the action for the Arrow up and Arrow down key" - }, - "theme.SearchModal.footer.navigateUpKeyAriaLabel": { - "message": "ไธŠ็Ÿขๅฐใ‚ญใƒผ", - "description": "The ARIA label for the Arrow up key button that makes the navigation" - }, - "theme.SearchModal.footer.navigateDownKeyAriaLabel": { - "message": "ไธ‹็Ÿขๅฐใ‚ญใƒผ", - "description": "The ARIA label for the Arrow down key button that makes the navigation" - }, - "theme.SearchModal.footer.closeText": { - "message": "้–‰ใ˜ใ‚‹", - "description": "The explanatory text of the action for Escape key" - }, - "theme.SearchModal.footer.closeKeyAriaLabel": { - "message": "ใ‚จใ‚นใ‚ฑใƒผใƒ—ใ‚ญใƒผ", - "description": "The ARIA label for the Escape key button that close the modal" - }, - "theme.SearchModal.footer.searchByText": { - "message": "ๆคœ็ดข", - "description": "The text explain that the search is making by Algolia" - }, - "theme.SearchModal.noResultsScreen.noResultsText": { - "message": "่ฆ‹ใคใ‹ใ‚Šใพใ›ใ‚“ใงใ—ใŸ", - "description": "The text explains that there are no results for the following search" - }, - "theme.SearchModal.noResultsScreen.suggestedQueryText": { - "message": "ๆฌกใฎๆคœ็ดขใ‚’่ฉฆใ™:", - "description": "The text for the suggested query when no results are found for the following search" - }, - "theme.SearchModal.noResultsScreen.reportMissingResultsText": { - "message": "ใ‚ˆใ‚Šใ‚ˆใ„ๆคœ็ดข็ตๆžœใŒใ‚ใ‚Šใพใ™ใ‹?", - "description": "The text for the question where the user thinks there are missing results" - }, - "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": { - "message": "ๅ ฑๅ‘Šใ™ใ‚‹", - "description": "The text for the link to report missing results" - }, - "theme.SearchModal.placeholder": { - "message": "ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใ‚’ๆคœ็ดข", - "description": "The placeholder of the input of the DocSearch pop-up modal" - }, - "theme.IdealImageMessage.loading": { - "message": "่ชญใฟ่พผใฟไธญโ€ฆ", - "description": "When the full-scale image is loading" - }, - "theme.IdealImageMessage.load": { - "message": "ใ‚ฏใƒชใƒƒใ‚ฏใ—ใฆ{sizeMessage} ใ‚’่ชญใฟ่พผใ‚€", - "description": "To prompt users to load the full image. sizeMessage is a parenthesized size figure." - }, - "theme.IdealImageMessage.offline": { - "message": "ใŠไฝฟใ„ใฎใƒ–ใƒฉใ‚ฆใ‚ถใฏใ‚ชใƒ•ใƒฉใ‚คใƒณใงใ™ใ€‚็”ปๅƒใŒ่ชญใฟ่พผใพใ‚Œใพใ›ใ‚“", - "description": "When the user is viewing an offline document" - }, - "theme.IdealImageMessage.404error": { - "message": "404. ็”ปๅƒใŒ่ฆ‹ใคใ‹ใ‚Šใพใ›ใ‚“", - "description": "When the image is not found" - }, - "theme.IdealImageMessage.error": { - "message": "ใ‚จใƒฉใƒผ ใ‚ฏใƒชใƒƒใ‚ฏใงๅ†่ชญใฟ่พผใฟ", - "description": "When the image fails to load for unknown error" - }, - "theme.PwaReloadPopup.info": { - "message": "ๆ–ฐใ—ใ„ใƒใƒผใ‚ธใƒงใƒณใŒๅ–ๅพ—ๅฏ่ƒฝ", - "description": "The text for PWA reload popup" - }, - "theme.PwaReloadPopup.refreshButtonText": { - "message": "ๆ›ดๆ–ฐ", - "description": "The text for PWA reload button" - }, - "theme.PwaReloadPopup.closeButtonAriaLabel": { - "message": "้–‰ใ˜ใ‚‹", - "description": "The ARIA label for close button of PWA reload popup" - }, - "theme.common.skipToMainContent": { - "message": "ใƒกใ‚คใƒณใ‚ณใƒณใƒ†ใƒณใƒ„ใพใงใ‚นใ‚ญใƒƒใƒ—", - "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation" - }, - "theme.tags.tagsPageTitle": { - "message": "ใ‚ฟใ‚ฐ", - "description": "The title of the tag list page" - } -} diff --git a/i18n/ja/docusaurus-plugin-content-blog/options.json b/i18n/ja/docusaurus-plugin-content-blog/options.json deleted file mode 100644 index 7abfbdd6..00000000 --- a/i18n/ja/docusaurus-plugin-content-blog/options.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "title": { - "message": "ใƒ–ใƒญใ‚ฐ", - "description": "The title for the blog used in SEO" - }, - "description": { - "message": "ใƒ–ใƒญใ‚ฐ", - "description": "The description for the blog used in SEO" - }, - "sidebar.title": { - "message": "ๆœ€่ฟ‘ใฎๆŠ•็จฟ", - "description": "The label for the left sidebar" - } -} diff --git a/i18n/ja/docusaurus-plugin-content-docs-community/current.json b/i18n/ja/docusaurus-plugin-content-docs-community/current.json deleted file mode 100644 index ddc3b3e1..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-community/current.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "version.label": { - "message": "ๆฌกใธ", - "description": "The label for version current" - }, - "sidebar.SideBar.category.๐Ÿ“– Zsh User's Guide": { - "message": "๐Ÿ“– Zsh ใƒฆใƒผใ‚ถใƒผใ‚ฌใ‚คใƒ‰", - "description": "The label for category ๐Ÿ“– Zsh User's Guide in sidebar SideBar" - }, - "sidebar.SideBar.category.๐ŸŽฏ Roadmap": { - "message": "๐ŸŽฏใƒญใƒผใƒ‰ใƒžใƒƒใƒ—", - "description": "The label for category ๐ŸŽฏ Roadmap in sidebar SideBar" - }, - "sidebar.SideBar.category.โœจ Gallery of Invocations": { - "message": "โœจ ๅ‘ผใณๅ‡บใ—ใฎไธ€่ฆง", - "description": "The label for category โœจ Gallery of Invocations in sidebar SideBar" - }, - "sidebar.SideBar.category.โœจ Collection": { - "message": "โœจ ใ‚ณใƒฌใ‚ฏใ‚ทใƒงใƒณ", - "description": "The label for category โœจ Collection in sidebar SideBar" - } -} diff --git a/i18n/ja/docusaurus-plugin-content-docs-community/current/02_zsh_plugin_standard.mdx b/i18n/ja/docusaurus-plugin-content-docs-community/current/02_zsh_plugin_standard.mdx deleted file mode 100644 index 1844805d..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-community/current/02_zsh_plugin_standard.mdx +++ /dev/null @@ -1,532 +0,0 @@ ---- -id: zsh_plugin_standard -title: โ„น๏ธ Zsh ใƒ—ใƒฉใ‚ฐใ‚คใƒณๆจ™ๆบ– -sidebar_position: 2 -image: /img/png/theme/z/320x320.png -toc_max_heading_level: 2 -keywords: - - zsh - - create - - plugin - - zsh-plugin - - ใƒ™ใ‚นใƒˆใƒ—ใƒฉใ‚ฏใƒ†ใ‚ฃใ‚น - - create-zsh-plugin - - zsh-plugin-standard ---- - - - -## Zshใƒ—ใƒฉใ‚ฐใ‚คใƒณใจใฏไฝ•ใ‹ - -ๆญดๅฒ็š„ใซใ€Zshใƒ—ใƒฉใ‚ฐใ‚คใƒณใฏOh My Zshใซใ‚ˆใฃใฆๆœ€ๅˆใซๅฎš็พฉใ•ใ‚Œใพใ—ใŸใ€‚ They provide a way to package together files that extend or configure the shellโ€™s functionality in a particular way. - -็ฐกๅ˜ใชใƒฌใƒ™ใƒซใงใฏใ€ใƒ—ใƒฉใ‚ฐใ‚คใƒณใฏ: - -1. Has directory added to `$fpath` ([Zsh documentation: #Autoloading-Functions][autoloading-functions]). This is being done either by a plugin manager or by the plugin itself (see [5th section](#run-on-unload-call) for more information). - -2. Has first `*.plugin.zsh` file sourced (or `*.zsh`, `init.zsh`, `*.sh`, these are non-standard). - - 2.1 The first point allows plugins to provide completions and functions that are loaded via Zshโ€™s `autoload` mechanism (a single function per file). - -3. ใ‚ˆใ‚Šๅบƒใ„่ฆณ็‚นใ‹ใ‚‰ใฏ่ฆ‹ใ‚‹ใจใ€ใƒ—ใƒฉใ‚ฐใ‚คใƒณใฏๆฌกใฎใ‚‚ใฎใงๆง‹ๆˆใ•ใ‚Œใฆใ„ใพใ™: - - 3.1. a directory containing various files (the main script, autoload functions, completions, Makefiles, backend programs, documentation). - - 3.2. a source-able script that obtains the path to its directory via `$0` (see the [next section](#zero-handling) for a related enhancement proposal). - - 3.3. GitHub (or another site) repository identified by two components **username**/**plugin-name**. - - 3.4. software package containing any type of command line artifacts โ€“ when used with advanced plugin managers that have hooks, can run Makefiles, and add directories to `$PATH`. - -Below follow the proposed enhancements and codifications of the definition of a "Zsh the plugin" and the actions of plugin managers โ€“ the proposed standardization. - -Zshใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎๆ›ธใๆ–นใซ้–ขใ™ใ‚‹ๆƒ…ๅ ฑใ‚’็ถฒ็พ…ใ—ใฆใ„ใพใ™ใ€‚ - -## 1. Standardized `$0` handling {#zero-handling} - -> [ zero-handling ] - -ใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎใƒญใ‚ฑใƒผใ‚ทใƒงใƒณใ‚’ๅ–ๅพ—ใ™ใ‚‹ใซใฏใ€ใƒ—ใƒฉใ‚ฐใ‚คใƒณใงไปฅไธ‹ใ‚’ๅฎŸ่กŒใ—ใพใ™: - -```shell showLineNumbers -0="${ZERO:-${${0:#$ZSH_ARGZERO}:-${(%):-%N}}}" -0="${${(M)0:#/*}:-$PWD/$0}" -``` - -Then `${0:h}` to get the pluginโ€™s directory. - -ไธŠ่จ˜ใฎใƒฏใƒณใƒฉใ‚คใƒณใ‚ณใƒผใƒ‰ใฏๆฌกใฎใจใŠใ‚Šใงใ™: - -1. Be backward-compatible with normal `$0` setting and usage. - -2. Use `ZERO` if itโ€™s not empty, - - 2.1. the plugin manager will be easily able to alter effective `$0` before loading a plugin, - - 2.2. this allows e.g. `eval "$( [ functions-directory ] - -Despite that, the current-standard plugins have their main directory added to `$fpath`, a more clean approach is being proposed: that the plugins use a subdirectory called `functions` to store their completions and autoload functions. This will allow a much cleaner design of plugins. The plugin manager should add such a directory to `$fpath`. The lack of support of the current plugin managers can be easily resolved via the [indicator](#indicator): - -```shell showLineNumbers -if [[ ${zsh_loaded_plugins[-1]} != */kalc && -z ${fpath[(r)${0:h}/functions]} ]]; then - fpath+=( "${0:h}/functions" ) -fi -``` - -or, via use of the `PMSPEC` [parameter](#pmspec): - -```shell showLineNumbers -if [[ $PMSPEC != *f* ]]; then - fpath+=( "${0:h}/functions" ) -fi -``` - -The above snippet added to the `plugin.zsh` file will add the directory to the `$fpath` with the compatibility with any new plugin managers preserved. The existence of the `functions` subdirectory cancels the normal adding of the main plugin directory to `$fpath`. - -### **STATUS:** [ functions-directory ] - -- GitHub Search: [zsh_loaded_plugins](https://github.com/search?q=%22$zsh_loaded_plugins%22&type=code) -- GitHub Search: [PMSPEC \*f\*](https://github.com/search?q=[[%20%22$PMSPEC%22%20!=%20*f*%20]]&type=code) - -## 3. Binaries directory {#binaries-directory} - -> [ binaries-directory ] - -Plugins sometimes provide a runnable script or program, either for their internal use or for the end-user. It is proposed that for the latter, the plugin shall use a `bin/` subdirectory inside its main dir (it is recommended, that for internal use, the runnable be called via the `$0` value obtained as described above). - -The runnable should be put into the directory with a `+x` access right assigned. The task of the plugin manager should be: - -1. Before sourcing the pluginโ€™s script it should test, if the `bin/` directory exists within the plugin directory. - -2. If it does, it should add the directory to `$PATH`. - -3. The plugin manager can also, instead of extending the `$PATH`, create a **shim** (i.e.: a forwarder script) or a symbolic link inside a common directory thatโ€™s already added to `$PATH` (to limit extending it). - -4. The plugin manager is permitted to do optional things like ensuring `+x` access rights on the directory contents. The `$PMSPEC` code letter for the feature is `b`, and it allows for the plugin to handle the `$PATH` extending itself, via, e.g.: - -```shell showLineNumbers -if [[ $PMSPEC != *b* ]]; then - path+=( "${0:h}/bin" ) -fi -``` - -### **STATUS:** [ binaries-directory ] - -- GitHub Search: [PMSPEC \*b\*](https://github.com/search?q=[[%20%22$PMSPEC%22%20!=%20*b*%20]]&type=code) - -## 4. Unload function {#unload-function} - -> [ unload-function ] - -If a plugin is named e.g. `kalc` (and is available via `any-user/kalc` plugin-ID), then it can provide a function, `kalc_plugin_unload`, that can be called by a plugin manager to undo the effects of loading that plugin. - -A plugin manager can implement its tracking of changes made by a plugin so this is in general optional. However, to properly unload e.g. a prompt, dedicated tracking (easy to do for the plugin creator) can provide better, predictable results. Any special, uncommon effects of loading a plugin are possible to undo only by a dedicated function. - -However, an interesting compromise approach is available โ€“ to withdraw only the special effects of loading a plugin via the dedicated, plugin-provided function and leave the rest to the plugin manager. The value of such an approach is that maintaining such function (if it is to withdraw **all** plugin side-effects) can be a daunting task requiring constant monitoring of it during the plugin development process. - -Note that the unload function should contain `unfunction $0` (or better `unfunction kalc_plugin_unload` etc., for compatibility with the `*_argzero` options), to also delete the function itself. - -### **STATUS:** [ unload-function ] {#unload-function} - -- [Zi][] implements plugin unloading and calls the function. - -- [romkatv/powerlevel10k is using][] the function to execute a specific task: shutdown of the binary, background [gitstatus][] daemon, with very good results, - -- [agkozak/agkozak-zsh-prompt is using][] the function to completely unload the prompt, - -- [agkozak/zsh-z is using][] the function to completely unload the plugin, - -- [agkozak/zhooks is using][] the function to completely unload the plugin. - -## 5. `@zsh-plugin-run-on-unload` call {#run-on-unload-call} - -> [ run-on-unload-call ] - -The plugin manager can provide a function `@zsh-plugin-run-on-unload` which has the following call syntax: - -```shell -@zsh-plugin-run-on-unload "{code-snippet-1}" "{code-snippet-2}" โ€ฆ -``` - -The function registers pieces of code to be run by the plugin manager **on the unloading of the plugin**. The execution of the code should be done by the `eval` built-in in the same order as they are passed to the call. The code should be executed in the pluginโ€™s directory, in the current shell. The mechanism thus provides another way, side to the [unload function](#unload-function), for the plugin to participate in the process of unloading it. - -### **STATUS:** [ run-on-unload-call ] - -- GitHub Search: [zsh-plugin-run-on-unload](https://github.com/search?q=@zsh-plugin-run-on-unload&type=code) - -## 6. `@zsh-plugin-run-on-update` call {#run-on-update-call} - -> [ run-on-update-call ] - -The plugin manager can provide a function `@zsh-plugin-run-on-update` which has the following call syntax: - -```shell -@zsh-plugin-run-on-update "{code-snippet-1}" "{code-snippet-2}" โ€ฆ -``` - -The function registers pieces of code to be run by the plugin manager on an update of the plugin. The execution of the code should be done by the `eval` built-in in the same order as they are passed to the call. The code should be executed in the pluginโ€™s directory, possibly in a subshell **After downloading any new commits** to the repository. - -### **STATUS:** [ run-on-update-call ] - -- GitHub Search: [zsh-plugin-run-on-update](https://github.com/search?q=@zsh-plugin-run-on-update&type=code) - -## 7. Plugin manager activity indicator {#activity-indicator} - -> [ activity-indicator ] - -Plugin managers should set the `$zsh_loaded_plugins` array to contain all previously loaded plugins and the plugin currently being loaded (as the last element). - -This will allow any plugin to: - -1. Check which plugins are already loaded. - -2. Check if it is being loaded by a plugin manager (i.e. not just sourced). - -The first item allows a plugin to e.g. issue a notice about missing dependencies. Instead of issuing a notice, it may be able to satisfy the dependencies on resources it provides. For example, the `pure` prompt provides a `zsh-async` dependency library within its source tree, which is normally a separate project. Consequently, the prompt can decide to source its private copy of `zsh-async`, having also reliable `$0` defined by the previous section (note: `pure` doesnโ€™t normally do this). - -The second item allows a plugin to e.g. set up `$fpath`, knowing that the plugin manager will not handle this: - -```shell showLineNumbers -if [[ ${zsh_loaded_plugins[-1]} != */kalc && -z ${fpath[(r)${0:h}]} ]]; then - fpath+=( "${0:h}" ) -fi -``` - -This will allow the user to reliably source the plugin without using a plugin manager. The code uses the wrapping braces around variables (i.e.: e.g.: `${fpathโ€ฆ}`) to make it compatible with the `KSH_ARRAYS` option and the quoting around `${0:h}` to make it compatible with the `SH_WORD_SPLIT` option. - -### **STATUS:** [ activity-indicator ] - -- GitHub Search: [zsh_loaded_plugins](https://github.com/search?q=%22${zsh_loaded_plugins[-1]}%22&type=code) - -## 8. Global parameter with PREFIX for make, configure, etc {#global-parameter-with-prefix} - -> [ global-parameter-with-prefix ] - -Plugin managers may export the parameter `$ZPFX` which should contain a path to a directory dedicated to user-land software, i.e. for directories `$ZPFX/bin`, `$ZPFX/lib`, `$ZPFX/share`, etc. The suggested name of the directory is `polaris` (e.g.: Zi uses this name and places this directory at `~/.zi/polaris` by default). - -Users can then configure hooks to invoke e.g. `make PREFIX=$ZPFX install` at clone & update the plugin to install software like e.g. [tj/git-extras][]. This is the developing role of Zsh plugin managers as package managers, where `.zshrc` has a similar role to Chef or Puppet configuration and allows to **declare** system state, and have the same state on different accounts/machines. - -No-narration facts-list related to `$ZPFX`: - -1. `export ZPFX="$HOME/polaris"` (or e.g. `$HOME/.zi/polaris`) - -2. `make PREFIX=$ZPFX install` - -3. `./configure --prefix=$ZPFX` - -4. `cmake -DCMAKE_INSTALL_PREFIX=$ZPFX .` - -5. `zi ice make"PREFIX=$ZPFX install"` - -6. `zi โ€ฆ hook-build:"make PREFIX=$PFX install"` - -### **STATUS:** [ global-parameter-with-prefix ] - -- GitHub Search: [ZPFX](https://github.com/search?q=%22$ZPFX%22&type=code) - -## 9. Global parameter holding the plugin managerโ€™s capabilities {#global-parameter-with-capabilities} - -> [ global-parameter-with-capabilities ] - -The above paragraphs of the standard spec each constitute a capability, a feature of the plugin manager. It would make sense that the capabilities are somehow discoverable. To address this, a global parameter called `PMSPEC` (from _plugin-manager specification_) is proposed. It can hold the following Latin letters each informing the plugin, that the plugin manager has support for a given feature: - -- `0` โ€“ the plugin manager provides the `ZERO` parameter, - -- `f` - โ€ฆ supports the `functions/` subdirectory, - -- `b` - โ€ฆ supports the `bin/` subdirectory, - -- `u` - โ€ฆ the unload function, - -- `U` - โ€ฆ the `@zsh-plugin-run-on-unload` call, - -- `p` โ€“ โ€ฆ the `@zsh-plugin-run-on-update` call, - -- `i` โ€“ โ€ฆ the `zsh_loaded_plugins` activity indicator, - -- `b` โ€“ โ€ฆ the `ZPFX` global parameter, - -- `s` โ€“ โ€ฆ the `PMSPEC` global parameter itself (i.e.: should be always present). - -The contents of the parameter describing a fully-compliant plugin manager should be: `0fuUpiPs`. - -The plugin can then verify the support by: - -```shell showLineNumbers -if [[ $PMSPEC != *P* ]]; then - path+=( "${0:h}/bin" ) -fi -``` - -### **STATUS:** [ global-parameter-with-capabilities ] - -- GitHub Search: [PMSPEC](https://github.com/search?q=%22export+PMSPEC=%22&type=code) - -## Zsh plugin-programming best practices - -The document is to define a **Zsh-plugin** but also to serve as an information source for plugin creators. Therefore, it covers also best practices information in this section. - -## Use of `add-zsh-hook` to install hooks - -Zsh ships with the function `add-zsh-hook`. It has the following invocation syntax: - -```shell -add-zsh-hook [ -L | -dD ] [ -Uzk ] hook function -``` - -The command installs a `function` as one of the supported zsh `hook` entries. which are one of: `chpwd`, `periodic`, `precmd`, `preexec`, `zshaddhistory`, `zshexit`, `zsh_directory_name`. For their meaning refer to the [Zsh documentation: #Hook-Functions][hook-functions]. - -## Use of `add-zle-hook-widget` to install Zle Hooks - -The zle editor is the part of the Zsh that is responsible for receiving the text from the user. It can be said that itโ€™s based on widgets, which are nothing more than Zsh functions that are allowed to be run in Zle context, i.e. from the Zle editor (plus a few minor differences, like e.g.: the `$WIDGET` parameter thatโ€™s automatically set by the Zle editor). - -The syntax of the call is: - -```shell -add-zle-hook-widget [ -L | -dD ] [ -Uzk ] hook widgetname -``` - -The call resembles the syntax of the `add-zsh-hook` function. The only difference is that it takes a `widgetname`, not a function name and that the `hook` is one of: `isearch-exit`, `isearch-update`, `line-pre-redraw`, `line-init`, `line-finish`, `history-line-set`, or `keymap-select`. Their meaning is explained in the [Zsh documentation: #Special-Widgets][special-widgets]. - -The use of this function is recommended because it allows the installation **multiple** hooks per each `hook` entry. Before introducing the `add-zle-hook-widget` function the "normal" way to install a hook was to define a widget with the name of one of the special widgets. Now, after the function has been introduced in Zsh `5.3` it should be used instead. - -## ไธ€่ˆฌ็š„ใชใƒ‘ใƒฉใƒกใƒผใ‚ฟใƒผใฎๅ‘ฝๅ - -Thereโ€™s a convention already present in the Zsh world โ€“ to name array variables lowercase and scalars uppercase. Itโ€™s being followed by e.g.: the Zsh manual and the Z shell itself (e.g.: `REPLY` scalar and `reply` array, etc.). - -The requirement for the scalars to be uppercase should be, in my opinion, kept only for the global parameters. e.g.: itโ€™s fine to name local parameters inside a function lowercase even when they are scalars, not only arrays. - -An extension to the convention is being proposed: to name associative arrays (i.e.: hashes) capitalized, i.e.: with only the first letter uppercase and the remaining letters lowercase. - -See [the next section](#standard-plugins-hash) for an example of such hash. In the case of the name consisting of multiple words each of them should be capitalized, e.g.: `typeset -A MyHash`. - -This convention will increase code readability and bring order to it. - -## Standard `Plugins` hash - -The plugin often has to declare global parameters that should live throughout a Zsh session. Following the [namespace pollution prevention](#preventing-function-pollution) the plugin could use a hash to store the different values. Additionally, the plugins could use a single hash parameter โ€“ called `Plugins` โ€“ to prevent pollution. - -An example value needed by the plugin: - -```shell showLineNumbers -typeset -gA Plugins -Plugins[MY_PLUGIN_REPO_DIR]="${0:h}" -``` - -This way all the data of all plugins will be kept in a single parameter, available for easy examination and overview (via e.g.: `varied Plugins`), and also not polluting the namespace. - -## Standard recommended [options][] - -The following code snippet is recommended to be included at the beginning of each of the main functions provided by the plugin: - -```shell showLineNumbers -builtin emulate -L zsh ${=${options[xtrace]:#off}:+-o xtrace} -builtin setopt extended_glob warn_create_global typeset_silent no_short_loops rc_quotes no_auto_pushd -``` - -It resets all the options to their default state according to the `zsh` emulation mode, with the use of the `local_options` option โ€“ so the options will be restored to their previous state when leaving the function. It then alters the emulation by `7` different options: - -- `${=${options[xtrace]:#off}:+-o xtrace}` โ€“ `xtrace` prints commands and their arguments as they are executed, this specific variable calls `xtrace` when needed, e.g.: when already active at the entry to the function. - -- `extended_glob` โ€“ enables one of the main Zshell features โ€“ the advanced, built-in regex-like globing mechanism, - -- `warn_create_global` โ€“ enables warnings to be printed each time a (global) variable is defined without being explicitly defined by a `typeset`, `local`, `declare`, etc. call; it allows to catch typos and missing localizations of the variables and thus prevent from writing a bad code, - -- `typeset_silent` โ€“ it allows to call `typeset`, `local`, etc. multiple times on the same variable; without it, the second call causes the variable contents to be printed first; using this option allows declaring variables inside loops, near the place of their use, which sometimes helps to write a more readable code, - -- `no_short_loops` โ€“ disables the short-loops syntax; this is done because when the syntax is enabled it limits the parserโ€™s ability to detect errors (see this [zsh-workers post][] for the details), - -- `rc_quotes` โ€“ adds useful ability to insert apostrophes into an apostrophe-quoted string, by use of `''` inside it, e.g.: `'a stringโ€™s example'` will yield the string `a stringโ€™s example`, - -- `no_auto_pushd` - disables the automatic push of the directory passed to `cd` builtin onto the directory stack; this is useful because otherwise, the internal directory changes done by the plugin will pollute the global directory stack. - -## Standard recommended variables - -Itโ€™s good to localize the following variables at the entry of the main function of a plugin: - -```shell showLineNumbers -local MATCH REPLY; integer MBEGIN MEND -local -a match mbegin mend reply -``` - -The variables starting with `m` and `M` are being used by the substitutions utilizing `(#b)` and `(#m)` flags, respectively. They should not leak to the global scope. Also, their automatic creation would trigger the warning from the `warn_create_global` option. - -The `reply` and `REPLY` parameters are normally used to return an array or a scalar from a function, respectively โ€“ itโ€™s the standard way of passing values from functions. - -Their use is naturally limited to the functions called from the main function of a plugin โ€“ they should not be used to pass data around e.g.: in between prompts, thus itโ€™s natural to localize them in the main function. - -## Standard function name-space prefixes - -The recommendation is the purely subjective opinion of the author. - -It can evolve โ€“ if you have any remarks, donโ€™t hesitate to [fill them](https://github.com/z-shell/zw/issues/new). - -## The problems solved by the proposition - -However, when adopted, the proposition will solve the following issues: - -1. Using the underscore `_` to namespace functions โ€“ this isnโ€™t the right thing to do because the prefix is being already used by the completion functions, so the namespace is already filled up greatly and the plugin functions get lost in it. - -2. Not using a prefix at all โ€“ this is also an unwanted practice as it pollutes the command namespace of such an issue appearing. - -3. It would allow quickly discriminate between function types โ€“ e.g.: seeing the `:` prefix informs the user that itโ€™s a hook-type function while seeing the `@` prefix informs the user that itโ€™s an API-like function, etc. - -4. It also provides an improvement during programming, by allowing to quickly limit the number of completions offered by the editor, e.g.: for Vimโ€™s Ctrl-P completing, when entering +Ctrl-P, then only a subset of the functions are being completed (see below for the type of the functions). **Note:** the editor has to be configured so that it accepts such special characters as part of keywords, for Vim itโ€™s: `:set isk+=@-@,.,+,/,:` for all of the proposed prefixes. - -## The Proposed function-name prefixes - -The proposition of the standard prefixes is as follows: - -1. `.`: for regular private functions. Example function: `.prompt_zinc_get_value`. - -2. `โ†’`: for hook-like functions, so it should be used e.g.: for the [Zsh hooks](#use-of-add-zsh-hook-to-install-hooks) and the [Zle hooks](#use-of-add-zle-hook-widget-to-install-zle-hooks), but also any other, custom hook-like mechanism in the plugin. Example function name: `โ†’prompt_zinc_precmd`. - - 2.1. the previous version of the document recommended colon (`:`) for the prefix, however, it was problematic, because Windows doesnโ€™t allow colons in file names, so it wasnโ€™t possible to name an autoload function this way, - - 2.2. the arrow has a rationale behind it - it denotes the execution **coming back** to the function at a later time after it has been registered as a callback or a handler, - - 2.3. the arrow is easy to type on most keyboard layouts โ€“ it is Right-Alt+I; in case of problems with typing the character can be always copied โ€“ handler functions do occur in the code rarely, - - 2.4. Zsh supports any string as a function name because absolutely any string can be a **file** name โ€“ if there would be an exception in the name of the call-ables, then how would it be possible to run a script called "โ†’abcd"? There are **no** exceptions, the function can be called even as a sequence of null bytes: - - ```shell showLineNumbers - โฏ $'\0'() { print hello } - โฏ $'\0' - hello - ``` - -3. `+`: for output functions, i.e.: for functions that print to the standard output and error or a log, etc. Example function name: `+prompt_zinc_output_segment`. - -4. `/`: for debugging functions, i.e: for functions that output debugs messages to the screen or a log or e.g.: gather some debug data. **Note:** the slash makes it impossible for such functions to be auto-loaded via the `autoload` mechanism. It is somewhat risky to assume, that this will never be needed for the functions, however, the limited number of available ASCII characters justifies such allocation. Example function name: `/prompt_zinc_dmsg`. - -5. `@`: for API-like functions, i.e: for functions that are on a boundary to a subsystem and expose their functionality through a well-defined, generally fixed interface. For example, this plugin standard [defines](#update-register-call) the function `@zsh-plugin-run-on-update`, which is exposing a plugin managerโ€™s functionality in a well-defined way. - -## Example code utilizing the prefixes - -```shell showLineNumbers -.zinc_register_hooks() { - add-zsh-hook precmd :zinc_precmd - /zinc_dmsg "Installed precmd hook with the result: $?" - @zsh-plugin-run-on-unload "add-zsh-hook -d precmd :zinc_precmd" - +zinc_print "Zinc initialization complete" -} -``` - -## Preventing function pollution - -When writing a larger autoload function, it very often is the case that the function contains definitions of other functions. - -When the main function finishes executing, the functions are left defined. This might be undesired, e.g.: because of the command namespace pollution. - -The following snippet of code, when added at the beginning of the main function will automatically unset the sub-functions when leaving the main function to don't leak any functions into the global namespace: - -```shell showLineNumbers -typeset -g prjef -prjef=( ${(k)functions} ) -trap "unset -f -- \"\${(k)functions[@]:|prjef}\" &>/dev/null; unset prjef" EXIT -trap "unset -f -- \"\${(k)functions[@]:|prjef}\" &>/dev/null; unset prjef; return 1" INT -``` - -Replace the `prj*` prefix with your project name, e.g.: `rustef` for a `rust`-related plugin. The `*ef` stands for "entry functions". The snippet works as follows: - -1. The line `prjef=( ${(k)functions} )` remembers all the functions that are currently defined โ€“ which means that the list excludes the functions that are to be yet defined by the body of the main function. - -2. The code `unset -f โ€” "${(k)functions[@]:|prjef}"` first does a subtraction of array contents โ€“ the `:|` substitution operator โ€“ of the functions that are defined at the moment of leaving of the function (the `trap`-s invoke the code at this moment) with the list of functions from the start of the main function โ€“ the ones stored in the variables `$prjef`. - -3. It then unsets the resulting list of the functions โ€“ being only the newly defined functions in the main function โ€“ by passing it to `unset -f โ€ฆ`. This way the functions defined by the body of the main (most often an autoload) function will be only set during the execution of the function. - -## Preventing parameter pollution - -When writing a plugin one often needs to keep a state during the Zsh session. To do this it is natural to use global parameters. However, when the number of the parameters grows one might want to limit it. - -With the following method, only a single global parameter per plugin can be sufficient: - -```shell showLineNumbers -typeset -A PlgMap -typeset -A SomeMap -typeset -a some_array - -PlgMap[state]=1 -SomeMap[state]=1 -some_array[1]=state -``` - -can be converted into: - -```shell showLineNumbers -typeset -A PlgMap - -PlgMap[state]=1 -PlgMap[SomeMap__state]=1 -PlgMap[some_array__1]=state -``` - -The use of this method is very unproblematic. The author reduced the number of global parameters in one of the projects by 21 by using an automatic conversion with Vim substitution patterns with back references without any problems. - -Following the [Standard Plugins Hash](#standard-plugins-hash) section, the plugin could even use a common hash name โ€“ `Plugins` โ€“ to lower the pollution even more. - - - - - - - -[zi]: https://github.com/z-shell/zi - -[comparison]: https://www.zsh.org/mla/workers/2017/msg01827.html - -[romkatv/powerlevel10k is using]: https://github.com/romkatv/powerlevel10k/blob/f17081ca/internal/p10k.zsh#L5390 - -[gitstatus]: https://github.com/romkatv/gitstatus - -[agkozak/agkozak-zsh-prompt is using]: https://github.com/agkozak/agkozak-zsh-prompt/blob/ed228952d68fea6d5cad3beee869167f76c59606/agkozak-zsh-prompt.plugin.zsh#L992-L1039 - -[agkozak/zsh-z is using]: https://github.com/agkozak/zsh-z/blob/16fba5e9d5c4b650358d65e07609dda4947f97e8/zsh-z.plugin.zsh#L680-L698 - -[agkozak/zhooks is using]: https://github.com/agkozak/zhooks/blob/628e1e3b8373bf31c26cb154f71c16ebe9d13b51/zhooks.plugin.zsh#L75-L82 - -[tj/git-extras]: https://github.com/tj/git-extras - -[zsh-workers post]: https://www.zsh.org/mla/workers/2011/msg01050.html - -[autoloading-functions]: https://zsh.sourceforge.net/Doc/Release/Functions.html#Autoloading-Functions - -[special-widgets]: https://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Special-Widgets - -[hook-functions]: https://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions - -[options]: https://zsh.sourceforge.io/Doc/Release/Options.html diff --git a/i18n/ja/docusaurus-plugin-content-docs-community/current/03_zsh_native_scripting_handbook.mdx b/i18n/ja/docusaurus-plugin-content-docs-community/current/03_zsh_native_scripting_handbook.mdx deleted file mode 100644 index 018132a5..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-community/current/03_zsh_native_scripting_handbook.mdx +++ /dev/null @@ -1,330 +0,0 @@ ---- -id: zsh_handbook -title: ๐Ÿ”ค Zsh Native Scripting Handbook -sidebar_position: 3 -image: /img/png/theme/z/320x320.png -keywords: - - zsh-handbook ---- - - - -import ReadINIExample from "@site/src/components/Markdown/_read_ini_example.mdx"; - -## Information - -### @ is about keeping array form - -How do access all array elements in a shell? The standard answer: `use @ subscript`, i.e. `${array[@]}`. However, this is the Bash & Ksh way (and with the option `KSH_ARRAYS`, Zsh also works this way, i.e. needs `@` to access the whole array). Z shell **is different**: it is a `$array` that refers to all elements anyway. There is no need for the `@` subscript. - -So what use has `@` in the Zsh-world? It is: "`keep array form`" or "`do not join`". When is it activated? When the user quotes the array, i.e. invokes `"$array"`, he induces _joining_ of all array elements (into a single string). `@` is to have elements still quoted (so empty elements are preserved), but not joined. - -Two forms are available, `"$array[@]"` and `"${(@)array}"`. The first form has an additional effect โ€“ when an option `KSH_ARRAYS` is set, it indeed induces referencing to the whole array instead of a first element only. It should then use braces, i.e. `${array[@]}`, `"${array[@]}"` (`KSH_ARRAYS` requirement). - -In practice, if you'll use `@` as a subscript โ€“ `[@]`, not as a flag โ€“ `${(@)...}`, then you'll make the code `KSH_ARRAYS`-compatible. - -### extended_glob - -Glob-flags `#b` and `#m` require `setopt extended_glob`. Patterns utilizing `~` and `^` also require it. Extended-glob is one of the main features of Zsh. - -## Constructs - -### Reading a file - -```shell showLineNumbers -typeset -a lines -lines=( "${(@f)"$( 0 ? b : c ))`. The flexibility of Zsh allows such expressions also in a normal context. Above is an example. `:+` is "if not empty, substitute โ€ฆ" `:-` is "if empty, substitute โ€ฆ". You can save a great number of lines of code with those substitutions, it's normally at least 4-lines `if` condition or lengthy `&&`/`||` use. - -### Ternary expressions with `:#` substitution - -```shell showLineNumbers -var=abc; print ${${${(M)var:#abc}:+is abc}:-not abc} โ†’ is abc -var=abcd; print ${${${(M)var:#abc}:+is abc}:-not abc} โ†’ not abc -``` - -A one-line "if var = x, then โ€ฆ, else โ€ฆ". Again, can spare a great amount of boring code that makes a 10-line function a 20-line one. - -### Using built-in regular expressions engine - -```shell -[[ "aabbb" = (#b)(a##)*(b(#c2,2)) ]] && print ${match[1]}-${match[2]} โ†’ aa-bb -``` - -`\##` is: "1 or more". `(#c2,2)` is: "exactly 2". A few other constructs: `#` is "0 or more", `?` is "any character", `(a|b|)` is "a or b or empty match". `#b` enables the `$match` parameters. There's also `#m` but it has one parameter `$MATCH` for whole matched text, not for any parenthesis. - -Zsh patterns are a custom regular expressions engine. They are slightly faster than the `zsh/regex` module (used for the `=~` operator) and don't have that dependency (regex module can be not present, e.g. in the default static build of Zsh). Also, they can be used in substitutions, for example in the `//` substitution. - -### Skipping uniq - -```shell showLineNumbers -typeset -aU array; array=( a a b ); print $array โ†’ a b -typeset -a array; array=( a a b ); print ${(u)array} โ†’ a b -``` - -Enable the `-U` flag for the array so that it guards elements to be unique, or use the `u`-flag to make unique elements of an array. - -### Skipping awk - -```shell showLineNumbers -typeset -a list; list=( "a,b,c,1,e" "p,q,r,2,t" ); -print "${list[@]/(#b)([^,]##,)(#c3,3)([^,]##)*/${match[2]}}" โ†’ 1 2 -``` - -The pattern specifies 3 blocks of `[^,]##,` so 3 "not-comma multiple times, then comma", then the single block of "not-comma multiple times" in second parentheses -- and then replaces this with second parentheses. The result is the 4th column extracted from multiple lines of text, something `awk` is often used for. Another method is the use of the `s`-flag. For a single line of text: - -```shell -text="a,b,c,1,e"; print ${${(s:,:)text}[4]} โ†’ 1 -``` - -Thanks to in-substitution code-execution capabilities it's possible to use the `s`-flag to apply it to multiple lines: - -```shell showLineNumbers -typeset -a list; list=( "a,b,c,1,e" "p,q,r,2,t" ); -print "${list[@]/(#m)*/${${(s:,:)MATCH}[4]}}" โ†’ 1 2 -``` - -There is a problem with the `(s::)` flag that can be solved if Zsh is version `5.4` or higher: if there will be single input column, e.g. `list=( "column1" "a,b")` instead of two or more columns (i.e. `list=( "column1,column2" "a,b" )`), then `(s::)` will return **string** instead of 1-element **array**. So the index `[4]` in the above snippet will index a string, and show its 4th letter. Starting with Zsh 5.4, thanks to a patch by Bart Schaefer (`40640: the (A) parameter flag forces array result even if...`), it is possible to force **array**-kind of result even for a single column, by adding `(A)` flag, i.e.: - -```shell showLineNumbers -typeset -a list; list=( "a,b,c,1,e" "p,q,r,2,t" "column1" ); -print "${list[@]/(#m)*/${${(As:,:)MATCH}[4]}}" โ†’ 1 2 -print "${list[@]/(#m)*/${${(s:,:)MATCH}[4]}}" โ†’ 1 2 u -``` - -Side-note: `(A)` flag is often used together with the `::=` assignment-substitution and `(P)` flag, to assign arrays and hashes by name. - -### Searching arrays - -```shell showLineNumbers -typeset -a array; array=( a b " c1" d ); print ${array[(r)[[:space:]][[:alpha:]]*]} โ†’ c1 -``` - -`\[[:space:]]` contains unicode spaces. This is often used in conditional expression like `[[ -z ${array[(r)...]} ]]`. - -Note that [Skipping grep](#skipping-grep) that uses `:#` substitution can also be used to search arrays. - -### Code execution in `//` substitution - -```shell showLineNumbers -append() { gathered+=( $array[$1] ); } -functions -M append 1 1 append -typeset -a array; array=( "Value 1" "Other data" "Value 2" ) -typeset -a gathered; integer idx=0 -: ${array[@]/(#b)(Value ([[:digit:]]##)|*)/$(( ${#match[2]} > 0 ? append(++idx) : ++idx ))} -print $gathered โ†’ Value 1 Value 2 -``` - -Use of the `#b` glob flag enables math-code execution (and not only) in `/` and `//` substitutions. Implementation is very fast. - -### Serializing data - -```shell showLineNumbers -typeset -A hsh deserialized; hsh=( key value ) -serialized="${(j: :)${(qkv@)hsh}}" -deserialized=( "${(Q@)${(z@)serialized}}" ) -print ${(kv)deserialized} โ†’ key value -``` - -`j`-flag means join -- by spaces, in this case. Flags `kv` mean keys and values, interleaving. Important `q`-flag means: quote. So what is obtained is each key and value quoted, and put into a string separated by spaces. - -`z`-flag means: split as if Zsh parser would split. So quoting (with backslashes, double quoting, and others) is recognized. Obtained is array `( "key" "value")` which is then de-quoted with `Q`-flag. This yields original data, assigned to the hash `deserialized`. Use this to e.g. implement an array of hashes. - -Note: to be compatible with `setopt ksharrays`, use `[@]` instead of `(@)`, e.g.: `...( "${(Q)${(z)serialized[@]}[@]}" )` - -#### Tip: serializing with Bash - -```shell showLineNumbers -array=( key1 key2 ) -printf -v serialized "%q " "${array[@]}" -eval "deserialized=($serialized)" -``` - -This method works also with Zsh. The drawback is the use of `eval`, however, no problem may occur unless someone compromises the variable's value, but as always, `eval` should be avoided if possible. - -## Real-world examples - -### Testing for Git subcommand - -Following code checks, if there is a `git` subcommand `$mysub`: - -```shell -if git help -a | grep "^ [a-z]" | tr ' ' '\n' | grep -x $mysub > /dev/null > /dev/null; then -``` - -Those are `4` forks. The code can be replaced according to this guide: - -```shell showLineNumbers -local -a lines_list -lines_list=( ${(f)"$(git help -a)"} ) -lines_list=( ${(M)${(s: :)${(M)lines_list:# [a-z]*}}:#$mysub} ) -if (( ${#lines_list} > 0 )); then - โ€ฆ -fi -``` - -The result is just `1` fork. - -### Counting unquoted-only apostrophes - -A project was needing this to do some Zle line-continuation tricks (when you put a backslash-\\ at the end of the line and press enters โ€“ it is the line continuation that occurs at that moment). - -The required functionality is: in the given string, count the number of apostrophes, but _only the unquoted ones_. This means that only apostrophes with null or an even number of preceding backslashes should be accepted into the count: - -```shell showLineNumbers -buf="word'continue\'after\\\'afterSecnd\\''afterPair" -integer count=0 -: ${buf//(#b)((#s)|[^\\])([\\][\\])#(\'\'#)/$(( count += ${#match[3]} ))} -echo $count โ†’ 3 -``` - -The answer (i.e. the output) to the above presentation and example is: `3` (there are `3` unquoted apostrophes in total in the string kept in the variable `$buf`). - -Below follows a variation of the above snippet that doesn't use math-code execution: - -```shell showLineNumbers -buf="word'continue\'after\\\'afterSecnd\\''afterPair" -buf="${(S)buf//(#b)*((#s)|[^\\])([\\][\\])#(\'\'#)*/${match[3]}}"; buf=${buf%%[^\']##} -integer count=${#buf} -echo $count โ†’ 3 -``` - -This is possible thanks to `(S)` flag โ€“ non-greedy matching, `([\\][\\])#` trick โ€“ it matches only unquoted following `(\'\'##)` characters (which are the apostrophes) and a general strategy to replace `anything-apostrope(s)` (unquoted ones) with `the-apostrope(s)` (and then count them with `${#buf}`). - -## Tips and Tricks - -### Parsing INI file - -With Zshell `extended_glob` parsing an `ini` file is an easy task. It will not result in a nested-arrays data structure (Zsh doesn't support nested hashes), but the hash keys are intuitive such as `$DB_CONF[db1__host]`. - -The code should be placed in a file named `read-ini-file`, in `$fpath`, and `autoload read-ini-file` should be invoked. - - diff --git a/i18n/ja/docusaurus-plugin-content-docs-community/current/99_contributors.mdx b/i18n/ja/docusaurus-plugin-content-docs-community/current/99_contributors.mdx deleted file mode 100644 index 84400851..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-community/current/99_contributors.mdx +++ /dev/null @@ -1,290 +0,0 @@ ---- -id: contributors -title: '๐Ÿ† ่ฒข็Œฎ่€…' -sidebar_position: 4 -image: /img/png/theme/z/320x320.png -hide_title: false -hide_table_of_contents: false -description: ใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใฎ่ฒข็Œฎ่€… -keywords: - - contributors -draft: false -slug: contributors ---- - -import Link from "@docusaurus/Link"; -import Image from "@theme/IdealImage"; -import Emoji from "@site/src/components/Emoji"; -import useBaseUrl from "@docusaurus/useBaseUrl"; -import ThemedImage from "@theme/ThemedImage"; - -```mdx-code-block - -``` - -่ฒข็Œฎใซใ‚ˆใ‚Šใ€ใ‚ชใƒผใƒ—ใƒณใ‚ฝใƒผใ‚นใ‚ณใƒŸใƒฅใƒ‹ใƒ†ใ‚ฃใฏๅญฆใณใ€ๅˆบๆฟ€ใ‚’ไธŽใˆใ€ๅ‰ต้€ ใ™ใ‚‹ใŸใ‚ใฎ็ด ๆ™ดใ‚‰ใ—ใ„ๅ ดๆ‰€ใซใชใ‚Šใพใ™ใ€‚ ใ‚ใชใŸใฎ่ฒข็Œฎใฏใ€ไป–ใฎใ™ในใฆใฎไบบใ‚„ๆ„›ใ™ใ‚‹ใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใฎใŸใ‚ใซใชใ‚Šใ€้žๅธธใซๆ„Ÿ่ฌใ•ใ‚Œใพใ™ใ€‚ . - -> ใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใซๅ‚ๅŠ /ใ‚ตใƒใƒผใƒˆใ™ใ‚‹ใซใฏใ€ ๅ‚ๅŠ  ใ€ ็ฟป่จณใ€ใŠใ‚ˆใณๅ…ฑๆœ‰ ใ‚’ๆคœ่จŽใ—ใฆใใ ใ•ใ„ใ€‚ - -## ๅ…จ่ˆฌ - -```mdx-code-block - - - - - - - - - - - -
- - -
- Salvydas Lukosius - -
- - -
- onokatio - -
- - -
- Omelet - -
- - -
- Sai - -
- - -
- William Cooper - -
- - -
- Farzat07 - -
-``` - -## ใ‚ณใƒณใƒ†ใƒณใƒ„ - -```mdx-code-block - - - - - - - - - -
- - -
- Sebastian - -
- - -
- Callista Chang - -
- - -
- signed-log - -
- - -
- 0xMRTT - -
-``` - -## ็ฟป่จณ - -```mdx-code-block - - - - - - - - - - - - - - -
- - -
- Colerar - -
- - -
- MisakaCloud - -
- - -
- Dongsen - -
- - -
- nakayama900 - -
- - -
- awarewen - -
- - -
- Kazuma Miebori - -
- - -
- syrinka - -
-``` - -## ๅ‚ๅŠ  - -```mdx-code-block - - - - - - - - - -
- - -
- Benoit de Chezelles - -
- - -
- Caleb Cushing - -
- - -
- David Lapshin - -
- - -
- Kritiqual - -
-``` - - diff --git a/i18n/ja/docusaurus-plugin-content-docs-community/current/_category_.json b/i18n/ja/docusaurus-plugin-content-docs-community/current/_category_.json deleted file mode 100644 index 5e5cc6f1..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-community/current/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "๐Ÿ‘ฅ ใ‚ณใƒŸใƒฅใƒ‹ใƒ†ใ‚ฃ ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ", - "position": 1, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/ja/docusaurus-plugin-content-docs-community/current/index.mdx b/i18n/ja/docusaurus-plugin-content-docs-community/current/index.mdx deleted file mode 100644 index 6fb70cb2..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-community/current/index.mdx +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: ใ‚ณใƒŸใƒฅใƒ‹ใƒ†ใ‚ฃ -slug: / -title: ๐Ÿ‘ฅ ใ‚ณใƒŸใƒฅใƒ‹ใƒ†ใ‚ฃ ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -keywords: - - documentation - - zsh-lovers - - ใ‚ณใƒŸใƒฅใƒ‹ใƒ†ใ‚ฃ - - gallery ---- - - - -```mdx-code-block -import useBaseUrl from '@docusaurus/useBaseUrl'; -import ThemedImage from '@theme/ThemedImage'; - -
- -
-``` diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current.json b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current.json deleted file mode 100644 index 9a505b9a..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version.label": { - "message": "ๆฌกใธ", - "description": "The label for version current" - }, - "sidebar.SideBar.category.๐ŸŒ€ Annexes": { - "message": "๐ŸŒ€ ๅˆฅ้คจ", - "description": "The label for category ๐ŸŒ€ Annexes in sidebar SideBar" - }, - "sidebar.SideBar.category.๐Ÿ“ฆ Packages": { - "message": "๐Ÿ“ฆ ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธ", - "description": "The label for category ๐Ÿ“ฆ Packages in sidebar SideBar" - }, - "sidebar.SideBar.category.โš™๏ธ Plugins": { - "message": "โš™๏ธ Plugins", - "description": "The label for category โš™๏ธ Plugins in sidebar SideBar" - } -} diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/_category_.json b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/_category_.json deleted file mode 100644 index dc7deef7..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "๐ŸŒ ใ‚จใ‚ณใ‚ทใ‚นใƒ†ใƒ ", - "position": 1, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/0_overview.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/0_overview.mdx deleted file mode 100644 index 530b327e..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/0_overview.mdx +++ /dev/null @@ -1,169 +0,0 @@ ---- -id: overview -title: ๐ŸŒ€ ๅˆฅ้คจใงใงใใ‚‹ใ“ใจใฏ๏ผŸ -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -description: ๅˆฅ้คจใฎ็ดนไป‹ -keywords: - - annex - - overview ---- - - - -1. Add a new Zi subcommand (i.e. the [command][command] thatโ€™s placed after the function `zi โ€ฆ` when calling Zi). - -2. Add new [ice-modifiers][ice-modifiers]. - -3. 4็จฎ้กžใฎใƒ•ใƒƒใ‚ฏใ‚’็™ป้Œฒใ—ใพใ™: - - 3.1. `atclone` hook โ€“ run after cloning any plugin or downloading any snippet. - - 3.2. `atpull` hook โ€“ run after pulling new commits (i.e. updating) for any plugin/snippet. - - 3.3. `atinit` hook โ€“ run before loading any plugin/snippet, after it has been set up (i.e. downloaded). - - 3.4. `atload` hook โ€“ run after loading any plugin/snippet. - -4. Register hooks for generating help text, shown by the `zi icemods` subcommand. - -## ๆŽจๅฅจใ™ใ‚‹ๅˆฅ้คจ - -### ๅ…ฑ้€š - -1. [z-a-bin-gem-node][bin-gem-node] -2. [z-a-readurl][readurl] -3. [z-a-patch-dl][patch-dl] -4. [z-a-rust][rust] - -### ใใฎไป– - -1. [z-a-submods][submods] -2. [z-a-unscope][unscope] -3. [z-a-test][test] - -:::tip - -Use [meta-plugins](/ecosystem/annexes/meta-plugins) to install common annexes as a group: - -```shell -zi light-mode for z-shell/z-a-meta-plugins @annexes -``` - -ๅ…ฑ้€šใŠใ‚ˆใณใใฎไป–ใฎๅˆฅ้คจใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ๅ ดๅˆ: - -```shell -zi light-mode for z-shell/z-a-meta-plugins @annexes+rec -``` - -::: - -## ใฉใฎใ‚ˆใ†ใซไฝฟใ†ใฎใงใ™ใ‹๏ผŸ - -Below is an example body of an `atclone` hook taken from [submods][submods] annex. - -It shows how to: - -1. Obtain the arguments passed to the hook. -2. Use an [ice-modifier][ice-modifiers]. -3. It also shows a useful snippet that will trim the whitespace in array elements (see `# (4) โ€ฆ` in the code). -4. Utilize the last hook argument โ€“ the pluginโ€™s/snippetโ€™s containing directory. - -```shell showLineNumbers -emulate -L zsh -o extended_glob -o warn_create_global -o typeset_silent - -[[ -z "${ZI_ICE[submods]}" ]] && return 0 - -# (1) โ€“ get arguments -[[ "$1" = plugin ]] && \ -local type="$1" user="$2" plugin="$3" id_as="$4" dir="$5" hook="$6" || \ -local type="$1" url="$2" id_as="$3" dir="$4" hook="$6" # type: snippet - -# (2) โ€“ we're interested only in plugins/snippets -# which have the submods'' ice in their load command -[[ -z ${ZI_ICE[submods]} ]] && return 0 - -local -a mods parts -local mod from - -# (3) โ€“ process the submods'' ice -mods=( ${(@s.;.)ZI_ICE[submods]} ) -for mod in "${mods[@]}"; do - parts=( "${(@s:->:)mod}" ) - # (4) Remove only leading and trailing whitespace - parts=( "${parts[@]//((#s)[[:space:]]##|[[:space:]]##(#e))/}" ) - - print "\nCloning submodule: ${parts[1]} to dir: ${parts[2]}" - from="https://github.com" - parts[1]="${from}/${parts[1]}" - # (5) โ€“ the use of the input argument: `$dir' - command git -C "$dir" clone --progress "${parts[1]}" "${parts[2]}" -done -``` - -The recommended method of creating a hook is to place its body into a file that starts with a right arrow `โ†’` ([more information][the-proposed-function-name-prefixes], and also a `za-` prefix, e.g. `โ†’za-myproject-atclone-hook` and then to mark it for autoloading via `autoload -Uz โ†’za-myproject-atclone-hook`. Then register the hook, presumably in the `myproject.plugin.zsh` file, with the API call: - -`@zi-register-annex`: - -```shell showLineNumbers -@zi-register-annex myproject hook:atclone \ - โ†’za-myproject-atclone-handler \ - โ†’za-myproject-atclone-help-handler \ - "submods''" # register a new ice-modifier: submods'' -``` - -The general syntax of the API call is: - -```shell showLineNumbers -@zi-register-annex {project-name} \ - {hook: \ - {name-of-the-handler-function} \ - {name-of-the-HELP-handler-function} \ - "{ice-mod1}|{ice-mod2}|โ€ฆ" < hook-type >| subcommand: < new-subcommand-name > } -``` - -The last argument, i.e. the `|`-separated ice list, is optional. Thatโ€™s all! After this loading the plugin `myproject` will set up the new [ice-modifier][ice-modifiers] `submods` that will have syntax `submods'{user}/{plugin} โ€“> {output-dir}; โ€ฆ'` and will clone submodules when installing the original plugin or snippet! - -Example of the [submods][submods] ice-modifier to load the `zsh-autosuggestions` plugin via the Prezto module: `autosuggestions`: - -```shell showLineNumbers -zi ice svn submods'zsh-users/zsh-autosuggestions -> external' -zi snippet PZT::modules/autosuggestions -``` - -Check out the project which fully implements this idea, [z-a-submods][submods]. It e.g. also implements the `atpull` hook, i.e. supports the automatic update of the submodules. The `z-a-*` prefix is recommended for projects which indicate annexes. - -## ๆฆ‚่ฆ - -There are 2 or 3 subtypes for each of the hooks: - -1. `atinit` or `!atinit` โ€“ the `!` version is run before the `atinit` ice-modifier (i.e. before `zi ice atinit'echo this!'; โ€ฆ`), while the normal version runs after it. -2. `atload` or `!atload` โ€“ analogous to the `atinit` case: the `!` version runs before the `atload` ice-modifier (while the normal version runs after it). -3. `atclone` or `!atclone` โ€“ analogous to the `atinit` and `atload` cases. -4. `atpull`, `!atpull`, or `%atpull` โ€“ the first two are being run **only when there are new commits to be downloaded** during the update. The `%` version is being **always** run, regardless of whether the update will pull any actual commits or not, and it is being run **after** the `atpull` ice-modifier. - - - - - -[command]: /docs/guides/commands - -[ice-modifiers]: /docs/guides/syntax/ice-modifiers - -[the-proposed-function-name-prefixes]: /community/zsh_plugin_standard#the-proposed-function-name-prefixes - - - -[bin-gem-node]: https://github.com/z-shell/z-a-bin-gem-node - -[patch-dl]: https://github.com/z-shell/z-a-patch-dl - -[readurl]: https://github.com/z-shell/z-a-readurl - -[rust]: https://github.com/z-shell/z-a-rust - -[submods]: https://github.com/z-shell/z-a-submods - -[test]: https://github.com/z-shell/z-a-test - -[unscope]: https://github.com/z-shell/z-a-unscope diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/19_eval.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/19_eval.mdx deleted file mode 100644 index 654a1f65..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/19_eval.mdx +++ /dev/null @@ -1,125 +0,0 @@ ---- -id: eval -title: ๐ŸŒ€ Eval -image: /img/png/theme/z/320x320.png -description: Annex - Eval documentation. -keywords: - - annex - - eval -draft: false ---- - - - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; - -The output of a slow initialization command is redirected to a file located within the plugin or snippets directory and sourced while loading. The next time the plugin or snippet is loaded, this file will be sourced skipping the need to run the initialization command. - -The ice-modifier `eval'โ€ฆ'` provided and handled by this annex creates a `cache` in the plugin or snippets directory which stores the output of the command and the cache is regenerated when: - -1. The plugin or snippet is updated. -2. The cache file is removed. -3. When running `zi recache`. - -:::note - -The optional preceding `!` flag means to store command output regardless of exit code. Otherwise `eval'โ€ฆ'` will avoid caching the output of code which returns a non-zero exit code. - -::: - -## Example invocations - - - - -```shell showLineNumbers -zi ice as"command" from"gh-r" \ - atclone"./zoxide init --cmd x zsh > init.zsh" \ - atpull"%atclone" src"init.zsh" nocompile'!' -zi light ajeetdsouza/zoxide -``` - -```shell showLineNumbers -zi ice atclone"dircolors -b LS_COLORS > init.zsh" \ - atpull"%atclone" pick"init.zsh" nocompile'!' \ - atload'zstyle ":completion:*" list-colors ${(s.:.)LS_COLORS}' -zi light trapd00r/LS_COLORS -``` - - - - -```shell {2} showLineNumbers -zi ice as"command" from"gh-r" \ - eval"./zoxide init --cmd x zsh" -zi light ajeetdsouza/zoxide -``` - -```shell {1} showLineNumbers -zi ice eval"dircolors -b LS_COLORS" \ - atload'zstyle ":completion:*" list-colors ${(s.:.)LS_COLORS}' -zi light trapd00r/LS_COLORS -``` - - - - - - -```shell showLineNumbers -if [[ "${+commands[kubectl]}" == 1 ]]; then - eval $(kubectl completion zsh) -fi -``` - - - - -```shell {2} showLineNumbers -zi ice id-as"kubectl_completion" has"kubectl" \ - eval"kubectl completion zsh" run-atpull -zi light z-shell/null -``` - - - - -## Install eval {#install-eval} - -:::info Source - -- - z-shell/z-a-eval - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-eval -``` - - - - -Add the following snippet in the `.zshrc` file: - -> Set value `Z_A_USECOMP=1` to enable TAB completion for subcommand `recache`. - -```shell showLineNumbers -zi ice atinit'Z_A_USECOMP=1' -zi light z-shell/z-a-eval -``` - - - - -This will register subcommand `recache` and `eval'โ€ฆ'` ice-modifier. diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/1_bin_gem_node.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/1_bin_gem_node.mdx deleted file mode 100644 index 11dbb2b8..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/1_bin_gem_node.mdx +++ /dev/null @@ -1,568 +0,0 @@ ---- -id: bin-gem-node -title: ๐ŸŒ€ Bin Gem Node -image: /img/png/theme/z/320x320.png -description: Annex - Bin Gem Node documentation. -keywords: - - annex, - - bin-gem-node ---- - - - -import Tabs from "@theme/Tabs"; -import Link from "@docusaurus/Link"; -import TabItem from "@theme/TabItem"; -import Player from "@site/src/components/Player"; -import APITable from "@site/src/components/APITable"; -import Shortcuts from "@site/src/components/Markdown/_player_shortcuts.mdx"; - -An annex provides the following functionality: - -1. Run programs and scripts without adding anything to `$PATH`, -2. Install: [Ruby Gems][rubygems], [Node][node], and [Python][python] modules, with automatically set: - - [$GEM_HOME][gem-home] - - [$NODE_PATH][node-path] - - [$VIRTUALENV][virtualenv] -3. Run programs, scripts, and functions with automatic `cd` into the plugin or snippet directory, plus also with automatic standard output & standard error redirecting. -4. Source scripts through an automatically created function with the above `$GEM_HOME`, `$NODE_PATH`, `$VIRTUALENV`, and `cd` features available, -5. Create the so-called `shims` known from [rbenv][rbenv/rbenv] โ€“ the same feature as the first item of this enumeration โ€“ of running a program without adding anything to `$PATH` with all of the above features, however through an automatic **script** created in `$ZPFX/bin`, not a **function** (the first item uses a function-based mechanism), -6. Automatic updates of Ruby gems and Node modules during regular plugin and snippet updates with `zi update โ€ฆ`. - -The [sbin](#sbin-1) ice-modifier that creates forwarder-scripts instead of forwarder-functions created by the [fbin](#fbin-1) ice-modifier turned out to be the proper, best method for exposing binary programs and scripts. This way there is no need to add anything to `$PATH` โ€“ `z-a-bin-gem-node` will automatically create a function that will wrap the binary and provide it on the command line as if it was being placed in the `$PATH`. - -As previously mentioned, the function can automatically export `$GEM_HOME`, `$NODE_PATH`, `$VIRTUALENV` shell variables and also automatically cd into the plugin or snippet directory right before executing the binary and then cd back to the original directory after the execution is finished. As previously mentioned, instead of the function an automatically created script โ€“ the so-called `shim` โ€“ can be used for the same purpose and with the same functionality, so that the command is accessible practically fully normally โ€“ not only in the live Zsh session, only within which the functions created by [fbin](#fbin-1) exist, but also from any Zsh script. - -Suppose that we want to install the `junegunn/fzf` plugin from GitHub Releases, which contains only a single file โ€“ the `fzf` binary for the selected architecture. It is possible to do it in the standard way โ€“ by adding the plugin's directory to the `$PATH`. - -```shell -zi ice as'program' from'gh-r' -zi load junegunn/fzf -``` - -After this command, the `$PATH` variable will contain e.g.: - -```shell title="print $PATH" showLineNumbers -/home/sall/.zi/plugins/junegunn---fzf:/bin:/usr/bin:/usr/sbin:/sbin -``` - -For many such programs loaded as plugins, the PATH can become quite cluttered. I've had 26 entries before switching to `z-a-bin-gem-node`. To solve this, load with the use of [sbin](#sbin-1) ice-modifier provided and handled by `z-a-bin-gem-node`: - -```shell showLineNumbers -zi ice as'program' from'gh-r' sbin'fzf' -zi load junegunn/fzf -``` - -The `$PATH` will remain unchanged and a forwarder-script of `fzf` shim will be created in `$ZPFX/bin` (`~/.zi/polaris/bin` by default), which is being already added to the `$PATH` by Zi when it is being sourced: - -```shell title="cat $ZPFX/bin/fzf" showLineNumbers -#!/usr/bin/env zsh - -function fzf { - local bindir="/home/sall/.zi/plugins/junegunn---fzf" - "$bindir"/"fzf" "$@" -} - -fzf "$@" -``` - -Running the script will forward the call to the program accessed through an embedded path to it. Thus, no `$PATH` changes are needed. - -```mdx-code-block - -``` - -| Ice modifier | ่ชฌๆ˜Ž | -| :-------------- | :--------------------------------------------------------------------------------------------------------- | -| [sbin](#sbin-1) | Creates `shims` for binaries and scripts. | -| [fbin](#fbin-2) | Creates functions for binaries and scripts. | -| [gem](#gem-3) | Installs and updates gems + creates functions for gems binaries. | -| [node](#node-4) | Installs and updates node_modules + creates functions for binaries of the modules. | -| [pip](#pip-5) | Installs and updates python packages into a `virtualenv` + creates functions for binaries of the packages. | -| [fmod](#fmod-6) | Creates wrapping functions for other functions. | -| [fsrc](#fsrc-7) | Creates functions that source given scripts. | -| [ferc](#ferc-8) | The same as [fsrc](#fscr-7), but using an alternate script-loading method. | - -```mdx-code-block - -``` - -Function wrappers for binaries, scripts, gems, node_modules, python packages, etc: - -```mdx-code-block - -``` - -| Flag | ่ชฌๆ˜Ž | -| :--- | :-------------------------------------------------------------------------------------------------------------------- | -| `g` | Set `$GEM_HOME` variable to `{plugin-dir}`. | -| `n` | Set `$NODE_PATH` variable to `{plugin-dir}/node_modules`. | -| `p` | Set `$VIRTUALENV` variable to `{plugin-dir}/venv`. | -| `c` | `cd` to the plugin's directory before running the program and then cd back after it has been run. | -| `N` | Append `&>/dev/null` to the call of the binary, i.e. redirect both standard output and standard error to `/dev/null`. | -| `E` | Append `2>/dev/null` to the call of the binary, i.e. redirect standard error to `/dev/null`. | -| `O` | Append `>/dev/null` to the call of the binary, i.e. redirect standard output to `/dev/null`. | - -```mdx-code-block - -``` - -View all currently registered: - -- ice-modifiers: `zi icemods` -- subcommand: `zi subcmds` - -## `SBIN'โ€ฆ'` {#sbin-1} - -```shell -sbin'[{g|n|c|N|E|O}:]{path-to-binary}[ -> {name-of-the-script}]; โ€ฆ' -``` - -Creates the so-called `shim` known from `rbenv` โ€“ a wrapper script that forwards the call to the actual binary. The script is created always under the same, standard, and single `$PATH` entry: `$ZPFX/bin` (which is `~/.zi/polaris/bin` by default). The flags have the same meaning as with `fbin'โ€ฆ'` ice. - - - - - - - - - - -```shell showLineNumbers -zi ice as'program' from'gh-r' sbin'fzf' -zi load junegunn/fzf -``` - -```shell title="cat $ZPFX/bin/fzf" showLineNumbers -#!/usr/bin/env zsh - -function fzf { - local bindir="/home/sall/.zi/plugins/junegunn---fzf" - local -xU PATH="$bindir":"$PATH" - "$bindir"/"fzf" "$@" -} - -fzf "$@" -``` - -:::note - -- as'program' (an alias: as'command') - used for the plugin to be added to $PATH when a plugin is not a file for sourcing. - -The [sbin](#sbin-1) ice-modifier can be empty, it will then try to create the shim for the trailing component of the [id-as][] ice, e.g.: - -- `id_as'exts/git-my'` โ†’ it'll check if a file `git-my` exists and if yes, will create the function `git-my`. -- `paulirish/git-open` โ†’ it'll check if a file `git-open` exists and if yes, will create the function `git-open`. - -The same trailing component would be set for the snippet URL, for any alphabetically first and executable file. - -::: - -## `FBIN'โ€ฆ'` {#fbin-2} - -```shell -fbin'[{g|n|c|N|E|O}:]{path-to-binary}[ -> {name-of-the-function}]; โ€ฆ' -``` - -Creates a wrapper function of the name the same as the last segment of the path or as `{name-of-the-function}`. - - - - - - - - - - -```shell showLineNumbers -zi ice from"gh-r" fbin"g:fzf -> myfzf" nocompile -zi load junegunn/fzf -``` - -```shell title="which myfzf" showLineNumbers -myfzf () { - local bindir="/home/sall/.zi/plugins/junegunn---fzf" - local -x GEM_HOME="/home/sall/.zi/plugins/junegunn---fzf" - local -xU PATH="/home/sall/.zi/plugins/junegunn---fzf"/bin:"$bindir":"$PATH" - "$bindir"/"fzf" "$@" -} -``` - -:::note - -- `nocompile` ice-modifier is used to skip file compilation when it is not required. - -::: - -## `GEM'โ€ฆ'` {#gem-3} - -```shell showLineNumbers -gem'{gem-name}; โ€ฆ' -gem'[{path-to-binary} <-] !{gem-name} [-> {name-of-the-function}]; โ€ฆ' -``` - -Installs the gem of name `{gem-name}` with `$GEM_HOME` set to the plugin's or snippet's directory. In other words, the gem and its dependencies will be installed locally in that directory. In the second form, it also creates a wrapper function identical to the one created with `fbin'โ€ฆ'` ice. - - - - - - - - - - -```shell showLineNumbers -zi ice gem'!asciidoctor' id-as'asciidoctor' nocompile -zi load z-shell/0 -``` - -```shell title="which asciidoctor" showLineNumbers -asciidoctor () { - local bindir="/home/sall/.zi/plugins/asciidoctor/bin" - local -x GEM_HOME="/home/sall/.zi/plugins/asciidoctor" - local -xU PATH="/home/sall/.zi/plugins/asciidoctor"/bin:"$bindir":"$PATH" - "$bindir"/"asciidoctor" "$@" -} -``` - -:::note - -- `z-shell/0` - an empty repository to aid Zi's hooks, in this case, used to store the `asciidoctor` gem. -- `id-as'asciidoctor'` - used to assign a name instead of the `z-shell/0`. -- `nocompile` - used to skip file compilation when it is not required. - -::: - -## `NODE'โ€ฆ'` {#node-4} - -```shell showLineNumbers -node'{node-module}; โ€ฆ' -node'[{path-to-binary} <-] !{node-module} [-> {name-of-the-function}]; โ€ฆ' -``` - -Installs the node module of name `{node-module}` inside the plugin's or snippet's directory. In the second form, it also creates a wrapper function identical to the one created with `fbin'โ€ฆ'` ice. - - - - - - - - - - -```shell showLineNumbers -zi ice node'remark <- !remark-cli -> remark; remark-man' id-as'remark' nocompile -zi load z-shell/0 -``` - -```shell title="which remark" showLineNumbers -remark () { - local bindir="/home/sall/.zi/plugins/remark/node_modules/.bin" - local -x NODE_PATH="/home/sall/.zi/plugins/remark"/node_modules - local -xU PATH="/home/sall/.zi/plugins/remark"/node_modules/.bin:"$bindir":"$PATH" - "$bindir"/"remark" "$@" -} -``` - -In this case, the name of the binary program provided by the node module is different from its name, hence the second form with the `b <- a -> c` syntax has been used. - -:::note - -- `z-shell/0` - an empty repository to aid Zi's hooks, in this case, used to store the `remark` Node module. -- `id-as'remark'` - used to assign a name instead of the `z-shell/0`. -- `nocompile` - used to skip file compilation when it is not required. - -::: - -## `PIP'โ€ฆ'` {#pip-5} - -```shell showLineNumbers -pip'{pip-package}; โ€ฆ' -pip'[{path-to-binary} <-] !{pip-package} [-> {name-of-the-function}]; โ€ฆ' -``` - -Installs the node module of name `{pip-package}` inside the plugin's or snippet's directory. In the second form, it also creates a wrapper function identical to the one created with `fbin'โ€ฆ'` ice. - - - - - - - - - - -```shell showLineNumbers -zi ice pip'youtube-dl <- !youtube-dl -> youtube-dl' id-as'youtube-dl' nocompile -zi load z-shell/0 -``` - -```shell title="which youtube-dl" showLineNumbers -youtube-dl () { - local bindir="/home/sall/.zi/plugins/youtube-dl/venv/bin" - local -x VIRTUALENV="/home/sall/.zi/plugins/youtube-dl"/venv - local -xU PATH="/home/sall/.zi/plugins/youtube-dl"/venv/bin:"$bindir":"$PATH" - "$bindir"/"youtube-dl" "$@" -} -``` - -:::note - -- `z-shell/0` - an empty repository to aid Zi's hooks, in this case, used to store the `youtube-dl` pip package. -- `id-as'youtube-dl'` - used to assign a name instead of the `z-shell/0`. -- `nocompile` - used to skip file compilation when it is not required. - -::: - -## `FMOD'โ€ฆ'` {#fmod-6} - -```shell showLineNumbers -fmod'[{g|n|c|N|E|O}:]{function-name}; โ€ฆ' -fmod'[{g|n|c|N|E|O}:]{function-name} -> {wrapping-function-name}; โ€ฆ' -``` - -It wraps the given function with the ability to set `$GEM_HOME`, etc. โ€“ the meaning of the `g`, `n`, and `c` flags is the same as in the `fbin'โ€ฆ'` ice. - -Example: - - - - - - - - - - -```shell showLineNumbers -myfunc() { pwd; ls -1 }; zi ice fmod'cgn:myfunc' id-as'myfunc' nocompile -zi load z-shell/0 -``` - -```shell title="which myfunc" showLineNumbers -myfunc () { - local -x GEM_HOME="/home/sall/.zi/plugins/myfunc" - local -x NODE_PATH="/home/sall/.zi/plugins/myfunc"/node_modules - local oldpwd="/home/sall" - () { - setopt local_options no_auto_pushd - builtin cd -q "/home/sall/.zi/plugins/myfunc" - } - "myfunc--za-bgn-orig" "$@" - () { - builtin setopt local_options no_auto_pushd - builtin cd -q "$oldpwd" - } -} -``` - -```shell title="myfun" showLineNumbers -/home/sall/.zi/plugins/z-shell---0 -docs/ -LICENSE -README.md -``` - -:::note - -- `z-shell/0` - an empty repository to aid Zi's hooks, in this case, used to store the `myfunc` function files. -- `id-as'myfunc'` - used to assign a name instead of the `z-shell/0`. -- `nocompile` - used to skip file compilation when it is not required. - -::: - -## `FSCR'โ€ฆ'` {#fscr-7} - -```shell -fsrc'[{g|n|c|N|E|O}:]{path-to-script}[ -> {name-of-the-function}]; โ€ฆ' -``` - -## `FERC'โ€ฆ'` {#ferc-8} - -```shell -ferc'[{g|n|c|N|E|O}:]{path-to-script}[ -> {name-of-the-function}]; โ€ฆ' -``` - -Creates a wrapper function that at each invocation sources the given file. The second ice, `FERC'โ€ฆ'` works the same with the single difference that it uses `eval "$(<{path-to-script})"` instead of `source "{path-to-script}"` to load the script. - - - - - - - - - - -```shell showLineNumbers -zi ice fsrc"myscript -> myfunc" ferc"myscript" nocompile -zi load z-shell/0 -``` - -```shell title="which myfunc" showLineNumbers -myfunc () { - local bindir="/home/sall/.zi/plugins/z-shell---0" - local -xU PATH="$bindir":"$PATH" - () { - source "$bindir"/"myscript" - } "$@" -} -``` - -```shell title="which myscript" showLineNumbers -myscript () { - local bindir="/home/sall/.zi/plugins/z-shell---0" - local -xU PATH="$bindir":"$PATH" - () { - eval "$(<"$bindir"/"myscript")" - } "$@" -} -``` - -:::note - -- `nocompile` ice-modifier is used to skip file compilation when it is not required. - -The ices can be empty as the trailing component will be assigned with [id-as][] ice-modifier the same way as described in the [sbin](#sbin-1). - -::: - -## `shim-list` {#shim-list} - -An annex provides a subcommand โ€“ `shim-list` for shims currently stored in `$ZPFX/bin` management: - -Available flags are: - -```shell -zi shim-list [ -t | -i | -o | -s | -h ] -``` - -| Flag | ่ชฌๆ˜Ž | -| :----------------- | :--------------------------------------------------------------------------------------- | -| `-t` `--this-dir` | Instructs Zi to look for shims in the current directory instead of `$ZPFX/bin`. | -| `-i` `--from-ices` | Normally the code looks for the shim files by examining their contents (more info [^1]). | -| `-o` `--one-line` | Display the list of shim files without line breaks, in a single line, after spaces. | -| `-s` `--short` | Don't show the plugin/snippet that the shim belongs to. | -| `-h` `--help` | Shows usage information. | - -## Cygwin support {#cygwin-support} - -The [sbin](#sbin-1) ice-modifier has an explicit Cygwin support โ€“ it creates additional, **extra shim files** โ€“ Windows batch scripts that allow running the shielded applications from e.g.: Windows run dialog โ€“ if the `~/.zi/polaris/bin` directory is being added to the Windows `PATH` environment variable, for example (it is a good idea to do so, IMHO). The Windows shims have the same name as the standard ones (which are also being created, normally) plus the `.cmd` extension. You can test the feature by e.g.: installing Firefox from the Zi package via: - -```shell -zi pack=bgn for firefox -``` - -## Install bin-gem-node {#install-bin-gem-node} - -:::info Source - -- - z-shell/z-a-bin-gem-node - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-bin-gem-node -``` - - - - -Add the following snippet in the `.zshrc` file to install using the [unscope][] annex: - -```shell -zi light z-shell/z-a-unscope bgn -``` - - - - -This will register the [shim-list](#shim-list) subcommand and following ice-modifiers: - - - - - -[^1]: shims created by the `bin-gem-node` annex have a fixed structure, this option instructs Zi to show the list of shims that results from the [sbin](#sbin-1) ice-modifier of the loaded plugins. If a plugin for example has `sbin'git-open'`, means that such shim has already been created. - - - -[id-as]: /docs/guides/syntax/standard#id-as - -[unscope]: /ecosystem/annexes/unscope - - - -[gem-home]: https://guides.rubygems.org/command-reference/#gem-environment - -[node-path]: https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders - -[node]: https://github.com/npm/cli - -[python]: https://python.org - -[rbenv/rbenv]: https://github.com/rbenv/rbenv - -[rubygems]: https://github.com/rubygems/rubygems - -[virtualenv]: https://docs.python.org/3/tutorial/venv.html diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/20_test.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/20_test.mdx deleted file mode 100644 index 9af42699..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/20_test.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -id: test -title: ๐ŸŒ€ ใƒ†ใ‚นใƒˆ -hide_title: false -hide_table_of_contents: false -image: /img/png/theme/z/320x320.png -description: ๅˆฅ้คจ - ใƒ†ใ‚นใƒˆ็”จใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ -keywords: - - annex - - test -draft: true ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import ImgShow from "@site/src/components/ImgShow"; - -An annex runs `zunit` and `make` tests if they are configured in the repository. - - - -ไป–ใฎใƒ—ใƒฉใ‚ฐใ‚คใƒณใจๅŒๆง˜ใซ่ชญใฟ่พผใ‚€ใ ใ‘ใงใ€ใ‚ขใ‚ฏใƒ†ใ‚ฃใƒ–ใซใชใ‚Šใพใ™ใ€‚ - -```shell -zi light z-shell/z-a-test -``` - -
- ๐Ÿ“– Configuration - -ใƒ†ใ‚นใƒˆใ‚’ๅ†—้•ทใƒขใƒผใƒ‰ใงๅฎŸ่กŒใ™ใ‚‹ใซใฏใ€ๆฌกใฎใ‚ˆใ†ใซใ—ใพใ™ใ€‚ - -```shell -zstyle :zi:annex:test quiet 0 -``` - -To skip tests for a single plugin before installing or updating add the `notest` ice-modifier: - -```shell showLineNumbers -zi ice notest -zi load โ€ฆ -``` - -
diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/2_meta_plugins.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/2_meta_plugins.mdx deleted file mode 100644 index d25ff36e..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/2_meta_plugins.mdx +++ /dev/null @@ -1,243 +0,0 @@ ---- -id: meta-plugins -title: ๐ŸŒ€ Meta Plugins -image: /img/png/theme/z/320x320.png -description: Annex meta-plugins documentation -keywords: - - annex - - meta-plugins ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import APITable from "@site/src/components/APITable"; - -An annex has the curated, optimal [ice-modifiers][] lists automatically applied. For more details refer to [z-a-meta-plugins.plugin.zsh][] file. - -:::tip - -- To create your group of plugins as meta-plugins propose them in a new [issue][issues/new] -- Prefix `@` used to avoid syntax conflicts, e.g: `zi light @` -- Before installing any plugin visit the original repository where available to verify that system is supported and meets other requirements - -::: - -## Usage of meta-plugins - -The following snippets are examples of how to install meta-plugins: - -```shell -zi light @annexes -``` - -```shell -zi light-mode for @annexes @zsh-users @console-tools -``` - -```shell showLineNumbers -zi light-mode for z-a-meta-plugins \ - @annexes @ext-git @zsh-users -``` - -```shell showLineNumbers -zi light-mode for @annexes \ - skip'zsh-completions' @zsh-users \ - skip'vivid exa tig' @console-tools -``` - -## Available meta-plugins - -```mdx-code-block - -``` - -| Meta-plugin name | Consisting plugins | -| ---------------- | --------------------------------------------------------------------------------------------------------------------- | -| @annexes | [bin-gem-node][], [readurl][], [patch-dl][], [rust][], [default-ice][], [unscope][] | -| @annexes+ | @annexes + [submods][], [test][] | -| @console-tools | [dircolors-material][] (package), [fd][], [bat][], [hexyl][], [hyperfine][], [vivid][], [exa][], [ripgrep][], [tig][] | -| @developer-tools | [color][], [revolver][], [zunit][], [gitignore.plugin.zsh][], [tig][] | -| @ext-git | [git-open][], [git-recent][], [git-my][], [git-quick-stats][], [git-now][], [git-extras][], [forgit][] | -| @fuzzy | [fzf][] (package), [fzy][] (package), [skim][], [peco][] | -| @fuzzy-src | fzf-go, [fzy][], skim-cargo, peco-go | -| @prezto | PZTM::archive, PZTM::directory, PZTM::utility | -| @py-utils | [pyenv][] (package) | -| @romkatv | [powerlevel10k][] | -| @rust-utils | rust-toolchain, cargo-extensions | -| @sharkdp | [fd][], [bat][], [hexyl][], [hyperfine][], [vivid][] | -| @z-shell | [F-Sy-H][], [H-S-MW][], [zsh-diff-so-fancy][] | -| @z-shell+ | [zsh-select][], [zconvey][], [zui][], [zflai][] | -| @zsh-users | [zsh-syntax-highlighting][], [zsh-autosuggestions][], [zsh-completions][] | -| @zsh-users+fast | [F-Sy-H][], [zsh-autosuggestions][], [zsh-completions][], [z-shell/zsh-fancy-completions][] | -| @zunit | [color][], [revolver][], [zunit][] | - -```mdx-code-block - -``` - -### Summary of the meta-plugins - -It consumes time to: - -- Constantly, over and over collect some new interesting plugins to install/load. -- Over and over reconstruct the new findings on the new machines. -- Constantly extend and tweak the ice list of each plugin, so that it's hard on the eyes, especially for an outsider. - -```mdx-code-block - -``` - -| Problem | Solution | -| :---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| (1) _finding new plugins_ | The annex contains a curated, broad list of plugins, e.g.: all the console tools like `fd`, `fzf`, `exa`, `ripgrep`, etc., | -| (2) _reconstructing the findings in new environments_ | It's easy to say and memorize e.g.: `zi for console-tools` โ€“ one label pulls a group of plugins and also the curated, optimal, default ice lists for each of them, | -| (3) _constant increase of complexity of the commands_ | The provided, hopefully, best/optimal ices for each plugin are handled transparently and automatically; care is given to each ice list so that the plugin loads without any glitches (e.g.: without the "No files for compilation found." message and other, even such slight issues). | - -```mdx-code-block - -``` - -Other unique benefits of the meta-plugins annex: - -```mdx-code-block - -``` - -| Benefit | ่ชฌๆ˜Ž | -| :---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Plugin dependencies | The meta-plugins implement a dependency mechanism: selecting a from-source built [ogham/exa][exa] will automatically pull in also the Rust compiler (available under the meta-plugin name: `rust-toolchain`). | -| Flexible disabling of chosen sub-plugins in any meta-plugin | A meta-plugin can contain many sub-plugins and it's possible to skip installing some of them by the **skip'plugin-1 plugin-2โ€ฆ'** ice, e.g.: `zi skip'ripgrep fd' for console-tools`. This way despite that some of the meta plugins are broad the user still has control over what's and how much is being installed. | -| Common from-source meta plugins | For the plugins that provide the binary programs it is often the case that a meta-plugin exists that'll build the program from the source (e.g.: **fuzzy** meta-plugin and its **fuzzy-src** counterpart). This might be handy e.g.: if there's no binary for our machine. | - -```mdx-code-block - -``` - -## Install meta-plugins {#install-meta-plugins} - -:::info Source - -- - z-shell/z-a-meta-plugins - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-meta-plugins -``` - - - - -This will register the `skip'โ€ฆ'` ice-modifier. - - - - - -[ice-modifiers]: /docs/guides/syntax/ice-modifiers - - - -[bat]: https://github.com/sharkdp/bat - -[bin-gem-node]: https://github.com/z-shell/z-a-bin-gem-node - -[color]: https://github.com/zdharma/color - -[default-ice]: https://github.com/z-shell/z-a-default-ice - -[dircolors-material]: https://github.com/z-shell/dircolors-material - -[exa]: https://github.com/ogham/exa - -[f-sy-h]: https://github.com/z-shell/F-Sy-H - -[fd]: https://github.com/sharkdp/fd - -[forgit]: https://github.com/wfxr/forgit - -[fzf]: https://github.com/z-shell/fzf - -[fzy]: https://github.com/z-shell/fzy - -[git-extras]: https://github.com/tj/git-extras - -[git-my]: https://github.com/davidosomething/git-my - -[git-now]: https://github.com/iwata/git-now - -[git-open]: https://github.com/paulirish/git-open - -[git-quick-stats]: https://github.com/arzzen/git-quick-stats - -[git-recent]: https://github.com/paulirish/git-recent - -[gitignore.plugin.zsh]: https://github.com/voronkovich/gitignore.plugin.zsh - -[h-s-mw]: https://github.com/z-shell/H-S-MW - -[hexyl]: https://github.com/sharkdp/hexyl - -[hyperfine]: https://github.com/sharkdp/hyperfine - -[issues/new]: https://github.com/z-shell/z-a-meta-plugins/issues/new - -[patch-dl]: https://github.com/z-shell/z-a-patch-dl - -[peco]: https://github.com/peco/peco - -[powerlevel10k]: https://github.com/romkatv/powerlevel10k - -[pyenv]: https://github.com/z-shell/pyenv - -[readurl]: https://github.com/z-shell/z-a-readurl - -[revolver]: https://github.com/zdharma/revolver - -[ripgrep]: https://github.com/BurntSushi/ripgrep - -[rust]: https://github.com/z-shell/z-a-rust - -[skim]: https://github.com/lotabout/skim - -[submods]: https://github.com/z-shell/z-a-submods - -[test]: https://github.com/z-shell/z-a-test - -[tig]: https://github.com/jonas/tig - -[unscope]: https://github.com/z-shell/z-a-unscope - -[vivid]: https://github.com/sharkdp/vivid - -[z-a-meta-plugins.plugin.zsh]: https://github.com/z-shell/z-a-meta-plugins/blob/main/z-a-meta-plugins.plugin.zsh - -[zconvey]: https://github.com/z-shell/zconvey - -[zflai]: https://github.com/z-shell/zflai - -[zsh-autosuggestions]: https://github.com/zsh-users/zsh-autosuggestions - -[zsh-completions]: https://github.com/zsh-users/zsh-completions - -[zsh-diff-so-fancy]: https://github.com/z-shell/zsh-diff-so-fancy - -[zsh-select]: https://github.com/z-shell/zsh-select - -[zsh-syntax-highlighting]: https://github.com/zsh-users/zsh-syntax-highlighting - -[zui]: https://github.com/z-shell/zui - -[zunit]: https://github.com/zdharma/zunit - -[z-shell/zsh-fancy-completions]: https://github.com/z-shell/zsh-fancy-completions diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/3_default_ice.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/3_default_ice.mdx deleted file mode 100644 index 1b48dff2..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/3_default_ice.mdx +++ /dev/null @@ -1,76 +0,0 @@ ---- -id: default-ice -title: ๐ŸŒ€ Default Ice -image: /img/png/theme/z/320x320.png -description: ๅˆฅ้คจ - ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆ Iceใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ -keywords: - - annex - - default-ice ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; - -An annex delivers the capability to set **default ices** for the next `zi` command, e.g: - -ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใฎiceใฎ่จญๅฎš: - -```shell -zi default-ice lucid from"gh-r" -``` - -ใ“ใ‚Œใฏ GitHub ใƒชใƒชใƒผใ‚น (gh-r) ใ‹ใ‚‰ใƒ€ใ‚ฆใƒณใƒญใƒผใƒ‰ใ•ใ‚Œใ€ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใงใฏ lucid ice ใ‚‚ไฝฟ็”จใ—ใพใ™ใ€‚ - -```shell showLineNumbers -zi wait for \ - sbin junegunn/fzf-bin \ - sbin"**/pk" peco/peco -``` - -:::caution - -The `wait` ice cannot be made default by using this subcommand. - -::: - -## `default-ice` {#default-ice} - -An annex provides a subcommand โ€“ `default-ice` which has the following synopsis: - -```shell showLineNumbers -โ€” default-ice [ -s | -c | -g | -t | -q | -h ] - - [ -s ] - ็พๅœจ่จญๅฎšใ•ใ‚Œใฆใ„ใ‚‹ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใฎiceใ‚’่กจ็คบ - [ -c ] - ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใฎiceใ‚’ใƒชใ‚ปใƒƒใƒˆ - [ -g ] - REPLAYใƒใƒƒใ‚ทใƒฅใซ็พๅœจใฎiceใ‚’่ฟ”ใ™ - [ -t ] - ็ตฑ่จˆๆƒ…ๅ ฑใ‚’่กจ็คบ - [ -q ] - ใ™ในใฆใฎใƒกใƒƒใ‚ปใƒผใ‚ธใ‚’้š ใ™ - [ -h ] - ใ“ใฎใƒกใƒƒใ‚ปใƒผใ‚ธใ‚’่กจ็คบ -``` - -## Install default-ice {#install-default-ice} - -:::info Source - -- - z-shell/z-a-default-ice - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-default-ice -``` - - - - -This will register the [default-ice](#default-ice) subcommand. diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/4_patch-dl.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/4_patch-dl.mdx deleted file mode 100644 index 2449661d..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/4_patch-dl.mdx +++ /dev/null @@ -1,72 +0,0 @@ ---- -id: patch-dl -title: ๐ŸŒ€ Patch DL -image: /img/png/theme/z/320x320.png -description: ๅˆฅ้คจ - Patch DLใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ -keywords: - - annex - - patch-dl ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import ImgShow from "@site/src/components/ImgShow"; - -ใ“ใฎๅˆฅ้คจใงใฏใ€ใƒ•ใ‚กใ‚คใƒซใฎใƒ€ใ‚ฆใƒณใƒญใƒผใƒ‰ใจใƒ‘ใƒƒใƒใฎ้ฉ็”จใ‚’ใ™ใ‚‹ใ€2ใคใฎiceไฟฎ้ฃพๅญใฎ่ฟฝๅŠ ใ‚’่กŒใ„ใพใ™ใ€‚ - -1็•ช็›ฎ - -```shell -zi ice dl'{URL} [-> {optional-output-file-name}]; โ€ฆ' โ€ฆ -``` - -2็•ช็›ฎ - -```shell -zi ice patch'{file-name-with-the-patch-to-apply}; โ€ฆ' โ€ฆ -``` - -The annex will download the given `{URL}` under the path `{optional-output-file-name}` (if no file name given, then it is taken from last segment of the URL) in case of the `dl'โ€ฆ'` ice-modifier, and apply a patch given by the `{file-name-with-the-patch-to-apply}` in case of the `patch'โ€ฆ'` ice-modifier. ใ“ใฎๆฉŸ่ƒฝใ‚’ๅˆฉ็”จใ—ใฆใ€ใƒ‘ใƒƒใƒใฎใƒ€ใ‚ฆใƒณใƒญใƒผใƒ‰ใ‚„้ฉ็”จใ‚’่กŒใ†ใ“ใจใŒใงใใพใ™ใ€‚ - -For example, to install `fbterm`, two patches are being needed, one to fix the operation, the other one to fix the build: - -```shell showLineNumbers -zi ice as"command" pick"$ZPFX/bin/fbterm" \ - dl"https://bugs.archlinux.org/task/46860?getfile=13513 -> ins.patch" \ - dl"https://aur.archlinux.org/cgit/aur.git/plain/0001-Fix-build-with-gcc-6.patch?h=fbterm-git" \ - patch"ins.patch; 0001-Fix-build-with-gcc-6.patch" \ - atclone"./configure --prefix=$ZPFX" \ - atpull"%atclone" make"install" reset -zi load izmntuk/fbterm -``` - -ใ“ใฎใ‚ณใƒžใƒณใƒ‰ใ‚’ๅฎŸ่กŒใ™ใ‚‹ใจใ€ๆฌกใฎใ‚ˆใ†ใซใชใ‚Šใพใ™ใ€‚ - - - -## Install patch-dl {#install-patch-dl} - -:::info Source - -- - z-shell/z-a-patch-dl - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-patch-dl -``` - - - - -This will register the `dl'โ€ฆ'` and `patch'โ€ฆ'` ice-modifiers. diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/5_readurl.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/5_readurl.mdx deleted file mode 100644 index 7b5637da..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/5_readurl.mdx +++ /dev/null @@ -1,131 +0,0 @@ ---- -id: readurl -title: ๐ŸŒ€ Read URL -image: /img/png/theme/z/320x320.png -description: Annex - Read URL documentation. -keywords: - - annex - - readurl ---- - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; - -An annex allows automatically downloading the newest version of a file to which the URL is hosted on a webpage. It works as follows: - -Invoke `snippet` (or simply pass the `https://โ€ฆ` address using the `for` syntax) on the web page that hosts the URL to the file to download, provide `dlink'โ€ฆ'` ice with the expected file-download URL replacing the version with the `%VERSION%` keyword, also provide `as'โ€ฆ'` ice with one of the following values: - -1. `readurl`, -2. `readurl|command`, -3. `readurl|completion`, -4. `readurl|null`. - -:::note - -The part after the `|` has the same meaning as in the normal `as'โ€ฆ'` ice. - -::: - -## Examples - -```shell showLineNumbers -zi id-as=fzf as='readurl|command' for \ - dlink='/junegunn/fzf/releases/download/%VERSION%/fzf-%VERSION%-linux_amd64.tar.gz' \ - https://github.com/junegunn/fzf/releases/ -``` - -The snippet is just an example. The same effect is obtained by loading as the `junegunn/fzf` plugin with `from'gh-r'` ice. - -As it can be seen, the `dlink'โ€ฆ'` can be a relative or an absolute path and also a full URL (i.e.: beginning with the `https://โ€ฆ` prefix). - -### Intermediate download page - -Sometimes, like it is in the case of the [terraform][terraform-link] command, the final download link isn't on the download page, but on a page, that's listed on it. In such a case use the `dlink0'โ€ฆ'` ice to provide the pattern for the additional, intermediate download page, e.g.: - -```shell showLineNumbers -zi id-as=terraform as='readurl|command' extract for \ - dlink0='/terraform/%VERSION%/' \ - dlink='/terraform/%VERSION%/terraform_%VERSION%_linux_386.zip' \ - https://releases.hashicorp.com/terraform/ -``` - -### Skipping `dlink'โ€ฆ'` ice - -Sometimes the URL of the download page differs from the URL of the archive in just a few `/`-sections. In such a case, it is possible to skip the `dlink'โ€ฆ'` ice by appending a `++`-separated fragment of the archive URL, like so: - -```shell showLineNumbers -zi as'readurl|command' extract for \ - http://domain.com/download-page++/archive.zip -``` - -If the archive URL has some different `/`-sections, then it's possible to strip the conflicting ones from the download URL by using `+++`, `++++`, etc. โ€“ the number of the `/`-section that'll be stripped equals to the number of the `+` minus 2. So, for example: - -```shell showLineNumbers -zi as'readurl|command' extract for \ - http://domain.com/download-page/removed-section+++/archive.zip -``` - -### Sorting the matched URLs / package versions - -Sometimes the download page doesn't list the package versions from newest to oldest, but in some other order. In such case, it's possible to sort the URLs / package versions by prepending the chosen `dlink` ice (`dlink0'โ€ฆ'` or `dlink'โ€ฆ'`) with the exclamation mark (`dlink'!โ€ฆ'`, etc.). See the next section for an example: - -### Filtering the matched URLs - -Sometimes some unwanted URLs match the `dlink'โ€ฆ'`/`dlink0'โ€ฆ'` regex/pattern. In such a case it's possible to filter them out by appending a filtering regex to the `dlink'โ€ฆ'` ice as: `dlink='the-main-regex~%the-unwanted-URLs-regex%'` (or the same for `dlink0'โ€ฆ'`). An example package that can benefit from this is the [Open Shift][open-shift-link] client, which doesn't sort the URLs from latest to the oldest โ€“ hence the exclamation mark (`!`) prepend โ€“ and it has special URLs like `stable-4.4` or `candidate-4.5` together with the regular version URLs (like `4.5.0-rc.1`): - -```shell showLineNumbers -zi id-as"ocp" as"readurl|command" for \ - dlink0'!%VERSION%~%(stable|latest|fast|candidate).*%' \ - dlink"openshift-client-windows-%VERSION%.zip" \ - https://mirror.openshift.com/pub/openshift-v4/clients/ocp/ -``` - -The above snippet of Zsh code / Zi invocation will sort the URLs (`dlink0'!โ€ฆ'`) and then filter out the special ones from the results (via `โ€ฆ~%(stable|latest|fast|candidate).*%`), this way selecting the latest version of the Open Shift client. - -### Other examples - -[Pulumi][pulumi-link], a tool to create, deploy and manage modern cloud software. - -```shell showLineNumbers -zi id-as'pulumi' as'readurl|null' for \ - dlink='https://get.pulumi.com/releases/sdk/pulumi-%VERSION%-linux-x64.tar.gz' \ - sbin'pulumi*' \ - https://www.pulumi.com/docs/get-started/install/versions/ -``` - -## Install readurl {#install-readurl} - -:::info Source - -- - z-shell/z-a-readurl - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-readurl -``` - - - - -This will register the `dlink'โ€ฆ'` and `dlink0'โ€ฆ'` ice-modifiers and also the special `as'readurl|โ€ฆ'` value of the `as'โ€ฆ'`. - - - - - - - -[open-shift-link]: https://www.openshift.com/ - -[pulumi-link]: https://www.pulumi.com/ - -[terraform-link]: https://releases.hashicorp.com/terraform diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/6_submods.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/6_submods.mdx deleted file mode 100644 index 7e45aa4d..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/6_submods.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: submods -title: ๐ŸŒ€ Submods -image: /img/png/theme/z/320x320.png -description: ๅˆฅ้คจ - Submodsใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ -keywords: - - annex - - submods ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; - -ใ“ใฎๅˆฅ้คจใฏใ€ใƒ—ใƒฉใ‚ฐใ‚คใƒณใ‚„ใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹้š›ใซใ€่ฟฝๅŠ ใฎใ‚ตใƒ–ใƒขใ‚ธใƒฅใƒผใƒซใ‚’ใ‚ฏใƒญใƒผใƒณใ™ใ‚‹ๆฉŸ่ƒฝใ‚’ๆไพ›ใ—ใพใ™ใ€‚ The submodules are then automatically updated on the `zi update โ€ฆ` command. - -ๆฆ‚่ฆ: - -```shell -submods'{user}/{plugin} -> {output directory}; โ€ฆ` -``` - -An example command utilizing the annex and its ice-modifier to load `zsh-autosuggestions` plugin via [Prezto module](/docs/getting_started/migration#pzt-modules) `autosuggestions`. - -```shell title='~/.zshrc' showLineNumbers -zi ice svn submods'zsh-users/zsh-autosuggestions -> external' -zi snippet PZT::modules/autosuggestions -``` - -## Install submods {#install-submods} - -:::info Source - -- - z-shell/z-a-submods - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-submods -``` - - - - -This will register the `submods'โ€ฆ'` ice-modifier. diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/7_unscope.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/7_unscope.mdx deleted file mode 100644 index a98e6078..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/7_unscope.mdx +++ /dev/null @@ -1,161 +0,0 @@ ---- -id: unscope -title: ๐ŸŒ€ Unscope -image: /img/png/theme/z/320x320.png -description: ๅˆฅ้คจ - ใ‚ขใƒณใ‚นใ‚ณใƒผใƒ— IDใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ -keywords: - - annex - - unscope ---- - - - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import Highlight from "@site/src/components/Highlight"; -import APITable from "@site/src/components/APITable"; - -ใ“ใฎๅˆฅ้คจใงใฏใ€ไปฅไธ‹ใฎใ‚ˆใ†ใซGitHubใฎใƒฆใƒผใ‚ถใƒผๅใ‚’ๆŒ‡ๅฎšใ›ใšใซใƒ—ใƒฉใ‚ฐใ‚คใƒณใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚ - -1. On the installation of a plugin without any slashes (/) in its name the annex will query the GitHub API searching for `*/{the-name}`, sorting on stars. - -2. ใพใšๅ€™่ฃœใซใฏใƒ•ใ‚ฉใƒผใ‚ฏใŒ10ๅ›žไปฅไธŠๅฟ…่ฆใงใ€ใชใ‘ใ‚Œใฐๆฌกใซ2ๅ›žใ€ใใ—ใฆ0ๅ›žใจใชใ‚Šใพใ™ใ€‚ - -3. After finding the best result it sets it as the **full** remote-id of the plugin, storing the ID on disk for later automatic use. - -4. For security, for such GH-API request to be made a newly added (by this annex) ice: `ghapi` is required to be given. - -5. ใใ†ใงใชใ„ๅ ดๅˆใฏใ€ใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎใƒ‹ใƒƒใ‚ฏใƒใƒผใƒ ใจใƒ•ใƒซใ‚นใ‚ณใƒผใƒ—IDใฎ้™็š„ใƒžใƒƒใƒ”ใƒณใ‚ฐใƒ‡ใƒผใ‚ฟใƒ™ใƒผใ‚นใฎใฟใŒๆคœ็ดขใ•ใ‚Œใพใ™ใ€‚ It contains many mappings, like, e.g.: `vi-reg โ†’ zsh-vi-more/evil-registers`, and some of the popular plugins, like, e.g.: `zsh-syntax-highlighting โ†’ zsh-users/zsh-syntax-highlighting` and more. - -## ้™็š„ใƒžใƒƒใƒ”ใƒณใ‚ฐ - -:::info - -Fill [request](https://github.com/z-shell/z-a-unscope/issues/new/choose) to add new repositories with scoped IDs. - -::: - -Besides the GitHub-API querying, there's also a fixed, curated list of mappings of short names to the full GitHub IDs: - -```mdx-code-block - -``` - -| ็•ฅ็งฐ(ใƒ‹ใƒƒใ‚ฏใƒใƒผใƒ ) | GitHub ID / scoped ID | -| :-----------------------------------------------------------------------------: | :-------------------------------- | -| null | z-shell/null | -| z-a-readurl | z-shell/z-a-readurl | -| readurl | z-shell/z-a-readurl | -| rdurl | z-shell/z-a-readurl | -| z-a-patch-dl | z-shell/z-a-patch-dl | -| patch-dl | z-shell/z-a-patch-dl | -| z-a-submods | z-shell/z-a-submods | -| submods | z-shell/z-a-submods | -| z-a-rust | z-shell/z-a-rust | -| rust | z-shell/z-a-rust | -| z-a-bin-gem-node | z-shell/z-a-bin-gem-node | -| bin-gem-node | z-shell/z-a-bin-gem-node | -| bgn | z-shell/z-a-bin-gem-node | -| meta | z-shell/z-a-meta-plugins | -| metaplg | z-shell/z-a-meta-plugins | -| meta-plugins | z-shell/z-a-meta-plugins | -| archive | PZTM::archive | -| arch | PZTM::archive | -| directory | PZTM::directory | -| dir | PZTM::directory | -| environment | PZTM::environment | -| env | PZTM::environment | -| utility | PZTM::utility | -| util | PZTM::utility | -| fast-syntax-highlighting | z-shell/fast-syntax-highlighting | -| f-sy-h | z-shell/fast-syntax-highlighting | -| fsh | z-shell/fast-syntax-highlighting | -| history-search-multi-word | z-shell/history-search-multi-word | -| hsmw | z-shell/history-search-multi-word | -| zui | z-shell/zui | -| ZUI | z-shell/zui | -| zconvey | z-shell/zconvey | -| zconv | z-shell/zconvey | -| zbrowse | z-shell/zbrowse | -| zzcomplete | z-shell/zzcomplete | -| zzcomp | z-shell/zzcomplete | -| zzcom | z-shell/zzcomplete | -| zsh-autosuggestions | zsh-users/zsh-autosuggestions | -| autosuggestions | zsh-users/zsh-autosuggestions | -| autosug | zsh-users/zsh-autosuggestions | -| asug | zsh-users/zsh-autosuggestions | -| z-asug | zsh-users/zsh-autosuggestions | -| zsh-syntax-highlighting | zsh-users/zsh-syntax-highlighting | -| z-sy-h | zsh-users/zsh-syntax-highlighting | -| zsh-autocomplete | marlonrichert/zsh-autocomplete | -| autocomplete | marlonrichert/zsh-autocomplete | -| autocomp | marlonrichert/zsh-autocomplete | -| aucom | marlonrichert/zsh-autocomplete | -| acom | marlonrichert/zsh-autocomplete | -| z-aucom | marlonrichert/zsh-autocomplete | -| z-acom | marlonrichert/zsh-autocomplete | -| zsh-autopair | hlissner/zsh-autopair | -| autopair | hlissner/zsh-autopair | -| aupair | hlissner/zsh-autopair | -| aupa | hlissner/zsh-autopair | -| z-aupa | hlissner/zsh-autopair | -| evil-registers | zsh-vi-more/evil-registers | -| evil-reg | zsh-vi-more/evil-registers | -| vi-reg | zsh-vi-more/evil-registers | -| vireg | zsh-vi-more/evil-registers | -| vi-motions | zsh-vi-more/vi-motions | -| evil-mot | zsh-vi-more/vi-motions | -| vi-mot | zsh-vi-more/vi-motions | -| vimot | zsh-vi-more/vi-motions | -| vi-increment | zsh-vi-more/vi-increment | -| evil-inc | zsh-vi-more/vi-increment | -| vi-inc | zsh-vi-more/vi-increment | -| viinc | zsh-vi-more/vi-increment | -| vi-quote | zsh-vi-more/vi-quote | -| evil-qte | zsh-vi-more/vi-quote | -| vi-qte | zsh-vi-more/vi-quote | -| viqte | zsh-vi-more/vi-quote | -| directory-marks | zsh-vi-more/directory-marks | -| evil-dir-marks | zsh-vi-more/directory-marks | -| vi-dir-marks | zsh-vi-more/directory-marks | -| vi-dirma | zsh-vi-more/directory-marks | -| vidirma | zsh-vi-more/directory-marks | -| fd | sharkdp/fd | -| shark-fd | sharkdp/fd | -| bat | sharkdp/bat | -| shark-bat | sharkdp/bat | -| exa | ogham/exa | -| zsh-completions | zsh-users/zsh-completions | -| completions | zsh-users/zsh-completions | -| comps | zsh-users/zsh-completions | - -```mdx-code-block - -``` - -## Install unscope {#install-unscope} - -:::info Source - -- - z-shell/z-a-unscope - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-unscope -``` - - - - -ใ“ใ‚Œใซใ‚ˆใ‚Šใ€ใ‚นใ‚ณใƒผใƒ— ID ใฎๆคœ็ดขใจ่งฃๆฑบใŒๅฏ่ƒฝใซใชใ‚Šใพใ™ใ€‚ diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/8_linkbin.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/8_linkbin.mdx deleted file mode 100644 index e699dade..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/8_linkbin.mdx +++ /dev/null @@ -1,102 +0,0 @@ ---- -id: linkbin -title: ๐ŸŒ€ Link Bin -image: /img/png/theme/z/320x320.png -description: Annex - Link Bin documentation. -keywords: - - annex - - linkbin ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; - -An annex exposes a binary program without modifying `$PATH` โ€“ `z-a-linkbin` and automatically creates a hard or soft link to the binary at `$ZPFX/bin` exposing the program to the command line as if it were being placed in `$PATH`. - -The command can then be accessed normally โ€“ not only in the live Zsh session but also from any Zsh script. The ice-modifier `lbin''` provided by the annex creates `links` for binaries and scripts. - -It creates the `link` that calls the actual binary. The link is created always under the same, standard and single `$PATH` entry: `$ZPFX/bin` - -## Soft link - -:::note - -The optional preceding `!` flag means creating a soft link instead of a hard link. - -::: - -Example: - -```shell {2} showLineNumbers -zi ice from'gh-r' as'program' \ - lbin'!fzf' -zi load junegunn/fzf -``` - -Check the output: - -```shell showLineNumbers -ls -l $ZPFX/bin/ | awk '{print $(NF-2),$(NF-1),$NF}' -fzf --version -``` - -## Hard link - -:::note - -The ice-modifier can contain globs as it will expand these when searching for the binary. - -::: - -Example: - -```shell {2} showLineNumbers -zi ice from'gh-r' as'program' \ - lbin'**fzf -> myfzf' -zi load junegunn/fzf -``` - -Check the output: - -```shell -ls -l $ZPFX/bin/ | awk '{print $(NF-2),$(NF-1),$NF}' -myfzf --version -``` - -## Auto nickname link - -If ice-modifier [id-as](/docs/guides/syntax/standard#id-as) is empty, then will try to create the link with a nickname as follows: - -1. Trailing component of the `id-as` ice-modifier, e.g.: `id-as'exts/git-my'` โ†’ it will check if a file `git-my` exists and if yes, create the link `git-my`. -2. The plugin name, e.g.: for `paulirish/git-open` it'll check if a file `git-open` exists and if yes, create the link `git-open`. -3. Trailing component of the snippet URL. -4. For any alphabetically first executable file. - -The above also applies if just `!` were passed. - -## Install linkbin {#install-linkbin} - -:::info Source - -- - z-shell/z-a-linkbin - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-linkbin -``` - - - - -This will register the `lbin'โ€ฆ'` ice-modifier. diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/9_rust.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/9_rust.mdx deleted file mode 100644 index 5a14cbce..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/9_rust.mdx +++ /dev/null @@ -1,164 +0,0 @@ ---- -id: rust -title: ๐ŸŒ€ Rust -image: /img/png/theme/z/320x320.png -description: An annex installs rust and cargo packages. -keywords: - - annex - - rust ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import Player from "@site/src/components/Player"; -import Shortcuts from "@site/src/components/Markdown/_player_shortcuts.mdx"; - -An annex installs rust and cargo packages locally inside the plugin or snippet directories. - - - - - - - - - - -## Usage of the annex - -The Zi annex provides ice-modifiers `rustup` and `cargo'โ€ฆ'`. - -The first one installs rust inside the plugin's folder using the official `rustup` installer and the second one has the following syntax: - -```shell -cargo'[{name-of-the-binary-or-path} <-] [[!][c|n|e|o]:]{crate-name} [-> {shim-script-name}]'` -``` - -| Flag | ่ชฌๆ˜Ž | -| ---- | ------------------------------------------------------------------------------------------------ | -| `N` | redirect both standard output and error to `/dev/null` | -| `E` | redirect standard error to `/dev/null` | -| `O` | redirect standard output to `/dev/null` | -| `c` | change the current directory to the plugin's or snippet's directory before executing the command | - -As the examples showed, the name of the binary to run and the shim name are by default equal to the name of the crate. Specifying `{binary-name} <- โ€ฆ` and/or `โ€ฆ -> {shim-name}` allows to override them. - -The crate can create so-called _shims_ โ€“ scripts that are exposed to the standard `$PATH`. The shim script is a wrapper around the binary that is installed by the crate. The shim script is created in the plugin's or snippet's directory and is named after the crate. The shim script is a shell script that sets up the environment variables and then runs the binary. - -Example of the _shim_ script: - -```shell showLineNumbers -#!/usr/bin/env zsh - -function lsd { - local bindir="/root/.zi/plugins/z-shell---null/bin" - local -x PATH="/root/.zi/plugins/z-shell---null"/bin:"$PATH" # -x means export - local -x RUSTUP_HOME="/root/.zi/plugins/z-shell---null"/rustup CARGO_HOME="/root/.zi/plugins/z-shell---null" - - "$bindir"/"lsd" "$@" -} - -lsd "$@" -``` - -As it can be seen shim ultimately provides the binary to the command line. - -
- Use case examples - -Set up rust and the `lsd` crate with a shim `lsd` exposing the binary: - -```shell showLineNumbers -zi ice rustup cargo'!lsd' -zi load z-shell/0 -``` - -Set up rust and the `exa` crate with a shim `ls` exposing the `exa` binary: - -```shell showLineNumbers -zi ice rustup cargo'!exa -> ls' -zi load z-shell/0 -``` - -Set up rust and the `exa` and `lsd` crates: - -```shell showLineNumbers -zi ice rustup cargo'exa;lsd' -zi load z-shell/0 -``` - -Set up rust, then the `exa` and `lsd` crates, with their binaries exposed by altering `$PATH`: - -```shell showLineNumbers -zi ice rustup cargo'exa;lsd' as"command" pick"bin/(exa|lsd)" -zi load z-shell/0 -``` - -Set up rust and then the `exa` crate with shim standard error redirected to `/dev/null`: - -```shell showLineNumbers -zi ice rustup cargo'!E:exa' -zi load z-shell/0 -``` - -Just install rust and make it available globally in the system: - -```shell showLineNumbers -zi ice id-as"rust" wait"0" lucid rustup as"command" pick"bin/rustc" atload="export \ - CARGO_HOME=\$PWD RUSTUP_HOME=\$PWD/rustup" -zi load z-shell/0 -``` - -A little more complex rustup configuration that uses [bin-gem-node][annex-bin-gem-node] annex and installs the cargo completion provided with rustup, using the [for][for-syntax] syntax: - -```shell showLineNumbers -zi id-as=rust wait=1 as=null sbin="bin/*" lucid rustup \ - atload="[[ ! -f ${ZI[COMPLETIONS_DIR]}/_cargo ]] && zi creinstall rust; \ - export CARGO_HOME=\$PWD RUSTUP_HOME=\$PWD/rustup" for \ -z-shell/0 -``` - -
- -## Install rust {#install-rust} - -:::info Source - -- - z-shell/z-a-rust - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-rust -``` - - - - -This will register the `rustup` and `cargo'โ€ฆ'` ice-modifiers. - - - - - -[annex-bin-gem-node]: /ecosystem/annexes/bin-gem-node - -[for-syntax]: /docs/guides/syntax/for diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/_category_.json b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/_category_.json deleted file mode 100644 index 14b2f212..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/annexes/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "๐ŸŒ€ ๅˆฅ้คจ", - "position": 2, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/index.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/index.mdx deleted file mode 100644 index db67ca15..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/index.mdx +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: ecosystem -slug: / -title: ๐ŸŒ ใ‚จใ‚ณใ‚ทใ‚นใƒ†ใƒ  -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -description: ใ‚จใ‚ณใ‚ทใ‚นใƒ†ใƒ ใฎ็ดนไป‹ ---- - - - -```mdx-code-block -import useBaseUrl from '@docusaurus/useBaseUrl'; -import ThemedImage from '@theme/ThemedImage'; - -
- -
-``` diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/packages/01_synopsis.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/packages/01_synopsis.mdx deleted file mode 100644 index be5df187..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/packages/01_synopsis.mdx +++ /dev/null @@ -1,143 +0,0 @@ ---- -id: synopsis -title: ๐Ÿ“ฆ ๆฆ‚่ฆ -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -description: ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎ็ดนไป‹ -keywords: - - package - - zpackage - - zsh-package - - packages-overview ---- - - - -ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธๆฉŸ่ƒฝใ‚’่ฟฝๅŠ ใ™ใ‚‹ๅ‹•ๆฉŸ - -1. ZiใฏๆŸ”่ปŸใงๆฉŸ่ƒฝ่ฑŠๅฏŒใชใƒ—ใƒฉใ‚ฐใ‚คใƒณใƒžใƒใƒผใ‚ธใƒฃใƒผใงใ™ใŒใ€ใƒฆใƒผใ‚ถใƒผใฏใใฎ่จญๅฎšใซๅœงๅ€’ใ•ใ‚Œใ‚‹ใ“ใจใŒๅคšใ„ใ‚ˆใ†ใงใ™ใ€‚ - -2. ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใƒžใƒใƒผใ‚ธใƒฃใƒผใซไผผใŸๆฌกใฎใ‚ˆใ†ใชๆฉŸ่ƒฝใŒ่ค‡ๆ•ฐใ‚ใ‚Šใพใ™ใ€‚ - - - ใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎGitใƒชใƒใ‚ธใƒˆใƒชใพใŸใฏใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎใƒชใƒชใƒผใ‚นURLใ‚’ๆŒ‡ๅฎšใงใใพใ™ใ€‚ - - get the list of the recommended [ice-modifiers][] for the plugin, - - there can be multiple lists of [ice-modifiers][], - - iceไฟฎ้ฃพๅญใƒชใ‚นใƒˆใฏใƒ—ใƒญใƒ•ใ‚กใ‚คใƒซใซไฟๅญ˜ใ•ใ‚Œใพใ™ใ€‚ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆใงใฏๅฐ‘ใชใใจใ‚‚ 1 ใคใฎใƒ—ใƒญใƒ•ใ‚กใ‚คใƒซใŒใ‚ใ‚Šใพใ™ใ€‚ - - the [ice-modifiers][] can be selectively overridden. - - ใƒใ‚คใƒŠใƒชใซๅฏพใ—ใฆใ„ใ‚ใ‚†ใ‚‹ใ‚ทใƒ ๏ผˆ่ปข้€ใ‚นใ‚ฏใƒชใƒ—ใƒˆ๏ผ‰ใ‚’่‡ชๅ‹•็š„ใซๆไพ›ใ—ใพใ™ใ€‚ - - extend `$PATH` to expose the binaries, - - it can run `Makefile` and more. - -3. ไธ€่ˆฌใซใ€Ziใซใฏ้ฉšใใ‚ˆใ†ใชใ“ใจใ‚’ๅฏ่ƒฝใซใ™ใ‚‹ใƒ•ใƒƒใ‚ฏใŒใŸใใ•ใ‚“ใ‚ใ‚Šใพใ™ใŒใ€ใใฎๅ†…ๅฎนใฏๅพใ€…ใซ่‰ฏใ„ใ‚‚ใฎใซ้€ฒๅŒ–ใ—ใฆใ„ใใ“ใจใŒๅคšใใ€็พๅœจใฎใƒใƒผใ‚ธใƒงใƒณใ‚’ใ™ในใฆๆŠŠๆกใ™ใ‚‹ใ“ใจใฏๅ›ฐ้›ฃใงใ™ใ€‚ - -:::info - -The [bin-gem-node][] annex is recommended, otherwise, some packages will fail to install due to missing functionality. - -::: - -## The [any-gem][] and [any-node][] packages - -ใ“ใ‚Œใ‚‰ใฏใ€ๆ–ฐใ—ใไฝœๆˆใ•ใ‚ŒใŸใƒ—ใƒฉใ‚ฐใ‚คใƒณใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใซใ€ไปปๆ„ใฎGem๏ผˆ่ค‡ๆ•ฐๅฏ๏ผ‰ใ‚„Nodeใƒขใ‚ธใƒฅใƒผใƒซ๏ผˆ่ค‡ๆ•ฐๅฏ๏ผ‰ใ‚’ใƒญใƒผใ‚ซใƒซใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ใ“ใจใ‚’ๅฏ่ƒฝใซใ—ใพใ™ใ€‚ ไพ‹: - -```shell showLineNumbers -zi pack param='GEM -> rails' for any-gem -zi pack param='MOD -> doctoc' for any-node -``` - -If the installation is used in the `.zshrc` file then use `id-as'โ€ฆ'`, then Zi knows that the package is already installed. - -:::note - -Zi ใฎๆง‹ๆ–‡ใงใฏใ€ไปฅไธ‹ใฎไพ‹ใฎใ‚ˆใ†ใซ Unicode ็Ÿขๅฐใ‚’ไฝฟ็”จใ™ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚ - -::: - -```shell -zi id-as=jekyll pack param='GEM โ†’ jekyll' for any-gem -``` - -ใƒใ‚คใƒŠใƒชใฏ shims ็ตŒ็”ฑใง PATH ใ‚’ๅค‰ๆ›ดใ™ใ‚‹ใ“ใจใชใๅ…ฌ้–‹ใ•ใ‚Œใพใ™ใ€‚ Shims are correctly removed when deleting a plugin with `zi delete โ€ฆ` The so-called packages are GitHub repositories holding a `package.json` file with the meta-data in them. This way you don't have to (but still can) specify ice-modifiers, which might be handy when the [ice-modifiers][] list is long and complex. - -## ๅฐŽๅ…ฅไพ‹ - -This way, instead of the following command used to install `fzf`: - -```shell showLineNumbers -zi lucid as=program pick="$ZPFX/bin/(fzf|fzf-tmux)" \ - atclone="cp shell/completion.zsh _fzf_completion; \ - cp bin/(fzf|fzf-tmux) $ZPFX/bin" \ - make="PREFIX=$ZPFX install" for \ - junegunn/fzf -``` - -ๅฟ…่ฆใชใ‚‚ใฎ: - -```shell -zi pack for fzf -``` - -to get the complete setup of the fuzzy finder, including: - -- the completion -- the additional executable script `fzf-tmux` - -The installation is like with package-manager because you don't need to invoke Zi anymore once installed to use `fzf` (that's because `fzf` is just a binary program and not e.g.: a shell function). You can also update the package with `zi update fzf` โ€“ it'll cause the project to refresh and rebuild, like with a "normal" package manager such as `apt-get`. However, it'll be more like to `emerge` from Gentoo, because the installation will be from the sourceโ€ฆ unlessโ€ฆ the user will pick up a binary installation by profile argument specified in the `pack'โ€ฆ'` ice. - -## ้€šๅธธใฎใ‚ฝใƒ•ใƒˆใ‚ฆใ‚งใ‚ขใ‚คใƒณใ‚นใƒˆใƒผใƒซใซZiใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใ‚’ไฝฟ็”จใ™ใ‚‹ๅ ดๅˆใฎ้•ทๆ‰€ - -้€šๅธธใฎใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใƒžใƒใƒผใ‚ธใƒฃใงใ‚คใƒณใ‚นใƒˆใƒผใƒซใงใใ‚‹ใ‚ฝใƒ•ใƒˆใ‚ฆใ‚งใ‚ขใ‚’Ziใงใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ใ“ใจใซใฏใ€ใ„ใใคใ‹ใฎๅˆฉ็‚นใŒใ‚ใ‚Šใพใ™ใ€‚ - -1. **Pro:** The Zi packages typically use the URLs to the official and _latest_ distributions of the software (e.g.: the [ecs-cli][] package, which uses the URL: `https://amazon-ecs-cli.s3.amazonaws.com/ecs-cli-linux-amd64-latest` when installing on Linux). - -2. **Pro:** You can influence the installation easily by specifying Zi ice-modifiers, e.g.: - - ```shell - zi pack=bgn atclone="cp fzy.1 $ZI[MAN_DIR]/man1" for fzy - ``` - - to install also the man page for the `fzy` fuzzy finder (this omission in the package will be fixed soon). - -3. **Pro:** The installation is much more flexible than a normal package manager. ไฝฟ็”จๅฏ่ƒฝใช่‡ช็”ฑๅบฆใฎไพ‹: - - - to install from Git or release-tarball, or a binary-release file, - - to install via shims or via extending `$PATH`, or by copying to `$ZPFX/bin`, - - to download files and apply patches to the source by using the `patch-dl` annex features. - -4. **Pro:** The installations are located in the user home directory, which doesn't require root access. Also, for Gems and Node modules, they are installed in their plugin directory, which can have advantages (e.g.: isolation allowing e.g: easy removal by `rm -rf โ€ฆ`). - -5. **Con:** You're somewhat "on your own", with no support from any package maintainer. - -Thus, summing up 1. with 4., it might be nice/convenient too, for example, have the latest ECS CLI binary installed in the home directory, without using root access and always the latest, and โ€“ summing up with 2. and 3. โ€“ to, for example, have always the latest `README` downloaded by additional ice: `dl'https://raw.githubusercontent.com/aws/amazon-ecs-cli/master/README.md'` (and then to have the `README` converted into a man page by the `remark` Markdown processor or other via an `atclone''` ice, as the tool doesn't have any official man page). - -## ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎ่ฟฝๅŠ  - -1. Contact the author to have the repository at the [Z-Shell][z-shell] organization or set the [ZI\[PKG_OWNER\]][modify-settings]. - -2. Populate the `package.json` โ€“ I suggest grabbing the one for `fzf` or `doctoc` and doing a few substitutions like [doctoc][] โ†’ `your-project` and then simply filling the `default` profile in the `zi-ices` object โ€“ it is same as passing ice-modifiers to `zi ice โ€ฆ` but in JSON. - -3. The project name in the `package.json` should start with `zsh-`. Zi ใงๆŒ‡ๅฎšใ™ใ‚‹ๅ ดๅˆใ€ใ“ใฎใƒ—ใƒฌใƒ•ใ‚ฃใƒƒใ‚ฏใ‚นใฏใ‚นใ‚ญใƒƒใƒ—ใ•ใ‚Œใพใ™ใ€‚ - -4. ใ‚ณใƒŸใƒƒใƒˆใ—ใฆใƒ—ใƒƒใ‚ทใƒฅใ™ใ‚‹ใ€‚ - - - - - -[bin-gem-node]: /ecosystem/annexes/bin-gem-node - -[ice-modifiers]: /docs/guides/syntax/ice-modifiers - -[modify-settings]: /docs/guides/customization#modify-settings - - - -[any-gem]: https://github.com/z-shell/any-gem - -[any-node]: https://github.com/z-shell/any-node - -[ecs-cli]: https://github.com/z-shell/ecs-cli - -[z-shell]: https://github.com/z-shell - -[doctoc]: https://github.com/z-shell/doctoc diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/packages/02_usage.mdx b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/packages/02_usage.mdx deleted file mode 100644 index 382b4bfb..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/packages/02_usage.mdx +++ /dev/null @@ -1,1022 +0,0 @@ ---- -id: usage -title: ๐Ÿ“ฆ ไฝฟ็”จๆ–นๆณ• -image: /img/png/theme/z/320x320.png -description: Ziใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎไฝฟ็”จๆ–นๆณ•ใ€‚ -keywords: - - zpackage - - packages - - zsh-packages ---- - - - -import Emoji from "@site/src/components/Emoji"; -import APITable from "@site/src/components/APITable"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; - -## ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธ้›† - -For all the available packages use [GitHub search][github-search]. - -```mdx-code-block - -``` - -| ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธๅ | ่ชฌๆ˜Ž | -| :--------------------: | :-------------------------------------------------------------------------------------------------- | -| [any-node][] | ๆ–ฐใ—ใไฝœๆˆใ•ใ‚ŒใŸใƒ—ใƒฉใ‚ฐใ‚คใƒณใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใซใ€ไปปๆ„ใฎNodeใƒขใ‚ธใƒฅใƒผใƒซ๏ผˆ่ค‡ๆ•ฐๅฏ๏ผ‰ใ‚’้…็ฝฎใ—ใพใ™ใ€‚ | -| [any-gem][] | ๆ–ฐใ—ใไฝœๆˆใ•ใ‚ŒใŸใƒ—ใƒฉใ‚ฐใ‚คใƒณใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใซใ€ไปปๆ„ใฎGem๏ผˆ่ค‡ๆ•ฐๅฏ๏ผ‰ใ‚’้…็ฝฎใ—ใพใ™ใ€‚ | -| [apr][] | Apache Portable Runtime (APR) ใƒฉใ‚คใƒ–ใƒฉใƒชใงใ™ใ€‚ | -| [fzf][] | ใ‚ณใƒžใƒณใƒ‰ใƒฉใ‚คใƒณใƒ•ใ‚กใ‚ธใƒผใƒ•ใ‚กใ‚คใƒณใƒ€ใƒผใฎfzfใ€‚ | -| [fzy][] | ใ‚ณใƒžใƒณใƒ‰ใƒฉใ‚คใƒณใƒ•ใ‚กใ‚ธใƒผใƒ•ใ‚กใ‚คใƒณใƒ€ใƒผใฎfzyใ€‚ | -| [pyenv][] | Pythonใฎไปฎๆƒณ็’ฐๅขƒใƒžใƒใƒผใ‚ธใƒฃใƒผ pyenvใ€‚ | -| [remark][] | The remark Markdown processor. | -| [doctoc][] | The doctoc Markdown processor. | -| [ls_colors][] | The LS_COLORS and setup a zsh-completion system color scheme. | -| [dircolors-material][] | The dircolors-material and set up a zsh-completion system color scheme. | -| [asciidoctor][] | The asciidoctor Markdown processor. | -| [system-completions][] | Moves the stock Zsh completions under the control of Zi. | -| [brew-completions][] | The Homebrew Shell Completion under the control of Zsh & Zi. | -| [ecs-cli][] | AWS ECS ใฎCLIใ€‚ | -| [subversion][] | Subversionใฎใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใ€‚ | -| [github-issues][] | GitHub Issuesใฎใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใงใ™ใ€‚ | -| [github-issues-srv][] | GitHub Issues ใ‚ตใƒผใƒใƒผใงใ™ใ€‚ | -| [firefox-dev][] | Firefox Developer Editionใ€‚ | -| [zsh][] | The Zsh mirror of zsh-users. | -| [nb][] | Bookmarking, and archiving with linking, tagging, search, Git syncing, Pandoc conversion, and more. | -| [zsh-bin][] | Package of statically-linked, hermetic, relocatable - romkatv/zsh-bin. | - -```mdx-code-block - -``` - -## ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎๆฆ‚่ฆ - -### Apache Portable Runtime (APR) ใƒฉใ‚คใƒ–ใƒฉใƒช - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - (default) - - - - - - - - -
- -Download, build and install the latest Apache Portable Runtime. - -```shell -zi pack for apr -``` - -### `asciidoctor` Markdown processor - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - - - - - - - - - (default) -
- -Download the Gem of asciidoctor locally with the [bin-gem-node][] annex. - -> Using the `@` prefix because of collision with the as'' ice. - -```shell -zi pack for @asciidoctor -``` - -### AWS ECS CLI - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - - - (default) - - - - - - -
- - - - -Download the binary of the Amazon-ECS-CLI command. - -```shell -zi pack for ecs-cli -``` - - - - -Download the ECS-CLI binary with the use of the bin-gem-node annex. - -```shell -zi pack"bgn" for ecs-cli -``` - - - - -### `dircolors-material` color scheme - - - - - - - - - - - - - - - - - - - - -
- Package source - TarballBinaryGitNodeGem
- Status: - - - - - - (default) - - - - -
- - - - -Download the default profile. - -```shell -zi pack for dircolors-material -``` - - - - -Download the "no-zsh-completion" profile. - -```shell -zi pack"no-zsh-completion" for dircolors-material -``` - - - - -Download the "no-color-swaps" profile. - -```shell -zi pack"no-color-swaps" for dircolors-material -``` - - - - -Download the minimal profile without altering the original theme. - -```shell -zi pack"minimal" for dircolors-material -``` - - - - -### `doctoc` Markdown processor - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - - - - - - - (default) - - -
- -A download default profile with the Node package of doctoc. - -```shell -zi pack for doctoc -``` - -### Firefox Developer Edition - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - - - (default) - - - - - - -
- - - - -Download the firefox-dev latest binary. - -```shell -zi pack for firefox-dev -``` - - - - -Download the firefox-dev latest binary with use of the [bin-gem-node][] annex. - -```shell -zi pack"bgn" for firefox-dev -``` - - - - -### `fzf` command-line fuzzy finder - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - (default) - - - - - - - - -
- - - - -Download the package with the default profile. - -```shell -zi pack for fzf -``` - - - - -Download the package with the default profile + key bindings. - -```shell -zi pack"default+keys" for fzf -``` - - - - -Download the package with the [bin-gem-node][] annex. - -```shell -zi pack"bgn" for fzf -``` - - - - -Download the package with the [bin-gem-node][] annex and with the key bindings. - -> The "+keys" variants are available for each profile. - -```shell -zi pack"bgn+keys" for fzf -``` - - - - -Download with the [bin-gem-node][] annex from GitHub repository. - -```shell -zi pack"bgn" git for fzf -``` - - - - -Download the binary from the GitHub releases. - -```shell -zi pack"binary" for fzf -``` - - - - -Download the binary from the GitHub releases and install using [bin-gem-node][] + shims. - -```shell -zi pack"bgn-binary" for fzf -``` - - - - -### `fzy` command-line fuzzy finder - - - - - - - - - - - - - - - - - - - - -
- Package source: - TarballBinaryGitNodeGem
- Status: - - (default) - - - - - - - - -
- - - - -Download the package with the default profile. - -```shell -zi pack for fzy -``` - - - - -Download the package with the [bin-gem-node][] annex. - -```shell -zi pack"bgn" for fzy -``` - - - - -Download with the [bin-gem-node][] annex from GitHub repository. - -```shell -zi pack"bgn" git for fzy -``` - - - - -Download normal ice list and override atclone'' ice to skip the contrib scripts - -```shell -zi pack"bgn" atclone'' for fzy -``` - - - - -### `LS_COLORS` color scheme - - - - - - - - - - - - - - - - - - -
- Package source: - TarballGitNodeGem
- Status: - - - - (default) - - - - -
- - - - -Download the default profile. - -```shell -zi pack for ls_colors -``` - - - - -Download the "no-zsh-completion" profile. - -```shell -zi pack"no-zsh-completion" for ls_colors -``` - - - - -Download the "no-dir-color-swap" profile. - -```shell -zi pack"no-dir-color-swap" for ls_colors -``` - - - - -### Feature-rich noteโ€‘taking (`nb`) {#nb-pkg-profile} - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballGitNodeGem
- Status: - - (default) - - - - - - -
- -Default profile are using [bin-gem-node][] to set shims. - -```shell -zi pack for nb -``` - -### Python virtual environment manager - `pyenv` {#pyenv-pkg-profile} - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - (default) - - - - - - - - -
- - - - -Download the tarball with the default ice list. - -```shell -zi pack for pyenv -``` - - - - -Download the binary from the GitHub releases with the [bin-gem-node][] annex. - -```shell -zi pack"bgn" for pyenv -``` - - - - -Download with the [bin-gem-node][] annex from GitHub repository. - -```shell -zi pack"bgn" git for pyenv -``` - - - - -### `remark` Markdown processor - - - - - - - - - - - - - - - - - - -
- Package source: - TarballGitNodeGem
- Status: - - - - - - (default) - - -
- - - - -Download the Node package of remark-CLI, remark-man and remark-HTML - -```shell -zi pack for remark -``` - - - - -Download the Node package of remark-CLI and remark-man - -```shell -zi pack"man-only" for remark -``` - - - - -Download the Node package of remark-CLI and remark-HTML - -```shell -zi pack"html-only" for remark -``` - - - - -### Subversion - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - (default) - - - - - - - - -
- -Download, build and install the latest Subversion. - -> Dependency of Subversion: [APR][] - -```shell -zi pack for subversion -``` - -### Zsh mirror of zsh-users - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - - - - - (default) - - - - -
- - - - -Install the newest Zsh. - -```shell -zi pack for zsh -``` - - - - -Install preferred Zsh version. - -```shell -zi pack"5.9" for zsh -zi pack"5.8.1" for zsh -zi pack"5.8" for zsh -zi pack"5.7.1" for zsh -zi pack"5.6.2" for zsh -zi pack"5.5.1" for zsh -zi pack"5.4.2" for zsh -zi pack"5.3.1" for zsh -zi pack"5.2.4" for zsh -zi pack"5.1.1" for zsh -``` - - - - -### Statically-linked, hermetic, relocatable Zsh - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - - - - - (default) - - - - -
- - - - -Requires **root** access to install Zsh at `/usr/local` and will attempt to register it as a login shell. - -```shell -zi pack for zsh-bin -``` - - - - -Does not require **root** access, when install using [bin-gem-node][] to set shims. - -```shell -zi pack"bgn" for zsh-bin -``` - - - - -Does not require **root** access, will install to `~/.local`. - -```shell -zi pack"rootless" for zsh-bin -``` - - - - - - - - -[bin-gem-node]: /ecosystem/annexes/bin-gem-node - - - -[any-node]: https://github.com/z-shell/any-node - -[any-gem]: https://github.com/z-shell/any-gem - -[apr]: https://github.com/z-shell/apr - -[fzf]: https://github.com/z-shell/fzf - -[fzy]: https://github.com/z-shell/fzy - -[pyenv]: https://github.com/z-shell/pyenv - -[remark]: https://github.com/z-shell/remark - -[doctoc]: https://github.com/z-shell/doctoc - -[ls_colors]: https://github.com/z-shell/ls_colors - -[dircolors-material]: https://github.com/z-shell/dircolors-material - -[asciidoctor]: https://github.com/z-shell/asciidoctor - -[system-completions]: https://github.com/z-shell/system-completions - -[ecs-cli]: https://github.com/z-shell/ecs-cli - -[subversion]: https://github.com/z-shell/subversion - -[github-issues]: https://github.com/z-shell/github-issues - -[github-issues-srv]: https://github.com/z-shell/github-issues-srv - -[firefox-dev]: https://github.com/z-shell/firefox-dev - -[zsh]: https://github.com/z-shell/zsh - -[nb]: https://github.com/z-shell/nb - -[zsh-bin]: https://github.com/z-shell/zsh-bin - -[brew-completions]: https://github.com/z-shell/brew-completions - -[github-search]: https://github.com/search?q=topic%3Azpackage+org%3Az-shell&type=Repositories diff --git a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/packages/_category_.json b/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/packages/_category_.json deleted file mode 100644 index d7c4f2cd..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs-ecosystem/current/packages/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "๐Ÿ“ฆ ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธ", - "position": 3, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/ja/docusaurus-plugin-content-docs/current.json b/i18n/ja/docusaurus-plugin-content-docs/current.json deleted file mode 100644 index 67aabb4f..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version.label": { - "message": "ๆฌกใธ", - "description": "The label for version current" - }, - "sidebar.SideBar.category.๐Ÿš€ Getting Started": { - "message": "๐Ÿš€ ใฏใ˜ใ‚ใซ", - "description": "The label for category ๐Ÿš€ Getting Started in sidebar SideBar" - }, - "sidebar.SideBar.category.๐Ÿ’ก Guides": { - "message": "๐Ÿ’ก ใ‚ฌใ‚คใƒ‰", - "description": "The label for category ๐Ÿ’ก Guides in sidebar SideBar" - }, - "sidebar.SideBar.category.โœ๏ธ Syntax": { - "message": "โœ๏ธ ๆง‹ๆ–‡", - "description": "The label for category โœ๏ธ Syntax in sidebar SideBar" - } -} diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/getting_started/01_installation.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/getting_started/01_installation.mdx deleted file mode 100644 index 96f81328..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/getting_started/01_installation.mdx +++ /dev/null @@ -1,288 +0,0 @@ ---- -id: installation -title: โšก๏ธ ๅฐŽๅ…ฅ -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -description: ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ‚ฌใ‚คใƒ‰ -keywords: - - install ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import Emoji from "@site/src/components/Emoji"; - -## Quick setup {#quick-setup} - -Place the following snippet to the .zshrc file: - - - - -```shell title="~/.zshrc" -source <(curl -sL init.zshell.dev); zzinit -``` - - - - -:::caution - -This setup method requires manually verifying the sha256 [checksum][checksum-txt] for a file lib/zsh/init.zsh every time the content is changed in the repository. - -::: - -```shell showLineNumbers title="~/.zshrc" -local cs_ok='7fab1ecb8d2ffbdb4aa98dd1e51cebaeaa4d8137e1de11938f3e0df24af262bb' -local cs_get=$(sha256sum <(curl -sL init.zshell.dev) | awk '{print $1}') -[[ $cs_ok == $cs_get ]] && { source <(curl -sL init.zshell.dev); zzinit; } || { - print -P "%F{160}โ–“โ–’โ–‘ Houston, we have a problem, the %F{226}$cs_get%F{160} do not match\!%f%b"; return 1 -} -unset cs_ok cs_get -``` - - - - -Reload the shell with exec zsh -il and run zi -h for usage information. - -## Automated setup {#automated-setup} - -:::tip - -- Verify the sha256 [checksum][checksum-txt] for file: lib/sh/install.sh -- If required append `-b ` or `-b ` e.g: - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -i skip -b main -``` - -::: - - - - -Install and include minimal configuration to the .zshrc: - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -``` - - - - -Install and include minimal configuration with [loader](#loader): - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -a loader -``` - -The installer will download the loader and add the snippet below to the .zshrc file. - -```shell showLineNumbers -if [[ -r "${XDG_CONFIG_HOME:-${HOME}/.config}/zi/init.zsh" ]]; then - source "${XDG_CONFIG_HOME:-${HOME}/.config}/zi/init.zsh" && zzinit -fi -``` - -:::tip - -The loader can be manually fetched from available [links](#loader) to any location on the system, and sourced from .zshrc or as shown in the [quick-setup](#quick-setup). - -::: - -Then reload the shell with: `exec zsh`. ใ™ในใฆๅฎŒไบ†ใงใ™๏ผ - - - - -Clone repository using default or if set custom values: - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -i skip -``` - - - - -Install and include minimal configuration with recommended annexes: - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -a annex -``` - - - - -Install and include minimal configuration with recommended annexes and setup zdharma/zunit: - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -a zunit -``` - - - - -## Manual Setup {#manual-setup} - -:::tip Related - -- [๐Ÿ— Configuration management](/docs/guides/customization#customizing-paths) - -::: - -ใ‚คใƒณใ‚นใƒˆใƒผใƒซๅ…ˆใ‚’่จญๅฎšใ—ใ€ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใ‚’ไฝœๆˆใ—ใพใ™ใ€‚ - -```shell showLineNumbers -typeset -Ag ZI -typeset -gx ZI[HOME_DIR]="${HOME}/.zi" ZI[BIN_DIR]="${ZI[HOME_DIR]}/bin" -command mkdir -p "$ZI[BIN_DIR]" -``` - -For security reasons run function compaudit to check if the [completion system][completion-system] would use files owned by root or by the current user, or files in directories that are world or group-writable. - -ๅคฑๆ•—ใ—ใŸๅ ดๅˆใฏใ€็พๅœจใฎใƒฆใƒผใ‚ถใƒผใ‚’ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใฎใ‚ชใƒผใƒŠใƒผใซ่จญๅฎšใ—ใ€ใ‚ฐใƒซใƒผใƒ—/ใใฎไป–ใฎๆ›ธใ่พผใฟๆจฉ้™ใ‚’ๅ‰Š้™คใ—ใฆใ€ใƒชใƒใ‚ธใƒˆใƒชใ‚’่ค‡่ฃฝใ—ใพใ™ใ€‚ - -```shell showLineNumbers -compaudit | xargs chown -R "$(whoami)" "$ZI[HOME_DIR]" -compaudit | xargs chmod -R go-w "$ZI[HOME_DIR]" -command git clone https://github.com/z-shell/zi.git "$ZI[BIN_DIR]" -``` - -To enable Zi, source the zi.zsh from the previously set up directory placing the following snippet in the .zshrc file: - -```shell title="~/.zshrc" showLineNumbers -typeset -A ZI -ZI[BIN_DIR]="${HOME}/.zi/bin" -source "${ZI[BIN_DIR]}/zi.zsh" -``` - -:::caution - -ไปฅไธ‹ใฎ2่กŒใฏใ€ไธŠใฎ่กŒใฎๅพŒใ€ใคใพใ‚ŠZiใ‚’ๆœ‰ๅŠนใซใ—ใŸๅพŒใซ้…็ฝฎใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚ - -::: - -ไปฅไธ‹ใงZi่ฃœๅฎŒใ‚’ๆœ‰ๅŠนใซใ—ใพใ™: - -```shell title="~/.zshrc" showLineNumbers -autoload -Uz _zi -(( ${+_comps} )) && _comps[zi]=_zi -``` - -## Post-install {#post-install} - -After a fresh install, it is recommended to reload the shell and recompile Zi with: - -- exec zsh -il -- zi self-update - -Run zi -h for available commands or [explore][collection-page] wiki to [extend][ecosystem-page], [customize][customization-page] and [create][zsh-plugin-standard] . - -If you have any issue or need help , lets [discuss][discuss] it or open an [issue][issue] on GitHub. - -It helps us to improve and make Zi better. Don't forget to help the project: share, contribute, or [translate][translate] . - -Let's glue a toolchain that works for us . - -## Have ideas? - -###  Suggest or request at playground - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -a ??? -``` - -##  Need warm-up? - -###  Docker Alpine - -```shell -docker run --rm -it ghcr.io/z-shell/zd:latest -``` - -### Turbo Zi in Docker - -If you create a Docker image that uses Zi, install Turbo-loaded plugins before the shell starts interactively, with the @zi-scheduler function in such a way, that it: - -- Install plugins without waiting for the prompt (i.e. it's script friendly). -- Install all plugins instantly, without respecting the wait argument. - -To accomplish this, use burst argument and call the @zi-scheduler function: - -```docker -RUN zsh -i -c -- '@zi-scheduler burst || true' -``` - -> - An example: [Dockerfile][dockerfile] -> - In action: [Playground][playground] - -## Zi Module: zpmod {#zi-module} - -The module transparently and automatically compiles sourced scripts and lists of all sourced files with the time the sourcing took in milliseconds on the left. - -- [โš™๏ธ Wiki: zpmod][zpmod-page] -- [๐Ÿ“ฆ Source: zpmod][z-shell/zpmod] - -## Available links {#available-links} - -[Status page][status] - -### Installer {#installer} - -| ใ‚ตใƒผใƒ“ใ‚น | URL | -| :--------- | ------------------------------------------------------------------------- | -| ใƒชใƒ€ใ‚คใƒฌใ‚ฏใƒˆ | | -| R2 | | -| Cloudflare | | -| IPFS | | -| Git.io | | -| GitHub RAW | | - -### Loader {#loader} - -| ใ‚ตใƒผใƒ“ใ‚น | URL | -| :--------- | ------------------------------------------------------------------------ | -| ใƒชใƒ€ใ‚คใƒฌใ‚ฏใƒˆ | | -| R2 | | -| Cloudflare | | -| IPFS | | -| Git.io | | -| GitHub RAW | | - - - - - -[zpmod-page]: /ecosystem/plugins/zsh-modules#-z-shellzpmod - -[customization-page]: /docs/guides/customization - -[ecosystem-page]: /ecosystem - -[collection-page]: /community/category/-collection - -[zsh-plugin-standard]: /community/zsh_plugin_standard - - - -[checksum-txt]: https://raw.githubusercontent.com/z-shell/zi-src/main/lib/checksum.txt - -[completion-system]: https://zsh.sourceforge.io/Doc/Release/Completion-System.html#Use-of-compinit - -[discuss]: https://github.com/orgs/z-shell/discussions/new - -[dockerfile]: https://github.com/robobenklein/configs/blob/master/Dockerfile - -[issue]: https://github.com/z-shell/zi/issues/new/choose - -[playground]: https://github.com/z-shell/playground - -[status]: https://status.zshell.dev - -[translate]: https://digitalclouds.crowdin.com/z-shell - -[z-shell/zpmod]: https://github.com/z-shell/zpmod diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/getting_started/02_overview.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/getting_started/02_overview.mdx deleted file mode 100644 index 51b11dba..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/getting_started/02_overview.mdx +++ /dev/null @@ -1,509 +0,0 @@ ---- -id: overview -title: โ˜‘๏ธ ๆฆ‚่ฆ -image: /img/png/theme/z/320x320.png -description: Zi ใฎไฝฟ็”จๆ–นๆณ•ใฎๆฆ‚่ฆ ---- - -import ImgShow from "@site/src/components/ImgShow"; -import Link from "@docusaurus/Link"; - -ใ“ใฎๆฆ‚่ฆใงใฏใ€ไปฅไธ‹ใฎๅŸบ็คŽใ‚’่ชฌๆ˜Žใ—ใพใ™ใ€‚ - -1. [Oh-My-Zsh & Prezto](/search?q=Oh+My+Zsh+%26+Prezto) -2. [Completions](/search?q=completions) -3. [Turbo mode](/search?q=turbo+mode) -4. [Ice modifiers](/search?q=ice+modifiers) - -## ใƒ—ใƒฉใ‚ฐใ‚คใƒณใจใ‚นใƒ‹ใƒšใƒƒใƒˆใฎ่ชญใฟ่พผใฟ - -```shell showLineNumbers -zi load z-shell/H-S-MW -zi light zsh-users/zsh-syntax-highlighting -``` - -ไธŠ่จ˜ใฎใ‚ณใƒžใƒณใƒ‰ใฏ2้€šใ‚ŠใฎๅŸบๆœฌ็š„ใชใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎ่ชญใฟ่พผใฟๆ–นๆณ•ใงใ™ใ€‚ If you want to source local or remote files (using a direct URL), you can do so with a `snippet`. - -```shell -zi snippet -``` - -Such lines should be added to `.zshrc`. Snippets are cached locally, use the `-f` option to download a fresh version of a snippet, or `zi update {URL}`. Use `zi update --all` to update all snippets and plugins. - -Using `load` causes reporting to be enabled โ€“ you can track what the plugin does, view the information with `zi report {plugin-name}`, and then also unload the plugin with `zi unload {plugin-name}`. - -Using `light` is a faster loading without tracking and reporting about the plugin but also withdrawing the ability to unload it. - -Using `load` or `light`: - -```shell showLineNumbers -zi load # Load with reporting/investigating. -zi light # Load without reporting/investigating. -``` - -ใƒ—ใƒฉใ‚ฐใ‚คใƒณ history-search-multi-word ใŒ่ชฟๆŸปใ—ใชใŒใ‚‰่ชญใฟ่พผใฟ: - -```shell -zi load z-shell/H-S-MW -``` - -2ใคใฎ้€šๅธธใฎใƒ—ใƒฉใ‚ฐใ‚คใƒณใ‚’่ชฟๆŸปใ›ใšใซ่ชญใฟ่พผใฟ: - -```shell showLineNumbers -zi light zsh-users/zsh-autosuggestions -zi light z-shell/F-Sy-H -``` - -ใ‚นใƒ‹ใƒšใƒƒใƒˆ: - -```shell -zi snippet https://gist.githubusercontent.com/hightemp/5071909/raw/ -``` - -:::note - -In turbo mode loading, the slowdown by plugin tracking is done in the background and does not affect the user experience, i.e., loading with `zi light` and `zi load` has the same effect. - -::: - -## Oh-My-Zsh, Prezto - -To load Oh-My-Zsh and Prezto plugins, use the `snippet` feature. Snippets are **single files** downloaded by `curl`, `wget`, etc., automatic detection of the download tool is being performed, directly from the URL: - -```shell showLineNumbers -zi snippet 'https://github.com/robbyrussell/oh-my-zsh/raw/master/plugins/git/git.plugin.zsh' -zi snippet 'https://github.com/sorin-ionescu/prezto/blob/master/modules/helper/init.zsh' -``` - -Also, for Oh-My-Zsh and Prezto, you can use `OMZ::` and `PZT::` shorthands: - -```shell showLineNumbers -zi snippet OMZ::plugins/git/git.plugin.zsh -zi snippet PZT::modules/helper/init.zsh -``` - -ใ•ใ‚‰ใซใ€GitHubใฏใ‚นใƒ‹ใƒšใƒƒใƒˆใฎใŸใ‚ใซSubversionใƒ—ใƒญใƒˆใ‚ณใƒซใ‚’ใ‚ตใƒใƒผใƒˆใ—ใฆใ„ใพใ™ใ€‚ This allows loading snippets that are multi-file (for example, a Prezto module can consist of two or more files, e.g. `init.zsh` and `alias.zsh`). - -Default files that will be sourced are: `*.plugin.zsh`, `init.zsh`, `*.zsh-theme`: - -URLใฏใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใ‚’ๆŒ‡ใ—ใพใ™: - -```shell {2} showLineNumbers -zi ice svn -zi snippet PZT::modules/docker -``` - -## ใ‚นใƒ‹ใƒšใƒƒใƒˆใจใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚น - -Using `curl`, `wget`, etc. along with Subversion allows us to almost completely avoid code dedicated to Oh-My-Zsh and Prezto, and also to other frameworks. ใƒกใƒขใƒชใธใฎ่ฒ ่ทใŒๅฐ‘ใชใใ€ใƒญใƒผใƒ‰ๆ™‚้–“ใ‚‚็Ÿญใ„ใŸใ‚ใ€ใ‚ˆใ‚Š้ซ˜ใ„ใƒ‘ใƒ•ใ‚ฉใƒผใƒžใƒณใ‚นใ‚’ๅฎŸ็พใ—ใพใ™ใ€‚ - -## Ice ไฟฎ้ฃพๅญ - -The command `zi ice` provides [ice modifiers][1] for the single Zi command, i.e., `zi ice ; zi load some/plugin`, after loading some/plugin the ice-modifier has to be set again. - -ใ“ใฎ่€ƒใˆๆ–นใฏใ€"ๆฐท"ใŒ้ฃฒใฟ็‰ฉใ‚„ใ‚ณใƒผใƒ’ใƒผใซๅ…ฅใ‚Œใ‚‰ใ‚Œใ‚‹ใ‚ˆใ†ใชใ‚‚ใฎใงใ€ใ“ใ‚Œใ‚’ZIใซ็ฝฎใๆ›ใˆใ‚‹ใจใ€iceใฏๆฌกใฎZIใ‚ณใƒžใƒณใƒ‰ใธๅค‰ๆ›ดใ‚’ไธŽใˆใ‚‹ใ“ใจใ‚’ๆ„ๅ‘ณใ—ใฆใ„ใพใ™ใ€‚ ใพใŸใ€ๆบถใ‘ใ‚‹ใ“ใจ(ใคใพใ‚Š้•ทใ็ถšใ‹ใชใ„)ใฏใ€Ziใฎไธญใงใฏใใฎๅค‰ๆ›ดใฏๆฌกใฎZIใ‚ณใƒžใƒณใƒ‰ใซใฎใฟๆœ‰ๅŠนใจใ„ใ†ใ“ใจใงใ™ใ€‚ - -Using one other ice modifier "**pick**" users can explicitly **select the file to source**: - -```shell {1} showLineNumbers -zi ice svn pick"init.zsh" -zi snippet PZT::modules/git -``` - -The content of the ice-modifier is simply put into `"โ€ฆ"`, `'โ€ฆ'`, `$'โ€ฆ'`. No need for `":"` after the ice-modifier name (although it's allowed: as the equal sign `=`, e.g. `pick="init.zsh"` or `pick=init.zsh`). - -This way editors like `vim` and `emacs` and also `zsh-users/zsh-syntax-highlighting` and `z-shell/F-Sy-H` will highlight the contents of ice-modifiers. - -## as"program" ใซใคใ„ใฆ - -A plugin might not be a file for sourcing, but a command to be added to `$PATH`. To obtain this effect, use ice-modifier `as` with value `program` (or an alias value `command`). - -```shell {1} showLineNumbers -zi ice as"program" cp"httpstat.sh -> httpstat" pick"httpstat" -zi light b4b4r07/httpstat -``` - -The above command will add plugin directory to `$PATH`, copy file `httpstat.sh` into `httpstat` and add execution rights (`+x`) to the file selected with `pick`, i.e. to `httpstat`. Another ice-mod exists, `mv`, which works like `cp` but **moves** a file instead of **copying** it. `mv` is run before `cp`. - -:::tip - -The `cp` and `mv` ices (and also some other ones, like `atclone`) are being run when the plugin or snippet is being _installed_. To test them again first delete the plugin or snippet (example: `zi delete PZT::modules/osx`). - -::: - -## Ice ไฟฎ้ฃพๅญ: atpull'โ€ฆ' - -Copying file is safe for doing later updates โ€“ original files of the repository are unmodified and `Git` will report no conflicts. However, `mv` also can be used, if a proper `atpull`, an ice-modifier ran at **update** of the plugin: - -```shell showLineNumbers -zi ice as"program" mv"httpstat.sh -> httpstat" \ - pick"httpstat" atpull'!git reset --hard' -zi light b4b4r07/httpstat -``` - -If `atpull` starts with an exclamation mark, then it will be run before `git pull`, and before `mv`. Nevertheless, `atpull`, `mv`, and `cp` are run **only if new commits are to be fetched**. - -So in summary, when the user runs `zi update b4b4r07/httpstat` to update this plugin, and there are new commits, what happens first is that `git reset --hard` is run โ€“ and it **restores** original `httpstat.sh`, **then** `git pull` is ran and it downloads new commits (doing fast-forward), **then** `mv` is running again so that the command is `httpstat` not `httpstat.sh`. - -This way the `mv` ice can be used to induce permanent changes into the plugin's contents without blocking the ability to update it with `git` or with `subversion` in the case of snippets. - -:::info - -For exclamation marks to not be expanded by Zsh an interactive session, use `'โ€ฆ'` not `"โ€ฆ"` to enclose contents of `atpull` [ice-modifier](/search?q=ice-modifier). - -::: - -## Ice ไฟฎ้ฃพๅญ: subscribe'โ€ฆ' - -ใ“ใฎiceไฟฎ้ฃพๅญใฏใ€ไธŽใˆใ‚‰ใ‚ŒใŸใƒ•ใ‚กใ‚คใƒซ(่ค‡ๆ•ฐๅฏ) ใฎๆ›ดๆ–ฐๆ™‚้–“ใ‚’ใƒใ‚งใƒƒใ‚ฏใ—ใชใŒใ‚‰ใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎ่ชญใฟ่พผใฟใ‚’ๅปถๆœŸใ—ใ€ๅค‰ๆ›ดใ•ใ‚Œใ‚‹ใจใƒ—ใƒฉใ‚ฐใ‚คใƒณใพใŸใฏใ‚นใƒ‹ใƒšใƒƒใƒˆใฎ่ชญใฟ่พผใฟใ‚’ๅฎŸ่กŒใ—ใพใ™ใ€‚ - -Copy and paste the example below to the terminal or add it to the `.zshrc` file and reload the shell with `exec zsh`. - -```shell {1} showLineNumbers -zi ice subscribe'{~/files-*,/tmp/files-*}' id-as'z-sub' lucid \ - atload'+zi-message "{profile}I have been loaded{nl}\ - {auto}\`Zi Rocks โ™ฅ\`"' notify"Yes that is cool โ™ฅ " -zi load z-shell/0 -``` - -ไธŠ่จ˜ใง่ชฌๆ˜Žใ—ใŸใ‚ˆใ†ใซใƒ•ใ‚กใ‚คใƒซใ‚’ๆ›ดๆ–ฐใ—ใฆใ€ ice ไฟฎ้ฃพๅญใ‚’ใƒ†ใ‚นใƒˆใ—ใพใ™ใ€‚ - -```shell -touch ~/files-1 -``` - -ใƒ—ใƒฉใ‚ฐใ‚คใƒณใ‚„ใ‚นใƒ‹ใƒšใƒƒใƒˆใฏใ€ใƒ•ใ‚กใ‚คใƒซใŒๆ›ดๆ–ฐใ•ใ‚Œใ‚‹ใŸใณใซไฝ•ๅบฆใงใ‚‚sourceใ•ใ‚Œใพใ™ใ€‚ - -## ใ‚นใƒ‹ใƒšใƒƒใƒˆใง as'โ€ฆ' program - -Commands can also be added to `$PATH` using **snippets**: - -```shell {2} showLineNumbers -zi ice mv"httpstat.sh -> httpstat" \ - pick"httpstat" as"program" -zi snippet https://github.com/b4b4r07/httpstat/blob/master/httpstat.sh -``` - -:::tip - -Snippets also support `atpull`, e.g. `atpull'!svn revert'`. Thereโ€™s also an `atinit` ice-modifier, executed before each loading of plugin or snippet. - -::: - -## ใ‚นใƒ‹ใƒšใƒƒใƒˆใง as'โ€ฆ' completion - -By using the `as'โ€ฆ'` ice modifier with the value `completion` you can point the `snippet` subcommand directly to a completion file: - -```shell {1} showLineNumbers -zi ice as"completion" -zi snippet https://github.com/docker/cli/blob/master/contrib/completion/zsh/_docker -``` - -## ่ฃœๅฎŒ็ฎก็† - -Ziใฏใ€ๅ„ใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎๅ„่ฃœๅฎŒๆฉŸ่ƒฝใ‚’็„กๅŠนๅŒ–ใ€ๆœ‰ๅŠนๅŒ–ใ™ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚ ่ฃœๅฎŒใ‚’ๆไพ›ใ™ใ‚‹ไบบๆฐ—ใฎใƒ—ใƒฉใ‚ฐใ‚คใƒณใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใฆใฟใพใ—ใ‚‡ใ†: - -```shell {1} showLineNumbers -zi ice blockf -zi light zsh-users/zsh-completions -``` - -The first command, the `blockf` ice, will block the traditional method of adding completions. Zi uses this method, based on symlinks instead of adding several directories to `$fpath`. Zi will automatically **install** completions of a newly downloaded plugin. - -่ฃœๅฎŒใฎใ‚ขใƒณใ‚คใƒณใ‚นใƒˆใƒผใƒซใจใ‚คใƒณใ‚นใƒˆใƒผใƒซ: - -ใ‚ขใƒณใ‚คใƒณใ‚นใƒˆใƒผใƒซ: - -```shell -zi cuninstall zsh-users/zsh-completions -``` - -ใ‚คใƒณใ‚นใƒˆใƒผใƒซ: - -```shell -zi creinstall zsh-users/zsh-completions -``` - -### ไฝฟ็”จๅฏ่ƒฝใช่ฃœๅฎŒใฎใƒชใ‚นใƒˆ - -To see what completions **all** plugins provide, in tabular formatting and with the name of each plugin: - -```shell -zi clist -``` - -This command is adapted for plugins like `zsh-users/zsh-completions`, which provide many completions โ€“ listing will have `3` completions per line, and a smaller number of terminal pages can be occupied like this: - - - -To show more completions per line by providing an **argument** to `clist`, e.g.: `zi clist 6`, will show: - - - -### ่ฃœๅฎŒใฎๆœ‰ๅŠนๅŒ–๏ผ็„กๅŠนๅŒ– - -่ฃœๅฎŒใ‚’็„กๅŠนใซใ—ใ€Zshใฎ็ต„ใฟ่พผใฟ้–ขๆ•ฐใชใฉไป–ใฎ่ฃœๅฎŒใ‚’ไฝฟ็”จใ™ใ‚‹ใ“ใจใ‚‚ๅฏ่ƒฝใงใ™ใ€‚ The commands are very basic, they only need completion **name**: - -Disable `cmake` completion: - -```shell -zi cdisable cmake -``` - -Enable `cmake` completion: - -```shell -zi cenable cmake -``` - -Command `zi csearch` will **search** all plugin directories for available completions: - - - -## Subversionใ‚’ไฝฟใฃใฆใ‚ตใƒ–ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชๆŒ‡ๅฎš - -In general, to use **subdirectories** of Github projects as snippets add `/trunk/{path-to-dir}` to the URL: - -```shell showLineNumbers -zi ice svn -zi snippet https://github.com/zsh-users/zsh-completions/trunk/src -``` - -:::tip - -For Oh-My-Zsh and Prezto, the OMZ:: and PZT:: prefixes work without the need to add the `/trunk/` infix, however, the path should point to a directory, not to a file. - -::: - -```shell showLineNumbers -zi ice svn -zi snippet PZT::modules/docker -``` - -## Turbo Mode (Zsh >= 5.3) {#turbo-mode-zsh--53} - -The ice-modifier `wait` allows the user to postpone the loading of a plugin to the moment when the processing of `.zshrc` is finished and the first prompt is shown. - -WindowsใจๅŒใ˜ใงใ€่ตทๅ‹•ๆ™‚ใซใ€ใƒใƒƒใ‚ฏใ‚ฐใƒฉใ‚ฆใƒณใƒ‰ใงใƒ‡ใƒผใ‚ฟใ‚’่ชญใฟ่พผใ‚“ใงใ„ใ‚‹ใซใ‚‚ใ‹ใ‹ใ‚ใ‚‰ใšใ€ใƒ‡ใ‚นใ‚ฏใƒˆใƒƒใƒ—ใ‚’่กจ็คบใ™ใ‚‹ใฎใงใ™ใ€‚ ๆฌ ็‚นใ‚‚ใ‚ใ‚Šใพใ™ใŒใ€10ๅˆ†ใ‚‚็œŸใฃ็™ฝใช็”ป้ขใŒ็ถšใใ‚ˆใ‚Šใฏ็ขบๅฎŸใซใƒžใ‚ทใงใ™ใ€‚ ใ—ใ‹ใ—ใ€Ziใงใฏใ€ใ“ใฎๆ–นๆณ•ใฎๆฌ ็‚นใฏใ‚ใ‚Šใพใ›ใ‚“ ใ€‚ใƒฉใ‚ฐใ‚„ใƒ•ใƒชใƒผใ‚บใชใฉใฏใ‚ใ‚Šใพใ›ใ‚“ใ€‚ใƒ—ใƒฉใ‚ฐใ‚คใƒณใŒใƒญใƒผใƒ‰ใ•ใ‚Œใฆใ„ใ‚‹้–“ใ€ใ‚ณใƒžใƒณใƒ‰ใƒฉใ‚คใƒณใฏๅฎŒๅ…จใซไฝฟ็”จๅฏ่ƒฝใงใ€ใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎๆ•ฐใซ้–ขไฟ‚ใชใไฝฟ็”จใงใใพใ™ใ€‚ - -:::info - -Turbo will speed up Zsh startup by **50%โ€“80%**. ใŸใจใˆใฐใ€200ใƒŸใƒช็ง’ใงใฏใชใใ€40ใƒŸใƒช็ง’ใซใชใ‚Šใพใ™ใ€‚ - -::: - -:::note - -Zsh 5.3ไปฅ้™ใŒๅฟ…่ฆใงใ™ใ€‚ - -::: - -To use turbo mode add `wait` ice to the target plugin in one of the following ways: - -```shell {2} showLineNumbers -PS1="READY > " -zi ice wait'!0' -zi load halfo/lambda-mod-zsh-theme -``` - -This sets plugin `halfo/lambda-mod-zsh-theme` to be loaded `0` seconds after `.zshrc`. ใ“ใ‚Œใฏใ€ 1 ms of showing the basic prompt `READY >`. - -ใ“ใฎใ‚ˆใ†ใชๆ–นๆณ•ใงใƒ—ใƒญใƒณใƒ—ใƒˆใ‚’่ชญใฟ่พผใ‚€ใ“ใจใฏใชใ„ใงใ—ใ‚‡ใ†ใŒใ€ใ‚ฟใƒผใƒœใƒขใƒผใƒ‰ใŒ่ฆณๅฏŸใงใใ‚‹่‰ฏใ„ไพ‹ใงใ™ใ€‚ ๆ„Ÿๅ˜†็ฌฆใ‚’ไฝฟใ†ใจใ€Zi ใฏใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎใƒญใƒผใƒ‰ๅพŒใซใƒ—ใƒญใƒณใƒ—ใƒˆใ‚’ใƒชใ‚ปใƒƒใƒˆใ—ใพใ™ใ€‚ใ“ใ‚Œใฏใƒ†ใƒผใƒžใซๅคงๆŠตๅฟ…่ฆใงใ™ใ€‚ Prezto ใƒ—ใƒญใƒณใƒ—ใƒˆใฎๅ ดๅˆใ‚‚ๅŒๆง˜ใงใ™ใ€‚้…ๅปถๆ™‚้–“ใŒใ‚ˆใ‚Š้•ทใ„ๅ ดๅˆ: - -```shell showLineNumbers -zi ice svn silent wait'!1' atload'prompt smiley' -zi snippet PZT::modules/prompt -``` - -Using `zsh-users/zsh-autosuggestions` without any drawbacks: - -```shell showLineNumbers -zi ice wait lucid atload'!_zsh_autosuggest_start' -zi light zsh-users/zsh-autosuggestions -``` - -### ใ‚ฟใƒผใƒœใƒขใƒผใƒ‰ใŒๆ€ง่ƒฝใฎๆฑบใ‚ๆ‰‹ใงใ™ใ€‚ - -้žๅŒๆœŸใง่ชญใฟ่พผใ‚€ใ“ใจใŒใงใใ‚‹ใฎใงใ€ใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎ้‡ใŒๅข—ใˆใŸใจใใซๅคงใใชๅทฎใŒๅ‡บใพใ™ใ€‚ Usually used as `zi ice wait''`. - -:::note - -The `wait` is equivalent to `wait'0'`. - -::: - -```shell showLineNumbers -zi ice wait -zi load z-shell/H-S-MW -``` - -2็ง’ๅพŒใซ่ชญใฟ่พผใฟใ‚€: - -```shell showLineNumbers -zi ice wait'2' -zi load z-shell/H-S-MW -``` - -Also can be used in `light` and `snippet`: - -```shell showLineNumbers -zi ice wait -zi snippet https://gist.githubusercontent.com/hightemp/5071909/raw/ -``` - -### Turbo mode & lucid - -Turbo and lucid are the most used options because turbo mode is verbose and may require an option for quiet and this can be achieved with the `lucid`. - -```shell showLineNumbers -zi ice wait lucid -zi load z-shell/H-S-MW -``` - -## ้ซ˜ๅบฆใชใƒ—ใƒญใƒณใƒ—ใƒˆใ‚’ไฝฟ็”จใ—ใŸใ‚ฟใƒผใƒœใƒปใƒขใƒผใƒ‰ - -For some, mostly advanced themes the initialization of the prompt is being done in a `precmd`-hook, i.e.; in a function that gets called before each prompt. The hook is installed by the [add-zsh-hook][12] Zsh function by adding its name to the `$precmd_functions` array. - -To make the prompt fully initialized after turbo mode loading in the middle of the prompt the same situation as with the `zsh-autosuggestions` plugin, the hook should be called from `atload'โ€ฆ'` ice. - -First, find the name of the hook function by examining the `$precmd_functions` array. For example, for the `robobenklein/zinc` theme, they'll be two functions: `prompt_zinc_setup` and `prompt_zinc_precmd`: - -```shell title="print $precmd_functions" -_zsh_autosuggest_start prompt_zinc_setup prompt_zinc_precmd -``` - -Then, add them to the ice list in the `atload'โ€ฆ'` ice: - -```shell {2} showLineNumbers -zi ice wait'!' lucid nocd \ - atload'!prompt_zinc_setup; prompt_zinc_precmd' -zi load robobenklein/zinc -``` - -The exclamation mark in `atload'!โ€ฆ'` is to track the functions allowing the plugin to be unloaded, as described [here](/docs/guides/syntax/standard#atclone-atpull-atinit-atload). ๆฌกใซ่ชฌๆ˜Žใ™ใ‚‹ใƒžใƒซใƒใƒ—ใƒญใƒณใƒ—ใƒˆใฎ่จญๅฎšใซไพฟๅˆฉใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใ€‚ - -### ใ‚ฟใƒผใƒœใƒขใƒผใƒ‰ใฎใพใจใ‚ - -Autosuggestions use the `precmd` hook, which is being called right after processing `.zshrc` โ€“ `precmd` hooks are being called **right before displaying each prompt**. - -Turbo mode with the empty `wait` ice will postpone the loading `1` ms after that, so `precmd` will not be called at that first prompt. ใ“ใ‚Œใซใ‚ˆใ‚Šใ€ๆœ€ๅˆใฎใƒ—ใƒญใƒณใƒ—ใƒˆใงautosuggestionใฏ็„กๅŠนใจใชใ‚Šใพใ™ใ€‚ - -**However** the given `atload'โ€ฆ'` ice-modifier fixes this, it calls the same function that `precmd` would, right after loading autosuggestions, resulting in the same behavior of the plugin. - -The ice called `lucid` causes the under-prompt message saying `Loaded zsh-users/zsh-autosuggestions` that normally appears for every Turbo-loaded plugin to not show. - -## Automatic condition based - load & unload - -Ices `load` and `unload` allow defining when you want plugins active or inactive: - -Load when in `~/tmp`: - -```shell {1} showLineNumbers -zi ice load'![[ $PWD = */tmp* ]]' unload'![[ $PWD != */tmp* ]]' \ - atload'!promptinit; prompt sprint3' -zi load z-shell/zprompts -``` - - - -Load when NOT in `~/tmp`: - -```shell {1} showLineNumbers -zi ice load'![[ $PWD != */tmp* ]]' unload'![[ $PWD = */tmp* ]]' -zi load russjohnson/angry-fly-zsh -``` - - - -2ใคใฎใƒ—ใƒญใƒณใƒ—ใƒˆใฏใ€ใใ‚Œใžใ‚Œ็•ฐใชใ‚‹ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใงใ‚ขใ‚ฏใƒ†ใ‚ฃใƒ–ใซใชใ‚Šใพใ™ใ€‚ This technique can be used to have plugin-sets, e.g. by defining parameter `$PLUGINS` with possible values like `cpp`, `web`, `admin` and by setting `load` / `unload` conditions to activate different plugins on `cpp`, on `web`, etc. - -:::note - -- The difference with `wait` is that `load` / `unload` are constantly active, not only till the first activation. Note that for the unloading of a plugin to work the plugin needs to be loaded with tracking, so `zi load โ€ฆ` and not `zi light โ€ฆ`. - -ใƒˆใƒฉใƒƒใ‚ญใƒณใ‚ฐใซใ‚ˆใ‚Š่‹ฅๅนฒใฎ้€ŸๅบฆไฝŽไธ‹ใŒ็™บ็”Ÿใ—ใพใ™ใŒใ€ใ‚ฟใƒผใƒœใƒขใƒผใƒ‰ไฝฟ็”จๆ™‚ใฎZsh่ตทๅ‹•ๆ™‚้–“ใซใฏๅฝฑ้Ÿฟใ‚ใ‚Šใพใ›ใ‚“ใ€‚ - -::: - -### ใƒ—ใƒญใƒณใƒ—ใƒˆใฎๆฆ‚่ฆ - -:::tip - -ๅ‚็…ง๏ผš ่ค‡ๆ•ฐใฎใƒ—ใƒญใƒณใƒ—ใƒˆ ใพใŸใฏ่ฉณ็ดฐใ€‚ ใƒžใƒซใƒใƒ—ใƒญใƒณใƒ—ใƒˆใƒปใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—ใฎๅฎŸ้š›ใฎไพ‹ใ‚’ใ•ใ‚‰ใซ็คบใ—ใพใ™ใ€‚ใ“ใ‚Œใฏใ€่‘—่€…ใŒใ‚ปใƒƒใƒˆใ‚ขใƒƒใƒ—ใงไฝฟ็”จใ™ใ‚‹ใ‚‚ใฎใซ่ฟ‘ใ„ใ‚‚ใฎใงใ™ใ€‚ - -::: - -This is [powerlevel10k](https://github.com/romkatv/powerlevel10k), [pure](https://github.com/sindresorhus/pure), [starship](https://github.com/starship/starship) sample: - -powerlevel10kใฎใƒ†ใƒผใƒžใ‚’่ชญใฟ่พผใ‚€: - -```shell title="~/.zshrc" showLineNumbers -zi ice depth"1" -zi light romkatv/powerlevel10k -``` - -pure ใฎใƒ†ใƒผใƒžใ‚’่ชญใฟ่พผใ‚€: - -> will pick the `async.zsh` library and will source it. - -```shell {1} title="~/.zshrc" showLineNumbers -zi ice pick"async.zsh" src"pure.zsh" -zi light sindresorhus/pure -``` - -starship ใƒ†ใƒผใƒžใ‚’ใƒญใƒผใƒ‰่ชญใฟ่พผใ‚€: - -> - pick `starship` binary as a command, from the GitHub release. -> - setup `starship` using `atclone` and create `init.zsh` and `completion`. -> - the `atpull'โ€ฆ'` behavior same as `atclone'โ€ฆ'` and but is used when running `zi update`. -> - `src` will source `init.zsh`. - -```shell {2} {3} title="~/.zshrc" showLineNumbers -zi ice as"command" from"gh-r" \ - atclone"./starship init zsh > init.zsh; ./starship completions zsh > _starship" \ - atpull"%atclone" src"init.zsh" -zi light starship/starship -``` - -### Common use cases {#common-use-cases} - -Load the pure theme, with the **zsh-async** library that's bundled with it. - -```shell title="~/.zshrc" showLineNumbers -zi ice pick"async.zsh" src"pure.zsh" -zi light sindresorhus/pure -``` - -GitHub ใฎใƒใ‚คใƒŠใƒชใฎใƒชใƒชใƒผใ‚นใ‚’ไฝฟใ†ๅ ดๅˆใ€‚ ่‡ชๅ‹•ใงๅฑ•้–‹ๅพŒใ€ใƒ—ใƒญใ‚ฐใƒฉใƒ  "fzf "ใ‚’ๆไพ›ใ—ใพใ™ใ€‚ - -```shell title="~/.zshrc" showLineNumbers -zi ice from"gh-r" as"program" -zi light junegunn/fzf -``` - -One other binary release needs renaming from `docker-compose-Linux-x86_64`. This can be done by [ice modifier][1]: `mv'{from} -> {to}'`. - -There are multiple packages per single version for OS X, Linux, and Windows โ€“ the ice-modifier `bpick` is utilized to select the Linux package โ€“ in this case - not required, Zi will grep operating system name and architecture automatically when there's no `bpick`. - -```shell title="~/.zshrc" showLineNumbers -zi ice from"gh-r" as"program" mv"docker* -> docker-compose" bpick"*linux*" -zi load docker/compose -``` - -Handle completions without loading any plugin, see the `clist` command. ใ“ใกใ‚‰ใฏใ€ใ‚คใƒณใ‚ฟใƒฉใ‚ฏใƒ†ใ‚ฃใƒ–ใ‚ปใƒƒใ‚ทใƒงใƒณใงไธ€ๅบฆใ ใ‘ๅฎŸ่กŒใ™ใ‚‹ใ“ใจใซใชใฃใฆใ„ใพใ™ใ€‚ - -```shell title="~/.zshrc" -zi creinstall %HOME/my_completions -``` - -If you are interested to try out more then check out the [playground repository](https://github.com/z-shell/playground) where users have uploaded the `~/.zshrc` and other Zi configurations. Feel free to [submit](https://github.com/z-shell/playground/issues/new?template=request-to-add-zshrc-to-the-zi-configs-repo.md) your `~/.zshrc` configuration. - -Additional examples: [collection](/community/gallery/collection). - - - - - -[1]: /search?q=ice+modifiers - -[12]: /community/zsh_plugin_standard#use-of-add-zsh-hook-to-install-hooks diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/getting_started/03_migration.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/getting_started/03_migration.mdx deleted file mode 100644 index 8a0c3737..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/getting_started/03_migration.mdx +++ /dev/null @@ -1,476 +0,0 @@ ---- -id: migration -title: โ™ป๏ธ ็งป่กŒ -image: /img/png/theme/z/320x320.png -description: ็งป่กŒใ‚ฌใ‚คใƒ‰ -keywords: - - prezto - - oh-my-zsh ---- - -import Link from "@docusaurus/Link"; - -## Oh-My-Zsh - -### OMZ ใฎใ‚ทใƒงใƒผใƒˆใƒใƒณใƒ‰ใ‚ทใƒณใ‚ฟใƒƒใ‚ฏใ‚น - -```shell title="~/.zshrc" showLineNumbers -zi snippet # Raw syntax with URL -zi snippet OMZ:: # Shorthand OMZ:: (http://github.com/ohmyzsh/ohmyzsh/raw/master/) -zi snippet OMZL:: # Shorthand OMZ::lib (http://github.com/ohmyzsh/ohmyzsh/raw/master/lib) -zi snippet OMZT:: # Shorthand OMZ::themes (http://github.com/ohmyzsh/ohmyzsh/raw/master/themes) -zi snippet OMZP:: # Shorthand OMZ::plugins (http://github.com/ohmyzsh/ohmyzsh/raw/master/plugins) -``` - -### OMZใƒฉใ‚คใƒ–ใƒฉใƒช - -Importing the [clipboard][omz/clipboard] and [termsupport][omz/termsupport] from the OMZ library example: - -็”Ÿใฎๆง‹ๆ–‡: - -```shell title="~/.zshrc" showLineNumbers -zi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zsh -zi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh -``` - -OMZใฎ็œ็•ฅ่จ˜ๅทๆง‹ๆ–‡: - -```shell title="~/.zshrc" showLineNumbers -zi snippet OMZ::lib/clipboard.zsh -zi snippet OMZ::lib/termsupport.zsh -``` - -OMZLใฎ็œ็•ฅ่จ˜ๅทๆง‹ๆ–‡: - -```shell title="~/.zshrc" showLineNumbers -zi snippet OMZL::clipboard.zsh -zi snippet OMZL::termsupport.zsh -``` - -ใ‚ˆใ‚Š้ซ˜ๅบฆใชใ€Subversionใ‚’ไฝฟใฃใŸใƒฉใ‚คใƒ–ใƒฉใƒชใฎ่ชญใฟ่พผใฟใฎไพ‹: - -```shell title="~/.zshrc" showLineNumbers -if (( $+commands[svn] )) { - sni=({git,theme-and-appearance,prompt_info_functions,history,completion,vcs_info}.zsh) - zi is-snippet has'svn' for svn \ - multisrc'${sni[*]}' pick'/dev/null' \ - atinit'typeset -gx COMPLETION_WAITING_DOTS=true \ - HISTSIZE=290000 SAVEHIST=290000 HISTFILE=${ZSH_CACHE_DIR}/.history;' \ - OMZ::lib - unset sni -} else { - +zi-message "{auto}Subversion not installed!" -} -``` - -### OMZ ใƒ—ใƒฉใ‚ฐใ‚คใƒณ - -```diff title="~/.zshrc" showLineNumbers -- plugins=( -- git -- dotenv -- rake -- rbenv -- ruby --) - -+ zi snippet OMZP::git -+ zi snippet OMZP::dotenv -+ zi snippet OMZP::rake -+ zi snippet OMZP::rbenv -+ zi snippet OMZP::ruby -``` - -ใ‚ˆใ‚Š้ซ˜ๅบฆใชใ€ๆกไปถไป˜ใใ‚ฟใƒผใƒœใƒญใƒผใƒ‡ใ‚ฃใƒณใ‚ฐใฎไพ‹: - -```shell title="~/.zshrc" showLineNumbers -zi is-snippet wait lucid for \ - atload"unalias grv g" \ - OMZP::{git,sudo,encode64,extract} \ - if'[[ -d /opt/google-cloud-sdk ]]' \ - OMZP::gcloud \ - if'[[ -f /etc/os-release ]] && source /etc/os-release && [[ "$ID" = arch ]]' \ - OMZP::archlinux \ - if'[[ -d ~/.nvm ]]' \ - OMZP::nvm \ - if'[[ -d ~/.ssh ]]' \ - OMZP::ssh-agent \ - if'[[ -d ~/.gnupg ]]' \ - OMZP::gpg-agent \ - if'[[ "$OSTYPE" = *-gnu ]]' \ - OMZP::gnu-utils \ - has'pip' \ - OMZP::pip \ - has'python' \ - OMZP::python -``` - -:::tip - -ไธŠใฎไพ‹ใ‚’1ใคใฎใƒ•ใ‚กใ‚คใƒซใซๆŸใญใ‚‹: - -`zi snippet ใƒ†ใƒผใƒžใซใ‚ˆใฃใฆใฏใ€่ฟฝๅŠ ใฎ่จญๅฎšใŒๅฟ…่ฆใชๅ ดๅˆใŒใ‚ใ‚Šใพใ™ใ€‚ใใ‚Œใฏใ€ใƒ†ใƒผใƒž่จญๅฎšใƒ•ใ‚กใ‚คใƒซใ‹ใ‚‰ๅˆคๆ–ญใงใใพใ™ใ€‚ - -- Load `git` library -- Load the `git` plugin -- ใƒฉใ‚คใƒ–ใƒฉใƒชใฎไพๅญ˜้–ขไฟ‚ใ‚’่ชญใฟ่พผใ‚€ -- Enable `setopt prompt_subst` - -ไธŠ่จ˜ใฎใ†ใก1ใคใงใ‚‚ๆฌ ใ‘ใฆใ„ใŸใ‚Šใ€้ †็•ชใŒ้•ใฃใฆใ„ใŸใ‚Šใ™ใ‚‹ใจใ€ไปฅไธ‹ใฎใ‚ˆใ†ใซใƒ†ใƒผใƒžใŒๅฃŠใ‚Œใพใ™ใ€‚ - -```shell -โ€ฆ $(build_prompt) โ€ฆ -``` - -If the `Git` library is not loaded or loaded in the wrong order, then it may appear similar to the following: - -```shell showLineNumbers -........:1: command not found: git_prompt_status -........:1: command not found: git_prompt_short_sha -``` - -ใƒ†ใƒผใƒžใงๅ•้กŒใŒ็™บ็”Ÿใ—ใŸๅ ดๅˆใ€OMZใ‚ตใƒใƒผใƒˆใƒฉใ‚คใƒ–ใƒฉใƒชใ‚’่ชญใฟ่พผใ‚€ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚ - -- If your theme isn't colored when it should, you will want to load `theme-and-appearance.zsh` - -- ๆฌกใฎใ‚ˆใ†ใชใ‚จใƒฉใƒผใƒกใƒƒใ‚ปใƒผใ‚ธใŒ่กจ็คบใ•ใ‚ŒใŸๅ ดๅˆ: - -```shell showLineNumbers -zsh: command not found: ruby_prompt_info -``` - -You need to load `prompt_info_functions.zsh` - -ใพใจใ‚ใ‚‹ใจใ€ๆฌกใฎใ‚ˆใ†ใซใชใ‚Šใพใ™: - -```shell title="~/.zshrc" showLineNumbers -zi snippet OMZL::git.zsh -zi snippet OMZP::git -zi snippet OMZL::theme-and-appearance.zsh -zi snippet OMZL::prompt_info_functions.zsh -``` - -ใใฎๅพŒใ€ใƒ—ใƒญใƒณใƒ—ใƒˆใ‚’่ชญใฟ่พผใฟใพใ™: - -```shell showLineNumbers -setopt prompt_subst -zi snippet OMZT::robbyrussell -``` - -### External theme sample: [NicoSantangelo/Alpharized][] - -OMZใ‚’่ชญใฟ่พผใ‚€: - -```shell title="~/.zshrc" -ZSH_THEME="alpharized" -``` - -Load `git` library from OMZ: - -```shell title="~/.zshrc" -zi snippet OMZL::git.zsh -``` - -Load `git` plugin from OMZ: - -```shell title="~/.zshrc" showLineNumbers -zi snippet OMZP::git -zi cdclear -q -``` - -ใใฎๅพŒใ€ใƒ—ใƒญใƒณใƒ—ใƒˆใ‚’่ชญใฟ่พผใฟใพใ™: - -```shell title="~/.zshrc" showLineNumbers -setopt prompt_subst -zi light NicoSantangelo/Alpharized -``` - -## Prezto - -### PZT ็œ็•ฅ่จ˜ๅทๆง‹ๆ–‡ - -```shell title="~/.zshrc" showLineNumbers -zi snippet # Raw syntax with URL -zi snippet PZT:: # Shorthand PZT:: (https://github.com/sorin-ionescu/prezto/tree/master/) -zi snippet PZTM:: # Shorthand PZT::modules/ (https://github.com/sorin-ionescu/prezto/tree/master/modules/) -``` - -### PZT modules {#pzt-modules} - -Importing the [environment](https://github.com/sorin-ionescu/prezto/tree/master/modules/environment/README.md) and [terminal](https://github.com/sorin-ionescu/prezto/tree/master/modules/terminal/README.md) Prezto modules example: - -็”Ÿใฎๆง‹ๆ–‡ - -```shell title="~/.zshrc" showLineNumbers -zi snippet https://github.com/sorin-ionescu/prezto/blob/master/modules/environment/init.zsh -zi snippet https://github.com/sorin-ionescu/prezto/blob/master/modules/terminal/init.zsh -``` - -PZT ็œ็•ฅ่จ˜ๅทๆง‹ๆ–‡: - -```shell title="~/.zshrc" showLineNumbers -zi snippet PZT:: -zi snippet PZT::modules/environment -zi snippet PZT::modules/terminal -``` - -PZTMใฎ็œ็•ฅ่จ˜ๅทๆง‹ๆ–‡: - -```shell title="~/.zshrc" showLineNumbers -zi snippet PZTM:: -zi snippet PZTM::environment -zi snippet PZTM::terminal -``` - -Preztoใƒขใ‚ธใƒฅใƒผใƒซ: - -```diff title="~/.zshrc" showLineNumbers -- zstyle ':prezto:load' pmodule 'git' -- zstyle ':prezto:load' pmodule 'environment' 'terminal' - -+ zi snippet PZTM::git -+ zi is-snippet for PZTM::environment PZTM::terminal -``` - -ๅˆฉ็”จๅฏ่ƒฝใชPreztoใƒขใ‚ธใƒฅใƒผใƒซ: - -| ใƒขใ‚ธใƒฅใƒผใƒซๅ | ่ชฌๆ˜Ž | -| -------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------- | -| [archive](https://github.com/sorin-ionescu/prezto/blob/master/modules/archive/README.md) | ใ‚ขใƒผใ‚ซใ‚คใƒ–ใฎไธ€่ฆง่กจ็คบใ‚„ๆŠฝๅ‡บใ‚’่กŒใ†ๆฉŸ่ƒฝใ‚’ๆไพ›ใ—ใพใ™ใ€‚ | -| [autosuggestions](https://github.com/sorin-ionescu/prezto/blob/master/modules/autosuggestions/README.md) | Integrates `zsh-autosuggestions` plugin into Prezto. | -| [command-not-found](https://github.com/sorin-ionescu/prezto/tree/master/modules/command-not-found/README.md) | Loads the `command-not-found` tool on macOS or Debian-based distributions. | -| [completion](https://github.com/sorin-ionescu/prezto/tree/master/modules/completion/README.md) | Sets TAB completion and provides additional completions from the `zsh-completions`. | -| [directory](https://github.com/sorin-ionescu/prezto/tree/master/modules/directory/README.md) | ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใฎใ‚ชใƒ—ใ‚ทใƒงใƒณใ‚’่จญๅฎšใ—ใ€ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใƒปใ‚จใ‚คใƒชใ‚ขใ‚นใ‚’ๅฎš็พฉใ—ใพใ™ใ€‚ | -| [dnf](https://github.com/sorin-ionescu/prezto/tree/master/modules/dnf/README.md) | Defines `dnf` aliases. | -| [docker](https://github.com/sorin-ionescu/prezto/tree/master/modules/docker/README.md) | Defines `docker` aliases and functions. | -| [dpkg](https://github.com/sorin-ionescu/prezto/tree/master/modules/dpkg/README.md) | Defines `dpkg` aliases and functions. | -| [editor](https://github.com/sorin-ionescu/prezto/tree/master/modules/editor/README.md) | ใ‚ญใƒผใƒใ‚คใƒณใƒ‡ใ‚ฃใƒณใ‚ฐใ‚’่จญๅฎšใ—ใพใ™ใ€‚ | -| [emacs](https://github.com/sorin-ionescu/prezto/tree/master/modules/emacs/README.md) | Emacsใฎไพๅญ˜้–ขไฟ‚็ฎก็†ใ‚’ๆœ‰ๅŠนใซใ—ใพใ™ใ€‚ | -| [environment](https://github.com/sorin-ionescu/prezto/tree/master/modules/environment/README.md) | ไธ€่ˆฌ็š„ใชใ‚ทใ‚งใƒซใ‚ชใƒ—ใ‚ทใƒงใƒณใ‚’่จญๅฎšใ—ใ€็’ฐๅขƒๅค‰ๆ•ฐใ‚’ๅฎš็พฉใ—ใพใ™ใ€‚ | -| [fasd](https://github.com/sorin-ionescu/prezto/tree/master/modules/fasd/README.md) | ้ ป็นใซไฝฟ็”จใ™ใ‚‹ใƒ•ใ‚กใ‚คใƒซใ‚„ใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใฎใƒชใ‚นใƒˆใ‚’ไฟๆŒใ—ใ€้ซ˜้€Ÿใชใ‚ขใ‚ฏใ‚ปใ‚นใ‚’ๅฎŸ็พใ—ใพใ™ใ€‚ | -| [git](https://github.com/sorin-ionescu/prezto/tree/master/modules/git/README.md) | ๅˆฅๅใ€้–ขๆ•ฐใ€ใŠใ‚ˆใณใƒชใƒใ‚ธใƒˆใƒชใƒผ็Šถๆณๆƒ…ๅ ฑใ‚’ใƒ—ใƒญใƒณใƒ—ใƒˆใซ่กจ็คบใ™ใ‚‹ใ“ใจใซใ‚ˆใฃใฆใ€ Git ใ‚’ๆ‹กๅผตใ—ใพใ™ใ€‚ | -| [gnu-utility](https://github.com/sorin-ionescu/prezto/tree/master/modules/gnu-utility/README.md) | GNU ไปฅๅค–ใฎใ‚ทใ‚นใƒ†ใƒ ใงใฎ GNU ใƒฆใƒผใƒ†ใ‚ฃใƒชใƒ†ใ‚ฃใฎใ‚คใƒณใ‚ฟใƒฉใ‚ฏใƒ†ใ‚ฃใƒ–ใชไฝฟ็”จใ‚’ๅฏ่ƒฝใซใ—ใพใ™ใ€‚ | -| [gpg](https://github.com/sorin-ionescu/prezto/tree/master/modules/gpg/README.md) | Provides for an easier use of GPG by setting up `gpg-agent`. | -| [haskell](https://github.com/sorin-ionescu/prezto/tree/master/modules/haskell/README.md) | Haskell ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎใƒญใƒผใ‚ซใƒซใ‚คใƒณใ‚นใƒˆใƒผใƒซใ‚’ๆœ‰ๅŠนใซใ—ใพใ™ใ€‚ | -| [helper](https://github.com/sorin-ionescu/prezto/tree/master/modules/helper/README.md) | ใƒขใ‚ธใƒฅใƒผใƒซ้–‹็™บใฎใŸใ‚ใฎใƒ˜ใƒซใƒ‘ใƒผๆฉŸ่ƒฝใ‚’ๆไพ›ใ—ใพใ™ใ€‚ | -| [history-substring-search](https://github.com/sorin-ionescu/prezto/tree/master/modules/history-substring-search/README.md) | Zsh-history-substring-searchใ‚’Preztoใซ็ตฑๅˆใ—ใพใ™ใ€‚ | -| [history](https://github.com/sorin-ionescu/prezto/tree/master/modules/history/README.md) | ใƒ’ใ‚นใƒˆใƒชใƒผใฎใ‚ชใƒ—ใ‚ทใƒงใƒณใ‚’่จญๅฎšใ—ใ€ใƒ’ใ‚นใƒˆใƒชใƒผใฎใ‚จใ‚คใƒชใ‚ขใ‚นใ‚’ๅฎš็พฉใ—ใพใ™ใ€‚ | -| [homebrew](https://github.com/sorin-ionescu/prezto/tree/master/modules/homebrew/README.md) | Homebrewใฎใ‚จใ‚คใƒชใ‚ขใ‚นใ‚’ๅฎš็พฉใ—ใพใ™ใ€‚ | -| [macports](https://github.com/sorin-ionescu/prezto/tree/master/modules/macports/README.md) | MacPortsใฎใ‚จใ‚คใƒชใ‚ขใ‚นใ‚’ๅฎš็พฉใ—ใ€MacPortsใฎใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใ‚’pathใซ่ฟฝๅŠ ใ—ใพใ™ใ€‚ | -| [node](https://github.com/sorin-ionescu/prezto/tree/master/modules/node/README.md) | Provides utility functions for Node.js and loads `npm` completion. | -| [ocaml](https://github.com/sorin-ionescu/prezto/tree/master/modules/ocaml/README.md) | OCaml ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธ็ฎก็†ใ‚’ๅˆๆœŸๅŒ–ใ—ใพใ™ใ€‚ | -| [osx](https://github.com/sorin-ionescu/prezto/tree/master/modules/osx/README.md) | MacOSใฎใ‚จใ‚คใƒชใ‚ขใ‚นใ‚„้–ขๆ•ฐใ‚’ๅฎš็พฉใ—ใฆใ„ใพใ™ใ€‚ | -| [pacman](https://github.com/sorin-ionescu/prezto/tree/master/modules/pacman/README.md) | Pacman ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใƒžใƒใƒผใ‚ธใƒฃใจใƒ•ใƒญใƒณใƒˆใ‚จใƒณใƒ‰ใฎใŸใ‚ใฎใ‚จใ‚คใƒชใ‚ขใ‚นใ‚„้–ขๆ•ฐใ‚’ๆไพ›ใ—ใพใ™ใ€‚ | -| [perl](https://github.com/sorin-ionescu/prezto/tree/master/modules/perl/README.md) | MacOSใงใฎPerlใƒขใ‚ธใƒฅใƒผใƒซใฎใƒญใƒผใ‚ซใƒซใ‚คใƒณใ‚นใƒˆใƒผใƒซใ‚’ๅฏ่ƒฝใซใ—ใ€ใ‚จใ‚คใƒชใ‚ขใ‚นใ‚’ๅฎš็พฉใ—ใพใ™ใ€‚ | -| [prompt](https://github.com/sorin-ionescu/prezto/tree/master/modules/prompt/README.md) | ใƒ—ใƒญใƒณใƒ—ใƒˆใฎใƒ†ใƒผใƒžใ‚’่ชญใฟ่พผใฟใพใ™ใ€‚ | -| [python](https://github.com/sorin-ionescu/prezto/tree/master/modules/python/README.md) | ใƒญใƒผใ‚ซใƒซPythonใŠใ‚ˆใณใƒญใƒผใ‚ซใƒซPythonใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซใ‚’ๆœ‰ๅŠนใซใ—ใพใ™ใ€‚ | -| [rails](https://github.com/sorin-ionescu/prezto/tree/master/modules/rails/README.md) | Ruby on Railsใฎใ‚จใ‚คใƒชใ‚ขใ‚นใ‚’ๅฎš็พฉใ—ใพใ™ใ€‚ | -| [rsync](https://github.com/sorin-ionescu/prezto/tree/master/modules/rsync/README.md) | Defines `rsync` aliases. | -| [ruby](https://github.com/sorin-ionescu/prezto/tree/master/modules/ruby/README.md) | Rubyใฎใƒญใƒผใ‚ซใƒซgemใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซใ€ใƒใƒผใ‚ธใƒงใƒณใƒžใƒใƒผใ‚ธใƒฃใฎใƒญใƒผใƒ‰ใ€ใ‚จใ‚คใƒชใ‚ขใ‚นใฎๅฎš็พฉใชใฉใ‚’่จญๅฎšใ—ใพใ™ใ€‚ | -| [screen](https://github.com/sorin-ionescu/prezto/tree/master/modules/screen/README.md) | GNU Screen ใฎใ‚จใ‚คใƒชใ‚ขใ‚นใ‚’ๅฎš็พฉใ—ใ€่ตทๅ‹•ๆ™‚ใซ่‡ชๅ‹•่ตทๅ‹•ใ™ใ‚‹ๆฉŸ่ƒฝใ‚’ๆไพ›ใ—ใพใ™ใ€‚ | -| [spectrum](https://github.com/sorin-ionescu/prezto/tree/master/modules/spectrum/README.md) | 256 colorใ‚„ใ‚จใƒ•ใ‚งใ‚ฏใƒˆใ‚’ใ‚ˆใ‚Šไฝฟใ„ใ‚„ใ™ใใ™ใ‚‹ใŸใ‚ใฎๆฉŸ่ƒฝใ‚’ๆไพ›ใ—ใพใ™ใ€‚ | -| [ssh](https://github.com/sorin-ionescu/prezto/tree/master/modules/ssh/README.md) | Provides for an easier use of SSH by setting up `ssh-agent`. | -| [syntax-highlighting](https://github.com/sorin-ionescu/prezto/tree/master/modules/syntax-highlighting/README.md) | Integrates `zsh-syntax-highlighting` into Prezto. | -| [terminal](https://github.com/sorin-ionescu/prezto/tree/master/modules/terminal/README.md) | ใ‚ฟใƒผใƒŸใƒŠใƒซใ‚ฆใ‚ฃใƒณใƒ‰ใ‚ฆใจใ‚ฟใƒ–ใฎใ‚ฟใ‚คใƒˆใƒซใ‚’่จญๅฎšใ—ใพใ™ใ€‚ | -| [tmux](https://github.com/sorin-ionescu/prezto/tree/master/modules/tmux/README.md) | Defines `tmux` aliases and provides for auto launching it at start-up. | -| [utility](https://github.com/sorin-ionescu/prezto/tree/master/modules/utility/README.md) | ไธ€่ˆฌ็š„ใชใ‚จใ‚คใƒชใ‚ขใ‚นใ‚„้–ขๆ•ฐใ‚’ๅฎš็พฉใ—ใพใ™ใ€‚ | -| [wakeonlan](https://github.com/sorin-ionescu/prezto/tree/master/modules/wakeonlan/README.md) | ใ“ใฎใƒขใ‚ธใƒฅใƒผใƒซใฏใ€wakeonlanใƒ„ใƒผใƒซใฎใƒฉใƒƒใƒ‘ใƒผใ‚’ๆไพ›ใ—ใพใ™ใ€‚ | -| [yum](https://github.com/sorin-ionescu/prezto/blob/master/modules/autosuggestions/README.md) | yum ใฎใ‚จใ‚คใƒชใ‚ขใ‚นใ‚’ๅฎš็พฉใ—ใพใ™ใ€‚ | - -Use `zi ice svn` if multiple files require an entire subdirectory. - -- [docker](https://github.com/sorin-ionescu/prezto/tree/master/modules/docker/README.md) -- [git](https://github.com/sorin-ionescu/prezto/tree/master/modules/git/README.md) - -```shell title="~/.zshrc" showLineNumbers -zi ice svn -zi snippet PZTM::docker - -zi ice svn -zi snippet PZTM::git -``` - -Use `zi ice as"null"` no `*.plugin.zsh`, `init.zsh`, `*.zsh-theme*` files exist in module directory. - -- [archive](https://github.com/sorin-ionescu/prezto/tree/master/modules/archive/README.md): - -```shell title="~/.zshrc" showLineNumbers -zi ice svn as"null" -zi snippet PZTM::archive -``` - -Use `zi ice atclone"git clone "` if module have external module. - -- [completion](https://github.com/sorin-ionescu/prezto/tree/master/modules/completion/README.md): - -```shell title="~/.zshrc" showLineNumbers -zi ice svn blockf \ - atclone"git clone --recursive https://github.com/zsh-users/zsh-completions.git external" -zi snippet PZTM::completion -``` - -Use `blockf` to prevent any unnecessary additions to `fpath`, as Zi manages `fpath`. - -:::tip - -What is `zstyle`? - -- Official (zsh.sourceforge.net): [zsh/zutil](https://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fzutil-Module) -- StackExchange: [What does `zstyle` do?][about-zstyle] - -::: - -ๅˆฉ็”จๅฏ่ƒฝ - -## Zgen - -### OMZใƒฉใ‚คใƒ–ใƒฉใƒชใฎ่ชญใฟ่พผใฟ - -```diff title="~/.zshrc" showLineNumbers -- zgen oh-my-zsh - -+ zi snippet OMZL:: -``` - -### OMZใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎ่ชญใฟ่พผใฟ - -```diff title="~/.zshrc" showLineNumbers -- zgen oh-my-zsh - -+ zi snippet OMZP:: -``` - -### Prezto ใƒขใ‚ธใƒฅใƒผใƒซใฎใƒญใƒผใƒ‰ - -```diff title="~/.zshrc" showLineNumbers -- zgen prezto - -+ zi snippet PZTM:: -``` - -ใƒชใƒใ‚ธใƒˆใƒชใ‚’ prezto ใƒ—ใƒฉใ‚ฐใ‚คใƒณใจใ—ใฆ่ชญใฟ่พผใ‚€: - -```diff title="~/.zshrc" showLineNumbers -- zgen pmodule - -+ zi ice ver"" -+ zi load -``` - -### Zgenใฎ่ฆ็ด„ - -:::info - -For the `location`: refer src, pick, multisrc ice-modifier. - -::: - -```diff title="~/.zshrc" showLineNumbers -- zgen load [location] [branch] - -+ zi ice ver"[branch]" -+ zi load -``` - -## ZplugใฎๅŸบๆœฌ - -```diff title="~/.zshrc" showLineNumbers -- zplug , tag1:, tag2: - -+ zi ice tag1"" tag2"" -+ zi load -``` - -### ใ‚ฟใ‚ฐใฎๆฏ”่ผƒ - -- `as` => `as` -- `use` => `pick`, `src`, `multisrc` -- `ignore` => None -- `from` => `from` -- `at` => `ver` -- `rename-to` => `mv`, `cp` -- `dir` => Selection(`pick`, โ€ฆ) with rename -- `if` => `if` -- `hook-build` => `atclone`, `atpull` -- `hook-load` => `atload` -- `frozen` => None -- `on` => None -- `defer` => `wait` -- `lazy` => `autoload` -- `depth` => `depth` - - - - - - - -[about-zstyle]: https://unix.stackexchange.com/questions/214657/what-does-zstyle-do - -[nicosantangelo/alpharized]: https://github.com/nicosantangelo/Alpharized - -[omz/ag]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/ag - -[omz/clipboard]: https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zsh - -[omz/docker]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/docker - -[omz/fd]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/fd - -[omz/gitfast]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitfast - -[omz/history-substring-search]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/history-substring-search - -[omz/osx]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/macos - -[omz/termsupport]: https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/getting_started/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/getting_started/_category_.json deleted file mode 100644 index 32a2af52..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/getting_started/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "๐Ÿš€ ใฏใ˜ใ‚ใซ", - "position": 2, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/guides/01_commands.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/guides/01_commands.mdx deleted file mode 100644 index 423cc4d6..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/guides/01_commands.mdx +++ /dev/null @@ -1,318 +0,0 @@ ---- -id: commands -title: ๐Ÿ›  Commands -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -description: Zi subcommands and functionality -slug: commands ---- - - - -import Link from "@docusaurus/Link"; -import APITable from "@site/src/components/APITable"; -import ZiTabCompletion from "@site/src/components/Markdown/_zi_tab_completion.mdx"; - -## Updates {#updates-upgrades} - -To update and recompile Zi run `zi self-update` in the command line. To update all plugins and snippets, issue `zi update`. To update all in parallel (up to 40 at the time) `zi update -p 40` If you wish to update only a single plugin/snippet instead issue `zi update `. A list of commits will be shown if any. - -Some plugins require acting each time they're updated. One way you can do this is by using the `atpull'โ€ฆ'` ice modifier. For example, writing `zi ice atpull'./configure'` before loading a plugin will execute `./configure` after a successful update. Refer to [ice-modifiers][1] for more information. - -The ice-modifiers for any plugin or snippet are stored in their directory in a `._zi` subdirectory, hence the plugin doesn't have to be loaded to be correctly updated. There's one other file created there, `.zi_lstupd` โ€“ it holds the log of the new commits pulled-in in the last update. - -Self-update & compile: - -```shell -zi self-update -``` - -ใƒ—ใƒฉใ‚ฐใ‚คใƒณใจใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚’ๆ›ดๆ–ฐ: - -```shell showLineNumbers -zi update --all -zi update --reset -zi update --quiet -``` - -ใƒ—ใƒฉใ‚ฐใ‚คใƒณใพใŸใฏใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚’ๆ›ดๆ–ฐ: - -```shell showLineNumbers -zi update --plugins -zi update --snippets -``` - -็‰นๅฎšใฎใƒ—ใƒฉใ‚ฐใ‚คใƒณใ‚’ๆ›ดๆ–ฐ Default is GitHub but can specify any with ice [from'โ€ฆ'](/search?q=from): - -```shell -zi update / -``` - -ใƒ—ใƒฉใ‚ฐใ‚คใƒณใฎไธฆๅˆ—ใ‚ขใƒƒใƒ—ใƒ‡ใƒผใƒˆ - -```shell -zi update --parallel -``` - -ๅŒๆ™‚ๅฎŸ่กŒใ™ใ‚‹ใ‚ธใƒงใƒ–ใฎๆ•ฐใ‚’ 40 ใซๅข—ใ‚„ใ™ - -```shell -zi update --parallel 40 -``` - -## Compinit - -:::note - -Calling `compinit` once is a huge performance gain, for example, shell startup time with double `compinit`: **0.980** sec, with `cdreplay` and single `compinit`: **0.156** sec. - -::: - -### Calling `compinit` without turbo mode - -With no turbo mode in use, compinit can be called normally, i.e.: as `autoload compinit; compinit`. This should be done after loading all plugins and before possibly calling `zi cdreplay`. The `cdreplay` subcommand is provided to re-play all caught `compdef` calls. The `compdef` calls are used to define a completion for a command. For example, `compdef _git git` defines that the `git` command should be completed by a `_git` function. The `compdef` function is provided by the `compinit` call. - -As it should be called later, after loading all of the plugins, Zi provides its own `compdef` function that catches (i.e.: records in an array) the arguments of the call, so that the loaded plugins can freely call `compdef`. Then, the `cdreplay` (compdef-replay) can be used, after `compinit` will be called (and the original `compdef` function will become available), to execute all detected `compdef` calls. - -```shell title="~/.zshrc" showLineNumbers -source ~/.zi/bin/zi.zsh - -zi load "some/plugin" - -(โ€ฆ) - -compdef _gnu_generic fd # this will be intercepted by ZI, because as the compinit - # isn't yet loaded, thus there's no such function `compdef'; yet - # ZI provides its own `compdef' function which saves the - # completion-definition for later possible re-run with `zi - # cdreplay' or `zicdreplay' (the second one can be used in hooks - # like atload'โ€ฆ', atinit'โ€ฆ', etc.) - -(โ€ฆ) - -zi load "other/plugin" - -autoload -Uz compinit -compinit - -zi cdreplay -q # -q is for quiet; actually, run all the `compdef's saved before - #`compinit` call (`compinit' declares the `compdef' function, so - # it cannot be used until `compinit' is run; ZI solves this - # via intercepting the `compdef'-calls and storing them for later - # use with `zi cdreplay') -``` - -### Calling `compinit` with turbo mode - -If you load completions using `wait'โ€ฆ'` [turbo mode][2] then you can add `atinit'zicompinit'` to the syntax-highlighting plugin (which should be the last one loaded, as their (2 projects, [zsh-syntax-highlighting][3] & [F-Sy-H][4]) documentation state), or `atload'zicompinit'` to last completion-related plugin. `zicompinit` is a function that just runs `autoload compinit; compinit`, created for convenience. - -Alternatively, the `zicompinit` can be replaced with `zicompinit_fast` which checks the cached `.zcompdump` and determines when to regenerate the file. This restricts checking it once a day, as compinit doesn't always need to modify the compdump and compiles mapped to share in the background in multiple shells. - -There's also `zicdreplay` which will replay any caught compdefs so you can also do: `atinit'zicompinit; zicdreplay'`, etc. - -It is recommended to run the `compinit` call in the `atinit` or `atload` hook of the last related plugin with the use of the helper functions `zicompinit`,`zicdreplay` & `zicdclear` as shown below: - -```shell {10} title="~/.zshrc" showLineNumbers -source ~/.zi/bin/zi.zsh - -# Load using the for-syntax -zi wait lucid for \ - "some/plugin" - -zi wait lucid for \ - "other/plugin" - -zi wait lucid atload"zicompinit; zicdreplay" blockf for \ - zsh-users/zsh-completions -``` - -### Ignoring compdefs - -If you want to ignore compdefs provided by some plugins or snippets, place their load commands before commands loading other plugins or snippets, and issue `zi cdclear` (or `zicdclear`, designed to be used in hooks like `atload'โ€ฆ'`): - -```shell showLineNumbers -source ~/.zi/bin/zi.zsh -zi snippet OMZP::git -zi cdclear -q # <- forget completions provided by Git plugin - -zi load "some/plugin" - -(โ€ฆ) - -zi load "other/plugin" - -autoload -Uz compinit -compinit -zi cdreplay -q # <- execute compdefs provided by rest of plugins -zi cdlist # look at gathered compdefs -``` - -The `cdreplay` is important if you use plugins like `OMZP::kubectl` or `asdf-vm/asdf` because these plugins call `compdef`. - -Following commands are passed to `zi โ€ฆ` to obtain described effects. - -## Loading and unloading - -```mdx-code-block - -``` - -| Command | ่ชฌๆ˜Ž | -| :------------------: | ------------------------------------------------------------------------------------------------- | -| `load` `'โ€ฆ'` | Load plugin, can also receive absolute local path. | -| `light` `-b` `'โ€ฆ'` | Light plugin load, without reporting/investigating. `-b` โ€“ investigate `bindkey`-calls only. [^1] | -| `unload` `-q` `'โ€ฆ'` | Unload plugin loaded with `zi load โ€ฆ`. `-q` โ€“ quiet. | -| `snippet` `-f` `URL` | Source local (full path) or remote file (URL). `-f` โ€“ don't use cache (force re-download). [^2] | - -```mdx-code-block - -``` - -## Completions management - -```mdx-code-block - -``` - -| Command | ่ชฌๆ˜Ž | -| :------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------------- | -| `clist` `columns` or `completions` `columns` | List completions in use, with `columns` completions per line. `zi clist 5` will for example print 5 completions per line. Default is 3. | -| `cdisable` `'โ€ฆ'` | Disable completion. | -| `cenable` `'โ€ฆ'` | Enable completion. | -| `creinstall` `-q` `-Q` `'โ€ฆ'` | Install completions for the plugin, can also receive absolute local path. `-q` โ€“ quiet. `-Q` - quiet all. | -| `cuninstall 'โ€ฆ'` | Uninstall completions for the plugin. | -| `csearch` | Search for available completions from any plugin. | -| `compinit` | Refresh installed completions. | -| `cclear` | Clear stray and improper completions. | -| `cdlist` | Show compdef replay list. | -| `cdreplay` `-q` | Replay compdefs (to be done after compinit). `-q` โ€“ quiet. | -| `cdclear` `-q` | Clear compdef replay list. `-q` โ€“ quiet. | - -```mdx-code-block - -``` - -## Tracking of the active session - -```mdx-code-block - -``` - -| Command | ่ชฌๆ˜Ž | -| :--------------: | ----------------------------------------------------- | -| `dtrace, dstart` | Start investigating what's going on in the session. | -| `dstop` | Stop investigating what's going on in the session. | -| `dunload` | Revert changes recorded between `dstart` and `dstop`. | -| `dreport` | Report what was going on in the session. | -| `dclear` | Clear report of what was going on in the session. | - -```mdx-code-block - -``` - -## Reports and statistics - -```mdx-code-block - -``` - -| Command | ่ชฌๆ˜Ž | -| :-----------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `times` `-s` `-m` `-a` | Statistics on plugin load times, sorted in order of loading. `-s` โ€“ use seconds instead of milliseconds. `-m` โ€“ show plugin loading moments and `-a` both. | -| `zstatus` | Overall ZI status. | -| `report` `'โ€ฆ'` `--all` | Show plugin report. `--all` โ€“ do it for all plugins. | -| `loaded` | Show loaded plugins | -| `list` `keyword` | Filter loaded plugins with only 'keyword' | -| `ls` | List snippets in a formatted and colorized manner. Requires **tree** program. | -| `status` `'โ€ฆ'` or `URL` `--all` | Git status for plugin or svn status for the snippet. `--all` โ€“ do it for all plugins and snippets. | -| `recently` `time-spec` | Show plugins that changed recently, the argument is e.g. 1 month 2 days. | -| `bindkeys` | Lists bindkeys set up by each plugin. | - -```mdx-code-block - -``` - -## Compiling - -```mdx-code-block - -``` - -| Command | ่ชฌๆ˜Ž | -| :-----------------------: | ----------------------------------------------------------------------- | -| `compile` `'โ€ฆ'` `--all` | Compile plugin. `--all` โ€“ compile all plugins. | -| `uncompile` `'โ€ฆ'` `--all` | Remove compiled version of the plugin. `--all` โ€“ do it for all plugins. | -| `compiled` | List plugins that are compiled. | - -```mdx-code-block - -``` - -## Other commands - -```mdx-code-block - -``` - -| Command | ่ชฌๆ˜Ž | -| :------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `self-update` | Updates and compiles Zi. | -| `update` `-q` `-r` `'โ€ฆ'` or `--all` | Update all plugins and snippets with `--all` โ€“ for quiet `-q` โ€“ execute `git reset --hard` or `svn revert` before pulling changes with `-r`. | -| `ice 'โ€ฆ'` | Add ice to next command, argument e.g.: from"gitlab". | -| `delete` `'โ€ฆ'` or `--clean` `--all` | Remove plugin or snippet from disk (good to forget wrongly passed ice-modifiers) `--all` โ€“ delete plugins and snippets that are not loaded with `--clean`. | -| `cd 'โ€ฆ'` | Jump into the plugin's directory. Also support snippets if fed with URL. | -| `edit 'โ€ฆ'` | Edit plugin's file with set $EDITOR. | -| `glance 'โ€ฆ'` | Look at plugin's source (pygmentize, {,source-}highlight). | -| `stress 'โ€ฆ'` | Test plugin for compatibility with a set of options. | -| `changes 'โ€ฆ'` | View plugin's git log. | -| `create 'โ€ฆ'` | Create plugin (also together with GitHub repository). | -| `srv` `service-id` `{command}` | Control a service, command can be: stop,start,restart,next,quit; `next` moves the service to another Z shell. | -| `recall 'โ€ฆ'` `URL` | Fetch saved ice modifiers and construct `zi ice 'โ€ฆ'` command. | -| `env-whitelist` `-v` `-h` `{env..}` | Allows to specify names or patterns of variables left unchanged during an unload โ€“ verbose `-v` โ€“ help `-h`. | -| `module` | Manage binary Zsh module shipped with ZI, see `zi module help`. | -| `add-fpath` `fpath` `-f` `--front` `'โ€ฆ'` `sub-directory` | Adds given plugin (not yet snippet) directory to `$fpath`. If the second argument is given, it is appended to the directory path. [^3] | -| `run` `-l` `plugin` `{command}` | Runs the given command in the given plugin's directory. [^4] | - -```mdx-code-block - -``` - -## Help & manual - -```mdx-code-block - -``` - -| Command | ่ชฌๆ˜Ž | -| :--------: | ---------------- | -| `-h, help` | ๅˆฉ็”จๆ–นๆณ• | -| `man` | ใƒžใƒ‹ใƒฅใ‚ขใƒซ | - -```mdx-code-block - -``` - -## Commands available using ^TAB completion - - - - - - - -[^1]: There's also `light-mode` ice which can be used to induce the no-investigating (i.e.: _light_) loading, regardless of the command used. -[^2]: The URL can use the following shorthands: `PZT::` (Prezto), `PZTM::` (Prezto module), `OMZ::` (Oh-My-Zsh), `OMZP::` (OMZ plugin), `OMZL::` (OMZ library), `OMZT::` (OMZ theme), e.g.: `PZTM::environment`, `OMZP::git`, etc. -[^3]: The `'โ€ฆ'` can be an absolute path, i.e.: it's possible to also add regular directories. If the option `-f` or `--front` is given, the directory path is prepended instead of appended to `$fpath`. -[^4]: If the option `-l` will be given then the plugin should be skipped โ€“ the option will cause the previous plugin to be reused. - - - -[1]: /search/?q=ice-modifiers - -[2]: /search?q=turbo+mode - - - -[3]: https://github.com/zsh-users/zsh-syntax-highlighting - -[4]: https://github.com/z-shell/F-Sy-H diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/guides/02_customization.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/guides/02_customization.mdx deleted file mode 100644 index 68e169e5..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/guides/02_customization.mdx +++ /dev/null @@ -1,331 +0,0 @@ ---- -id: customization -title: ๐Ÿ— Configuration management -sidebar_position: 2 -image: /img/png/theme/z/320x320.png -description: User preferences, environment, and configuration. -keywords: - - config - - preferences ---- - - - -import APITable from "@site/src/components/APITable"; -import MultiplePromptsExample from "@site/src/components/Markdown/_multiple_prompts_example.mdx"; - -## Hash parameter - -:::info Related - -- [standard parameter naming][] - -::: - -Set the initial hash definition and custom values, before enabling Zi. - -Example: - -```shell showLineNumbers -typeset -A ZI -ZI[BIN_DIR]="some/custom/path/to/bin" -source "${ZI[BIN_DIR]}/zi.zsh" -``` - -### Customize paths {#customizing-paths} - -```mdx-code-block - -``` - -| Hash Field | ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆ | ่ชฌๆ˜Ž | -| ------------------------------------ | ----------------------------- | ---------------------------------------------- | -| `ZI[HOME_DIR]` | `$HOME/.zi` | Where Zi should create all working directories | -| `ZI[BIN_DIR]` | `$HOME/.zi/bin` | Directory where Zi code resides | -| `ZI[COMPLETIONS_DIR]` | `$ZI[HOME_DIR]/completions` | Completion working directory | -| `ZI[CACHE_DIR]` | `$HOME/.cache/zi` | ใ‚ญใƒฃใƒƒใ‚ทใƒฅใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒช | -| `ZI[CONFIG_DIR]` | `$HOME/.config/zi` | ่จญๅฎšใƒ•ใ‚กใ‚คใƒซใฎใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒช | -| `ZI[MAN_DIR]` | `$ZPFX/man` | Directory to store manpages | -| `ZI[LOG_DIR]` | `$ZI[CACHE_DIR]/log` | Directory to store log files | -| `ZI[PLUGINS_DIR]` | `$ZI[HOME_DIR]/plugins` | ไฝœๆฅญไธญใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใฎใƒ—ใƒฉใ‚ฐใ‚คใƒณ | -| `ZI[SNIPPETS_DIR]` | `$ZI[HOME_DIR]/snippets` | Snippets working directory | -| `ZI[ZCOMPDUMP_PATH]` | `${ZI[CACHE_DIR]}/.zcompdump` | Path to `.zcompdump` file | -| `ZI[ZMODULES_DIR]` | `$ZI[HOME_DIR]/zmodules` | Zsh modules working directory | -| [ZPFX][global-parameter-with-prefix] | `$ZI[HOME_DIR]/polaris` | Directory to store binary and related files | - -```mdx-code-block - -``` - -### Modify settings {#modify-settings} - -```mdx-code-block - -``` - -| Hash Field | ใƒ‡ใƒ•ใ‚ฉใƒซใƒˆ | ่ชฌๆ˜Ž | -| -------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ZI[OPTIMIZE_OUT_DISK_ACCESSES]` | `undefined` | If set to `1`, will skip checking if a turbo-loaded object exists on the disk. This option can give a performance gain of about 10 ms out of 150 ms (e.g: Zsh will start up in 140 ms instead of 150 ms). | -| `ZI[COMPINIT_OPTS]` | `undefined` | Options for `compinit` call (e.g: done by `zicompinit`), commonly used with `-C` to speed up loading | -| `ZI[MUTE_WARNINGS]` | `undefined` | If set to `1`, mutes some warnings, specifically the `plugin already registered` warning | -| `ZI[PKG_OWNER]` | `z-shell` | Owner of the [packages][] (`zi pack โ€ฆ`) | - -```mdx-code-block - -``` - -## Non-GitHub (Local) Plugins {#non-github-local-plugins} - -Use the `create` subcommand with user name `_local` (the default) to create the plugin's skeleton in `$ZI[PLUGINS_DIR]`. It will be not connected with the GitHub repository (because of the user name being `_local`). To enter the plugin's directory use the `cd` command with just the plugin's name (without `_local`, it's optional). - -If the username is not `_local`, then Zi will create a repository also on GitHub and set up the correct repository origin. - -## Extending Git {#extending-git} - -Several projects provide git extensions. Installing them with Zi has many benefits: - -- all files are under `$HOME` โ€“ no administrator rights are needed, -- declarative setup (like Chef or Puppet) โ€“ copying `.zshrc` to a different account brings also git-related setup, -- easy update by e.g: `zi update --all`. - -Below is a configuration that adds multiple git extensions, loaded in Turbo mode, 1 second after prompt, with the use of the [bin-gem-node][z-shell/z-a-bin-gem-node] annex: - -```shell title="~/.zshrc" showLineNumbers -zi as'null' wait'1' lucid for \ - sbin Fakerr/git-recall \ - sbin cloneopts paulirish/git-open \ - sbin paulirish/git-recent \ - sbin davidosomething/git-my \ - sbin iwata/git-now \ - sbin atload'export _MENU_THEME=legacy' \ - arzzen/git-quick-stats \ - sbin'bin/git-dsf;bin/diff-so-fancy' \ - z-shell/zsh-diff-so-fancy \ - make'PREFIX=$ZPFX install' \ - tj/git-extras -``` - -The target directory for installed files is `$ZPFX` - `~/.zi/polaris` by default. - -With [meta-plugins][z-shell/z-a-meta-plugins] consisting of: - -Annexes: - -1. [z-shell/z-a-readurl][], -2. [z-shell/z-a-patch-dl][], -3. [z-shell/z-a-rust][], -4. [z-shell/z-a-bin-gem-node][]. - -Git tools: - -1. [paulirish/git-open][], -2. [paulirish/git-recent][], -3. [davidosomething/git-my][], -4. [arzzen/git-quick-stats][], -5. [iwata/git-now][], -6. [tj/git-extras][], -7. [wfxr/forgit][]. - -just run: - -```shell -zi light-mode for z-shell/z-a-meta-plugins @annexes @ext-git -``` - -## [Zsh option][zsh-options]: `setopt` {#zsh-option-setopt} - -[Options][zsh-options] are primarily referred to by name. These names are case insensitive and underscores are ignored. For example, `allexport` is equivalent to `A__lleXP_ort`. - -The sense of an option name may be inverted by preceding it with `no`, so `setopt No_Beep` is equivalent to `unsetopt beep`. This inversion can only be done once, so `nonobeep` is not a synonym for `beep`. Similarly, `tify` is not a synonym for `nonotify` (the inversion of `notify`). - -### History optimization {#history-optimization} - - - -```shell title="~/.zshrc" showLineNumbers -setopt append_history # Allow multiple sessions to append to one Zsh command history. -setopt extended_history # Show timestamp in history. -setopt hist_expire_dups_first # Expire A duplicate event first when trimming history. -setopt hist_find_no_dups # Do not display a previously found event. -setopt hist_ignore_all_dups # Remove older duplicate entries from history. -setopt hist_ignore_dups # Do not record an event that was just recorded again. -setopt hist_ignore_space # Do not record an Event Starting With A Space. -setopt hist_reduce_blanks # Remove superfluous blanks from history items. -setopt hist_save_no_dups # Do not write a duplicate event to the history file. -setopt hist_verify # Do not execute immediately upon history expansion. -setopt inc_append_history # Write to the history file immediately, not when the shell exits. -setopt share_history # Share history between different instances of the shell. -``` - -### Other tweaks {#other-tweaks} - -```shell title="~/.zshrc" showLineNumbers -setopt auto_cd # Use cd by typing directory name if it's not a command. -setopt auto_list # Automatically list choices on ambiguous completion. -setopt auto_pushd # Make cd push the old directory onto the directory stack. -setopt bang_hist # Treat the '!' character, especially during Expansion. -setopt interactive_comments # Comments even in interactive shells. -setopt multios # Implicit tees or cats when multiple redirections are attempted. -setopt no_beep # Don't beep on error. -setopt prompt_subst # Substitution of parameters inside the prompt each time the prompt is drawn. -setopt pushd_ignore_dups # Don't push multiple copies directory onto the directory stack. -setopt pushd_minus # Swap the meaning of cd +1 and cd -1 to the opposite. -``` - -## Style the [completion system][completion-system-configuration] with: `zstyle` {#style-the-completion-system-with-zstyle} - -What does `zstyle` do? - [unix.stackexchange.com/what-does-zstyle-do][what-does-zstyle-do] - -The `zstyle` handles the obvious style control for the [completion system][completion-system-configuration], but it seems to cover more than just that. e.g., the vcs_info module relies on it for the display of git status in your prompt. You can start by looking at the few explanatory paragraphs in `man zshmodules` in the `zstyle` section. - -### Fuzzy matching of completions {#fuzzy-matching-of-completions} - - - -```shell title="~/.zshrc" showLineNumbers -zstyle ':completion:*' completer _complete _match _approximate -zstyle ':completion:*:match:*' original only -zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3>7?7:($#PREFIX+$#SUFFIX)/3))numeric)' -``` - -### Pretty completions {#pretty-completions} - -```shell title="~/.zshrc" showLineNumbers -zstyle ':completion:*:matches' group 'yes' -zstyle ':completion:*:options' description 'yes' -zstyle ':completion:*:options' auto-description '%d' -zstyle ':completion:*:corrections' format ' %F{green}-- %d (errors: %e) --%f' -zstyle ':completion:*:descriptions' format ' %F{yellow}-- %d --%f' -zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f' -zstyle ':completion:*:warnings' format ' %F{red}-- no matches found --%f' -zstyle ':completion:*:default' list-prompt '%S%M matches%s' -zstyle ':completion:*' format ' %F{yellow}-- %d --%f' -zstyle ':completion:*' group-name '' -zstyle ':completion:*' verbose yes -zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' -zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))' -zstyle ':completion:*' use-cache true -zstyle ':completion:*' rehash true -``` - -### Do menu-driven completion {#do-menu-driven-completion} - -```shell -zstyle ':completion:*' menu select -``` - -### Color completion for [some things][color-completion-using-zsh-modules-on] {#color-completion-for-some-things} - -```shell -zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} -``` - -## Disabling System-Wide `compinit` Call (Ubuntu) {#disabling-system-wide-compinit-call-ubuntu} - -On Ubuntu users might get surprised that e.g. their completions work while they didn't call `compinit` in their `.zshrc`. That's because the function is being called in `/etc/zshrc`. - -To disable this call โ€“ what is needed to avoid the slowdown and if the user loads any completion-equipped plugins, i.e. almost on 100% โ€“ add the following line to `~/.zshenv` to skip the not helping Ubuntu global compinit: - -```shell title="~/.zshenv" -skip_global_compinit=1 -``` - -## Multiple prompts {#multiple-prompts} - -```mdx-code-block - -``` - -| ๆง‹ๆ–‡ | ่ชฌๆ˜Ž | -| ----------- | :---------------------------------------------------------------- | -| `load'โ€ฆ'` | Condition that when fulfilled will cause the plugin to be loaded. | -| `unload'โ€ฆ'` | Same as above, but will unload the plugin. | - -```mdx-code-block - -``` - -:::note - -`zi light โ€ฆ` loads the plugin without tracking it, while `zi load` tracks the plugin. To be able to unload the plugin, it has to be loaded with `zi load โ€ฆ` instead of `zi light โ€ฆ`. - -::: - -| ๆง‹ๆ–‡ | ่ชฌๆ˜Ž | -| ------------ | :---------------------------------------------------------------------------------------------------- | -| `atload'!โ€ฆ'` | Run the `precmd` hooks to make the prompts fully initialized when loaded in the middle of the prompt. | -| `precmd` | Hooks are normally run before each **new** prompt. | - -:::info - -Exclamation mark causes the effects of the functions to be tracked. - -::: - -To allow better unloading, conditions are checked every second, you can use conditions like: - -```mdx-code-block - -``` - -| ๆกไปถ | ่ชฌๆ˜Ž | -| ------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `![[ $PWD == *github* ]]` | Change prompt after changing directory to `*github*`. | -| `![[ $MYPROMPT = 1 ]]` | Change prompt when variable `MYPROMPT = 1` is true. | -| `![[ โ€ฆ ]]` | The exclamation mark causes the prompt to be reset after loading or unloading the plugin `pick'/dev/null'` โ€“ disable sourcing of the default-found file. | -| `multisrc'โ€ฆ'` | Source multiple files. | -| `lucid` | Don't show the under-prompt message that says e.g: `Loaded geometry-zsh/geometry`. | -| `nocd` | Don't cd into the plugin's directory when executing the `atload'โ€ฆ'`. | -| `atload'โ€ฆ'` | This ice can make the path that's displayed by the theme point to that directory. | - -```mdx-code-block - -``` - -### Loading and unloading themes (8 examples) {#loading-and-unloading-themes-8-examples} - - - - - - - -[global-parameter-with-prefix]: /community/zsh_plugin_standard#global-parameter-with-prefix - -[packages]: /ecosystem/packages/synopsis - -[standard parameter naming]: /community/zsh_plugin_standard#standard-parameter-naming - - - -[arzzen/git-quick-stats]: https://github.com/arzzen/git-quick-stats - -[color-completion-using-zsh-modules-on]: https://linuxshellaccount.blogspot.com/2008/12/color-completion-using-zsh-modules-on.html - -[completion-system-configuration]: https://zsh.sourceforge.io/Doc/Release/Completion-System.html#Completion-System-Configuration - -[davidosomething/git-my]: https://github.com/davidosomething/git-my - -[iwata/git-now]: https://github.com/iwata/git-now - -[paulirish/git-open]: https://github.com/paulirish/git-open - -[paulirish/git-recent]: https://github.com/paulirish/git-recent - -[tj/git-extras]: https://github.com/tj/git-extras - -[wfxr/forgit]: https://github.com/wfxr/forgit - -[what-does-zstyle-do]: https://unix.stackexchange.com/questions/214657/what-does-zstyle-do/239980 - -[z-shell/z-a-bin-gem-node]: https://github.com/z-shell/z-a-bin-gem-node - -[z-shell/z-a-meta-plugins]: https://github.com/z-shell/z-a-meta-plugins - -[z-shell/z-a-patch-dl]: https://github.com/z-shell/z-a-patch-dl - -[z-shell/z-a-readurl]: https://github.com/z-shell/z-a-readurl - -[z-shell/z-a-rust]: https://github.com/z-shell/z-a-rust - -[zsh-options]: https://zsh.sourceforge.io/Doc/Release/Options.html diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/guides/03_benchmark.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/guides/03_benchmark.mdx deleted file mode 100644 index 8a8c1e73..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/guides/03_benchmark.mdx +++ /dev/null @@ -1,137 +0,0 @@ ---- -id: benchmark -title: โฒ ใƒ™ใƒณใƒใƒžใƒผใ‚ฏ -sidebar_position: 3 -image: /img/png/theme/z/320x320.png -description: Benchmarking, Profiling & Statistics -keywords: - - statistics - - benchmark - - profiling - - ใƒฌใƒใƒผใƒˆ ---- - - - -import APITable from "@site/src/components/APITable"; -import ReportZprofExample from "@site/src/components/Markdown/_report_zprof_example.mdx"; - -:::info - -Run `zi analytics` to see the available commands for statistics and reporting. - -::: - -## Profile plugins - -```shell title="~/.zshrc" showLineNumbers -zi ice atinit'zmodload zsh/zprof' \ - atload'zprof | head -n 20; zmodload -u zsh/zprof' -zi light z-shell/F-Sy-H -``` - -```mdx-code-block - -``` - -| ๆง‹ๆ–‡ | ่ชฌๆ˜Ž | -| ----------- | :----------------------------------------------------------------------------------------------------------------------- | -| `atinit'โ€ฆ'` | loads the `zsh/zprof` module, shipped with Zsh, before loading the plugin โ€“ this starts the profiling. | -| `atload'โ€ฆ'` | works after loading the plugin โ€“ย shows profiling results `zprof / head`, unloads `zsh/zprof` - this stops the profiling. | - -```mdx-code-block - -``` - -While in effect, only a single plugin, in this case, `z-shell/F-Sy-H`, will be profiled. - -The rest plugins will go on completely normally, as when plugins are loaded with `light` - reporting is disabled. - -Less code is being run in the background, the automatic data gathering, during loading of a plugin, for the reports and the possibility to unload the plugin will be activated and the functions will not appear in the `zprof` report. - -Example `zprof` report: - - - -The first column is the time in milliseconds: - -- It denotes the amount of time spent in a function in total -- For example, `--zi-shadow-autoload` consumed 10.71 ms of the execution time - -The fourth column is also a time in milliseconds, but it denotes the amount of time spent on executing only of function's **own code**, it doesn't count the time spent in **descendant functions** that is called from the function: - -- For example, `--zi-shadow-autoload` spent 8.71 ms on executing only its code - -The table is sorted in the **self-time** column. - -## Profile `.zshrc` startup - -### ๆ–นๆณ•1 - -> `PROFILE_STARTUP=true` to enable profiling. - -Place the snippet below at the top of `.zshrc`. - -```shell title="~/.zshrc" showLineNumbers -PROFILE_STARTUP=false - -if [[ "$PROFILE_STARTUP" == true ]]; then - zmodload zsh/zprof - PS4=$'%D{%M%S%.} %N:%i> ' - exec 3>&2 2>$HOME/startlog.$$ - setopt xtrace prompt_subst -fi -``` - -:::info PS4 Prompt Expansion - -Zsh Sourceforge docs: [Prompt Expansion][prompt-expansion] - -::: - -Place at the bottom of `.zshrc` - -```shell title="~/.zshrc" showLineNumbers -if [[ "$PROFILE_STARTUP" == true ]]; then - unsetopt xtrace - exec 2>&3 3>&-; zprof > ~/zshprofile$(date +'%s') -fi -``` - -The next time your `.zshrc` is sourced it will generate 2 files in the `$HOME` directory. - -### ๆ–นๆณ•2 - -Store multiple values to a variable: - -```shell title="~/.zshrc" showLineNumbers -# Set variable -typeset -Ag ZLOGS -# Message to store -zmsg() { ZLOGS+=( "\n[$1]: ${(M)$(( SECONDS * 1000 ))#*.?} ms" ); } - -# Start profiling -typeset -F4 SECONDS=0 - -# - -zmsg "Loaded functions" - -# - -zmsg "Loaded something else" - -# - -zmsg "Done" -``` - -Then use the `$ZLOGS` variable to retrieve: - -```shell title="print $ZLOGS" showLineNumbers -[Loaded functions]: 0.0 ms -[Loaded something else]: 0.0 ms -[Done]: 0.1 ms -``` - -[prompt-expansion]: https://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/guides/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/guides/_category_.json deleted file mode 100644 index 625928e1..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/guides/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "๐Ÿ’ก ใ‚ฌใ‚คใƒ‰", - "position": 2, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/01_standard.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/01_standard.mdx deleted file mode 100644 index e34a4946..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/01_standard.mdx +++ /dev/null @@ -1,801 +0,0 @@ ---- -id: standard -title: ๐Ÿ”€ ๆจ™ๆบ–ใฎๆง‹ๆ–‡ -sidebar_position: 1 -toc_max_heading_level: 3 -image: /img/png/theme/z/320x320.png -description: ๅŸบๆœฌ็š„ใชๆง‹ๆ–‡ใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใงใ™ใ€‚ -keywords: - - syntax - - standard - - how-to-use - - fundamental ---- - - - -import ImgShow from "@site/src/components/ImgShow"; -import APITable from "@site/src/components/APITable"; - -## Introduction - -Ziใฏใ€ๆง‹้€ ๅŒ–ใ•ใ‚ŒใŸๆ–‡ใƒปๅผใซๅฏพใ—ใฆ2ใคใฎๆง‹ๆ–‡ใ‚ฟใ‚คใƒ—ใ‚’ๆไพ›ใ—ใพใ™ใ€‚ - -- ๆจ™ๆบ–ๆง‹ๆ–‡ -- The ["For"][for-syntax] syntax - -ใฉใกใ‚‰ใฎๆง‹ๆ–‡ใ‚’ไฝฟใ†ใ‹ใฏใƒฆใƒผใ‚ถใƒผๆฌก็ฌฌใงใ™ใŒใ€ไธกๆ–นใฎๆง‹ๆ–‡ใซๆ…ฃใ‚Œใ‚‹ใ“ใจใ‚’ๅผทใใŠๅ‹งใ‚ใ—ใพใ™ใ€‚ In this example, we will use an empty repository [z-shell/0](https://github.com/z-shell/0) to practice the basics of the standard syntax. - -- ใ‚ฟใƒผใƒŸใƒŠใƒซใงไปฅไธ‹ใฎใ‚ณใƒžใƒณใƒ‰ใ‚’ๅฎŸ่กŒใ—ใพใ™ใ€‚ - -```shell -zi load z-shell/0 -``` - -Successfully installed the Zsh plugin which usually contains all the setup instructions as described in the [Zsh plugin standard](https://wiki.zshell.dev/community/zsh_plugin_standard). - -ใ‚นใƒ‹ใƒšใƒƒใƒˆใฏใ€ๅ†ๅˆฉ็”จๅฏ่ƒฝใชใ‚ฝใƒผใ‚นใ‚ณใƒผใƒ‰ใ€ใƒžใ‚ทใƒณใ‚ณใƒผใƒ‰ใ€ใพใŸใฏใƒ†ใ‚ญใ‚นใƒˆใฎไธ€้ƒจใ‚’ๅซใ‚€ๅ˜ไธ€ใฎใƒ•ใ‚กใ‚คใƒซใงใ€ใƒ•ใ‚กใ‚คใƒซใธใฎใƒ•ใƒซใƒ‘ใ‚นใพใŸใฏURLใŒๅฟ…่ฆใงใ™ใ€‚ - -> - ใ‚ฟใƒผใƒŸใƒŠใƒซใงไปฅไธ‹ใฎใ‚ณใƒžใƒณใƒ‰ใ‚’ๅฎŸ่กŒใ—ใพใ™ใ€‚ - -```shell -zi snippet https://raw.githubusercontent.com/z-shell/zi-src/main/lib/zsh/snippets/welcome.zsh -``` - -ๆˆๅŠŸใ—ใพใ—ใŸ๏ผ ใ—ใ‹ใ—ใ€ๅฟ…ใšใ—ใ‚‚ใจใฆใ‚‚็ฐกๅ˜ใงใ‚ทใƒณใƒ—ใƒซใงใ‚ใ‚‹ใจใฏ้™ใ‚Šใพใ›ใ‚“ใ€‚ๆ™‚ใซใฏใ€็‰นๅฎšใฎๆ™‚้–“ใ‚„ๆกไปถใงใ‚ใ‚‹ใ“ใจใ‚’ๆŒ‡ๅฎšใ—ใŸใ„ใ“ใจใ‚‚ใ‚ใ‚Šใพใ™ใ€‚ This can be achieved using [ice-modifiers][ice-mods]. - -ไธŠใฎ่กŒใซใฏ ice ไฟฎ้ฃพๅญใŒๅซใพใ‚ŒใฆใŠใ‚Šใ€ไธ‹ใฎ่กŒใงใƒ—ใƒฉใ‚ฐใ‚คใƒณใ‚’่ชญใฟ่พผใ‚“ใงใ„ใพใ™ใ€‚ - -> - ใ‚ฟใƒผใƒŸใƒŠใƒซใงไปฅไธ‹ใฎใ‚ณใƒžใƒณใƒ‰ใ‚’ๅฎŸ่กŒใ—ใพใ™ใ€‚ - -```shell showLineNumbers -zi ice id-as'zsh/plugin' atinit'print "Hello World!"' -zi load z-shell/0 -``` - -This registered the plugin under the [plugin ID](#id-as) `zsh/plugin` instead of `z-shell/0`. This will work as expected e.g. `zi update zsh/plugin`, `zi remove zsh/plugin`, etc. ใƒ—ใƒฉใ‚ฐใ‚คใƒณใ‚’ใƒญใƒผใƒ‰ใ™ใ‚‹ๅ‰ใซใ€ŒHello World!ใ€ใŒ่กจ็คบใ•ใ‚Œใพใ™ใ€‚ - -Ice-modifierใ‚’ๅข—ใ‚„ใ—ใฆใ‚‚ใ†ไธ€ๅบฆใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใพใ—ใ‚‡ใ†ใ€‚ - -> - ใ‚ฟใƒผใƒŸใƒŠใƒซใงไปฅไธ‹ใฎใ‚ณใƒžใƒณใƒ‰ใ‚’ๅฎŸ่กŒใ—ใพใ™ใ€‚ - -```shell showLineNumbers -zi ice id-as'final/countdown' \ - atinit'+zi-message "{bapo}Cloned!"' \ - atclone'+zi-message "{quos}Boom!"' \ - atload'+zi-message "{apo}Loaded!"' countdown -zi load z-shell/0 -``` - -## Order of execution {#order-of-execution} - -้–ข้€ฃใ™ใ‚‹ ice-modifier ใฎๅฎŸ่กŒ้ †ๅบใฏๆฌกใฎใจใŠใ‚Šใงใ™ใ€‚ - -```shell showLineNumbers - atinit'' โ†’ - atpull'!' โ†’ - make'!!' โ†’ - mv'' โ†’ - cp'' โ†’ - make'!' โ†’ - atclone'' / atpull'' โ†’ - make'!' โ†’ - [ plugin script loading ] โ†’ - src'' โ†’ - multisrc'' โ†’ - atload'' -``` - -### A few remarks {#a-few-remarks} - -- The syntax automatically detects if the object is a snippet or a plugin, by checking if the object is an URL, i.e.: if it starts with `http*://` or `OMZ::`, etc. -- To load a local-file snippet (which will be treated as a local-directory plugin by default) use the `is-snippet` ice, -- To load a plugin in `light` mode use the `light-mode` ice. -- If the plugin name collides with an ice name, precede the plugin name with `@`, e.g.: `@sharkdp/fd` (collides with the `sh` ice, ZI will take the plugin name as `sh"arkdp/fd"`), see the next section for an example. - -### Syntax alternatives {#syntax-alternatives} - -Zi supports alternatives such as the equal (`=`) syntax: - -```shell showLineNumbers -zi ice id-as=equal atload="print Hello World" -zi load z-shell/0 -``` - -The colon (`:`) syntax: - -```shell showLineNumbers -zi ice id-as:colon atload:"print Hello World" -zi load z-shell/0 -``` - -ใใ—ใฆใ€ไธŠ่จ˜ใฎๅ…จใฆใจไฝตใ›ใฆใ€GNU ๆง‹ๆ–‡ใ‚‚ๅŒๆง˜ใซๅˆฉ็”จใงใใพใ™ใ€‚ - -```shell showLineNumbers -zi ice id-as=GNU --atload="print Hello World" -zi load z-shell/0 -``` - -ไปฃใ‚ใ‚Šใฎๆง‹ๆ–‡ใฏVimใฎใ‚ˆใ†ใชใ‚จใƒ‡ใ‚ฃใ‚ฟใฎใƒใ‚คใƒฉใ‚คใƒˆใ‚’ๅˆฉ็”จใ—ใ€ๆ–‡ๅญ—ๅˆ—ใจiceใฎ่กจ็พใ‚’ๅˆฅใฎ่‰ฒใซใ™ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚ However, with [zi-vim-syntax][] the syntax definition can be superseded with the highlighting specifically for Zi. syntax definition can be superseded with the highlighting specifically for Zi. - -### Utilizing "make" {#utilizing-make} - -Vim repository on GitHub โ€“ a typical source code that needs compilation, Zi can manage the run of `./configure` and other `make` stuff. Ice-modifier `pick` adds the binary program to `$PATH`. You could also install the package under the path $ZPFX. - -```shell title="~/.zshrc" showLineNumbers -zi ice as"program" atclone"rm -f src/auto/config.cache; ./configure" \ - atpull"%atclone" make pick"src/vim" -zi light vim/vim -``` - -The `make'โ€ฆ'` ice could also be: `make"install PREFIX=$ZPFX"`, if "install" wouldn't be the only, default target. - -:::info - -[$ZPFX][zpfx] is provided by Zi, it is set to `~/.zi/polaris` by default. However, it can be changed by specifying the `$ZPFX=` target. - -::: - -```shell title="~/.zshrc" showLineNumbers -zi ice as"program" pick"$ZPFX/bin/git-*" make"PREFIX=$ZPFX" -zi light tj/git-extras -``` - -The `Makefile` of the project above has only 2 tasks: - -1. Install the target. -2. Build scripts that are required for installation. - -The `Makefile` with 2 tasks, can use: - -1. `make"all install PREFIX=โ€ฆ"`, -2. `pick'โ€ฆ'` will `chmod +x` all matching files and add `$ZPFX/bin/` to `$PATH`. - -### Compiling programs {#compiling-programs} - -```shell showLineNumbers -zi ice as"program" atclone"rm -f src/auto/config.cache; ./configure" \ - atpull"%atclone" make pick"src/vim" -zi light vim/vim -``` - -```mdx-code-block - -``` - -| ๆง‹ๆ–‡ | ่ชฌๆ˜Ž | -| ------------------ | :---------------------------------------------------------------------------------------- | -| `as'program'` | Add file selected by `pick'โ€ฆ'` to `$PATH`, and do not source it. | -| `atclone'โ€ฆ'` | ใƒ€ใ‚ฆใƒณใƒญใƒผใƒ‰ๅพŒใ€ไปปๆ„ใฎใ‚ณใƒžใƒณใƒ‰ใ‚’ๅฎŸ่กŒใ™ใ‚‹ใ€‚ | -| `atpull'%atclone'` | Execute the same code `atclone'โ€ฆ'` is given, but after successful update. | -| `make` | Run `make` after `atclone'โ€ฆ'` and `atpull'โ€ฆ'` (note: `make'!'` will execute before them). | -| `pick'src/vim'` | Set the executable flag on `src/vim`, hint that `src/` should be added to `$PATH`. | - -```mdx-code-block - -``` - -The same but with **installation** (`make install`) under [$ZPFX][zpfx] by default: - -```shell showLineNumbers -zi ice as'program' atclone'rm -f src/auto/config.cache; \ - ./configure --prefix=$ZPFX' atpull'%atclone' make'all install' pick'$ZPFX/bin/vim' -zi light vim/vim -``` - -```mdx-code-block - -``` - -| ๆง‹ๆ–‡ | ่ชฌๆ˜Ž | -| ------------------ | :------------------------------------------------------------------------------------------- | -| `as'program'` | As above. | -| `atclone'โ€ฆ'` | As above **plus** pass `--prefix=$ZPFX` to `./configure`, to set the installation directory. | -| `atpull'%atclone'` | As above. | -| `make` | As above, but also run the `install` target. | -| `pick'src/vim'` | as above, but for a different path `$ZPFX/bin/vim`. | - -```mdx-code-block - -``` - -### LS_COLORS {#ls_colors} - -A repository [trapd00r/LS_COLORS][trapd00r-ls_colors] provides a file with color definitions for GNU `ls` command, and also for [ogham/exa][ogham-exa]. Typically one does `eval $( dircolors -b $HOME/LS_COLORS)` to process this file and set the environment for `ls`. This means `dircolors` is run by every shell startup. It costs much time to create a fork and program, i.e., the `dircolors` binary needs to be loaded to obtain and process the color definitions. The following invocation solves this problem: - -```shell showLineNumbers -zi ice atclone'dircolors -b LS_COLORS > clrs.zsh' \ - atpull'%atclone' pick"clrs.zsh" nocompile'!' \ - atload'zstyle ":completion:*" list-colors ${(s.:.)LS_COLORS}' -zi light trapd00r/LS_COLORS -``` - -```mdx-code-block - -``` - -| ๆง‹ๆ–‡ | ่ชฌๆ˜Ž | -| ------------------ | :------------------------------------------------------------------------------------------ | -| `atclone'โ€ฆ'` | Generate shell script, passing it to `eval`. More: [^1] | -| `atpull'%atclone'` | Do the same at any update of the plugin. More: [^2] | -| `pick"clrs.zsh"` | Source the previously generated file `clrs.zsh`. | -| `nocompile'!'` | Invokes compilation **after** the `atclone'โ€ฆ'` and the [exclamation][] mark causes this. | -| `atload'โ€ฆ'` | Additionally sets up the Zsh completion to use the colors provided by the trapd00r package. | - -```mdx-code-block - -``` - -This way, except for the plugin installation and update, `dircolors` isn't run, just normal sourcing is done. The everyday sourced file, i.e. `clrs.zsh`, is being compiled to speed up the loading. - -### Direnv {#direnv} - -The project [direnv/direnv][direnv-direnv] registers itself in the Z shell to modify the environment on directory change. This registration is most often done by `eval "$(direnv hook zsh)"` added to `.zshrc`. - -```shell showLineNumbers -zi ice as"program" make'!' atclone'./direnv hook zsh > zhook.zsh' \ - atpull'%atclone' src"zhook.zsh" -zi light direnv/direnv -``` - -- `make'!'` โ€“ execute `make` before `atclone'โ€ฆ'` and before `atpull'โ€ฆ'` (see `make` above), -- `src'zhook.zsh'` โ€“ย source file `zhook.zsh`. - -In general, `direnv` works by hooking up to Zsh. The code that does this is provided by the program `direnv` (built by `make'โ€ฆ'`). - -Above `atclone'โ€ฆ'` puts this code into file `zhook.zsh`, `src''` sources it. This way `direnv hook zsh` is executed only on clone and update, and Zsh starts faster. - -#### Glance at the 'for' syntax {#glance-at-the-for-syntax} - -The drawback of this standard procedure is that the `direnv` binary is run on every shell startup and significantly slows it down. Zi allows to solve this in the following way: - -```shell showLineNumbers -zi as"program" make'!' atclone'./direnv hook zsh > zhook.zsh' \ - atpull'%atclone' pick"direnv" src"zhook.zsh" for \ - direnv/direnv -``` - -```mdx-code-block - -``` - -| ๆง‹ๆ–‡ | ่ชฌๆ˜Ž | -| ------------------ | :----------------------------------------------------------------------------------------------------------------------------- | -| `make'!'` | Compile `direnv`, the exclamation mark means: run the `make` first, before `atclone'โ€ฆ'` and `atpull'โ€ฆ'` hooks. | -| `atclone'โ€ฆ'` | As soon as the plugin is installed generate the registration code and save it to `zhook.zsh`, instead of passing it to `eval`. | -| `atpull'%atclone'` | The `atclone'โ€ฆ'` runs on **installation** while `atpull'โ€ฆ'` runs on **update** of the plugin. | -| `src'zhook.zsh'` | Load generated registration code | -| `pick'direnv'` | Ensure `+x` permission on the binary | -| `as'program'` | The plugin is a program, there's no main file to the source. | - -```mdx-code-block - -``` - -In this method, the registered code is generated once on every installation or update, then sourced without running `direnv` itself. The project is also available as a binary [GitHub releases][gh-releases]. This distribution can be installed by: - -```shell showLineNumbers -zi from"gh-r" as"program" mv"direnv* -> direnv" \ - atclone'./direnv hook zsh > zhook.zsh' atpull'%atclone' \ - pick"direnv" src="zhook.zsh" for \ - direnv/direnv -``` - -```mdx-code-block - -``` - -| ๆง‹ๆ–‡ | ่ชฌๆ˜Ž | -| ------------------------- | :------------------------------------------------------------------------- | -| `from'gh-r'` | Install from `direnv` from GitHub Github releases. | -| `mv'direnv* -> direnv'` | After installation, rename `direnv.linux-386` or similar file to `direnv`. | -| `atclone'โ€ฆ'`, `atpull'โ€ฆ'` | Same above example. | -| `pick'direnv'` | Same above example. | -| `as'program'` | Same above example. | - -```mdx-code-block - -``` - -## `extract'โ€ฆ'` {#extract} - -A swiss-knife tool for unpacking all kinds of archives โ€“ the `extract'โ€ฆ'` ice. It works in two modes โ€“ automatic mode and fixed mode. - -Automatic mode: - -It is active if the ice is empty (or contains only flags). It works as follows: - -1. At first, a recursive search for files of known [file extensions](#supported-file-formats) located not deeper than in a sub-directory is being performed. All such found files are then extracted. - - The directory-level limit is to skip extraction of some helper archive files, which are typically located somewhere deeper in the directory tree. -2. **If** no such files will be found, then a recursive search for files of known archive **types** will be performed. This is done by running the `file` Unix command on each file in the plugin or snippet directory and then grepping the output for strings like `Zip`, `bzip2`, etc. All such discovered files are then extracted. - - The directory-level requirement is imposed during this stage. The files located deeper than in a sub-directory are omitted. -3. If no archive files will be discovered then no action is being performed and also no warning message is being printed. - -Fixed mode: - -It is active when a filename is being passed as the `extract`'s argument, e.g.: `zi extract=archive.zip for z-shell/null`. Multiple files can be specified โ€“ separated by spaces. In this mode all and only the specified files are being extracted. - -Filenames with spaces: - -The filenames with spaces are supported when correctly passing such filenames to an `extract` with the non-breaking spaces for the original in-filename. - -The non-breaking space is easy to type by pressing right ALT and the SPACE. - -Flags: - -The value of the ice can begin with two special characters: - -1. Exclamation mark (`!`), i.e.: `extract='!โ€ฆ'` โ€“ it'll cause the files to be moved one directory level up upon unpacking, -2. Two exclamation marks (`!!`), i.e.: `extract='!!โ€ฆ'` โ€“ it'll cause the files to be moved two directory-level up upon unpacking, -3. Dash (`-`), i.e.: `extract'-โ€ฆ'` โ€“ it'll prevent removal of the archive after unpacking. - - This flag allows comparing timestamps with the server in case of snippet-downloaded file โ€“ it will prevent unnecessary downloads during `zi update`, as the timestamp of the archive file on the disk will be first compared with the HTTP last-modification time header. - -The flags can be combined in any order: `extract'!-'`. - -## `ziextract` {#ziextract} - -Sometimes a more uncommon unpacking operation is needed. In such a case you can directly use the function that implements the ice โ€“ it is called `ziextract`. - -It recognizes the following options: - -1. `--auto` โ€“ runs the automatic extraction. -2. `--move` โ€“ performs the one-directory-level-up move of the files after unpacking. -3. `--move2` โ€“ performs the two-directory-level-up move of the files after unpacking. -4. `--norm` - prevents the archive file removal. -5. And also one option specific only to the function: `--nobkp`, which prevents clearing the plugin's directory before the extraction. โ€“ All files besides the archive are being moved into the `._backup` directory after extraction is done. - `extract` ice also skips creating the backup **if** more than one archive is found or given as the argument. - -### Supported file formats {#supported-file-formats} - -Zip, rar, tar.gz, tar.bz2, tar.xz, tar.7z, tar, tgz, tbz2, gz, bz2, txz, xz, 7z, exe, deb, OS X (dmg). - -## `from'โ€ฆ'` {#from} - -To install and load a plugin whose repository is private - e.g: requires providing credentials to log in โ€“ use the `from'โ€ฆ'` ice in the following way: - -```shell showLineNumbers -zi ice from"user@github.com" -zi load user/fsh-auto-themes -``` - -็พๅœจใฎใƒ—ใƒชใ‚ปใƒƒใƒˆ๏ผš - -```mdx-code-block - -``` - -| Ice name | Domain name / URL | -| ---------- | :----------------------------------- | -| ge | gitee.com | -| gitee | gitee.com | -| github | github.com | -| gh | github.com | -| gitlab | gitlab.com | -| gl | gitlab.com | -| notabug | notabug.org | -| nb | notabug.org | -| bitbucket | bitbucket.org | -| bb | bitbucket.org | -| github-rel | github.com/$remote_url_path/releases | -| gh-r | github.com/$remote_url_path/releases | -| cygwin | cygwin | - -```mdx-code-block - -``` - -:::note - -If the `from'โ€ฆ'` ice isn't one of the above tables, then **it is treated as a domain name** and inserted into the domain position into the `git clone` URL: - -```shell -git clone https://{from-ice-contents}/user/plugin -``` - -In order to change the protocol, use the `proto'โ€ฆ'` ice. - -::: - -## `id-as'โ€ฆ'` {#id-as} - -Load a plugin or snippet with a nickname with the `id-as'โ€ฆ'` ice-modifier. For example, one could try to load [docker/compose][docker-compose] from GitHub binary releases: - -```shell showLineNumbers -zi ice as"program" from"gh-r" mv"docker-c* -> docker-compose" -zi light "docker/compose" -``` - -This registers the plugin under the ID `docker/compose`. Now suppose the user would want to also load a completion from the project's GitHub repository (not the binary release catalog) which is also available under the GitHub URL **โ€ฆ/docker/compose**. The two IDs, both being "docker/compose", will collide. - -The solution to this problem โ€“ the `id-as'โ€ฆ'` (to be read as _identify-as_) ice to which this document is devoted: by using the `id-as'โ€ฆ'` ice the user can resolve the conflict by loading the completion under a kind of a _nickname_, for example under "_dc-complete_", by issuing the following commands: - -```shell showLineNumbers -zi ice as"completion" id-as"dc-complete" -zi load docker/compose -``` - -The plugin (of the type `completion`) is now seen under ID `dc-complete`: - -```shell showLineNumbers -zi list | grep -i dc-complete -dc-complete -``` - -Issuing `zi report dc-complete` will work as with regular command: - -```shell showLineNumbers -zi report dc-complete - -Plugin report for dc-complete -------------------------------- - -Completions: -_docker-compose [enabled] -``` - -The same method applies to nickname snippets. For instance, use it to create handy IDs in place of long URLs: - -```shell showLineNumbers -zi ice as"program" id-as"git-unique" -zi snippet https://github.com/Osse/git-scripts/blob/master/git-unique -``` - -The commands `zi update git-unique`, and `zi delete git-unique` will work as expected and e.g. `zi times` will show the _nickname_-ID `git-unique` instead of the long URL. - -- `id-as'auto'`: - -There's a special value to the `id-as'โ€ฆ'` ice โ€“ `auto`. It causes the nickname to be automatically set to the last component of the plugin name or snippet URL. ไพ‹: - -```shell showLineNumbers -zi ice as"program" id-as"auto" -zi snippet https://github.com/Osse/git-scripts/blob/master/git-unique -``` - -will work the same as before, e.g: if the ice used was `id-as'git-unique'`. Will work as if id-as'zsh-autopair' was passed: - -```shell showLineNumbers -zi ice wait lucid id-as"auto" -zi load hlissner/zsh-autopair -``` - -- empty `id-as'โ€ฆ'`: - -An empty `id-as'โ€ฆ'` will work the same as `id-as'auto'` as if id-as'zsh-autopair' was passed, e.g: - -```shell showLineNumbers -zi ice wait lucid id-as -zi load hlissner/zsh-autopair -``` - -## `wait'โ€ฆ'` {#wait} - -:::note - -Turbo mode, i.e. the `wait'โ€ฆ'` is ice that implements it - needs Zsh >= 5.3. - -::: - -```shell showLineNumbers -zi ice wait'0' # ใ‚‚ใ—ใใฏๅ˜ใซ zi ice wait -zi light wfxr/forgit -``` - -- waits for prompt, -- instantly ("0" seconds) after prompt loads given plugin. - -```shell showLineNumbers -zi ice wait'[[ -n ${ZLAST_COMMANDS[(r)cras*]} ]]' -zi light z-shell/zi-crasis -``` - -- screencast that presents the feature: - - - -- `$ZLAST_COMMANDS` is an array built by [F-Sy-H][z-shell-f-sy-h], it contains commands currently entered at prompt, -- `(r)` searches for an element that matches a given pattern (`cras*`) and returns it, -- `-n` means: not-empty, so it will be true when users enter "cras", -- after 1 second or less, Zi will detect that the `wait'โ€ฆ'` condition is true, and load the plugin, which provides command _crasis_, - -```shell showLineNumbers -zi ice wait'[[ $PWD = */github || $PWD = */github/* ]]' -zi load unixorn/git-extra-commands -``` - -it waits until the user enters a `github` directory. Turbo mode also supports a suffix โ€“ the letter a, `b`, or `c`. The meaning is illustrated by the following example: - -```shell showLineNumbers -zi ice wait"0b" as"command" pick"wd.sh" atinit"echo Firing 1" lucid -zi light mfaerevaag/wd -zi ice wait"0a" as"command" pick"wd.sh" atinit"echo Firing 2" lucid -zi light mfaerevaag/wd -``` - -will output: - -```shell showLineNumbers -Firing 2 -Firing 1 -``` - -As can be seen, the second plugin has been loaded first. That's because there are now three sub-slots (the `a`, `b`, and `c`) into which the plugin/snippet loadings can be put. Plugins from the same time slot with suffix `a` will be loaded before plugins with suffix `b`, etc. - -In other words, instead of `wait'1'`, you can enter `wait'1a'`, `wait'1b'`, and `wait'1c'` โ€“ this **imposes the loading order** of the **commands** regardless of actual execution time. - -## `src'โ€ฆ'` `pick'โ€ฆ'` `multisrc'โ€ฆ'` {#src-pick-multisrc} - -Normally `src'โ€ฆ'` can be used to specify the additional file to the source: - -```shell showLineNumbers -zi ice pick'powerless.zsh' src'utilities.zsh' -zi light martinrotter/powerless -``` - -| ๆง‹ๆ–‡ | ่ชฌๆ˜Ž | -| :-------: | :--------------------------------------------------------------------------------------------------------- | -| `pick'โ€ฆ'` | Provide the main file to the source - like `*.sh`, otherwise alphabetically first matched file is sourced. | -| `src'โ€ฆ'` | Provide a second file to the source - not a pattern - plain file name. | - -### The `svn` ice {#the-svn-ice} - -However, via `atload'โ€ฆ'` ice one can provide a simple loop to source more files: - -```shell showLineNumbers -zi ice svn pick'completion.zsh' \ - atload'local f; for f in git.zsh misc.zsh; do source $f done' -zi snippet OMZ::lib -``` - -| ๆง‹ๆ–‡ | ่ชฌๆ˜Ž | -| :---------: | :--------------------------------------------------------------------------------------------------------------------------------- | -| `svn` | Use Subversion to clone `OMZ::lib` (the whole Oh-My-Zsh `lib/` directory). More [^3]. | -| `atload'โ€ฆ'` | Code isn't tracked and cannot be unloaded. The `atload'โ€ฆ'` is executed after loading main files `pick'โ€ฆ'` and `src'โ€ฆ'`. More [^4]. | - -### The `multisrc'โ€ฆ'` ice {#the-multisrc-ice} - -Loads **multiple** files enumerated with spaces as the separator (e.g. `multisrc'misc.zsh grep.zsh'`) and also using brace-expansion syntax (e.g. `multisrc'{misc,grep}.zsh')`. Example: - -```shell showLineNumbers -zi ice svn pick'completion.zsh' \ - multisrc'git.zsh functions.zsh {history,grep}.zsh' -zi snippet OMZ::lib -``` - -All possible ways to use the `multisrc'โ€ฆ'` ice-modifier: - -```shell -zi ice depth'1' multisrc='lib/{functions,misc}.zsh' pick'/dev/null' -zi load robbyrussell/oh-my-zsh -``` - -Can use patterns: - -```shell showLineNumbers -zi ice svn multisrc'{funct*,misc}.zsh' pick'/dev/null' -zi snippet OMZ::lib -``` - -```shell showLineNumbers -zi ice svn multisrc'misc.zsh functions.zsh' pick'/dev/null' -zi snippet OMZ::lib -``` - -Will use the array's value at the moment of plugin load: - -> This can matter when using turbo mode. - -```shell showLineNumbers -array=({functions,misc}.zsh) -zi ice svn multisrc"\$array" pick'/dev/null' -zi snippet OMZ::lib -``` - -Compatible with KSH_ARRAYS option: - -```shell showLineNumbers -array=({functions,misc}.zsh) -zi ice svn multisrc"${array[*]}" pick'/dev/null' -zi snippet OMZ::lib -``` - -Hack with Zi: the ice's contents are simply `eval`-uated like follows: eval "reply=($multisrc)". - -So it might get handy on an occasion to pass code there, but first, you must close the paren and then don't forget to assign `reply`, and to provide a trailing opening paren. In the code be careful to not redefine any variable used internally by Zi โ€“ e.g.: `i` is safe: - -```shell showLineNumbers -array=({functions,misc}.zsh) -zi ice svn multisrc'); local i; for i in $array; do reply+=( ${i/.zsh/.sh} ); done; ((1)' pick'/dev/null' -zi snippet OMZ::lib -``` - -Extended with the [for][for-syntax] syntax which can in some situations replace a typical `multisrc'โ€ฆ'` loading. The idea of this syntax is to source multiple snippets with a single command. - -Instead of: - -```shell showLineNumbers -zi ice multisrc'(functions|misc|completion).zsh' -zi snippet OMZ::lib -``` - -ๆ›ธใ่พผใฟใŒๅฏ่ƒฝ๏ผš - -```shell showLineNumbers -zi for \ - OMZL::functions.zsh \ - OMZL::misc.zsh \ - OMZL::completion.zsh -``` - -which is somewhat easier on the eyes. - -:::info Important Property - -The multiple snippets loaded with the `for` syntax are being loaded _separately_, which means that they will not cause a longer keyboard blockage, which could have been noticeable โ€“ when loading in turbo mode. - -::: - -The Zi scheduler will distribute the work over time and will allow activation of the keyboard in between the snippets. The `multisrc'โ€ฆ'` way doesn't work this way โ€“ sourcing many files may cause a noticeable keyboard freeze (in turbo mode). - -## `atclone'โ€ฆ'` `atpull'โ€ฆ'` `atinit'โ€ฆ'` `atload'โ€ฆ'` {#atclone-atpull-atinit-atload} - -There are four code-receiving ice-modifiers: `atclone'โ€ฆ'`, `atpull'โ€ฆ'`, `atinit'โ€ฆ'`, `atload'โ€ฆ'`. - -Their role is to **receive a portion of Zsh code and execute it in specific moments of the plugin life-cycle**. - -| ๆง‹ๆ–‡ | Execution moment | -| :----------: | :-------------------------------------------------------------- | -| `atclone'โ€ฆ'` | **after cloning** the associated plugin or snippet to the disk. | -| `atpull'โ€ฆ'` | **after updating** the associated plugin or snippet. | -| `atinit'โ€ฆ'` | **before loading** of the associated plugin or snippet. | -| `atload'โ€ฆ'` | **after loading** of the associated plugin or snippet. | - -For convenience, you can use each of the ices multiple times in a single `zi ice โ€ฆ` invocation โ€“ย all commands will run in the given order. - -The `atpull'โ€ฆ'` ice recognizes a special value: `%atclone`, so the code looks: `atpull'%atclone'`. It causes the contents of the `atclone'โ€ฆ'` ice to be copied into the contents of the `atpull'โ€ฆ'` ice. - -This is handy when the same tasks have to be performed on clone **and** on the update of plugin or snippet, like e.g.: in the [direnv example](#direnv). - -### `atload'!โ€ฆ'` with exclamation mark preceded - -The [wrap'โ€ฆ'](#wrap) The ice-modifier allows the track and unload of plugins that defer their initialization to a function and run later after sourcing the plugin's script โ€“ When the function call, the plugin is then fully initialized. - -However, if the function is being called from the `atload'โ€ฆ'` ice, then the _exclamation mark_-preceded method can be used with `atload'โ€ฆ'` contents. The exclamation mark causes the effects of the execution of the code passed to `atload'โ€ฆ'` ice to be recorded. - -### Use case for `atload'โ€ฆ'` - -For example, in the following invocation: - -```shell showLineNumbers -zi ice id-as'test' atload'!PATH+=:~/share' -zi load z-shell/null -``` - -the `$PATH` is being changed within `atload'โ€ฆ'` ice. Zi's tracking registers `$PATH` changes and withdraws them on the plugin unload and shows loading information: - -```shell title="zi report test" showLineNumbers -Report for test plugin ----------------------- -Source (reporting enabled) - -PATH elements added: -/home/sg/share -``` - -As it can be seen, the `atload'โ€ฆ'` code is being correctly tracked and can be unloaded & viewed. Below is the result of using the `unload'โ€ฆ'` subcommand to unload the `test` plugin: - -```shell title="zi unload test" showLineNumbers ---- Unloading plugin: test --- -Removing PATH element /home/user/share -Unregistering plugin test -Plugin report saved to $LASTREPORT -``` - -The same example as in the [wrap'โ€ฆ'](#use-case-for-wrap) article, but using the _exclamation mark_-preceded `atload'โ€ฆ'` instead of `wrap'โ€ฆ'`: - -Load when - `MYPROMPT == 4` - -```shell showLineNumbers -zi ice load'![[ $MYPROMPT = 4 ]]' unload'![[ $MYPROMPT != 4 ]]' \ - atload'!source ~/.p10k.zsh; _p9k_precmd' -zi load romkatv/powerlevel10k -``` - -## `wrap'โ€ฆ'` {#wrap} - -The `wrap' โ€ฆ'` ice-modifier allows extending the tracking (e.g.: the gathering of the report and unloading data) of a plugin beyond the moment of sourcing its main file(s). It works by wrapping the given functions with a tracking-enabling and disabling snippet of code. This is useful especially with prompts, as they very often do their initialization in the first call to their `precmd` [hook][hook-functions] function. - -For example, [romkatv/powerlevel10k][romkatv-powerlevel10k] works this way. The ice takes a list of function names, with the elements separated by `;`: - -```shell -zi ice wrap"func1;func2;โ€ฆ" -``` - -### Use case for `wrap'โ€ฆ'` {#use-case-for-wrap} - -Therefore, to load and unload for the example powerlevel10k prompt in the fashion of [multiple prompts][multiple-prompts] article, the `precmd` function of the plugin โ€“ called `_p9k_precmd`, to get the name of the function do `echo $precmd_functions` after loading a theme, should be passed to `wrap'โ€ฆ'` ice. - -Load when `MYPROMPT == 4` - -```shell showLineNumbers -zi ice load'![[ $MYPROMPT = 4 ]]' unload'![[ $MYPROMPT != 4 ]]' \ - atload'source ~/.p10k.zsh; _p9k_precmd' wrap'_p9k_precmd' -zi load romkatv/powerlevel10k -``` - -This way the actions done during the first call to `_p9k_precmd()` will be normally recorded, which can be viewed in the report of the [romkatv/powerlevel10k][romkatv-powerlevel10k] theme: - -```shell title="zi report romkatv/powerlevel10k" showLineNumbers -Report for romkatv/powerlevel10k plugin ---------------------------------------- -Source powerlevel10k.zsh-theme (reporting enabled) -Autoload is-at-least with options -U -z - -(โ€ฆ) - -Note: === Starting to track function: _p9k_precmd === -Zle -N p9k-orig-zle-line-finish _zsh_highlight_widget_zle-line-finish -Note: a new widget created via zle -N: p9k-orig-zle-line-finish -Zle -N -- zle-line-finish _p9k_wrapper__p9k_zle_line_finish -Autoload vcs_info with options -U -z -Zstyle :vcs_info:* check-for-changes true - -(โ€ฆ) - -Zstyle :vcs_info:* get-revision false -Autoload add-zsh-hook with options -U -z -Zle -F 22_gitstatus_process_response_POWERLEVEL9K -Autoload_gitstatus_cleanup_15877_0_16212/docs/guides/syntax/wrap -Zle -N -- zle-line-pre-redraw _p9k_wrapper__p9k_zle_line_pre_redraw -Note: a new widget created via zle -N: zle-line-pre-redraw -Zle -N -- zle-keymap-select _p9k_wrapper__p9k_zle_keymap_select -Note: === Ended tracking function:_p9k_precmd === - -Functions created: -+vi-git-aheadbehind +vi-git-remotebranch - -(โ€ฆ) -``` - -Summary of `wrap'โ€ฆ'`: - -As it can be seen, the creation of four additional Zle-widgets has been recorded - `Zle -N โ€ฆ` lines. They will be properly deleted/restored on the plugin unload with `MYPROMPT=3` as an example and the shell state will be clean, ready to load a new prompt. - - - - - -[^1]: Save it to a file. The `atclone'โ€ฆ'` is being run on the **installation** while the `atpull'โ€ฆ'` hook is being run on an **update** of the [**trapd00r/LS_COLORS**][trapd00r-ls_colors] plugin. -[^2]: The `%atclone` is just a special string that denotes the `atclone'โ€ฆ'` hook and is copied onto the `atpull'โ€ฆ'` hook. -[^3]: Note that `atload'โ€ฆ'` uses apostrophes, not double quotes, to put `$f` into the string, `atload'โ€ฆ'`'s code is automatically being run **within the snippet's or plugin's directory**. -[^4]: Unless you load a plugin (not a snippet) with `zi load โ€ฆ` and prepend the value of the ice with an exclamation mark. Example: `atload'!local f; for โ€ฆ'`. - - - -[for-syntax]: /docs/guides/syntax/for - -[ice-mods]: /docs/guides/syntax/ice-modifiers - -[exclamation]: /search?q=exclamation+mark - -[zpfx]: /docs/guides/customization#$ZPFX - -[multiple-prompts]: /docs/guides/customization#multiple-prompts - - - -[trapd00r-ls_colors]: https://github.com/trapd00r/LS_COLORS - -[ogham-exa]: https://github.com/ogham/exa - -[direnv-direnv]: https://github.com/direnv/direnv - -[gh-releases]: https://github.com/direnv/direnv/releases/ - -[zi-vim-syntax]: https://github.com/z-shell/zi-vim-syntax - -[docker-compose]: https://github.com/docker/compose - -[z-shell-f-sy-h]: https://github.com/z-shell/F-Sy-H - -[hook-functions]: https://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions - -[romkatv-powerlevel10k]: https://github.com/romkatv/powerlevel10k diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/02_for.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/02_for.mdx deleted file mode 100644 index a197d075..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/02_for.mdx +++ /dev/null @@ -1,266 +0,0 @@ ---- -id: for -title: โœจ "For" ๆง‹ๆ–‡ -sidebar_position: 2 -image: /img/png/theme/z/320x320.png -description: '"For" ๆง‹ๆ–‡ใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ' -keywords: - - for - - syntax - - how-to-use - - the-for-syntax ---- - - - -import APITable from "@site/src/components/APITable"; - -The `for` syntax is the most popular, more concise, and more optimized. The single command will work the same as the [standard syntax][standard-syntax] invocation. - -It allows providing common/default ice-modifiers for a set of plugins or to source multiple files with the ices: [src, pick, multisrc][src-pick-multisrc]. - -:::tip - -To find more information about anything use [search][3] or just CTRL+K. - -::: - -```shell showLineNumbers -zi light-mode for \ - zsh-users/zsh-autosuggestions \ - z-shell/F-Sy-H \ - z-shell/H-S-MW \ - pick"async.zsh" src"pure.zsh" \ - sindresorhus/pure -``` - -ๅฎŸไพ‹ใ‚’ๆŒ™ใ’ใฆ็ดนไป‹ใ™ใ‚‹ใฎใŒไธ€็•ชใงใ™ใ€‚ - -```shell showLineNumbers -zi wait"3" lucid for as"null" \ - sbin Fakerr/git-recall \ - sbin paulirish/git-open \ - sbin paulirish/git-recent \ - sbin davidosomething/git-my \ - make"PREFIX=$ZPFX install" iwata/git-now \ - make"PREFIX=$ZPFX" tj/git-extras -``` - -The above single command installs 6 plugins ([git extension][2] packages), with the base ices `as"null" wait"3" lucid` that are common to all of the plugins and 6 plugin-specific add-on ice-modifiers. - -Load a few useful binary packages from the [GitHub releases][1], utils: - -```shell showLineNumbers -zi for as"null" wait"2" lucid from"gh-r" \ - mv"exa* -> exa" sbin ogham/exa \ - mv"fd* -> fd" sbin"fd/fd" @sharkdp/fd \ - sbin"fzf" junegunn/fzf -``` - -:::note - -- `sbin'โ€ฆ'` is an [ice][3] added by the [bin-gem-node][4] [annex][5], it provides the command to the command line without altering `$PATH`. -- If the name of the command is the same as the name of the plugin, the ice contents can be skipped. - -::: - -[Turbo][6] load some plugins, without any plugin-specific ices: - -```shell showLineNumbers -zi wait lucid for \ - hlissner/zsh-autopair \ - urbainvaes/fzf-marks -``` - -Load two [Oh-My-Zsh][7] files as [snippets][8], in turbo mode: - -```shell showLineNumbers -zi wait lucid for \ - OMZ::lib/git.zsh \ - atload"unalias grv" \ - OMZ::plugins/git/git.plugin.zsh -``` - -Popular plugin set with [turbo][6] and The "For": - -```shell {1} showLineNumbers -zi wait lucid light-mode for \ - atinit"zicompinit; zicdreplay" \ - z-shell/F-Sy-H \ - atload"_zsh_autosuggest_start" \ - zsh-users/zsh-autosuggestions \ - blockf atpull'zi creinstall -q .' \ - zsh-users/zsh-completions -``` - -```mdx-code-block - -``` - -| ๆง‹ๆ–‡ | ่ชฌๆ˜Ž | -| ------------ | :------------------------------------------------------------------------------------------- | -| `wait` | Load 0 seconds (about 5 ms exactly) after prompt ([turbo mode][6]). | -| `lucid` | Silence the under-prompt messages ("`Loaded {name of the plugin}`"). | -| `light-mode` | Load the plugin in `light` mode. [^1]. | -| `atpull'โ€ฆ'` | Execute after updating the plugin โ€“ the command in the ice will install any new completions. | -| `atinit'โ€ฆ'` | Execute code before loading plugin. | -| `atload'โ€ฆ'` | Execute code after loading the plugin. | -| `zicompinit` | Equals toย `autoload compinit; compinit`. | -| `zicdreplay` | Execute `compdef โ€ฆ` calls by plugins. More below [^2]. | - -```mdx-code-block - -``` - -## Oh-My-Zsh, [turbo][6] Oh-My-Zsh and the The "For" syntax - -### Without [turbo mode][6] and The "For" - -```shell showLineNumbers -# A. -setopt prompt_subst - -# B. -zi snippet OMZL::git.zsh - -# C. -zi ice atload"unalias grv" -zi snippet OMZP::git - -# D. -zi for OMZL::prompt_info_functions.zsh OMZT::gnzh - -# E. -zi snippet OMZP::colored-man-pages - -# F. -zi ice as"completion" -zi snippet OMZP::docker/_docker - -# G. -zi ice atinit"zicompinit; zicdreplay" -zi light z-shell/F-Sy-H -``` - -### With [turbo mode][6] and The "For" - -```shell showLineNumbers -# A. -setopt prompt_subst - -# B, C. -zi wait lucid for \ - OMZL::git.zsh \ - atload"unalias grv" \ - OMZP::git - -# Provide a simple prompt till the theme loads to visualize the effect. -PS1="READY >" - -# D. -zi wait'!' lucid for \ - OMZL::prompt_info_functions.zsh \ - OMZT::gnzh - -# E, F, G. -zi wait lucid for \ - atinit"zicompinit; zicdreplay" \ - z-shell/fast-syntax-highlighting \ - OMZP::colored-man-pages \ - as"completion" \ - OMZP::docker/_docker -``` - -:::info - -**A** - Most themes use this option. - -**B, C** - OMZ themes use this library and some others use also the plugin. It provides many aliases โ€“ `atload'โ€ฆ'` showing how to disable some of them (e.g.: to use the program `rgburke/grv`). - -**D** - Set OMZ theme. Loaded separately because the theme needs the `!` passed to the `wait` ice to reset the prompt after loading the snippet in turbo mode. - -**E, F, G** - Some plugins: - -1. syntax-highlighting, loaded possibly early for a better user experience). -2. example functional plugin. -3. docker completion. - -::: - -The above setup loads everything after the prompt, because of the preceding `wait` ice. That is called **turbo mode**, which shortens Zsh startup time by 50%-80%, e.g. instead of 200 ms, it'll be getting your shell started up after **40 ms**. - -Try both setups on the daily basis to notice the difference. The features of Zi can do much more than this simple example. - -### `zi-turbo 'โ€ฆ' for โ€ฆ` {#zi-turbo--for-} - -The `zi-turbo` is a function to simplify `wait`: - -```shell showLineNumbers -zi-turbo() { - zi depth'3' lucid ${1/#[0-9][a-c]/wait"${1}"} "${@:2}" -} -``` - -Then use the `for` syntax in the imposed loading order: - -```shell {1,6,10,15} showLineNumbers -zi-turbo '0a' for \ - OMZL::git.zsh \ - OMZL::compfix.zsh \ - OMZL::functions.zsh \ - -zi-turbo '0b' for \ - OMZL::prompt_info_functions.zsh OMZL::spectrum.zsh \ - OMZL::clipboard.zsh OMZL::termsupport.zsh OMZL::directories.zsh - -zi-turbo '0c' for \ - OMZP::sudo OMZP::encode64 \ - atload"unalias grv g" OMZP::git \ - OMZP::gcloud OMZP::nvm OMZP::gem OMZP::rust - -zi-turbo '1a' for \ - MichaelAquilina/zsh-you-should-use -``` - -## Summary - -In general, [turbo mode][6] can be optionally enabled only for a subset of plugins or for all plugins. - -Syntax-highlighting plugins, like [F-Sy-H][11] or [zsh-syntax-highlighting][12], theoretically expect to be loaded last, even after the completion initialization as `compinit` function. - -However, in practice, you just have to ensure that such plugin is loaded after plugins that are issuing `compdef` โ€“ which means completions that aren't using the underscore-starting function file; the completion initialization still has to be performed before the syntax-highlighting plugin, hence the `atinit'โ€ฆ'` ice, which will load `compinit` right before loading the plugin, the syntax-highlighting and suggestions plugins are loaded early for a better user experience. - - - - - -[^1]: Then the tracking of plugin, activity report gathering, accessible via the `zi report {plugin-name}` subcommand) is being disabled. Note that for turbo mode, the performance gains are almost `0`, so in this mode, you can load all plugins with the tracking and the `light-mode` ice can be removed from the command. -[^2]: They were recorded and `compinit` can be called later. `compinit` provides the `compdef` function, so it must be run before issuing the taken-over `compdef`s with `zicdreplay`. - - - -[1]: /search/?q=GH-R - -[2]: /search/?q=git+ext - -[3]: /search/?q=ice - -[4]: /search/?q=bin+gem+node - -[5]: /search/?q=annex - -[6]: /search/?q=turbo+mode - -[7]: /search/?q=oh+my+zsh - -[8]: /search/?q=snippets - -[standard-syntax]: /docs/guides/syntax/standard - -[src-pick-multisrc]: /docs/guides/syntax/standard#src-pick-multisrc - - - -[11]: https://github.com/z-shell/F-Sy-H - -[12]: https://github.com/zsh-users/zsh-syntax-highlighting diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/03_ice_modifiers.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/03_ice_modifiers.mdx deleted file mode 100644 index 7932aeee..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/03_ice_modifiers.mdx +++ /dev/null @@ -1,227 +0,0 @@ ---- -id: ice-modifiers -title: ๐ŸงŠ Ice ไฟฎ้ฃพๅญ -sidebar_position: 4 -image: /img/png/theme/z/320x320.png -description: Ice ไฟฎ้ฃพๅญ ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ -slug: ice-modifiers ---- - -import Image from "@theme/IdealImage"; -import ZIceImg from "/img/png/theme/ice_180x170.png"; -import APITable from "@site/src/components/APITable"; - -:::info FAQ: What is ice? - -What is ice - -The ice is something that melts in a drink, though in Zi syntax, it means adding an ice-modifier that's temporary because it disappears โ€“ which means that the ice-modifier will last only for the next Zi command. - -::: - -An ice-modifiers are [passed][alternate-syntax] to `zi ice โ€ฆ` to obtain described effects, additionally can be added with [annexes][12]. To see all available ice-modifiers run `zi icemods`. - -ใ„ใใคใ‹ใฎice ไฟฎ้ฃพๅญใฏใƒใ‚คใƒฉใ‚คใƒˆ่กจ็คบใ•ใ‚ŒใฆใŠใ‚Šใ€ใ‚ฏใƒชใƒƒใ‚ฏใ™ใ‚‹ใจ่ฉฒๅฝ“ใ™ใ‚‹Wikiใƒšใƒผใ‚ธใซ็งปๅ‹•ใ—ใ€่ฉณใ—ใ„่ชฌๆ˜ŽใŒ่กจ็คบใ•ใ‚Œใพใ™ใ€‚ ็‰นใซๆ˜Ž่จ˜ใ•ใ‚Œใฆใ„ใชใ„้™ใ‚Šใ€ไธŽใˆใ‚‰ใ‚ŒใŸiceใฏใƒ—ใƒฉใ‚ฐใ‚คใƒณใจใ‚นใƒ‹ใƒšใƒƒใƒˆใฎไธกๆ–นใงๆฉŸ่ƒฝใ™ใ‚‹ใจ่€ƒใˆใฆใ„ใŸใ ใ„ใฆ็ตๆง‹ใงใ™ใ€‚ - -## Ice effects {#ice-effects} - -```mdx-code-block - -``` - -| Ice ไฟฎ้ฃพๅญ | ่ชฌๆ˜Ž | -| :-------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `as` | Can be `as"program"` (alias: `as"command"`), and will cause to add script/program to `$PATH` instead of sourcing (see `pick`). Can also be `as"completion"` โ€“ use with plugins or snippets in whose only underscore-starting `_*` files you are interested in. [^8] | -| [id-as][6] | Nickname a plugin or snippet, e.g. create a short handler for the long-URL snippet. | -| `teleid` | Effective remote-ID (i.e.: URL, GitHub username/repo, package name, etc.). | -| `compile` | Pattern (possible `{โ€ฆ}` expansion, like `{a/*,b*}`) to select additional files to compile, e.g. `compile"(pure \| async).zsh"`for`sindresorhus/pure`. | -| `nocompile` | Don't try to compile `pick`-pointed files. If passed the exclamation mark (i.e. `nocompile'!'`), then do compile, but after `make'โ€ฆ'` and `atclone'โ€ฆ'` (useful if Makefile installs some scripts, to point `pick'โ€ฆ'` at the location of their installation). | -| `service` | Make the following plugin or snippet a _service_, which will run in the background, and only in a single Zshell instance. See [#zservice][7] topic. | -| `reset-prompt` | Reset the prompt after loading the plugin/snippet (by issuing `zle .reset-prompt`). Note: normally it's sufficient to precede the value of `wait'โ€ฆ'` ice with `!`. | -| [bindmap][8] | To hold `;`-separated strings like `Key(s)A -> Key(s)B`, e.g. `^R -> ^T; ^A -> ^B`. In general, `bindmap'โ€ฆ'` changes bindings (done with the `bindkey` builtin) the plugin does. The example would cause the plugin to map Ctrl-T instead of Ctrl-R, and Ctrl-B instead of Ctrl-A. **Does not work with snippets.** | -| [trackbinds][8] | Shadow but only `bindkey` calls even with `zi light โ€ฆ`, i.e. even with investigating disabled (fast loading), to allow `bindmap` to remap the key-binds. The same effect has the `zi light -b โ€ฆ`, i.e. additional `-b` option to the `light`-subcommand. **Does not work with snippets.** | -| [wrap][9] | Takes a `;`-separated list of function names to be investigated (meaning gathering report and unloading data) **once** during execution. It works by wrapping the functions with an investigating-enabling and disabling snippet of code. [^9] | -| `aliases` | Load the plugin with the aliases mechanism enabled. Use plugins that define **and use** aliases in their scripts. | -| `light-mode` | Load the plugin without investigating, i.e., the same as the `light` command. Useful with the "for" syntax, where there is no `load` nor `light` subcommand | -| [extract][10] | Performs archive extraction supporting multiple formats like `zip`, `tar.gz`, etc., and OS X `dmg` images. [^10] | -| `subst` | Substitute the given string into another string when sourcing the plugin script, e.g.: `zi subst'autoload โ†’ autoload -Uz' โ€ฆ`. | -| `autoload` | Autoload the given functions (from their files). Equivalent to calling `atinit'autoload the-function'`. Supports renaming of the function โ€“ pass `'โ€ฆ โ†’ new-name'` or `'โ€ฆ -> new-name'`, e.g.: `zi autoload'fun โ†’ my-fun; fun2 โ†’ my-fun2'`. | - -```mdx-code-block - -``` - -## Cloning options {#cloning-options} - -```mdx-code-block - -``` - -| Ice ไฟฎ้ฃพๅญ | ่ชฌๆ˜Ž | -| :-------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `proto` | Change protocol to `git`,`ftp`,`ftps`,`ssh`, `rsync`, etc. The default is `https`. **Does not work with snippets.** | -| [from](standard#from) | Clone plugin from a given site. Supported are `from"github"` (default), `โ€ฆ"github-rel"`, `โ€ฆ"gitlab"`, `โ€ฆ"bitbucket"`, `โ€ฆ"notabug"` (short names: `gh`, `gh-r`, `gl`, `bb`, `nb`). Can also be a full domain name e.g: for GitHub enterprise. **Does not work with snippets.** | -| `ver` | Used with `from"gh-r"` (i.e. downloading a binary release, e.g. for use with `as"program"`) โ€“ selects which version to download. Default is latest, can also be explicit `ver"latest"`. Works also with regular plugins, and checkouts e.g. `ver"branch"`, i.e. a specific version. **Does not work with snippets.** | -| `bpick` | Used to select which release from GitHub Releases to download, e.g. `zi ice from"gh-r" as"program" bpick"*Darwin*"; zi load docker/compose`. **Does not work with snippets.** | -| `depth` | Pass `--depth` to `git`. I.e., limit how much history to download. **Does not work with snippets.** | -| `cloneopts` | Pass the contents of `cloneopts` to `git clone`. Defaults to `--recursive`. I.e., change cloning options. Pass empty ice to disable recursive cloning. **Does not work with snippets.** | -| `pullopts` | Pass the contents of `pullopts` to `git pull` used when updating plugins. **Does not work with snippets.** | -| `svn` | Use Subversion for downloading snippets. GitHub supports the `SVN` protocol, which allows cloning of subdirectories as snippets, e.g. `zi ice svn; zi snippet OMZP::git`. Other ice `pick` can be used to select a file to the source (default are: `*.plugin.zsh`, `init.zsh`, `*.zsh-theme`). **Does not work with plugins.** | - -```mdx-code-block - -``` - -## Selection of files (source 'โ€ฆ') {#selection-of-files-source} - -```mdx-code-block - -``` - -| Ice ไฟฎ้ฃพๅญ | ่ชฌๆ˜Ž | -| :-----------: | ------------------------------------------------------------------------------------------------------------------------------------------------- | -| [pick][1] | Select the file to source, or the file to set as a command, when using `snippet --command` or the ice `as"program"`. More below [^1]. | -| [src][1] | Specify an additional file to source after the main file or after setting up command via `as"program"`. It is not a pattern but a plain filename. | -| [multisrc][1] | Allows specifying multiple files for sourcing, enumerated with spaces as the separators. More below [^2]. | - -```mdx-code-block - -``` - -## Conditional loading {#conditional-loading} - -```mdx-code-block - -``` - -| Ice ไฟฎ้ฃพๅญ | ่ชฌๆ˜Ž | -| :------------: | ------------------------------------------------------------------------------------------------------------------------ | -| [wait][2] | Postpone loading a plugin or snippet. For `wait'1'`, loading is done `1` second after the prompt. [^3]. | -| [load][3] | A condition to check which should cause the plugin to load. [^4]. | -| [unload][3] | A condition to check to cause the plugin to unload. More below [^5]. | -| `cloneonly` | Don't load the plugin/snippet, only download it. | -| `if` | Load plugin/snippet only when a given condition is true. Example: [^6]. | -| `has` | Load plugin or snippet only when given command is available (in $PATH), e.g. `zi ice has'git' โ€ฆ`. | -| `subscribe` | Postpone loading of a plugin or snippet until the given file(s) get updated, e.g. `subscribe'{~/files-*,/tmp/files-*}'`. | -| `trigger-load` | Creates a function that loads the associated plugin/snippet, with an option. More below [^7]. | - -```mdx-code-block - -``` - -## Plugin output {#plugin-output} - -```mdx-code-block - -``` - -| Ice ไฟฎ้ฃพๅญ | ่ชฌๆ˜Ž | -| :--------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `silent` | Mute plugin's or snippet's `stderr` & `stdout`. Also, skip the `loaded โ€ฆ` message under the prompt for `wait`, etc. loaded plugins, and completion-installation messages. | -| `lucid` | Skip `loaded โ€ฆ` message under prompt for `wait`, etc. loaded plugins (a subset of `silent`). | -| `notify` | Output given message under-prompt after successfully loading a plugin/snippet. In case of problems with the loading, output a warning message and the return code. If starts with `!` it will then always output the given message. Hint: if the message is empty, then it will just notify about problems. | - -```mdx-code-block - -``` - -## Completions {#completions} - -```mdx-code-block - -``` - -| Ice ไฟฎ้ฃพๅญ | ่ชฌๆ˜Ž | -| :-------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `blockf` | Disallow plugin to modify `fpath`. Useful when a plugin wants to provide completions traditionally. Manage completions using Zi and block the plugins to expose them. | -| `nocompletions` | Skip plugin completions detection and installation. Completions can be installed anytime using: `zi creinstall {plugin-name}`. | - -```mdx-code-block - -``` - -## Command execution after cloning, updating or loading {#command-execution-after-cloning-updating-or-loading} - -```mdx-code-block - -``` - -| Ice ไฟฎ้ฃพๅญ | ่ชฌๆ˜Ž | -| :----------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `mv` | Move file after cloning or update (only for new commits). Example: `mv "fzf-* -> fzf"`. It uses `->` as a separator for old and new file names. Also works with snippets. | -| `cp` | Copy file after cloning or update (only for new commits). Example: `cp "docker-c* -> dcompose"`. Ran after `mv`. | -| [atclone][4] | Run command after cloning, within plugin's directory, e.g. `zi ice atclone"echo cloned"`. Ran also after downloading the snippet. | -| [atpull][4] | Run command after updating (only for new commits), within the plugin's directory. If starts with "!" then the command will be run before `mv` & `cp` ices and before `git pull` or `svn update`. Otherwise is run after `mv` & `cp` ices. Use the `atpull'%atclone'` to repeat `atclone` ice-modifier. | -| [atinit][4] | Run command after directory setup (cloning, checking, etc.) of the plugin/snippet before loading it. | -| [atload][4] | Run the given command within the plugin's directory after loading. Can be used with snippets. Passed code can be preceded with `!`, to be investigated (when using `load`, not `light`). | -| `run-atpull` | Always run the atpull hook (when updating), not exclusively for new commits. | -| `nocd` | Don't switch the current directory to the plugin's directory when evaluating the above ice-modifiers `atinit'โ€ฆ'`, `atload'โ€ฆ'`, etc. | -| [make][5] | Run the `make` command after cloning or updating and executing the `mv`, `cp`, `atpull`, `atclone` ice-modifiers. Can obtain argument, e.g. `make"install PREFIX=/opt"`. If the value starts with `!` then `make` is run before `atclone` and `atpull` ice-modifiers, e.g. `make'!'`. | -| `countdown` | Causes an interruptive (Ctrl-C) countdown 5โ€ฆ4โ€ฆ3โ€ฆ2โ€ฆ1โ€ฆ0 to be displayed before executing `atclone'โ€ฆ'`, `atpull'โ€ฆ'` and `make` ices-modifiers. | -| `reset` | Invokes `git reset --hard HEAD` for plugins or `svn revert` for SVN snippets before pulling any new changes. This way `git` or `svn` will not report conflicts if some changes were done by e.g.: `atclone'โ€ฆ'` ice-modifier. For file snippets and `gh-r` plugins, it invokes `rm -rf *`. | - -```mdx-code-block - -``` - -## Sticky-Emulation Of other shells {#sticky-emulation-of-other-shells} - -```mdx-code-block - -``` - -| Ice ไฟฎ้ฃพๅญ | ่ชฌๆ˜Ž | -| :-------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `sh`, `!sh` | Source the plugin's (or snippet's) script with `sh` emulation so that also all functions declared within the file will get a **sticky** emulation assigned and invoked with the `sh` emulation set-up. The `!sh` version switches additional options that are rather not important from the portability perspective. | -| `bash`, `!bash` | The same as `sh`, but with the `SH_GLOB` option disabled, for "Bash" regular expressions to work. | -| `ksh`, `!ksh` | The same as `sh`, but emulating the `ksh` shell. | -| `csh`, `!csh` | The same as `sh`, but emulating the `csh` shell. | - -```mdx-code-block - -``` - - - - - -[^1]: This pattern will alphabetically match and choose the first file e.g: `zi ice pick"*.plugin.zsh"; zi load โ€ฆ`. -[^2]: Example: `multisrc'misc.zsh grep.zsh'` and also using brace-expansion syntax: `multisrc'{misc,grep}.zsh'` also supports patterns. -[^3]: For `wait'[[ โ€ฆ ]]'`, `wait'(( โ€ฆ ))'`, loading is done when given condition is meet. For `wait'!โ€ฆ'`, the prompt is reset after load. Zsh can start 80% (i.e.: 5x) faster thanks to postponed loading. **Fact:** when `wait` is used without a value, it works as `wait'0'`. -[^4]: It will load once, the condition can be still true, but will not trigger the second load, unless the plugin is unloaded earlier, see `unload`. E.g.: `load'[[ $PWD = */github* ]]'`. -[^5]: It will unload once, then only if loaded again e.g: `unload'[[ $PWD != */github* ]]'`. -[^6]: Example: `zi ice if'[[ -n "$commands[otool]" ]]'; zi load โ€ฆ` or `zi ice if'[[ $OSTYPE = darwin* ]]'; zi load โ€ฆ`. -[^7]: To use the option, precede the ice content with `!` to automatically forward the call afterward, to a command of the same name as the function. Can obtain multiple functions to create โ€“ separate with `;`. -[^8]: The third possible value is `as"null"` โ€“ a shorthand for `pick"/dev/null" nocompletions` โ€“ i.e.: it disables the default script-file sourcing and also the installation of completions. -[^9]: In summary, `wrap` allows to extend the investigating beyond the moment of loading of a plugin. An example use is to `wrap` a precmd function of a prompt (like `_p9k_precmd()` of powerlevel10k) or other plugins that _postpones its initialization till the first prompt_ (like e.g.: zsh-autosuggestions). **Does not work with snippets.** -[^10]: If it has no value, then it works in the _auto_ mode โ€“ it automatically extracts all files of known archive extensions IF they aren't located deeper than in a sub-directory (this is to prevent extraction of some helper archive files, typically located somewhere deeper in the tree). If no such files will be found, then it extracts all found files of known **type** โ€“ the type is being read by the `file` Unix command. If not empty, then takes the names of the files to extract. Refer to the Wiki page for further information. - - - - - -[8]: /docs/guides/syntax/bindkey - -[9]: /docs/guides/syntax/standard#wrap - -[10]: /docs/guides/syntax/standard#extract - -[12]: /ecosystem/annexes/overview - -[alternate-syntax]: /docs/guides/syntax/standard#the-alternative-syntaxes - -[1]: /docs/guides/syntax/standard#src-pick-multisrc - -[2]: /docs/guides/syntax/standard#wait - -[3]: /docs/guides/customization#multiple-prompts - -[4]: /docs/guides/syntax/standard#atclone-atpull-atinit-atload - -[5]: /docs/guides/syntax/standard#the-make-syntax - -[6]: /docs/guides/syntax/standard#id-as - - - -[7]: https://github.com/search?q=topic%3Azservice+org%3Az-shell&type=Repositories diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/10_bindkey.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/10_bindkey.mdx deleted file mode 100644 index c6244105..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/10_bindkey.mdx +++ /dev/null @@ -1,143 +0,0 @@ ---- -id: bindkey -title: ๐Ÿ—’ Bindkeys ใƒžใƒƒใƒ— -sidebar_position: 5 -image: /img/png/theme/z/320x320.png -description: Usage bindmap & bindkey. -keywords: - - syntax - - bindkey - - bindmap - - how-to-use ---- - - - -## Bindkey - -The `bindkey` key mappings can be very confusing to decipher. It can use multiple different notations but it's smart to use the same key notation throughout your configuration. You can print all of your current key bindings in the current keymap with `bindkey`. To print the full `bindkey` command to add to your `.zshrc` file use `bindkey -L`. - -In general, you'll bind a widget so a key sequence or a key with a modifier. This can be declared in [caret notation][5] using `^`, using [escape sequences][6] using `\`, in octal (`\NNN`), hex (`\xNN`), or Unicode (`\uNNNN`). None of these are particularly great for people to read. This is also tricky because it depends on your keyboard, operating system, and shell. - -ๆฌกใซใ€ใ„ใใคใ‹ใฎไพ‹ใ‚’็คบใ—ใพใ™: - -- `\e`, `\E`, = Escape -- `^[` = Alt key (on some keyboards this is the same as escape) -- `^?` = Delete -- `^X`, `^` = Control - -The keys that come after the modifier can add more confusion. - -## Delete key binding - -To delete a key binding you can use `bindkey -d $KEYS`. Make sure you don't delete the characters you need for typing. - -## The `bindmap'โ€ฆ'` keybindings {#bindmap} - -Sometimes plugins call [bindkey][1] to assign keyboard shortcuts. This can cause problems because multiple plugins can bind the same keys. - -Also, the user might want a different binding(s), which will require complicated, additional `bindkey` commands in `.zshrc`. - -Zi provides a solution to this problem โ€“ the ability to remap the bindkeys with a short [ice-modifier][2] `bindmap'โ€ฆ'`. - -### Examples for `bindmap'โ€ฆ'` - -Map Ctrl-G instead of Ctrl-R for the history searcher. - -```shell -zi bindmap'^R -> ^G' for z-shell/history-search-multi-word -``` - -Map Ctrl-Shift-Left and Ctrl-Shift-Right used by URxvt instead of the Xterms' ones. Load with the bindkey-tracking โ†” with light-loading for anything else. - -Could also separate the bindmaps with a semicolon, i.e.: - -```shell -bindmap'"\\e[1\;6D" -> \\e[1\;5D ; "\\e[1\;6C" -> ^[[1\;5C' \ -``` - -```shell showLineNumbers -zi wait light-mode trackbinds bindmap'"\\e[1\;6D" -> \\e[1\;5D"' \ - bindmap'"\\e[1\;6C" -> ^[[1\;5C' pick'dircycle.zsh' for \ - michaelxmcbride/zsh-dircycle -``` - -Map space to regular space and Ctrl-Space to the `globalias` widget, which expands the alias entered on the left, provided by OMZ globalias plugin. - -```shell showLineNumbers -zi bindmap='!" " -> magic-space; !"^ " -> globalias' nocompletions \ - depth=1 pick=plugins/globalias/globalias.plugin.zsh for \ - ohmyzsh/ohmyzsh -``` - -### Explanation - -The `bindmap'โ€ฆ'` ice has two modes of operation: normal and exclamation-mark (`bindmap'!โ€ฆ'`). In the first mode, the remapping is being done from-key to-key, i.e.: `bindmap'fromkey -> to-key'`. - -The given key is changed to the second given key in the `bindkey` command while loading the plugin. In the second mode, the remapping is being done from-key to-widget, e.g: `bindmap'!from-key -> to-widget'`. - -In this mode, the given key is being mapped to the given widget instead of the widget specified in the `bindkey` command e.g.: - -Instead of: - -```shell showLineNumbers -bindkey "^ " magic-space -bindkey " " globalias -``` - -The actual call that'll be done will be: - -```shell showLineNumbers -bindkey "^ " globalias -bindkey " " magic-space -``` - -For the `bindmap='!" " -> magic-space; !"^ " -> globalias'` ice. - -### Using `bindmap'โ€ฆ'` in light mode {#trackbinds} - -When the investigation mode is on i.e.: - -- when the full loading mode is being used, default in the `for` syntax, and when `zi load โ€ฆ` is used, then the `bindmap'โ€ฆ'` ice works normally. - -In the non-investigation: - -- the [light mode](/search/?q=light+mode) โ€“ activated when `zi light โ€ฆ` or the `light-mode` ice is being used โ€“ the `bindmap'โ€ฆ'` is unavailable, unless the `trackbinds` ice is specified: - -With the use of the light-mode ice and the for-syntax: - -```shell showLineNumbers -zi light-mode for trackbinds bindmap'^R -> ^G' \ - z-shell/history-search-multi-word -``` - -With the use of the traditional syntax: - -```shell showLineNumbers -zi ice trackbinds bindmap'^R -> ^G' -zi light z-shell/history-search-multi-word -``` - -### Using the UPAR shorthands - -There are four special values that can be used on the left side of the bind-map: UPAR, DOWNAR, LEFTAR, RIGHTAR. They'll match up arrow, down arrow, etc. So that it's possible to do: - -```shell -zi bindmap='LEFTAR -> ^F; RIGHTAR -> ^G' โ€ฆ -``` - -The benefit of using the UPAR, โ€ฆ shorthands is that they cover multiple possible cursor-key codes for each of the cursor keys so that they'll work regardless of the terminal is used. - - - - - -[1]: /search/?q=bindkey - -[2]: /search/?q=ice+modifier - - - -[5]: https://en.wikipedia.org/wiki/Caret_notation - -[6]: https://en.wikipedia.org/wiki/Escape_sequence diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/_category_.json b/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/_category_.json deleted file mode 100644 index fbad9de0..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/guides/syntax/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "โœ๏ธ ๆง‹ๆ–‡", - "position": 1, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/index.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/index.mdx deleted file mode 100644 index e3355141..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/index.mdx +++ /dev/null @@ -1,129 +0,0 @@ ---- -id: intro -slug: / -title: ๐ŸŽ‰ ใฏใ˜ใ‚ใซ -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -description: ZshใฎใŸใ‚ใฎใ‚นใ‚คใ‚นใ‚ขใƒผใƒŸใƒผใƒŠใ‚คใƒ•๏ผˆๆ—ง็งฐ๏ผšzplugin, zinit๏ผ‰ใฎ็ดนไป‹ใ€‚ ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import Image from "@theme/IdealImage"; -import ImgShow from "@site/src/components/ImgShow"; -import ZGitImg from "@site/static/img/png/theme/branch_box.png"; - -Z-Shell - - - - -[RubyGems](https://rubygems.org) ใจ [$GEM_HOME](https://guides.rubygems.org/command-reference/#gem-environment) ใฏใ€ [bin-gem-node](/ecosystem/annexes/bin-gem-node) ๅˆฅ้คจใซใ‚ˆใฃใฆ่‡ชๅ‹•็š„ใซ็ฎก็†ใ•ใ‚Œใ‚‹ใ‹ใ€ [any-gem](https://github.com/z-shell/any-gem) ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใซใ‚ˆใฃใฆใ‚คใƒณใ‚นใƒˆใƒผใƒซใ•ใ‚Œใพใ™ใ€‚ - - - - -[Node](https://www.npmjs.com) ใƒขใ‚ธใƒฅใƒผใƒซใจ [$NODE_PATH](https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders) ใฏ [bin-gem-node](/ecosystem/annexes/bin-gem-node) ๅˆฅ้คจใง่‡ชๅ‹•็š„ใซ็ฎก็†ใ•ใ‚Œใ‚‹ใ‹ใ€ [any-node](https://github.com/z-shell/any-node) ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใงใ‚คใƒณใ‚นใƒˆใƒผใƒซใ•ใ‚Œใพใ™ใ€‚ - - - - -[Python](https://python.org) ใƒขใ‚ธใƒฅใƒผใƒซใ€[$VIRTUALENV](https://docs.python.org/3/tutorial/venv.html) ใฏ [bin-gem-node](/ecosystem/annexes/bin-gem-node) ๅˆฅ้คจใซใ‚ˆใ‚Š่‡ชๅ‹•็š„ใซ็ฎก็†ใ•ใ‚Œใพใ™ใ€‚ - - - - -[Rust](https://crates.io) ใƒ‘ใƒƒใ‚ฑใƒผใ‚ธใฏ [rust](/ecosystem/annexes/rust) ๅˆฅ้คจใซใ‚ˆใฃใฆ็ฎก็†ใ•ใ‚Œใฆใ„ใพใ™ใ€‚ - - - - -[Annexes](/ecosystem/category/-annexes), [Packages](/ecosystem/category/-packages), [Gallery of Invocations](/community/gallery/collection): GitHubใ‹ใ‚‰ใปใจใ‚“ใฉใ™ในใฆใฎใ‚‚ใฎใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใ€ๅˆถๅพกใ™ใ‚‹ใ“ใจใŒใงใใพใ™ใ€‚ - - - - -## Fast and feature-rich - -- [Meta plugins][meta-plugins] allow installing groups of plugins via a single, friendly label. -- [Packages](/ecosystem/category/-packages) offload the user from providing long and complex commands. -- [Annexes](ecosystem/category/-annexes) allow extending the plugin manager with new features. -- [Turbo][turbo-mode-zsh--53] mode yields **50-80%** faster Zsh startup. - -## Neat and flexible - -- [Customize paths][customizing-paths], use [multiple prompts][multiple-prompts] or create [your own][non-github-local-plugins] plugins. -- Supports [Oh My Zsh][oh-my-zsh-prezto] and [Prezto][oh-my-zsh-prezto] plugins and libraries. ([migration][help-migrate]). -- Does not use $FPATH, loading multiple plugins doesn't clutter $FPATH with the same number of entries, e.g: 10, 15, or more. -- Code is immune to KSH_ARRAYS and other options typically causing compatibility problems. -- Do not require root access, and provide many workarounds e.g: setting so-called **shims** locally. - -## Familiarize and control - -- [Visualize and manage][commands] elements of the plugin: - - **aliases**, **functions**, **bindkeys**, **zle widgets**, **completions**, **variables**. -- Quickly [familiarize][reports-and-statistics] yourself with rich and easy-to-digest information. -- [Load or unload][loading-and-unloading] plugins, use the ability to [manage][completions-management] completions. -- Docker [playground][configs-playground], test or propose configurations. - -## Summary - - - - - - - - - - - - -[commands]: /docs/guides/commands - -[completions-management]: /docs/guides/commands#completions-management - -[customizing-paths]: /docs/guides/customization#customizing-paths - -[loading-and-unloading]: /docs/guides/commands#loading-and-unloading - -[meta-plugins]: /search?q=meta+plugins - -[help-migrate]: /docs/getting_started/migration - -[multiple-prompts]: /docs/guides/customization#multiple-prompts - -[non-github-local-plugins]: /docs/guides/customization#non-github-local-plugins - -[oh-my-zsh-prezto]: /docs/getting_started/overview#oh-my-zsh-prezto - -[reports-and-statistics]: /docs/guides/commands#reports-and-statistics - -[turbo-mode-zsh--53]: /docs/getting_started/overview#turbo-mode-zsh--53 - - - -[configs-playground]: https://github.com/z-shell/playground diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/zi_code.mdx b/i18n/ja/docusaurus-plugin-content-docs/current/zi_code.mdx deleted file mode 100644 index c6d227aa..00000000 --- a/i18n/ja/docusaurus-plugin-content-docs/current/zi_code.mdx +++ /dev/null @@ -1,85 +0,0 @@ ---- -id: code -title: ๐Ÿ”– ใ‚ณใƒผใƒ‰ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ -image: /img/png/theme/z/320x320.png -description: ๆ–‡ๆ›ธใซใฏใ€ใ™ในใฆใฎๆฉŸ่ƒฝใ€ใใ‚Œใ‚‰ใฎ้–“ใฎ็›ธไบ’ไฝœ็”จใ€ใใ‚Œใ‚‰ใฎใ‚ณใƒกใƒณใƒˆใ€ใŠใ‚ˆใณๆฉŸ่ƒฝใŒ็คบใ•ใ‚Œใฆใ„ใพใ™ใ€‚ -keywords: - - code - - zi-code - - documentation - - code-explained ---- - - - -import APITable from "@site/src/components/APITable"; - -:::info - -Documentation is automatically updated every `Thursday` at `4:30 UTC` at [z-shell/docs][]. - -::: - -```mdx-code-block - -``` - -| ใƒ•ใ‚กใ‚คใƒซ | ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใฎๆง˜ๅผ | ่ชฌๆ˜Ž | -| -------------------- | --------------------------------- | ------------------------------------------------------------- | -| [zi.zsh][2] | [adoc][3], [pdf][4], [html][5] | The main script which is always loaded, in `.zshrc` | -| [side.zsh][6] | [adoc][7], [pdf][8], [html][9] | Functions, loaded by `install.zsh` and `autoload.zsh` scripts | -| [install.zsh][10] | [adoc][11], [pdf][12], [html][13] | ใƒ—ใƒฉใ‚ฐใ‚คใƒณใพใŸใฏใ‚นใƒ‹ใƒšใƒƒใƒˆใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ๅ ดๅˆใซใฎใฟไฝฟ็”จใ•ใ‚Œใ‚‹้–ขๆ•ฐ | -| [autoload.zsh][14] | [adoc][15], [pdf][16], [html][17] | Functions used only in interactive `Zi` invocations | -| [additional.zsh][18] | [adoc][19], [pdf][20], [html][21] | ้–ขๆ•ฐใซๅฏพใ™ใ‚‹่ฟฝๅŠ ใ‚ตใƒใƒผใƒˆ | - -```mdx-code-block - -``` - - - - - - - -[z-shell/docs]: https://github.com/z-shell/docs - -[2]: https://github.com/z-shell/zi/blob/main/zi.zsh - -[3]: https://github.com/z-shell/docs/blob/main/code/zsdoc/asciidoc/zi.zsh.adoc - -[4]: https://github.com/z-shell/docs/blob/main/code/zsdoc/pdf/zi.zsh.pdf - -[5]: https://z-shell.github.io/docs/code/html/zi.zsh.html - -[6]: https://github.com/z-shell/zi/blob/main/lib/zsh/side.zsh - -[7]: https://github.com/z-shell/docs/blob/main/code/zsdoc/asciidoc/side.zsh.adoc - -[8]: https://github.com/z-shell/docs/blob/main/code/zsdoc/pdf/side.zsh.pdf - -[9]: https://z-shell.github.io/docs/code/html/side.zsh.html - -[10]: https://github.com/z-shell/zi/blob/main/lib/zsh/install.zsh - -[11]: https://github.com/z-shell/docs/blob/main/code/zsdoc/asciidoc/install.zsh.adoc - -[12]: https://github.com/z-shell/docs/blob/main/code/zsdoc/pdf/install.zsh.pdf - -[13]: https://z-shell.github.io/docs/code/html/install.zsh.html - -[14]: https://github.com/z-shell/zi/blob/main/lib/zsh/autoload.zsh - -[15]: https://github.com/z-shell/docs/blob/main/code/zsdoc/asciidoc/autoload.zsh.adoc - -[16]: https://github.com/z-shell/docs/blob/main/code/zsdoc/pdf/autoload.zsh.pdf - -[17]: https://z-shell.github.io/docs/code/html/autoload.zsh.html - -[18]: https://github.com/z-shell/zi/blob/main/lib/zsh/additional.zsh - -[19]: https://github.com/z-shell/docs/blob/main/code/zsdoc/asciidoc/additional.zsh.adoc - -[20]: https://github.com/z-shell/docs/blob/main/code/zsdoc/pdf/additional.zsh.pdf - -[21]: https://z-shell.github.io/docs/code/html/additional.zsh.html diff --git a/i18n/ja/docusaurus-theme-classic/footer.json b/i18n/ja/docusaurus-theme-classic/footer.json deleted file mode 100644 index b224842b..00000000 --- a/i18n/ja/docusaurus-theme-classic/footer.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "link.title.Knowledge Base": { - "message": "็Ÿฅ่ญ˜", - "description": "The title of the footer links column with title=Knowledge Base in the footer" - }, - "link.title.Community": { - "message": "ใ‚ณใƒŸใƒฅใƒ‹ใƒ†ใ‚ฃ", - "description": "The title of the footer links column with title=Community in the footer" - }, - "link.title.More": { - "message": "ใ‚‚ใฃใจ่ฆ‹ใ‚‹", - "description": "The title of the footer links column with title=More in the footer" - }, - "link.title.Legal": { - "message": "ๆณ•็š„ไบ‹้ …", - "description": "The title of the footer links column with title=Legal in the footer" - }, - "link.item.label.Introduction": { - "message": "ใฏใ˜ใ‚ใซ", - "description": "The label of footer link with label=Introduction linking to /docs" - }, - "link.item.label.Ecosystem": { - "message": "ใ‚จใ‚ณใ‚ทใ‚นใƒ†ใƒ ", - "description": "The label of footer link with label=Ecosystem linking to /ecosystem" - }, - "link.item.label.Community": { - "message": "ใ‚ณใƒŸใƒฅใƒ‹ใƒ†ใ‚ฃ", - "description": "The label of footer link with label=Community linking to /community" - }, - "link.item.label.Guides": { - "message": "ใ‚ฌใ‚คใƒ‰", - "description": "The label of footer link with label=Guides linking to /docs/category/-guides" - }, - "link.item.label.Discussions": { - "message": "่ญฐ่ซ–", - "description": "The label of footer link with label=Discussions linking to https://discussions.zshell.dev" - }, - "link.item.label.GitHub": { - "message": "GitHub", - "description": "The label of footer link with label=GitHub linking to https://github.com/orgs/z-shell" - }, - "link.item.label.Matrix": { - "message": "Matrix", - "description": "The label of footer link with label=Matrix linking to https://matrix.to/#/#zshell:matrix.org" - }, - "link.item.label.Gitter": { - "message": "Gitter", - "description": "The label of footer link with label=Gitter linking to https://gitter.im/z-shell/zi" - }, - "link.item.label.Zsh News": { - "message": "Zsh ใƒ‹ใƒฅใƒผใ‚น", - "description": "The label of footer link with label=Zsh News linking to https://zsh.sourceforge.io/News/" - }, - "link.item.label.Zsh Manual": { - "message": "Zsh ใƒžใƒ‹ใƒฅใ‚ขใƒซ", - "description": "The label of footer link with label=Zsh Manual linking to https://zsh.sourceforge.io/Doc/Release/zsh_toc.html" - }, - "link.item.label.Localization": { - "message": "็ฟป่จณ", - "description": "The label of footer link with label=Localization linking to https://translate.zshell.dev" - }, - "link.item.label.Uptime Status": { - "message": "็จผๅƒ็Šถๆณ", - "description": "The label of footer link with label=Uptime Status linking to https://status.zshell.dev" - }, - "link.item.label.Privacy Policy": { - "message": "ใƒ—ใƒฉใ‚คใƒใ‚ทใƒผใƒใƒชใ‚ทใƒผ", - "description": "The label of footer link with label=Privacy Policy linking to legal/PRIVACY" - }, - "link.item.label.Code of Conduct": { - "message": "่กŒๅ‹•่ฆ็ฏ„", - "description": "The label of footer link with label=Code of Conduct linking to legal/CODE_OF_CONDUCT" - }, - "copyright": { - "message": "่‘—ไฝœๆจฉ ยฉ 2023 Z-Shell ใ‚ณใƒŸใƒฅใƒ‹ใƒ†ใ‚ฃ", - "description": "The footer copyright" - } -} diff --git a/i18n/ja/docusaurus-theme-classic/navbar.json b/i18n/ja/docusaurus-theme-classic/navbar.json deleted file mode 100644 index a8b495f2..00000000 --- a/i18n/ja/docusaurus-theme-classic/navbar.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "title": { - "message": "Z-Shell", - "description": "The title in the navbar" - }, - "item.label.Docs": { - "message": "ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆ", - "description": "Navbar item with label Docs" - }, - "item.label.Ecosystem": { - "message": "ใ‚จใ‚ณใ‚ทใ‚นใƒ†ใƒ ", - "description": "Navbar item with label Ecosystem" - }, - "item.label.Community": { - "message": "ใ‚ณใƒŸใƒฅใƒ‹ใƒ†ใ‚ฃ", - "description": "Navbar item with label Community" - } -} diff --git a/i18n/zh-Hans/code.json b/i18n/zh-Hans/code.json deleted file mode 100644 index 0ae50795..00000000 --- a/i18n/zh-Hans/code.json +++ /dev/null @@ -1,476 +0,0 @@ -{ - "homepage.feature1.title": { - "message": "Zsh ๅฏๅŠจ้€Ÿๅบฆๅฟซ 50-80%", - "description": "Title of feature 1 (left) on the home page" - }, - "home.feature1": { - "message": "ๅณๆ—ถๆ็คบๅฐ†ๆ’ไปถๅŠ ่ฝฝๆŽจ่ฟŸๅˆฐ .zshrc ๆ–‡ไปถๅค„็†ๅฎŒๆˆๆ—ถใ€‚", - "description": "Description of first featured banner in homepage" - }, - "homepage.feature2.title": { - "message": "ไธ“ๆณจไบŽ้‡่ฆ็š„ไบ‹ๆƒ…", - "description": "Title of feature 2 (middle) on the home page" - }, - "home.feature2": { - "message": "ๅ…ณไบŽๆ’ไปถ็š„็ปŸ่ฎกไฟกๆฏ๏ผŒๆ่ฟฐๆ’ไปถ่ฎพ็ฝฎ็š„ๅŠŸ่ƒฝใ€้”ฎไฝ็ป‘ๅฎšใ€่กฅๅ…จๅ’Œๅ…ถไป–ไธœ่ฅฟใ€‚", - "description": "Description of second featured banner in homepage" - }, - "homepage.feature3.title": { - "message": "ๅนฟๆณ›็š„ๅŠŸ่ƒฝ", - "description": "Title of feature 3 (right) on the home page" - }, - "home.feature3": { - "message": "ๆ”ฏๆŒ Oh-My-Zsh ๅ’Œ Prezto - ไธ็‰นๅฎšไบŽๆก†ๆžถ็š„ใ€‚่ฝปๆพๅˆถไฝœๆ‚จ็š„ๆ’ไปถใ€ๅบ“ๅ’Œไธป้ข˜ใ€‚", - "description": "Description of third featured banner in homepage" - }, - "homepage.hero.title": { - "message": "Zsh Unix Shell ็š„ ็‘žๅฃซๅ†›ๅˆ€ ", - "description": "Home page hero title, can contain simple html tags" - }, - "homepage.banner.button.1": { - "message": "ๅผ€ๅง‹ไฝฟ็”จ", - "description": "The homepage get started button" - }, - "homepage.banner.button.2": { - "message": "็คพๅŒบ", - "description": "The homepage community button" - }, - "homepage.video.heading.1": { - "message": "ๅฟซ้€Ÿไธ”ๅŠŸ่ƒฝไธฐๅฏŒ", - "description": "The homepage video container heading 1" - }, - "theme.ErrorPageContent.title": { - "message": "้กต้ขๅทฒๅดฉๆบƒใ€‚", - "description": "The title of the fallback page when the page crashed" - }, - "theme.ErrorPageContent.tryAgain": { - "message": "้‡่ฏ•", - "description": "The label of the button to try again when the page crashed" - }, - "theme.NotFound.title": { - "message": "ๆ‰พไธๅˆฐ้กต้ข", - "description": "The title of the 404 page" - }, - "theme.NotFound.p1": { - "message": "ๆˆ‘ไปฌๆ‰พไธๅˆฐๆ‚จ่ฆๆ‰พ็š„้กต้ขใ€‚", - "description": "The first paragraph of the 404 page" - }, - "theme.NotFound.p2": { - "message": "่ฏท่”็ณปๅŽŸๅง‹้“พๆŽฅๆฅๆบ็ฝ‘็ซ™็š„ๆ‰€ๆœ‰่€…๏ผŒๅนถๅ‘Š็Ÿฅไป–ไปฌ้“พๆŽฅๅทฒๆŸๅใ€‚", - "description": "The 2nd paragraph of the 404 page" - }, - "theme.admonition.note": { - "message": "ๅค‡ๆณจ", - "description": "The default label used for the Note admonition (:::note)" - }, - "theme.admonition.tip": { - "message": "ๆ็คบ", - "description": "The default label used for the Tip admonition (:::tip)" - }, - "theme.admonition.danger": { - "message": "ๅฑ้™ฉ", - "description": "The default label used for the Danger admonition (:::danger)" - }, - "theme.admonition.info": { - "message": "ไฟกๆฏ", - "description": "The default label used for the Info admonition (:::info)" - }, - "theme.admonition.caution": { - "message": "่ญฆๅ‘Š", - "description": "The default label used for the Caution admonition (:::caution)" - }, - "theme.BackToTopButton.buttonAriaLabel": { - "message": "ๅ›žๅˆฐ้กถ้ƒจ", - "description": "The ARIA label for the back to top button" - }, - "theme.blog.archive.title": { - "message": "ๅŽ†ๅฒๅšๆ–‡", - "description": "The page & hero title of the blog archive page" - }, - "theme.blog.archive.description": { - "message": "ๅŽ†ๅฒๅšๆ–‡", - "description": "The page & hero description of the blog archive page" - }, - "theme.blog.paginator.navAriaLabel": { - "message": "ๅšๆ–‡ๅˆ—่กจๅˆ†้กตๅฏผ่ˆช", - "description": "The ARIA label for the blog pagination" - }, - "theme.blog.paginator.newerEntries": { - "message": "่พƒๆ–ฐ็š„ๅšๆ–‡", - "description": "The label used to navigate to the newer blog posts page (previous page)" - }, - "theme.blog.paginator.olderEntries": { - "message": "่พƒๆ—ง็š„ๅšๆ–‡", - "description": "The label used to navigate to the older blog posts page (next page)" - }, - "theme.blog.post.paginator.navAriaLabel": { - "message": "ๅšๆ–‡ๅˆ†้กตๅฏผ่ˆช", - "description": "The ARIA label for the blog posts pagination" - }, - "theme.blog.post.paginator.newerPost": { - "message": "่พƒๆ–ฐไธ€็ฏ‡", - "description": "The blog post button label to navigate to the newer/previous post" - }, - "theme.blog.post.paginator.olderPost": { - "message": "่พƒๆ—งไธ€็ฏ‡", - "description": "The blog post button label to navigate to the older/next post" - }, - "theme.blog.post.plurals": { - "message": "{count} ็ฏ‡ๅšๆ–‡", - "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" - }, - "theme.blog.tagTitle": { - "message": "{nPosts} ๅซๆœ‰ๆ ‡็ญพใ€Œ{tagName}ใ€", - "description": "The title of the page for a blog tag" - }, - "theme.tags.tagsPageLink": { - "message": "ๆŸฅ็œ‹ๆ‰€ๆœ‰ๆ ‡็ญพ", - "description": "The label of the link targeting the tag list page" - }, - "theme.colorToggle.ariaLabel": { - "message": "ๅˆ‡ๆขๆต…่‰ฒ/ๆš—้ป‘ๆจกๅผ๏ผˆๅฝ“ๅ‰ไธบ{mode}๏ผ‰", - "description": "The ARIA label for the navbar color mode toggle" - }, - "theme.colorToggle.ariaLabel.mode.dark": { - "message": "ๆš—้ป‘ๆจกๅผ", - "description": "The name for the dark color mode" - }, - "theme.colorToggle.ariaLabel.mode.light": { - "message": "ๆต…่‰ฒๆจกๅผ", - "description": "The name for the light color mode" - }, - "theme.docs.breadcrumbs.navAriaLabel": { - "message": "้กต้ข่ทฏๅพ„", - "description": "The ARIA label for the breadcrumbs" - }, - "theme.docs.DocCard.categoryDescription": { - "message": "{count} ไธช้กน็›ฎ", - "description": "The default description for a category card in the generated index about how many items this category includes" - }, - "theme.docs.paginator.navAriaLabel": { - "message": "ๆ–‡ๆกฃๅˆ†้กตๅฏผ่ˆช", - "description": "The ARIA label for the docs pagination" - }, - "theme.docs.paginator.previous": { - "message": "ไธŠไธ€้กต", - "description": "The label used to navigate to the previous doc" - }, - "theme.docs.paginator.next": { - "message": "ไธ‹ไธ€้กต", - "description": "The label used to navigate to the next doc" - }, - "theme.docs.tagDocListPageTitle.nDocsTagged": { - "message": "{count} ็ฏ‡ๆ–‡ๆกฃๅธฆๆœ‰ๆ ‡็ญพ", - "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" - }, - "theme.docs.tagDocListPageTitle": { - "message": "{nDocsTagged}ใ€Œ{tagName}ใ€", - "description": "The title of the page for a docs tag" - }, - "theme.docs.versionBadge.label": { - "message": "็‰ˆๆœฌ๏ผš{versionLabel}" - }, - "theme.docs.versions.unreleasedVersionLabel": { - "message": "ๆญคไธบ {siteTitle} {versionLabel} ็‰ˆๅฐšๆœชๅ‘่กŒ็š„ๆ–‡ๆกฃใ€‚", - "description": "The label used to tell the user that he's browsing an unreleased doc version" - }, - "theme.docs.versions.unmaintainedVersionLabel": { - "message": "ๆญคไธบ {siteTitle} {versionLabel} ็‰ˆ็š„ๆ–‡ๆกฃ๏ผŒ็Žฐๅทฒไธๅ†็งฏๆž็ปดๆŠคใ€‚", - "description": "The label used to tell the user that he's browsing an unmaintained doc version" - }, - "theme.docs.versions.latestVersionSuggestionLabel": { - "message": "ๆœ€ๆ–ฐ็š„ๆ–‡ๆกฃ่ฏทๅ‚้˜… {latestVersionLink} ({versionLabel})ใ€‚", - "description": "The label used to tell the user to check the latest version" - }, - "theme.docs.versions.latestVersionLinkLabel": { - "message": "ๆœ€ๆ–ฐ็‰ˆๆœฌ", - "description": "The label used for the latest version suggestion link label" - }, - "theme.common.editThisPage": { - "message": "็ผ–่พ‘ๆญค้กต", - "description": "The link label to edit the current page" - }, - "theme.common.headingLinkTitle": { - "message": "Direct link to {heading}", - "description": "Title for link to heading" - }, - "theme.lastUpdated.atDate": { - "message": "ไบŽ {date} ", - "description": "The words used to describe on which date a page has been last updated" - }, - "theme.lastUpdated.byUser": { - "message": "็”ฑ {user} ", - "description": "The words used to describe by who the page has been last updated" - }, - "theme.lastUpdated.lastUpdatedAtBy": { - "message": "ๆœ€ๅŽ{byUser}{atDate}ๆ›ดๆ–ฐ", - "description": "The sentence used to display when a page has been last updated, and by who" - }, - "theme.navbar.mobileVersionsDropdown.label": { - "message": "้€‰ๆ‹ฉ็‰ˆๆœฌ", - "description": "The label for the navbar versions dropdown on mobile view" - }, - "theme.tags.tagsListLabel": { - "message": "ๆ ‡็ญพ๏ผš", - "description": "The label alongside a tag list" - }, - "theme.AnnouncementBar.closeButtonAriaLabel": { - "message": "ๅ…ณ้—ญ", - "description": "The ARIA label for close button of announcement bar" - }, - "theme.blog.sidebar.navAriaLabel": { - "message": "ๆœ€่ฟ‘ๅšๆ–‡ๅฏผ่ˆช", - "description": "The ARIA label for recent posts in the blog sidebar" - }, - "theme.CodeBlock.copied": { - "message": "ๅคๅˆถๆˆๅŠŸ", - "description": "The copied button label on code blocks" - }, - "theme.CodeBlock.copyButtonAriaLabel": { - "message": "ๅคๅˆถไปฃ็ ๅˆฐๅ‰ช่ดดๆฟ", - "description": "The ARIA label for copy code blocks button" - }, - "theme.CodeBlock.copy": { - "message": "ๅคๅˆถ", - "description": "The copy button label on code blocks" - }, - "theme.CodeBlock.wordWrapToggle": { - "message": "ๅˆ‡ๆข่‡ชๅŠจๆข่กŒ", - "description": "The title attribute for toggle word wrapping button of code block lines" - }, - "theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel": { - "message": "ๆ‰“ๅผ€/ๆ”ถ่ตทไพง่พนๆ ่œๅ•ใ€Œ{label}ใ€", - "description": "The ARIA label to toggle the collapsible sidebar category" - }, - "theme.NavBar.navAriaLabel": { - "message": "Main", - "description": "The ARIA label for the main navigation" - }, - "theme.navbar.mobileLanguageDropdown.label": { - "message": "้€‰ๆ‹ฉ่ฏญ่จ€", - "description": "The label for the mobile language switcher dropdown" - }, - "theme.TOCCollapsible.toggleButtonLabel": { - "message": "ๆœฌ้กตๆ€ป่งˆ", - "description": "The label used by the button on the collapsible TOC component" - }, - "theme.blog.post.readMore": { - "message": "้˜…่ฏปๆ›ดๅคš", - "description": "The label used in blog post item excerpts to link to full blog posts" - }, - "theme.blog.post.readMoreLabel": { - "message": "้˜…่ฏป {title} ็š„ๅ…จๆ–‡", - "description": "The ARIA label for the link to full blog posts from excerpts" - }, - "theme.blog.post.readingTime.plurals": { - "message": "้˜…่ฏป้œ€ {readingTime} ๅˆ†้’Ÿ", - "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" - }, - "theme.docs.breadcrumbs.home": { - "message": "ไธป้กต้ข", - "description": "The ARIA label for the home page in the breadcrumbs" - }, - "theme.docs.sidebar.collapseButtonTitle": { - "message": "ๆ”ถ่ตทไพง่พนๆ ", - "description": "The title attribute for collapse button of doc sidebar" - }, - "theme.docs.sidebar.collapseButtonAriaLabel": { - "message": "ๆ”ถ่ตทไพง่พนๆ ", - "description": "The title attribute for collapse button of doc sidebar" - }, - "theme.docs.sidebar.navAriaLabel": { - "message": "Docs sidebar", - "description": "The ARIA label for the sidebar navigation" - }, - "theme.docs.sidebar.closeSidebarButtonAriaLabel": { - "message": "ๅ…ณ้—ญๅฏผ่ˆชๆ ", - "description": "The ARIA label for close button of mobile sidebar" - }, - "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": { - "message": "โ† ๅ›žๅˆฐไธป่œๅ•", - "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)" - }, - "theme.docs.sidebar.toggleSidebarButtonAriaLabel": { - "message": "ๅˆ‡ๆขๅฏผ่ˆชๆ ", - "description": "The ARIA label for hamburger menu button of mobile navigation" - }, - "theme.docs.sidebar.expandButtonTitle": { - "message": "ๅฑ•ๅผ€ไพง่พนๆ ", - "description": "The ARIA label and title attribute for expand button of doc sidebar" - }, - "theme.docs.sidebar.expandButtonAriaLabel": { - "message": "ๅฑ•ๅผ€ไพง่พนๆ ", - "description": "The ARIA label and title attribute for expand button of doc sidebar" - }, - "theme.SearchBar.seeAll": { - "message": "ๆŸฅ็œ‹ๅ…จ้ƒจ {count} ไธช็ป“ๆžœ" - }, - "theme.SearchPage.documentsFound.plurals": { - "message": "ๆ‰พๅˆฐ {count} ไปฝๆ–‡ไปถ", - "description": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" - }, - "theme.SearchPage.existingResultsTitle": { - "message": "ใ€Œ{query}ใ€็š„ๆœ็ดข็ป“ๆžœ", - "description": "The search page title for non-empty query" - }, - "theme.SearchPage.emptyResultsTitle": { - "message": "ๅœจๆ–‡ๆกฃไธญๆœ็ดข", - "description": "The search page title for empty query" - }, - "theme.SearchPage.inputPlaceholder": { - "message": "ๅœจๆญค่พ“ๅ…ฅๆœ็ดขๅญ—่ฏ", - "description": "The placeholder for search page input" - }, - "theme.SearchPage.inputLabel": { - "message": "ๆœ็ดข", - "description": "The ARIA label for search page input" - }, - "theme.SearchPage.algoliaLabel": { - "message": "้€š่ฟ‡ Algolia ๆœ็ดข", - "description": "The ARIA label for Algolia mention" - }, - "theme.SearchPage.noResultsText": { - "message": "ๆœชๆ‰พๅˆฐไปปไฝ•็ป“ๆžœ", - "description": "The paragraph for empty search result" - }, - "theme.SearchPage.fetchingNewResults": { - "message": "ๆญฃๅœจ่Žทๅ–ๆ–ฐ็š„ๆœ็ดข็ป“ๆžœ...", - "description": "The paragraph for fetching new search results" - }, - "theme.SearchBar.label": { - "message": "ๆœ็ดข", - "description": "The ARIA label and placeholder for search button" - }, - "theme.SearchModal.searchBox.resetButtonTitle": { - "message": "ๆธ…้™คๆŸฅ่ฏข", - "description": "The label and ARIA label for search box reset button" - }, - "theme.SearchModal.searchBox.cancelButtonText": { - "message": "ๅ–ๆถˆ", - "description": "The label and ARIA label for search box cancel button" - }, - "theme.SearchModal.startScreen.recentSearchesTitle": { - "message": "ๆœ€่ฟ‘ๆœ็ดข", - "description": "The title for recent searches" - }, - "theme.SearchModal.startScreen.noRecentSearchesText": { - "message": "ๆฒกๆœ‰ๆœ€่ฟ‘ๆœ็ดข", - "description": "The text when no recent searches" - }, - "theme.SearchModal.startScreen.saveRecentSearchButtonTitle": { - "message": "ไฟๅญ˜่ฟ™ไธชๆœ็ดข", - "description": "The label for save recent search button" - }, - "theme.SearchModal.startScreen.removeRecentSearchButtonTitle": { - "message": "ไปŽๅŽ†ๅฒ่ฎฐๅฝ•ไธญๅˆ ้™ค่ฟ™ไธชๆœ็ดข", - "description": "The label for remove recent search button" - }, - "theme.SearchModal.startScreen.favoriteSearchesTitle": { - "message": "ๆ”ถ่—", - "description": "The title for favorite searches" - }, - "theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle": { - "message": "ไปŽๆ”ถ่—ๅˆ—่กจไธญๅˆ ้™ค่ฟ™ไธชๆœ็ดข", - "description": "The label for remove favorite search button" - }, - "theme.SearchModal.errorScreen.titleText": { - "message": "ๆ— ๆณ•่Žทๅ–็ป“ๆžœ", - "description": "The title for error screen of search modal" - }, - "theme.SearchModal.errorScreen.helpText": { - "message": "ไฝ ๅฏ่ƒฝ้œ€่ฆๆฃ€ๆŸฅ็ฝ‘็ปœ่ฟžๆŽฅใ€‚", - "description": "The help text for error screen of search modal" - }, - "theme.SearchModal.footer.selectText": { - "message": "้€‰ไธญ", - "description": "The explanatory text of the action for the enter key" - }, - "theme.SearchModal.footer.selectKeyAriaLabel": { - "message": "Enter ้”ฎ", - "description": "The ARIA label for the Enter key button that makes the selection" - }, - "theme.SearchModal.footer.navigateText": { - "message": "ๅฏผ่ˆช", - "description": "The explanatory text of the action for the Arrow up and Arrow down key" - }, - "theme.SearchModal.footer.navigateUpKeyAriaLabel": { - "message": "ๅ‘ไธŠ้”ฎ", - "description": "The ARIA label for the Arrow up key button that makes the navigation" - }, - "theme.SearchModal.footer.navigateDownKeyAriaLabel": { - "message": "ๅ‘ไธ‹้”ฎ", - "description": "The ARIA label for the Arrow down key button that makes the navigation" - }, - "theme.SearchModal.footer.closeText": { - "message": "ๅ…ณ้—ญ", - "description": "The explanatory text of the action for Escape key" - }, - "theme.SearchModal.footer.closeKeyAriaLabel": { - "message": "Esc ้”ฎ", - "description": "The ARIA label for the Escape key button that close the modal" - }, - "theme.SearchModal.footer.searchByText": { - "message": "ๆœ็ดขๆไพ›", - "description": "The text explain that the search is making by Algolia" - }, - "theme.SearchModal.noResultsScreen.noResultsText": { - "message": "ๆฒกๆœ‰็ป“ๆžœ๏ผš", - "description": "The text explains that there are no results for the following search" - }, - "theme.SearchModal.noResultsScreen.suggestedQueryText": { - "message": "่ฏ•่ฏ•ๆœ็ดข", - "description": "The text for the suggested query when no results are found for the following search" - }, - "theme.SearchModal.noResultsScreen.reportMissingResultsText": { - "message": "่ฎคไธบ่ฟ™ไธชๆŸฅ่ฏขๅบ”่ฏฅๆœ‰็ป“ๆžœ๏ผŸ", - "description": "The text for the question where the user thinks there are missing results" - }, - "theme.SearchModal.noResultsScreen.reportMissingResultsLinkText": { - "message": "่ฏทๅ‘Š็Ÿฅๆˆ‘ไปฌใ€‚", - "description": "The text for the link to report missing results" - }, - "theme.SearchModal.placeholder": { - "message": "ๆœ็ดขๆ–‡ๆกฃ", - "description": "The placeholder of the input of the DocSearch pop-up modal" - }, - "theme.IdealImageMessage.loading": { - "message": "ๅŠ ่ฝฝไธญโ€ฆโ€ฆ", - "description": "When the full-scale image is loading" - }, - "theme.IdealImageMessage.load": { - "message": "็‚นๅ‡ปๅŠ ่ฝฝๅ›พ็‰‡{sizeMessage}", - "description": "To prompt users to load the full image. sizeMessage is a parenthesized size figure." - }, - "theme.IdealImageMessage.offline": { - "message": "ไฝ ็š„ๆต่งˆๅ™จๅค„ไบŽ็ฆป็บฟ็Šถๆ€ใ€‚ๅ›พ็‰‡ๆœชๅŠ ่ฝฝ", - "description": "When the user is viewing an offline document" - }, - "theme.IdealImageMessage.404error": { - "message": "ๆœชๆ‰พๅˆฐๅ›พ็‰‡", - "description": "When the image is not found" - }, - "theme.IdealImageMessage.error": { - "message": "ๅ‡บ็Žฐ้”™่ฏฏ๏ผŒ็‚นๅ‡ป้‡่ฏ•", - "description": "When the image fails to load for unknown error" - }, - "theme.PwaReloadPopup.info": { - "message": "ๆœ‰ๅฏ็”จ็š„ๆ–ฐ็‰ˆๆœฌ", - "description": "The text for PWA reload popup" - }, - "theme.PwaReloadPopup.refreshButtonText": { - "message": "ๅˆทๆ–ฐ", - "description": "The text for PWA reload button" - }, - "theme.PwaReloadPopup.closeButtonAriaLabel": { - "message": "ๅ…ณ้—ญ", - "description": "The ARIA label for close button of PWA reload popup" - }, - "theme.common.skipToMainContent": { - "message": "่ทณๅˆฐไธป่ฆๅ†…ๅฎน", - "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation" - }, - "theme.tags.tagsPageTitle": { - "message": "ๆ ‡็ญพ", - "description": "The title of the tag list page" - } -} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/options.json b/i18n/zh-Hans/docusaurus-plugin-content-blog/options.json deleted file mode 100644 index 61298ed5..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/options.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "title": { - "message": "ๅšๅฎข", - "description": "The title for the blog used in SEO" - }, - "description": { - "message": "ๅšๅฎข", - "description": "The description for the blog used in SEO" - }, - "sidebar.title": { - "message": "ๆœ€ๆ–ฐๅ‘ๅธƒ", - "description": "The label for the left sidebar" - } -} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current.json b/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current.json deleted file mode 100644 index 7e19d35f..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "version.label": { - "message": "ไธ‹ไธ€้กต", - "description": "The label for version current" - }, - "sidebar.SideBar.category.๐Ÿ“– Zsh User's Guide": { - "message": "๐Ÿ“– Zsh ็”จๆˆทๆŒ‡ๅ—", - "description": "The label for category ๐Ÿ“– Zsh User's Guide in sidebar SideBar" - }, - "sidebar.SideBar.category.๐ŸŽฏ Roadmap": { - "message": "๐ŸŽฏ Roadmap", - "description": "The label for category ๐ŸŽฏ Roadmap in sidebar SideBar" - }, - "sidebar.SideBar.category.โœจ Gallery of Invocations": { - "message": "โœจ ่ฐƒ็”จๅบ“", - "description": "The label for category โœจ Gallery of Invocations in sidebar SideBar" - }, - "sidebar.SideBar.category.โœจ Collection": { - "message": "โœจ ้›†ๅˆ", - "description": "The label for category โœจ Collection in sidebar SideBar" - } -} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/02_zsh_plugin_standard.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/02_zsh_plugin_standard.mdx deleted file mode 100644 index 924f5263..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/02_zsh_plugin_standard.mdx +++ /dev/null @@ -1,532 +0,0 @@ ---- -id: zsh_plugin_standard -title: โ„น๏ธ Zsh Plugin Standard -sidebar_position: 2 -image: /img/png/theme/z/320x320.png -toc_max_heading_level: 2 -keywords: - - zsh - - create - - plugin - - zsh-plugin - - best-practices - - create-zsh-plugin - - zsh-plugin-standard ---- - - - -## What is a Zsh plugin? - -ไปŽๅŽ†ๅฒไธŠ็œ‹๏ผŒZsh ๆ’ไปถๆœ€ๅˆๆ˜ฏ็”ฑ Oh My Zsh ๅฎšไน‰็š„ใ€‚ They provide a way to package together files that extend or configure the shellโ€™s functionality in a particular way. - -็ฎ€ๅ•ๆฅ่ฏด๏ผŒไธ€ไธชๆ’ไปถ๏ผš - -1. Has directory added to `$fpath` ([Zsh documentation: #Autoloading-Functions][autoloading-functions]). This is being done either by a plugin manager or by the plugin itself (see [5th section](#run-on-unload-call) for more information). - -2. Has first `*.plugin.zsh` file sourced (or `*.zsh`, `init.zsh`, `*.sh`, these are non-standard). - - 2.1 The first point allows plugins to provide completions and functions that are loaded via Zshโ€™s `autoload` mechanism (a single function per file). - -3. ไปŽๆ›ดๅ…จ้ข็š„่ง’ๅบฆๆฅ็œ‹๏ผŒไธ€ไธชๆ’ไปถๅŒ…ๅซไปฅไธ‹ๅ‡ ็‚น๏ผš - - 3.1. a directory containing various files (the main script, autoload functions, completions, Makefiles, backend programs, documentation). - - 3.2. a source-able script that obtains the path to its directory via `$0` (see the [next section](#zero-handling) for a related enhancement proposal). - - 3.3. GitHub (or another site) repository identified by two components **username**/**plugin-name**. - - 3.4. software package containing any type of command line artifacts โ€“ when used with advanced plugin managers that have hooks, can run Makefiles, and add directories to `$PATH`. - -Below follow the proposed enhancements and codifications of the definition of a "Zsh the plugin" and the actions of plugin managers โ€“ the proposed standardization. - -ๅฎƒไปฌๆถต็›–ไบ†ๅฆ‚ไฝ•็ผ–ๅ†™Zshๆ’ไปถ็š„ไฟกๆฏใ€‚ - -## 1. Standardized `$0` handling {#zero-handling} - -> [ zero-handling ] - -่ฆ่Žทๅ–ๆ’ไปถ็š„ไฝ็ฝฎ๏ผŒๆ’ไปถๅบ”่ฏฅ่ฟ™ๆ ทๅš: - -```shell showLineNumbers -0="${ZERO:-${${0:#$ZSH_ARGZERO}:-${(%):-%N}}}" -0="${${(M)0:#/*}:-$PWD/$0}" -``` - -Then `${0:h}` to get the pluginโ€™s directory. - -ไปฅไธŠ็š„ๅ•่กŒไปฃ็ ๅฐ†๏ผš - -1. Be backward-compatible with normal `$0` setting and usage. - -2. Use `ZERO` if itโ€™s not empty, - - 2.1. the plugin manager will be easily able to alter effective `$0` before loading a plugin, - - 2.2. this allows e.g. `eval "$( [ functions-directory ] - -Despite that, the current-standard plugins have their main directory added to `$fpath`, a more clean approach is being proposed: that the plugins use a subdirectory called `functions` to store their completions and autoload functions. This will allow a much cleaner design of plugins. The plugin manager should add such a directory to `$fpath`. The lack of support of the current plugin managers can be easily resolved via the [indicator](#indicator): - -```shell showLineNumbers -if [[ ${zsh_loaded_plugins[-1]} != */kalc && -z ${fpath[(r)${0:h}/functions]} ]]; then - fpath+=( "${0:h}/functions" ) -fi -``` - -or, via use of the `PMSPEC` [parameter](#pmspec): - -```shell showLineNumbers -if [[ $PMSPEC != *f* ]]; then - fpath+=( "${0:h}/functions" ) -fi -``` - -The above snippet added to the `plugin.zsh` file will add the directory to the `$fpath` with the compatibility with any new plugin managers preserved. The existence of the `functions` subdirectory cancels the normal adding of the main plugin directory to `$fpath`. - -### **STATUS:** [ functions-directory ] - -- GitHub Search: [zsh_loaded_plugins](https://github.com/search?q=%22$zsh_loaded_plugins%22&type=code) -- GitHub Search: [PMSPEC \*f\*](https://github.com/search?q=[[%20%22$PMSPEC%22%20!=%20*f*%20]]&type=code) - -## 3. Binaries directory {#binaries-directory} - -> [ binaries-directory ] - -Plugins sometimes provide a runnable script or program, either for their internal use or for the end-user. It is proposed that for the latter, the plugin shall use a `bin/` subdirectory inside its main dir (it is recommended, that for internal use, the runnable be called via the `$0` value obtained as described above). - -The runnable should be put into the directory with a `+x` access right assigned. The task of the plugin manager should be: - -1. Before sourcing the pluginโ€™s script it should test, if the `bin/` directory exists within the plugin directory. - -2. If it does, it should add the directory to `$PATH`. - -3. The plugin manager can also, instead of extending the `$PATH`, create a **shim** (i.e.: a forwarder script) or a symbolic link inside a common directory thatโ€™s already added to `$PATH` (to limit extending it). - -4. The plugin manager is permitted to do optional things like ensuring `+x` access rights on the directory contents. The `$PMSPEC` code letter for the feature is `b`, and it allows for the plugin to handle the `$PATH` extending itself, via, e.g.: - -```shell showLineNumbers -if [[ $PMSPEC != *b* ]]; then - path+=( "${0:h}/bin" ) -fi -``` - -### **STATUS:** [ binaries-directory ] - -- GitHub Search: [PMSPEC \*b\*](https://github.com/search?q=[[%20%22$PMSPEC%22%20!=%20*b*%20]]&type=code) - -## 4. Unload function {#unload-function} - -> [ unload-function ] - -If a plugin is named e.g. `kalc` (and is available via `any-user/kalc` plugin-ID), then it can provide a function, `kalc_plugin_unload`, that can be called by a plugin manager to undo the effects of loading that plugin. - -A plugin manager can implement its tracking of changes made by a plugin so this is in general optional. However, to properly unload e.g. a prompt, dedicated tracking (easy to do for the plugin creator) can provide better, predictable results. Any special, uncommon effects of loading a plugin are possible to undo only by a dedicated function. - -However, an interesting compromise approach is available โ€“ to withdraw only the special effects of loading a plugin via the dedicated, plugin-provided function and leave the rest to the plugin manager. The value of such an approach is that maintaining such function (if it is to withdraw **all** plugin side-effects) can be a daunting task requiring constant monitoring of it during the plugin development process. - -Note that the unload function should contain `unfunction $0` (or better `unfunction kalc_plugin_unload` etc., for compatibility with the `*_argzero` options), to also delete the function itself. - -### **STATUS:** [ unload-function ] {#unload-function} - -- [Zi][] implements plugin unloading and calls the function. - -- [romkatv/powerlevel10k is using][] the function to execute a specific task: shutdown of the binary, background [gitstatus][] daemon, with very good results, - -- [agkozak/agkozak-zsh-prompt is using][] the function to completely unload the prompt, - -- [agkozak/zsh-z is using][] the function to completely unload the plugin, - -- [agkozak/zhooks is using][] the function to completely unload the plugin. - -## 5. `@zsh-plugin-run-on-unload` call {#run-on-unload-call} - -> [ run-on-unload-call ] - -The plugin manager can provide a function `@zsh-plugin-run-on-unload` which has the following call syntax: - -```shell -@zsh-plugin-run-on-unload "{code-snippet-1}" "{code-snippet-2}" โ€ฆ -``` - -The function registers pieces of code to be run by the plugin manager **on the unloading of the plugin**. The execution of the code should be done by the `eval` built-in in the same order as they are passed to the call. The code should be executed in the pluginโ€™s directory, in the current shell. The mechanism thus provides another way, side to the [unload function](#unload-function), for the plugin to participate in the process of unloading it. - -### **STATUS:** [ run-on-unload-call ] - -- GitHub Search: [zsh-plugin-run-on-unload](https://github.com/search?q=@zsh-plugin-run-on-unload&type=code) - -## 6. `@zsh-plugin-run-on-update` call {#run-on-update-call} - -> [ run-on-update-call ] - -The plugin manager can provide a function `@zsh-plugin-run-on-update` which has the following call syntax: - -```shell -@zsh-plugin-run-on-update "{code-snippet-1}" "{code-snippet-2}" โ€ฆ -``` - -The function registers pieces of code to be run by the plugin manager on an update of the plugin. The execution of the code should be done by the `eval` built-in in the same order as they are passed to the call. The code should be executed in the pluginโ€™s directory, possibly in a subshell **After downloading any new commits** to the repository. - -### **STATUS:** [ run-on-update-call ] - -- GitHub Search: [zsh-plugin-run-on-update](https://github.com/search?q=@zsh-plugin-run-on-update&type=code) - -## 7. Plugin manager activity indicator {#activity-indicator} - -> [ activity-indicator ] - -Plugin managers should set the `$zsh_loaded_plugins` array to contain all previously loaded plugins and the plugin currently being loaded (as the last element). - -This will allow any plugin to: - -1. Check which plugins are already loaded. - -2. Check if it is being loaded by a plugin manager (i.e. not just sourced). - -The first item allows a plugin to e.g. issue a notice about missing dependencies. Instead of issuing a notice, it may be able to satisfy the dependencies on resources it provides. For example, the `pure` prompt provides a `zsh-async` dependency library within its source tree, which is normally a separate project. Consequently, the prompt can decide to source its private copy of `zsh-async`, having also reliable `$0` defined by the previous section (note: `pure` doesnโ€™t normally do this). - -The second item allows a plugin to e.g. set up `$fpath`, knowing that the plugin manager will not handle this: - -```shell showLineNumbers -if [[ ${zsh_loaded_plugins[-1]} != */kalc && -z ${fpath[(r)${0:h}]} ]]; then - fpath+=( "${0:h}" ) -fi -``` - -This will allow the user to reliably source the plugin without using a plugin manager. The code uses the wrapping braces around variables (i.e.: e.g.: `${fpathโ€ฆ}`) to make it compatible with the `KSH_ARRAYS` option and the quoting around `${0:h}` to make it compatible with the `SH_WORD_SPLIT` option. - -### **STATUS:** [ activity-indicator ] - -- GitHub Search: [zsh_loaded_plugins](https://github.com/search?q=%22${zsh_loaded_plugins[-1]}%22&type=code) - -## 8. Global parameter with PREFIX for make, configure, etc {#global-parameter-with-prefix} - -> [ global-parameter-with-prefix ] - -Plugin managers may export the parameter `$ZPFX` which should contain a path to a directory dedicated to user-land software, i.e. for directories `$ZPFX/bin`, `$ZPFX/lib`, `$ZPFX/share`, etc. The suggested name of the directory is `polaris` (e.g.: Zi uses this name and places this directory at `~/.zi/polaris` by default). - -Users can then configure hooks to invoke e.g. `make PREFIX=$ZPFX install` at clone & update the plugin to install software like e.g. [tj/git-extras][]. This is the developing role of Zsh plugin managers as package managers, where `.zshrc` has a similar role to Chef or Puppet configuration and allows to **declare** system state, and have the same state on different accounts/machines. - -No-narration facts-list related to `$ZPFX`: - -1. `export ZPFX="$HOME/polaris"` (or e.g. `$HOME/.zi/polaris`) - -2. `make PREFIX=$ZPFX install` - -3. `./configure --prefix=$ZPFX` - -4. `cmake -DCMAKE_INSTALL_PREFIX=$ZPFX .` - -5. `zi ice make"PREFIX=$ZPFX install"` - -6. `zi โ€ฆ hook-build:"make PREFIX=$PFX install"` - -### **STATUS:** [ global-parameter-with-prefix ] - -- GitHub Search: [ZPFX](https://github.com/search?q=%22$ZPFX%22&type=code) - -## 9. Global parameter holding the plugin managerโ€™s capabilities {#global-parameter-with-capabilities} - -> [ global-parameter-with-capabilities ] - -The above paragraphs of the standard spec each constitute a capability, a feature of the plugin manager. It would make sense that the capabilities are somehow discoverable. To address this, a global parameter called `PMSPEC` (from _plugin-manager specification_) is proposed. It can hold the following Latin letters each informing the plugin, that the plugin manager has support for a given feature: - -- `0` โ€“ the plugin manager provides the `ZERO` parameter, - -- `f` - โ€ฆ supports the `functions/` subdirectory, - -- `b` - โ€ฆ supports the `bin/` subdirectory, - -- `u` - โ€ฆ the unload function, - -- `U` - โ€ฆ the `@zsh-plugin-run-on-unload` call, - -- `p` โ€“ โ€ฆ the `@zsh-plugin-run-on-update` call, - -- `i` โ€“ โ€ฆ the `zsh_loaded_plugins` activity indicator, - -- `b` โ€“ โ€ฆ the `ZPFX` global parameter, - -- `s` โ€“ โ€ฆ the `PMSPEC` global parameter itself (i.e.: should be always present). - -The contents of the parameter describing a fully-compliant plugin manager should be: `0fuUpiPs`. - -The plugin can then verify the support by: - -```shell showLineNumbers -if [[ $PMSPEC != *P* ]]; then - path+=( "${0:h}/bin" ) -fi -``` - -### **STATUS:** [ global-parameter-with-capabilities ] - -- GitHub Search: [PMSPEC](https://github.com/search?q=%22export+PMSPEC=%22&type=code) - -## Zsh plugin-programming best practices - -The document is to define a **Zsh-plugin** but also to serve as an information source for plugin creators. Therefore, it covers also best practices information in this section. - -## Use of `add-zsh-hook` to install hooks - -Zsh ships with the function `add-zsh-hook`. It has the following invocation syntax: - -```shell -add-zsh-hook [ -L | -dD ] [ -Uzk ] hook function -``` - -The command installs a `function` as one of the supported zsh `hook` entries. which are one of: `chpwd`, `periodic`, `precmd`, `preexec`, `zshaddhistory`, `zshexit`, `zsh_directory_name`. For their meaning refer to the [Zsh documentation: #Hook-Functions][hook-functions]. - -## Use of `add-zle-hook-widget` to install Zle Hooks - -The zle editor is the part of the Zsh that is responsible for receiving the text from the user. It can be said that itโ€™s based on widgets, which are nothing more than Zsh functions that are allowed to be run in Zle context, i.e. from the Zle editor (plus a few minor differences, like e.g.: the `$WIDGET` parameter thatโ€™s automatically set by the Zle editor). - -The syntax of the call is: - -```shell -add-zle-hook-widget [ -L | -dD ] [ -Uzk ] hook widgetname -``` - -The call resembles the syntax of the `add-zsh-hook` function. The only difference is that it takes a `widgetname`, not a function name and that the `hook` is one of: `isearch-exit`, `isearch-update`, `line-pre-redraw`, `line-init`, `line-finish`, `history-line-set`, or `keymap-select`. Their meaning is explained in the [Zsh documentation: #Special-Widgets][special-widgets]. - -The use of this function is recommended because it allows the installation **multiple** hooks per each `hook` entry. Before introducing the `add-zle-hook-widget` function the "normal" way to install a hook was to define a widget with the name of one of the special widgets. Now, after the function has been introduced in Zsh `5.3` it should be used instead. - -## Standard parameter naming - -Thereโ€™s a convention already present in the Zsh world โ€“ to name array variables lowercase and scalars uppercase. Itโ€™s being followed by e.g.: the Zsh manual and the Z shell itself (e.g.: `REPLY` scalar and `reply` array, etc.). - -The requirement for the scalars to be uppercase should be, in my opinion, kept only for the global parameters. e.g.: itโ€™s fine to name local parameters inside a function lowercase even when they are scalars, not only arrays. - -An extension to the convention is being proposed: to name associative arrays (i.e.: hashes) capitalized, i.e.: with only the first letter uppercase and the remaining letters lowercase. - -See [the next section](#standard-plugins-hash) for an example of such hash. In the case of the name consisting of multiple words each of them should be capitalized, e.g.: `typeset -A MyHash`. - -This convention will increase code readability and bring order to it. - -## Standard `Plugins` hash - -The plugin often has to declare global parameters that should live throughout a Zsh session. Following the [namespace pollution prevention](#preventing-function-pollution) the plugin could use a hash to store the different values. Additionally, the plugins could use a single hash parameter โ€“ called `Plugins` โ€“ to prevent pollution. - -An example value needed by the plugin: - -```shell showLineNumbers -typeset -gA Plugins -Plugins[MY_PLUGIN_REPO_DIR]="${0:h}" -``` - -This way all the data of all plugins will be kept in a single parameter, available for easy examination and overview (via e.g.: `varied Plugins`), and also not polluting the namespace. - -## Standard recommended [options][] - -The following code snippet is recommended to be included at the beginning of each of the main functions provided by the plugin: - -```shell showLineNumbers -builtin emulate -L zsh ${=${options[xtrace]:#off}:+-o xtrace} -builtin setopt extended_glob warn_create_global typeset_silent no_short_loops rc_quotes no_auto_pushd -``` - -It resets all the options to their default state according to the `zsh` emulation mode, with the use of the `local_options` option โ€“ so the options will be restored to their previous state when leaving the function. It then alters the emulation by `7` different options: - -- `${=${options[xtrace]:#off}:+-o xtrace}` โ€“ `xtrace` prints commands and their arguments as they are executed, this specific variable calls `xtrace` when needed, e.g.: when already active at the entry to the function. - -- `extended_glob` โ€“ enables one of the main Zshell features โ€“ the advanced, built-in regex-like globing mechanism, - -- `warn_create_global` โ€“ enables warnings to be printed each time a (global) variable is defined without being explicitly defined by a `typeset`, `local`, `declare`, etc. call; it allows to catch typos and missing localizations of the variables and thus prevent from writing a bad code, - -- `typeset_silent` โ€“ it allows to call `typeset`, `local`, etc. multiple times on the same variable; without it, the second call causes the variable contents to be printed first; using this option allows declaring variables inside loops, near the place of their use, which sometimes helps to write a more readable code, - -- `no_short_loops` โ€“ disables the short-loops syntax; this is done because when the syntax is enabled it limits the parserโ€™s ability to detect errors (see this [zsh-workers post][] for the details), - -- `rc_quotes` โ€“ adds useful ability to insert apostrophes into an apostrophe-quoted string, by use of `''` inside it, e.g.: `'a stringโ€™s example'` will yield the string `a stringโ€™s example`, - -- `no_auto_pushd` - disables the automatic push of the directory passed to `cd` builtin onto the directory stack; this is useful because otherwise, the internal directory changes done by the plugin will pollute the global directory stack. - -## Standard recommended variables - -Itโ€™s good to localize the following variables at the entry of the main function of a plugin: - -```shell showLineNumbers -local MATCH REPLY; integer MBEGIN MEND -local -a match mbegin mend reply -``` - -The variables starting with `m` and `M` are being used by the substitutions utilizing `(#b)` and `(#m)` flags, respectively. They should not leak to the global scope. Also, their automatic creation would trigger the warning from the `warn_create_global` option. - -The `reply` and `REPLY` parameters are normally used to return an array or a scalar from a function, respectively โ€“ itโ€™s the standard way of passing values from functions. - -Their use is naturally limited to the functions called from the main function of a plugin โ€“ they should not be used to pass data around e.g.: in between prompts, thus itโ€™s natural to localize them in the main function. - -## Standard function name-space prefixes - -The recommendation is the purely subjective opinion of the author. - -It can evolve โ€“ if you have any remarks, donโ€™t hesitate to [fill them](https://github.com/z-shell/zw/issues/new). - -## The problems solved by the proposition - -However, when adopted, the proposition will solve the following issues: - -1. Using the underscore `_` to namespace functions โ€“ this isnโ€™t the right thing to do because the prefix is being already used by the completion functions, so the namespace is already filled up greatly and the plugin functions get lost in it. - -2. Not using a prefix at all โ€“ this is also an unwanted practice as it pollutes the command namespace of such an issue appearing. - -3. It would allow quickly discriminate between function types โ€“ e.g.: seeing the `:` prefix informs the user that itโ€™s a hook-type function while seeing the `@` prefix informs the user that itโ€™s an API-like function, etc. - -4. It also provides an improvement during programming, by allowing to quickly limit the number of completions offered by the editor, e.g.: for Vimโ€™s Ctrl-P completing, when entering +Ctrl-P, then only a subset of the functions are being completed (see below for the type of the functions). **Note:** the editor has to be configured so that it accepts such special characters as part of keywords, for Vim itโ€™s: `:set isk+=@-@,.,+,/,:` for all of the proposed prefixes. - -## The Proposed function-name prefixes - -The proposition of the standard prefixes is as follows: - -1. `.`: for regular private functions. Example function: `.prompt_zinc_get_value`. - -2. `โ†’`: for hook-like functions, so it should be used e.g.: for the [Zsh hooks](#use-of-add-zsh-hook-to-install-hooks) and the [Zle hooks](#use-of-add-zle-hook-widget-to-install-zle-hooks), but also any other, custom hook-like mechanism in the plugin. Example function name: `โ†’prompt_zinc_precmd`. - - 2.1. the previous version of the document recommended colon (`:`) for the prefix, however, it was problematic, because Windows doesnโ€™t allow colons in file names, so it wasnโ€™t possible to name an autoload function this way, - - 2.2. the arrow has a rationale behind it - it denotes the execution **coming back** to the function at a later time after it has been registered as a callback or a handler, - - 2.3. the arrow is easy to type on most keyboard layouts โ€“ it is Right-Alt+I; in case of problems with typing the character can be always copied โ€“ handler functions do occur in the code rarely, - - 2.4. Zsh supports any string as a function name because absolutely any string can be a **file** name โ€“ if there would be an exception in the name of the call-ables, then how would it be possible to run a script called "โ†’abcd"? There are **no** exceptions, the function can be called even as a sequence of null bytes: - - ```shell showLineNumbers - โฏ $'\0'() { print hello } - โฏ $'\0' - hello - ``` - -3. `+`: for output functions, i.e.: for functions that print to the standard output and error or a log, etc. Example function name: `+prompt_zinc_output_segment`. - -4. `/`: for debugging functions, i.e: for functions that output debugs messages to the screen or a log or e.g.: gather some debug data. **Note:** the slash makes it impossible for such functions to be auto-loaded via the `autoload` mechanism. It is somewhat risky to assume, that this will never be needed for the functions, however, the limited number of available ASCII characters justifies such allocation. Example function name: `/prompt_zinc_dmsg`. - -5. `@`: for API-like functions, i.e: for functions that are on a boundary to a subsystem and expose their functionality through a well-defined, generally fixed interface. For example, this plugin standard [defines](#update-register-call) the function `@zsh-plugin-run-on-update`, which is exposing a plugin managerโ€™s functionality in a well-defined way. - -## Example code utilizing the prefixes - -```shell showLineNumbers -.zinc_register_hooks() { - add-zsh-hook precmd :zinc_precmd - /zinc_dmsg "Installed precmd hook with the result: $?" - @zsh-plugin-run-on-unload "add-zsh-hook -d precmd :zinc_precmd" - +zinc_print "Zinc initialization complete" -} -``` - -## Preventing function pollution - -When writing a larger autoload function, it very often is the case that the function contains definitions of other functions. - -When the main function finishes executing, the functions are left defined. This might be undesired, e.g.: because of the command namespace pollution. - -The following snippet of code, when added at the beginning of the main function will automatically unset the sub-functions when leaving the main function to don't leak any functions into the global namespace: - -```shell showLineNumbers -typeset -g prjef -prjef=( ${(k)functions} ) -trap "unset -f -- \"\${(k)functions[@]:|prjef}\" &>/dev/null; unset prjef" EXIT -trap "unset -f -- \"\${(k)functions[@]:|prjef}\" &>/dev/null; unset prjef; return 1" INT -``` - -Replace the `prj*` prefix with your project name, e.g.: `rustef` for a `rust`-related plugin. The `*ef` stands for "entry functions". The snippet works as follows: - -1. The line `prjef=( ${(k)functions} )` remembers all the functions that are currently defined โ€“ which means that the list excludes the functions that are to be yet defined by the body of the main function. - -2. The code `unset -f โ€” "${(k)functions[@]:|prjef}"` first does a subtraction of array contents โ€“ the `:|` substitution operator โ€“ of the functions that are defined at the moment of leaving of the function (the `trap`-s invoke the code at this moment) with the list of functions from the start of the main function โ€“ the ones stored in the variables `$prjef`. - -3. It then unsets the resulting list of the functions โ€“ being only the newly defined functions in the main function โ€“ by passing it to `unset -f โ€ฆ`. This way the functions defined by the body of the main (most often an autoload) function will be only set during the execution of the function. - -## Preventing parameter pollution - -When writing a plugin one often needs to keep a state during the Zsh session. To do this it is natural to use global parameters. However, when the number of the parameters grows one might want to limit it. - -With the following method, only a single global parameter per plugin can be sufficient: - -```shell showLineNumbers -typeset -A PlgMap -typeset -A SomeMap -typeset -a some_array - -PlgMap[state]=1 -SomeMap[state]=1 -some_array[1]=state -``` - -can be converted into: - -```shell showLineNumbers -typeset -A PlgMap - -PlgMap[state]=1 -PlgMap[SomeMap__state]=1 -PlgMap[some_array__1]=state -``` - -The use of this method is very unproblematic. The author reduced the number of global parameters in one of the projects by 21 by using an automatic conversion with Vim substitution patterns with back references without any problems. - -Following the [Standard Plugins Hash](#standard-plugins-hash) section, the plugin could even use a common hash name โ€“ `Plugins` โ€“ to lower the pollution even more. - - - - - - - -[zi]: https://github.com/z-shell/zi - -[comparison]: https://www.zsh.org/mla/workers/2017/msg01827.html - -[romkatv/powerlevel10k is using]: https://github.com/romkatv/powerlevel10k/blob/f17081ca/internal/p10k.zsh#L5390 - -[gitstatus]: https://github.com/romkatv/gitstatus - -[agkozak/agkozak-zsh-prompt is using]: https://github.com/agkozak/agkozak-zsh-prompt/blob/ed228952d68fea6d5cad3beee869167f76c59606/agkozak-zsh-prompt.plugin.zsh#L992-L1039 - -[agkozak/zsh-z is using]: https://github.com/agkozak/zsh-z/blob/16fba5e9d5c4b650358d65e07609dda4947f97e8/zsh-z.plugin.zsh#L680-L698 - -[agkozak/zhooks is using]: https://github.com/agkozak/zhooks/blob/628e1e3b8373bf31c26cb154f71c16ebe9d13b51/zhooks.plugin.zsh#L75-L82 - -[tj/git-extras]: https://github.com/tj/git-extras - -[zsh-workers post]: https://www.zsh.org/mla/workers/2011/msg01050.html - -[autoloading-functions]: https://zsh.sourceforge.net/Doc/Release/Functions.html#Autoloading-Functions - -[special-widgets]: https://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Special-Widgets - -[hook-functions]: https://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions - -[options]: https://zsh.sourceforge.io/Doc/Release/Options.html diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/03_zsh_native_scripting_handbook.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/03_zsh_native_scripting_handbook.mdx deleted file mode 100644 index 018132a5..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/03_zsh_native_scripting_handbook.mdx +++ /dev/null @@ -1,330 +0,0 @@ ---- -id: zsh_handbook -title: ๐Ÿ”ค Zsh Native Scripting Handbook -sidebar_position: 3 -image: /img/png/theme/z/320x320.png -keywords: - - zsh-handbook ---- - - - -import ReadINIExample from "@site/src/components/Markdown/_read_ini_example.mdx"; - -## Information - -### @ is about keeping array form - -How do access all array elements in a shell? The standard answer: `use @ subscript`, i.e. `${array[@]}`. However, this is the Bash & Ksh way (and with the option `KSH_ARRAYS`, Zsh also works this way, i.e. needs `@` to access the whole array). Z shell **is different**: it is a `$array` that refers to all elements anyway. There is no need for the `@` subscript. - -So what use has `@` in the Zsh-world? It is: "`keep array form`" or "`do not join`". When is it activated? When the user quotes the array, i.e. invokes `"$array"`, he induces _joining_ of all array elements (into a single string). `@` is to have elements still quoted (so empty elements are preserved), but not joined. - -Two forms are available, `"$array[@]"` and `"${(@)array}"`. The first form has an additional effect โ€“ when an option `KSH_ARRAYS` is set, it indeed induces referencing to the whole array instead of a first element only. It should then use braces, i.e. `${array[@]}`, `"${array[@]}"` (`KSH_ARRAYS` requirement). - -In practice, if you'll use `@` as a subscript โ€“ `[@]`, not as a flag โ€“ `${(@)...}`, then you'll make the code `KSH_ARRAYS`-compatible. - -### extended_glob - -Glob-flags `#b` and `#m` require `setopt extended_glob`. Patterns utilizing `~` and `^` also require it. Extended-glob is one of the main features of Zsh. - -## Constructs - -### Reading a file - -```shell showLineNumbers -typeset -a lines -lines=( "${(@f)"$( 0 ? b : c ))`. The flexibility of Zsh allows such expressions also in a normal context. Above is an example. `:+` is "if not empty, substitute โ€ฆ" `:-` is "if empty, substitute โ€ฆ". You can save a great number of lines of code with those substitutions, it's normally at least 4-lines `if` condition or lengthy `&&`/`||` use. - -### Ternary expressions with `:#` substitution - -```shell showLineNumbers -var=abc; print ${${${(M)var:#abc}:+is abc}:-not abc} โ†’ is abc -var=abcd; print ${${${(M)var:#abc}:+is abc}:-not abc} โ†’ not abc -``` - -A one-line "if var = x, then โ€ฆ, else โ€ฆ". Again, can spare a great amount of boring code that makes a 10-line function a 20-line one. - -### Using built-in regular expressions engine - -```shell -[[ "aabbb" = (#b)(a##)*(b(#c2,2)) ]] && print ${match[1]}-${match[2]} โ†’ aa-bb -``` - -`\##` is: "1 or more". `(#c2,2)` is: "exactly 2". A few other constructs: `#` is "0 or more", `?` is "any character", `(a|b|)` is "a or b or empty match". `#b` enables the `$match` parameters. There's also `#m` but it has one parameter `$MATCH` for whole matched text, not for any parenthesis. - -Zsh patterns are a custom regular expressions engine. They are slightly faster than the `zsh/regex` module (used for the `=~` operator) and don't have that dependency (regex module can be not present, e.g. in the default static build of Zsh). Also, they can be used in substitutions, for example in the `//` substitution. - -### Skipping uniq - -```shell showLineNumbers -typeset -aU array; array=( a a b ); print $array โ†’ a b -typeset -a array; array=( a a b ); print ${(u)array} โ†’ a b -``` - -Enable the `-U` flag for the array so that it guards elements to be unique, or use the `u`-flag to make unique elements of an array. - -### Skipping awk - -```shell showLineNumbers -typeset -a list; list=( "a,b,c,1,e" "p,q,r,2,t" ); -print "${list[@]/(#b)([^,]##,)(#c3,3)([^,]##)*/${match[2]}}" โ†’ 1 2 -``` - -The pattern specifies 3 blocks of `[^,]##,` so 3 "not-comma multiple times, then comma", then the single block of "not-comma multiple times" in second parentheses -- and then replaces this with second parentheses. The result is the 4th column extracted from multiple lines of text, something `awk` is often used for. Another method is the use of the `s`-flag. For a single line of text: - -```shell -text="a,b,c,1,e"; print ${${(s:,:)text}[4]} โ†’ 1 -``` - -Thanks to in-substitution code-execution capabilities it's possible to use the `s`-flag to apply it to multiple lines: - -```shell showLineNumbers -typeset -a list; list=( "a,b,c,1,e" "p,q,r,2,t" ); -print "${list[@]/(#m)*/${${(s:,:)MATCH}[4]}}" โ†’ 1 2 -``` - -There is a problem with the `(s::)` flag that can be solved if Zsh is version `5.4` or higher: if there will be single input column, e.g. `list=( "column1" "a,b")` instead of two or more columns (i.e. `list=( "column1,column2" "a,b" )`), then `(s::)` will return **string** instead of 1-element **array**. So the index `[4]` in the above snippet will index a string, and show its 4th letter. Starting with Zsh 5.4, thanks to a patch by Bart Schaefer (`40640: the (A) parameter flag forces array result even if...`), it is possible to force **array**-kind of result even for a single column, by adding `(A)` flag, i.e.: - -```shell showLineNumbers -typeset -a list; list=( "a,b,c,1,e" "p,q,r,2,t" "column1" ); -print "${list[@]/(#m)*/${${(As:,:)MATCH}[4]}}" โ†’ 1 2 -print "${list[@]/(#m)*/${${(s:,:)MATCH}[4]}}" โ†’ 1 2 u -``` - -Side-note: `(A)` flag is often used together with the `::=` assignment-substitution and `(P)` flag, to assign arrays and hashes by name. - -### Searching arrays - -```shell showLineNumbers -typeset -a array; array=( a b " c1" d ); print ${array[(r)[[:space:]][[:alpha:]]*]} โ†’ c1 -``` - -`\[[:space:]]` contains unicode spaces. This is often used in conditional expression like `[[ -z ${array[(r)...]} ]]`. - -Note that [Skipping grep](#skipping-grep) that uses `:#` substitution can also be used to search arrays. - -### Code execution in `//` substitution - -```shell showLineNumbers -append() { gathered+=( $array[$1] ); } -functions -M append 1 1 append -typeset -a array; array=( "Value 1" "Other data" "Value 2" ) -typeset -a gathered; integer idx=0 -: ${array[@]/(#b)(Value ([[:digit:]]##)|*)/$(( ${#match[2]} > 0 ? append(++idx) : ++idx ))} -print $gathered โ†’ Value 1 Value 2 -``` - -Use of the `#b` glob flag enables math-code execution (and not only) in `/` and `//` substitutions. Implementation is very fast. - -### Serializing data - -```shell showLineNumbers -typeset -A hsh deserialized; hsh=( key value ) -serialized="${(j: :)${(qkv@)hsh}}" -deserialized=( "${(Q@)${(z@)serialized}}" ) -print ${(kv)deserialized} โ†’ key value -``` - -`j`-flag means join -- by spaces, in this case. Flags `kv` mean keys and values, interleaving. Important `q`-flag means: quote. So what is obtained is each key and value quoted, and put into a string separated by spaces. - -`z`-flag means: split as if Zsh parser would split. So quoting (with backslashes, double quoting, and others) is recognized. Obtained is array `( "key" "value")` which is then de-quoted with `Q`-flag. This yields original data, assigned to the hash `deserialized`. Use this to e.g. implement an array of hashes. - -Note: to be compatible with `setopt ksharrays`, use `[@]` instead of `(@)`, e.g.: `...( "${(Q)${(z)serialized[@]}[@]}" )` - -#### Tip: serializing with Bash - -```shell showLineNumbers -array=( key1 key2 ) -printf -v serialized "%q " "${array[@]}" -eval "deserialized=($serialized)" -``` - -This method works also with Zsh. The drawback is the use of `eval`, however, no problem may occur unless someone compromises the variable's value, but as always, `eval` should be avoided if possible. - -## Real-world examples - -### Testing for Git subcommand - -Following code checks, if there is a `git` subcommand `$mysub`: - -```shell -if git help -a | grep "^ [a-z]" | tr ' ' '\n' | grep -x $mysub > /dev/null > /dev/null; then -``` - -Those are `4` forks. The code can be replaced according to this guide: - -```shell showLineNumbers -local -a lines_list -lines_list=( ${(f)"$(git help -a)"} ) -lines_list=( ${(M)${(s: :)${(M)lines_list:# [a-z]*}}:#$mysub} ) -if (( ${#lines_list} > 0 )); then - โ€ฆ -fi -``` - -The result is just `1` fork. - -### Counting unquoted-only apostrophes - -A project was needing this to do some Zle line-continuation tricks (when you put a backslash-\\ at the end of the line and press enters โ€“ it is the line continuation that occurs at that moment). - -The required functionality is: in the given string, count the number of apostrophes, but _only the unquoted ones_. This means that only apostrophes with null or an even number of preceding backslashes should be accepted into the count: - -```shell showLineNumbers -buf="word'continue\'after\\\'afterSecnd\\''afterPair" -integer count=0 -: ${buf//(#b)((#s)|[^\\])([\\][\\])#(\'\'#)/$(( count += ${#match[3]} ))} -echo $count โ†’ 3 -``` - -The answer (i.e. the output) to the above presentation and example is: `3` (there are `3` unquoted apostrophes in total in the string kept in the variable `$buf`). - -Below follows a variation of the above snippet that doesn't use math-code execution: - -```shell showLineNumbers -buf="word'continue\'after\\\'afterSecnd\\''afterPair" -buf="${(S)buf//(#b)*((#s)|[^\\])([\\][\\])#(\'\'#)*/${match[3]}}"; buf=${buf%%[^\']##} -integer count=${#buf} -echo $count โ†’ 3 -``` - -This is possible thanks to `(S)` flag โ€“ non-greedy matching, `([\\][\\])#` trick โ€“ it matches only unquoted following `(\'\'##)` characters (which are the apostrophes) and a general strategy to replace `anything-apostrope(s)` (unquoted ones) with `the-apostrope(s)` (and then count them with `${#buf}`). - -## Tips and Tricks - -### Parsing INI file - -With Zshell `extended_glob` parsing an `ini` file is an easy task. It will not result in a nested-arrays data structure (Zsh doesn't support nested hashes), but the hash keys are intuitive such as `$DB_CONF[db1__host]`. - -The code should be placed in a file named `read-ini-file`, in `$fpath`, and `autoload read-ini-file` should be invoked. - - diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/99_contributors.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/99_contributors.mdx deleted file mode 100644 index 7c65cfea..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/99_contributors.mdx +++ /dev/null @@ -1,290 +0,0 @@ ---- -id: contributors -title: '๐Ÿ† Contributors' -sidebar_position: 4 -image: /img/png/theme/z/320x320.png -hide_title: false -hide_table_of_contents: false -description: Project contributors -keywords: - - contributors -draft: false -slug: contributors ---- - -import Link from "@docusaurus/Link"; -import Image from "@theme/IdealImage"; -import Emoji from "@site/src/components/Emoji"; -import useBaseUrl from "@docusaurus/useBaseUrl"; -import ThemedImage from "@theme/ThemedImage"; - -```mdx-code-block - -``` - -Contributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated, our target support each other, and the projects we love . - -> To participate or support the project consider joining , translating , and sharing . - -## General - -```mdx-code-block - - - - - - - - - - - -
- - -
- Salvydas Lukosius - -
- - -
- onokatio - -
- - -
- Omelet - -
- - -
- Sai - -
- - -
- William Cooper - -
- - -
- Farzat07 - -
-``` - -## Content - -```mdx-code-block - - - - - - - - - -
- - -
- Sebastian - -
- - -
- Callista Chang - -
- - -
- signed-log - -
- - -
- 0xMRTT - -
-``` - -## Translations - -```mdx-code-block - - - - - - - - - - - - - - -
- - -
- Colerar - -
- - -
- MisakaCloud - -
- - -
- Dongsen - -
- - -
- nakayama900 - -
- - -
- awarewen - -
- - -
- Kazuma Miebori - -
- - -
- syrinka - -
-``` - -## Participation - -```mdx-code-block - - - - - - - - - -
- - -
- Benoit de Chezelles - -
- - -
- Caleb Cushing - -
- - -
- David Lapshin - -
- - -
- Kritiqual - -
-``` - - diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/_category_.json b/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/_category_.json deleted file mode 100644 index bb460971..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "๐Ÿ‘ฅ ็คพๅŒบๆ–‡ๆกฃ", - "position": 1, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/index.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/index.mdx deleted file mode 100644 index b7fac5c6..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-community/current/index.mdx +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: ็คพๅŒบ -slug: / -title: ๐Ÿ‘ฅ ็คพๅŒบๆ–‡ๆกฃ -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -keywords: - - documentation - - zsh-lovers - - ็คพๅŒบ - - gallery ---- - - - -```mdx-code-block -import useBaseUrl from '@docusaurus/useBaseUrl'; -import ThemedImage from '@theme/ThemedImage'; - -
- -
-``` diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current.json b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current.json deleted file mode 100644 index 94627c3c..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version.label": { - "message": "ไธ‹ไธ€้กต", - "description": "The label for version current" - }, - "sidebar.SideBar.category.๐ŸŒ€ Annexes": { - "message": "๐ŸŒ€ ้™„ไปถ", - "description": "The label for category ๐ŸŒ€ Annexes in sidebar SideBar" - }, - "sidebar.SideBar.category.๐Ÿ“ฆ Packages": { - "message": "๐Ÿ“ฆ ่ฝฏไปถๅŒ…", - "description": "The label for category ๐Ÿ“ฆ Packages in sidebar SideBar" - }, - "sidebar.SideBar.category.โš™๏ธ Plugins": { - "message": "โš™๏ธ Plugins", - "description": "The label for category โš™๏ธ Plugins in sidebar SideBar" - } -} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/_category_.json b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/_category_.json deleted file mode 100644 index dfb962cc..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "๐ŸŒ ็”Ÿๆ€็ณป็ปŸ", - "position": 1, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/0_overview.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/0_overview.mdx deleted file mode 100644 index 0365775f..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/0_overview.mdx +++ /dev/null @@ -1,169 +0,0 @@ ---- -id: overview -title: ๐ŸŒ€ What can Annexes do? -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -description: Annex Introduction -keywords: - - annex - - overview ---- - - - -1. Add a new Zi subcommand (i.e. the [command][command] thatโ€™s placed after the function `zi โ€ฆ` when calling Zi). - -2. Add new [ice-modifiers][ice-modifiers]. - -3. Register four types of hooks: - - 3.1. `atclone` hook โ€“ run after cloning any plugin or downloading any snippet. - - 3.2. `atpull` hook โ€“ run after pulling new commits (i.e. updating) for any plugin/snippet. - - 3.3. `atinit` hook โ€“ run before loading any plugin/snippet, after it has been set up (i.e. downloaded). - - 3.4. `atload` hook โ€“ run after loading any plugin/snippet. - -4. Register hooks for generating help text, shown by the `zi icemods` subcommand. - -## Recommended annexes - -### Common - -1. [z-a-bin-gem-node][bin-gem-node] -2. [z-a-readurl][readurl] -3. [z-a-patch-dl][patch-dl] -4. [z-a-rust][rust] - -### Additional - -1. [z-a-submods][submods] -2. [z-a-unscope][unscope] -3. [z-a-test][test] - -:::tip - -Use [meta-plugins](/ecosystem/annexes/meta-plugins) to install common annexes as a group: - -```shell -zi light-mode for z-shell/z-a-meta-plugins @annexes -``` - -To install common and additional annexes: - -```shell -zi light-mode for z-shell/z-a-meta-plugins @annexes+rec -``` - -::: - -## How to code them? - -Below is an example body of an `atclone` hook taken from [submods][submods] annex. - -It shows how to: - -1. Obtain the arguments passed to the hook. -2. Use an [ice-modifier][ice-modifiers]. -3. It also shows a useful snippet that will trim the whitespace in array elements (see `# (4) โ€ฆ` in the code). -4. Utilize the last hook argument โ€“ the pluginโ€™s/snippetโ€™s containing directory. - -```shell showLineNumbers -emulate -L zsh -o extended_glob -o warn_create_global -o typeset_silent - -[[ -z "${ZI_ICE[submods]}" ]] && return 0 - -# (1) โ€“ get arguments -[[ "$1" = plugin ]] && \ -local type="$1" user="$2" plugin="$3" id_as="$4" dir="$5" hook="$6" || \ -local type="$1" url="$2" id_as="$3" dir="$4" hook="$6" # type: snippet - -# (2) โ€“ we're interested only in plugins/snippets -# which have the submods'' ice in their load command -[[ -z ${ZI_ICE[submods]} ]] && return 0 - -local -a mods parts -local mod from - -# (3) โ€“ process the submods'' ice -mods=( ${(@s.;.)ZI_ICE[submods]} ) -for mod in "${mods[@]}"; do - parts=( "${(@s:->:)mod}" ) - # (4) Remove only leading and trailing whitespace - parts=( "${parts[@]//((#s)[[:space:]]##|[[:space:]]##(#e))/}" ) - - print "\nCloning submodule: ${parts[1]} to dir: ${parts[2]}" - from="https://github.com" - parts[1]="${from}/${parts[1]}" - # (5) โ€“ the use of the input argument: `$dir' - command git -C "$dir" clone --progress "${parts[1]}" "${parts[2]}" -done -``` - -The recommended method of creating a hook is to place its body into a file that starts with a right arrow `โ†’` ([more information][the-proposed-function-name-prefixes], and also a `za-` prefix, e.g. `โ†’za-myproject-atclone-hook` and then to mark it for autoloading via `autoload -Uz โ†’za-myproject-atclone-hook`. Then register the hook, presumably in the `myproject.plugin.zsh` file, with the API call: - -`@zi-register-annex`: - -```shell showLineNumbers -@zi-register-annex myproject hook:atclone \ - โ†’za-myproject-atclone-handler \ - โ†’za-myproject-atclone-help-handler \ - "submods''" # register a new ice-modifier: submods'' -``` - -The general syntax of the API call is: - -```shell showLineNumbers -@zi-register-annex {project-name} \ - {hook: \ - {name-of-the-handler-function} \ - {name-of-the-HELP-handler-function} \ - "{ice-mod1}|{ice-mod2}|โ€ฆ" < hook-type >| subcommand: < new-subcommand-name > } -``` - -The last argument, i.e. the `|`-separated ice list, is optional. Thatโ€™s all! After this loading the plugin `myproject` will set up the new [ice-modifier][ice-modifiers] `submods` that will have syntax `submods'{user}/{plugin} โ€“> {output-dir}; โ€ฆ'` and will clone submodules when installing the original plugin or snippet! - -Example of the [submods][submods] ice-modifier to load the `zsh-autosuggestions` plugin via the Prezto module: `autosuggestions`: - -```shell showLineNumbers -zi ice svn submods'zsh-users/zsh-autosuggestions -> external' -zi snippet PZT::modules/autosuggestions -``` - -Check out the project which fully implements this idea, [z-a-submods][submods]. It e.g. also implements the `atpull` hook, i.e. supports the automatic update of the submodules. The `z-a-*` prefix is recommended for projects which indicate annexes. - -## ๆ‘˜่ฆ - -There are 2 or 3 subtypes for each of the hooks: - -1. `atinit` or `!atinit` โ€“ the `!` version is run before the `atinit` ice-modifier (i.e. before `zi ice atinit'echo this!'; โ€ฆ`), while the normal version runs after it. -2. `atload` or `!atload` โ€“ analogous to the `atinit` case: the `!` version runs before the `atload` ice-modifier (while the normal version runs after it). -3. `atclone` or `!atclone` โ€“ analogous to the `atinit` and `atload` cases. -4. `atpull`, `!atpull`, or `%atpull` โ€“ the first two are being run **only when there are new commits to be downloaded** during the update. The `%` version is being **always** run, regardless of whether the update will pull any actual commits or not, and it is being run **after** the `atpull` ice-modifier. - - - - - -[command]: /docs/guides/commands - -[ice-modifiers]: /docs/guides/syntax/ice-modifiers - -[the-proposed-function-name-prefixes]: /community/zsh_plugin_standard#the-proposed-function-name-prefixes - - - -[bin-gem-node]: https://github.com/z-shell/z-a-bin-gem-node - -[patch-dl]: https://github.com/z-shell/z-a-patch-dl - -[readurl]: https://github.com/z-shell/z-a-readurl - -[rust]: https://github.com/z-shell/z-a-rust - -[submods]: https://github.com/z-shell/z-a-submods - -[test]: https://github.com/z-shell/z-a-test - -[unscope]: https://github.com/z-shell/z-a-unscope diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/19_eval.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/19_eval.mdx deleted file mode 100644 index 654a1f65..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/19_eval.mdx +++ /dev/null @@ -1,125 +0,0 @@ ---- -id: eval -title: ๐ŸŒ€ Eval -image: /img/png/theme/z/320x320.png -description: Annex - Eval documentation. -keywords: - - annex - - eval -draft: false ---- - - - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; - -The output of a slow initialization command is redirected to a file located within the plugin or snippets directory and sourced while loading. The next time the plugin or snippet is loaded, this file will be sourced skipping the need to run the initialization command. - -The ice-modifier `eval'โ€ฆ'` provided and handled by this annex creates a `cache` in the plugin or snippets directory which stores the output of the command and the cache is regenerated when: - -1. The plugin or snippet is updated. -2. The cache file is removed. -3. When running `zi recache`. - -:::note - -The optional preceding `!` flag means to store command output regardless of exit code. Otherwise `eval'โ€ฆ'` will avoid caching the output of code which returns a non-zero exit code. - -::: - -## Example invocations - - - - -```shell showLineNumbers -zi ice as"command" from"gh-r" \ - atclone"./zoxide init --cmd x zsh > init.zsh" \ - atpull"%atclone" src"init.zsh" nocompile'!' -zi light ajeetdsouza/zoxide -``` - -```shell showLineNumbers -zi ice atclone"dircolors -b LS_COLORS > init.zsh" \ - atpull"%atclone" pick"init.zsh" nocompile'!' \ - atload'zstyle ":completion:*" list-colors ${(s.:.)LS_COLORS}' -zi light trapd00r/LS_COLORS -``` - - - - -```shell {2} showLineNumbers -zi ice as"command" from"gh-r" \ - eval"./zoxide init --cmd x zsh" -zi light ajeetdsouza/zoxide -``` - -```shell {1} showLineNumbers -zi ice eval"dircolors -b LS_COLORS" \ - atload'zstyle ":completion:*" list-colors ${(s.:.)LS_COLORS}' -zi light trapd00r/LS_COLORS -``` - - - - - - -```shell showLineNumbers -if [[ "${+commands[kubectl]}" == 1 ]]; then - eval $(kubectl completion zsh) -fi -``` - - - - -```shell {2} showLineNumbers -zi ice id-as"kubectl_completion" has"kubectl" \ - eval"kubectl completion zsh" run-atpull -zi light z-shell/null -``` - - - - -## Install eval {#install-eval} - -:::info Source - -- - z-shell/z-a-eval - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-eval -``` - - - - -Add the following snippet in the `.zshrc` file: - -> Set value `Z_A_USECOMP=1` to enable TAB completion for subcommand `recache`. - -```shell showLineNumbers -zi ice atinit'Z_A_USECOMP=1' -zi light z-shell/z-a-eval -``` - - - - -This will register subcommand `recache` and `eval'โ€ฆ'` ice-modifier. diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/1_bin_gem_node.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/1_bin_gem_node.mdx deleted file mode 100644 index f2b312b9..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/1_bin_gem_node.mdx +++ /dev/null @@ -1,568 +0,0 @@ ---- -id: bin-gem-node -title: ๐ŸŒ€ Bin Gem Node -image: /img/png/theme/z/320x320.png -description: Annex - Bin Gem Node documentation. -keywords: - - annex, - - bin-gem-node ---- - - - -import Tabs from "@theme/Tabs"; -import Link from "@docusaurus/Link"; -import TabItem from "@theme/TabItem"; -import Player from "@site/src/components/Player"; -import APITable from "@site/src/components/APITable"; -import Shortcuts from "@site/src/components/Markdown/_player_shortcuts.mdx"; - -An annex provides the following functionality: - -1. Run programs and scripts without adding anything to `$PATH`, -2. Install: [Ruby Gems][rubygems], [Node][node], and [Python][python] modules, with automatically set: - - [$GEM_HOME][gem-home] - - [$NODE_PATH][node-path] - - [$VIRTUALENV][virtualenv] -3. Run programs, scripts, and functions with automatic `cd` into the plugin or snippet directory, plus also with automatic standard output & standard error redirecting. -4. Source scripts through an automatically created function with the above `$GEM_HOME`, `$NODE_PATH`, `$VIRTUALENV`, and `cd` features available, -5. Create the so-called `shims` known from [rbenv][rbenv/rbenv] โ€“ the same feature as the first item of this enumeration โ€“ of running a program without adding anything to `$PATH` with all of the above features, however through an automatic **script** created in `$ZPFX/bin`, not a **function** (the first item uses a function-based mechanism), -6. Automatic updates of Ruby gems and Node modules during regular plugin and snippet updates with `zi update โ€ฆ`. - -The [sbin](#sbin-1) ice-modifier that creates forwarder-scripts instead of forwarder-functions created by the [fbin](#fbin-1) ice-modifier turned out to be the proper, best method for exposing binary programs and scripts. This way there is no need to add anything to `$PATH` โ€“ `z-a-bin-gem-node` will automatically create a function that will wrap the binary and provide it on the command line as if it was being placed in the `$PATH`. - -As previously mentioned, the function can automatically export `$GEM_HOME`, `$NODE_PATH`, `$VIRTUALENV` shell variables and also automatically cd into the plugin or snippet directory right before executing the binary and then cd back to the original directory after the execution is finished. As previously mentioned, instead of the function an automatically created script โ€“ the so-called `shim` โ€“ can be used for the same purpose and with the same functionality, so that the command is accessible practically fully normally โ€“ not only in the live Zsh session, only within which the functions created by [fbin](#fbin-1) exist, but also from any Zsh script. - -Suppose that we want to install the `junegunn/fzf` plugin from GitHub Releases, which contains only a single file โ€“ the `fzf` binary for the selected architecture. It is possible to do it in the standard way โ€“ by adding the plugin's directory to the `$PATH`. - -```shell -zi ice as'program' from'gh-r' -zi load junegunn/fzf -``` - -After this command, the `$PATH` variable will contain e.g.: - -```shell title="print $PATH" showLineNumbers -/home/sall/.zi/plugins/junegunn---fzf:/bin:/usr/bin:/usr/sbin:/sbin -``` - -For many such programs loaded as plugins, the PATH can become quite cluttered. I've had 26 entries before switching to `z-a-bin-gem-node`. To solve this, load with the use of [sbin](#sbin-1) ice-modifier provided and handled by `z-a-bin-gem-node`: - -```shell showLineNumbers -zi ice as'program' from'gh-r' sbin'fzf' -zi load junegunn/fzf -``` - -The `$PATH` will remain unchanged and a forwarder-script of `fzf` shim will be created in `$ZPFX/bin` (`~/.zi/polaris/bin` by default), which is being already added to the `$PATH` by Zi when it is being sourced: - -```shell title="cat $ZPFX/bin/fzf" showLineNumbers -#!/usr/bin/env zsh - -function fzf { - local bindir="/home/sall/.zi/plugins/junegunn---fzf" - "$bindir"/"fzf" "$@" -} - -fzf "$@" -``` - -Running the script will forward the call to the program accessed through an embedded path to it. Thus, no `$PATH` changes are needed. - -```mdx-code-block - -``` - -| Ice modifier | Description | -| :-------------- | :--------------------------------------------------------------------------------------------------------- | -| [sbin](#sbin-1) | Creates `shims` for binaries and scripts. | -| [fbin](#fbin-2) | Creates functions for binaries and scripts. | -| [gem](#gem-3) | Installs and updates gems + creates functions for gems binaries. | -| [node](#node-4) | Installs and updates node_modules + creates functions for binaries of the modules. | -| [pip](#pip-5) | Installs and updates python packages into a `virtualenv` + creates functions for binaries of the packages. | -| [fmod](#fmod-6) | Creates wrapping functions for other functions. | -| [fsrc](#fsrc-7) | Creates functions that source given scripts. | -| [ferc](#ferc-8) | The same as [fsrc](#fscr-7), but using an alternate script-loading method. | - -```mdx-code-block - -``` - -Function wrappers for binaries, scripts, gems, node_modules, python packages, etc: - -```mdx-code-block - -``` - -| Flag | Description | -| :--- | :-------------------------------------------------------------------------------------------------------------------- | -| `g` | Set `$GEM_HOME` variable to `{plugin-dir}`. | -| `n` | Set `$NODE_PATH` variable to `{plugin-dir}/node_modules`. | -| `p` | Set `$VIRTUALENV` variable to `{plugin-dir}/venv`. | -| `c` | `cd` to the plugin's directory before running the program and then cd back after it has been run. | -| `N` | Append `&>/dev/null` to the call of the binary, i.e. redirect both standard output and standard error to `/dev/null`. | -| `E` | Append `2>/dev/null` to the call of the binary, i.e. redirect standard error to `/dev/null`. | -| `O` | Append `>/dev/null` to the call of the binary, i.e. redirect standard output to `/dev/null`. | - -```mdx-code-block - -``` - -View all currently registered: - -- ice-modifiers: `zi icemods` -- subcommand: `zi subcmds` - -## `SBIN'โ€ฆ'` {#sbin-1} - -```shell -sbin'[{g|n|c|N|E|O}:]{path-to-binary}[ -> {name-of-the-script}]; โ€ฆ' -``` - -Creates the so-called `shim` known from `rbenv` โ€“ a wrapper script that forwards the call to the actual binary. The script is created always under the same, standard, and single `$PATH` entry: `$ZPFX/bin` (which is `~/.zi/polaris/bin` by default). The flags have the same meaning as with `fbin'โ€ฆ'` ice. - - - - - - - - - - -```shell showLineNumbers -zi ice as'program' from'gh-r' sbin'fzf' -zi load junegunn/fzf -``` - -```shell title="cat $ZPFX/bin/fzf" showLineNumbers -#!/usr/bin/env zsh - -function fzf { - local bindir="/home/sall/.zi/plugins/junegunn---fzf" - local -xU PATH="$bindir":"$PATH" - "$bindir"/"fzf" "$@" -} - -fzf "$@" -``` - -:::note - -- as'program' (an alias: as'command') - used for the plugin to be added to $PATH when a plugin is not a file for sourcing. - -The [sbin](#sbin-1) ice-modifier can be empty, it will then try to create the shim for the trailing component of the [id-as][] ice, e.g.: - -- `id_as'exts/git-my'` โ†’ it'll check if a file `git-my` exists and if yes, will create the function `git-my`. -- `paulirish/git-open` โ†’ it'll check if a file `git-open` exists and if yes, will create the function `git-open`. - -The same trailing component would be set for the snippet URL, for any alphabetically first and executable file. - -::: - -## `FBIN'โ€ฆ'` {#fbin-2} - -```shell -fbin'[{g|n|c|N|E|O}:]{path-to-binary}[ -> {name-of-the-function}]; โ€ฆ' -``` - -Creates a wrapper function of the name the same as the last segment of the path or as `{name-of-the-function}`. - - - - - - - - - - -```shell showLineNumbers -zi ice from"gh-r" fbin"g:fzf -> myfzf" nocompile -zi load junegunn/fzf -``` - -```shell title="which myfzf" showLineNumbers -myfzf () { - local bindir="/home/sall/.zi/plugins/junegunn---fzf" - local -x GEM_HOME="/home/sall/.zi/plugins/junegunn---fzf" - local -xU PATH="/home/sall/.zi/plugins/junegunn---fzf"/bin:"$bindir":"$PATH" - "$bindir"/"fzf" "$@" -} -``` - -:::note - -- `nocompile` ice-modifier is used to skip file compilation when it is not required. - -::: - -## `GEM'โ€ฆ'` {#gem-3} - -```shell showLineNumbers -gem'{gem-name}; โ€ฆ' -gem'[{path-to-binary} <-] !{gem-name} [-> {name-of-the-function}]; โ€ฆ' -``` - -Installs the gem of name `{gem-name}` with `$GEM_HOME` set to the plugin's or snippet's directory. In other words, the gem and its dependencies will be installed locally in that directory. In the second form, it also creates a wrapper function identical to the one created with `fbin'โ€ฆ'` ice. - - - - - - - - - - -```shell showLineNumbers -zi ice gem'!asciidoctor' id-as'asciidoctor' nocompile -zi load z-shell/0 -``` - -```shell title="which asciidoctor" showLineNumbers -asciidoctor () { - local bindir="/home/sall/.zi/plugins/asciidoctor/bin" - local -x GEM_HOME="/home/sall/.zi/plugins/asciidoctor" - local -xU PATH="/home/sall/.zi/plugins/asciidoctor"/bin:"$bindir":"$PATH" - "$bindir"/"asciidoctor" "$@" -} -``` - -:::note - -- `z-shell/0` - an empty repository to aid Zi's hooks, in this case, used to store the `asciidoctor` gem. -- `id-as'asciidoctor'` - used to assign a name instead of the `z-shell/0`. -- `nocompile` - used to skip file compilation when it is not required. - -::: - -## `NODE'โ€ฆ'` {#node-4} - -```shell showLineNumbers -node'{node-module}; โ€ฆ' -node'[{path-to-binary} <-] !{node-module} [-> {name-of-the-function}]; โ€ฆ' -``` - -Installs the node module of name `{node-module}` inside the plugin's or snippet's directory. In the second form, it also creates a wrapper function identical to the one created with `fbin'โ€ฆ'` ice. - - - - - - - - - - -```shell showLineNumbers -zi ice node'remark <- !remark-cli -> remark; remark-man' id-as'remark' nocompile -zi load z-shell/0 -``` - -```shell title="which remark" showLineNumbers -remark () { - local bindir="/home/sall/.zi/plugins/remark/node_modules/.bin" - local -x NODE_PATH="/home/sall/.zi/plugins/remark"/node_modules - local -xU PATH="/home/sall/.zi/plugins/remark"/node_modules/.bin:"$bindir":"$PATH" - "$bindir"/"remark" "$@" -} -``` - -In this case, the name of the binary program provided by the node module is different from its name, hence the second form with the `b <- a -> c` syntax has been used. - -:::note - -- `z-shell/0` - an empty repository to aid Zi's hooks, in this case, used to store the `remark` Node module. -- `id-as'remark'` - used to assign a name instead of the `z-shell/0`. -- `nocompile` - used to skip file compilation when it is not required. - -::: - -## `PIP'โ€ฆ'` {#pip-5} - -```shell showLineNumbers -pip'{pip-package}; โ€ฆ' -pip'[{path-to-binary} <-] !{pip-package} [-> {name-of-the-function}]; โ€ฆ' -``` - -Installs the node module of name `{pip-package}` inside the plugin's or snippet's directory. In the second form, it also creates a wrapper function identical to the one created with `fbin'โ€ฆ'` ice. - - - - - - - - - - -```shell showLineNumbers -zi ice pip'youtube-dl <- !youtube-dl -> youtube-dl' id-as'youtube-dl' nocompile -zi load z-shell/0 -``` - -```shell title="which youtube-dl" showLineNumbers -youtube-dl () { - local bindir="/home/sall/.zi/plugins/youtube-dl/venv/bin" - local -x VIRTUALENV="/home/sall/.zi/plugins/youtube-dl"/venv - local -xU PATH="/home/sall/.zi/plugins/youtube-dl"/venv/bin:"$bindir":"$PATH" - "$bindir"/"youtube-dl" "$@" -} -``` - -:::note - -- `z-shell/0` - an empty repository to aid Zi's hooks, in this case, used to store the `youtube-dl` pip package. -- `id-as'youtube-dl'` - used to assign a name instead of the `z-shell/0`. -- `nocompile` - used to skip file compilation when it is not required. - -::: - -## `FMOD'โ€ฆ'` {#fmod-6} - -```shell showLineNumbers -fmod'[{g|n|c|N|E|O}:]{function-name}; โ€ฆ' -fmod'[{g|n|c|N|E|O}:]{function-name} -> {wrapping-function-name}; โ€ฆ' -``` - -It wraps the given function with the ability to set `$GEM_HOME`, etc. โ€“ the meaning of the `g`, `n`, and `c` flags is the same as in the `fbin'โ€ฆ'` ice. - -Example: - - - - - - - - - - -```shell showLineNumbers -myfunc() { pwd; ls -1 }; zi ice fmod'cgn:myfunc' id-as'myfunc' nocompile -zi load z-shell/0 -``` - -```shell title="which myfunc" showLineNumbers -myfunc () { - local -x GEM_HOME="/home/sall/.zi/plugins/myfunc" - local -x NODE_PATH="/home/sall/.zi/plugins/myfunc"/node_modules - local oldpwd="/home/sall" - () { - setopt local_options no_auto_pushd - builtin cd -q "/home/sall/.zi/plugins/myfunc" - } - "myfunc--za-bgn-orig" "$@" - () { - builtin setopt local_options no_auto_pushd - builtin cd -q "$oldpwd" - } -} -``` - -```shell title="myfun" showLineNumbers -/home/sall/.zi/plugins/z-shell---0 -docs/ -LICENSE -README.md -``` - -:::note - -- `z-shell/0` - an empty repository to aid Zi's hooks, in this case, used to store the `myfunc` function files. -- `id-as'myfunc'` - used to assign a name instead of the `z-shell/0`. -- `nocompile` - used to skip file compilation when it is not required. - -::: - -## `FSCR'โ€ฆ'` {#fscr-7} - -```shell -fsrc'[{g|n|c|N|E|O}:]{path-to-script}[ -> {name-of-the-function}]; โ€ฆ' -``` - -## `FERC'โ€ฆ'` {#ferc-8} - -```shell -ferc'[{g|n|c|N|E|O}:]{path-to-script}[ -> {name-of-the-function}]; โ€ฆ' -``` - -Creates a wrapper function that at each invocation sources the given file. The second ice, `FERC'โ€ฆ'` works the same with the single difference that it uses `eval "$(<{path-to-script})"` instead of `source "{path-to-script}"` to load the script. - - - - - - - - - - -```shell showLineNumbers -zi ice fsrc"myscript -> myfunc" ferc"myscript" nocompile -zi load z-shell/0 -``` - -```shell title="which myfunc" showLineNumbers -myfunc () { - local bindir="/home/sall/.zi/plugins/z-shell---0" - local -xU PATH="$bindir":"$PATH" - () { - source "$bindir"/"myscript" - } "$@" -} -``` - -```shell title="which myscript" showLineNumbers -myscript () { - local bindir="/home/sall/.zi/plugins/z-shell---0" - local -xU PATH="$bindir":"$PATH" - () { - eval "$(<"$bindir"/"myscript")" - } "$@" -} -``` - -:::note - -- `nocompile` ice-modifier is used to skip file compilation when it is not required. - -The ices can be empty as the trailing component will be assigned with [id-as][] ice-modifier the same way as described in the [sbin](#sbin-1). - -::: - -## `shim-list` {#shim-list} - -An annex provides a subcommand โ€“ `shim-list` for shims currently stored in `$ZPFX/bin` management: - -Available flags are: - -```shell -zi shim-list [ -t | -i | -o | -s | -h ] -``` - -| Flag | Description | -| :----------------- | :--------------------------------------------------------------------------------------- | -| `-t` `--this-dir` | Instructs Zi to look for shims in the current directory instead of `$ZPFX/bin`. | -| `-i` `--from-ices` | Normally the code looks for the shim files by examining their contents (more info [^1]). | -| `-o` `--one-line` | Display the list of shim files without line breaks, in a single line, after spaces. | -| `-s` `--short` | Don't show the plugin/snippet that the shim belongs to. | -| `-h` `--help` | Shows usage information. | - -## Cygwin support {#cygwin-support} - -The [sbin](#sbin-1) ice-modifier has an explicit Cygwin support โ€“ it creates additional, **extra shim files** โ€“ Windows batch scripts that allow running the shielded applications from e.g.: Windows run dialog โ€“ if the `~/.zi/polaris/bin` directory is being added to the Windows `PATH` environment variable, for example (it is a good idea to do so, IMHO). The Windows shims have the same name as the standard ones (which are also being created, normally) plus the `.cmd` extension. You can test the feature by e.g.: installing Firefox from the Zi package via: - -```shell -zi pack=bgn for firefox -``` - -## Install bin-gem-node {#install-bin-gem-node} - -:::info Source - -- - z-shell/z-a-bin-gem-node - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-bin-gem-node -``` - - - - -Add the following snippet in the `.zshrc` file to install using the [unscope][] annex: - -```shell -zi light z-shell/z-a-unscope bgn -``` - - - - -This will register the [shim-list](#shim-list) subcommand and following ice-modifiers: - - - - - -[^1]: shims created by the `bin-gem-node` annex have a fixed structure, this option instructs Zi to show the list of shims that results from the [sbin](#sbin-1) ice-modifier of the loaded plugins. If a plugin for example has `sbin'git-open'`, means that such shim has already been created. - - - -[id-as]: /docs/guides/syntax/standard#id-as - -[unscope]: /ecosystem/annexes/unscope - - - -[gem-home]: https://guides.rubygems.org/command-reference/#gem-environment - -[node-path]: https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders - -[node]: https://github.com/npm/cli - -[python]: https://python.org - -[rbenv/rbenv]: https://github.com/rbenv/rbenv - -[rubygems]: https://github.com/rubygems/rubygems - -[virtualenv]: https://docs.python.org/3/tutorial/venv.html diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/20_test.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/20_test.mdx deleted file mode 100644 index 0270e33f..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/20_test.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -id: test -title: ๐ŸŒ€ Test -hide_title: false -hide_table_of_contents: false -image: /img/png/theme/z/320x320.png -description: Annex - Test documentation -keywords: - - annex - - test -draft: true ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import ImgShow from "@site/src/components/ImgShow"; - -An annex runs `zunit` and `make` tests if they are configured in the repository. - - - -Simply load it like any other plugin to make it active: - -```shell -zi light z-shell/z-a-test -``` - -
- ๐Ÿ“– Configuration - -To run the tests in a verbose mode, issue: - -```shell -zstyle :zi:annex:test quiet 0 -``` - -To skip tests for a single plugin before installing or updating add the `notest` ice-modifier: - -```shell showLineNumbers -zi ice notest -zi load โ€ฆ -``` - -
diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/2_meta_plugins.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/2_meta_plugins.mdx deleted file mode 100644 index 8003a0d9..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/2_meta_plugins.mdx +++ /dev/null @@ -1,243 +0,0 @@ ---- -id: meta-plugins -title: ๐ŸŒ€ Meta Plugins -image: /img/png/theme/z/320x320.png -description: Annex meta-plugins documentation -keywords: - - annex - - meta-plugins ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import APITable from "@site/src/components/APITable"; - -An annex has the curated, optimal [ice-modifiers][] lists automatically applied. For more details refer to [z-a-meta-plugins.plugin.zsh][] file. - -:::tip - -- To create your group of plugins as meta-plugins propose them in a new [issue][issues/new] -- Prefix `@` used to avoid syntax conflicts, e.g: `zi light @` -- Before installing any plugin visit the original repository where available to verify that system is supported and meets other requirements - -::: - -## Usage of meta-plugins - -The following snippets are examples of how to install meta-plugins: - -```shell -zi light @annexes -``` - -```shell -zi light-mode for @annexes @zsh-users @console-tools -``` - -```shell showLineNumbers -zi light-mode for z-a-meta-plugins \ - @annexes @ext-git @zsh-users -``` - -```shell showLineNumbers -zi light-mode for @annexes \ - skip'zsh-completions' @zsh-users \ - skip'vivid exa tig' @console-tools -``` - -## Available meta-plugins - -```mdx-code-block - -``` - -| Meta-plugin name | Consisting plugins | -| ---------------- | --------------------------------------------------------------------------------------------------------------------- | -| @annexes | [bin-gem-node][], [readurl][], [patch-dl][], [rust][], [default-ice][], [unscope][] | -| @annexes+ | @annexes + [submods][], [test][] | -| @console-tools | [dircolors-material][] (package), [fd][], [bat][], [hexyl][], [hyperfine][], [vivid][], [exa][], [ripgrep][], [tig][] | -| @developer-tools | [color][], [revolver][], [zunit][], [gitignore.plugin.zsh][], [tig][] | -| @ext-git | [git-open][], [git-recent][], [git-my][], [git-quick-stats][], [git-now][], [git-extras][], [forgit][] | -| @fuzzy | [fzf][] (package), [fzy][] (package), [skim][], [peco][] | -| @fuzzy-src | fzf-go, [fzy][], skim-cargo, peco-go | -| @prezto | PZTM::archive, PZTM::directory, PZTM::utility | -| @py-utils | [pyenv][] (package) | -| @romkatv | [powerlevel10k][] | -| @rust-utils | rust-toolchain, cargo-extensions | -| @sharkdp | [fd][], [bat][], [hexyl][], [hyperfine][], [vivid][] | -| @z-shell | [F-Sy-H][], [H-S-MW][], [zsh-diff-so-fancy][] | -| @z-shell+ | [zsh-select][], [zconvey][], [zui][], [zflai][] | -| @zsh-users | [zsh-syntax-highlighting][], [zsh-autosuggestions][], [zsh-completions][] | -| @zsh-users+fast | [F-Sy-H][], [zsh-autosuggestions][], [zsh-completions][], [z-shell/zsh-fancy-completions][] | -| @zunit | [color][], [revolver][], [zunit][] | - -```mdx-code-block - -``` - -### Summary of the meta-plugins - -It consumes time to: - -- Constantly, over and over collect some new interesting plugins to install/load. -- Over and over reconstruct the new findings on the new machines. -- Constantly extend and tweak the ice list of each plugin, so that it's hard on the eyes, especially for an outsider. - -```mdx-code-block - -``` - -| Problem | Solution | -| :---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| (1) _finding new plugins_ | The annex contains a curated, broad list of plugins, e.g.: all the console tools like `fd`, `fzf`, `exa`, `ripgrep`, etc., | -| (2) _reconstructing the findings in new environments_ | It's easy to say and memorize e.g.: `zi for console-tools` โ€“ one label pulls a group of plugins and also the curated, optimal, default ice lists for each of them, | -| (3) _constant increase of complexity of the commands_ | The provided, hopefully, best/optimal ices for each plugin are handled transparently and automatically; care is given to each ice list so that the plugin loads without any glitches (e.g.: without the "No files for compilation found." message and other, even such slight issues). | - -```mdx-code-block - -``` - -Other unique benefits of the meta-plugins annex: - -```mdx-code-block - -``` - -| Benefit | Description | -| :---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Plugin dependencies | The meta-plugins implement a dependency mechanism: selecting a from-source built [ogham/exa][exa] will automatically pull in also the Rust compiler (available under the meta-plugin name: `rust-toolchain`). | -| Flexible disabling of chosen sub-plugins in any meta-plugin | A meta-plugin can contain many sub-plugins and it's possible to skip installing some of them by the **skip'plugin-1 plugin-2โ€ฆ'** ice, e.g.: `zi skip'ripgrep fd' for console-tools`. This way despite that some of the meta plugins are broad the user still has control over what's and how much is being installed. | -| Common from-source meta plugins | For the plugins that provide the binary programs it is often the case that a meta-plugin exists that'll build the program from the source (e.g.: **fuzzy** meta-plugin and its **fuzzy-src** counterpart). This might be handy e.g.: if there's no binary for our machine. | - -```mdx-code-block - -``` - -## Install meta-plugins {#install-meta-plugins} - -:::info Source - -- - z-shell/z-a-meta-plugins - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-meta-plugins -``` - - - - -This will register the `skip'โ€ฆ'` ice-modifier. - - - - - -[ice-modifiers]: /docs/guides/syntax/ice-modifiers - - - -[bat]: https://github.com/sharkdp/bat - -[bin-gem-node]: https://github.com/z-shell/z-a-bin-gem-node - -[color]: https://github.com/zdharma/color - -[default-ice]: https://github.com/z-shell/z-a-default-ice - -[dircolors-material]: https://github.com/z-shell/dircolors-material - -[exa]: https://github.com/ogham/exa - -[f-sy-h]: https://github.com/z-shell/F-Sy-H - -[fd]: https://github.com/sharkdp/fd - -[forgit]: https://github.com/wfxr/forgit - -[fzf]: https://github.com/z-shell/fzf - -[fzy]: https://github.com/z-shell/fzy - -[git-extras]: https://github.com/tj/git-extras - -[git-my]: https://github.com/davidosomething/git-my - -[git-now]: https://github.com/iwata/git-now - -[git-open]: https://github.com/paulirish/git-open - -[git-quick-stats]: https://github.com/arzzen/git-quick-stats - -[git-recent]: https://github.com/paulirish/git-recent - -[gitignore.plugin.zsh]: https://github.com/voronkovich/gitignore.plugin.zsh - -[h-s-mw]: https://github.com/z-shell/H-S-MW - -[hexyl]: https://github.com/sharkdp/hexyl - -[hyperfine]: https://github.com/sharkdp/hyperfine - -[issues/new]: https://github.com/z-shell/z-a-meta-plugins/issues/new - -[patch-dl]: https://github.com/z-shell/z-a-patch-dl - -[peco]: https://github.com/peco/peco - -[powerlevel10k]: https://github.com/romkatv/powerlevel10k - -[pyenv]: https://github.com/z-shell/pyenv - -[readurl]: https://github.com/z-shell/z-a-readurl - -[revolver]: https://github.com/zdharma/revolver - -[ripgrep]: https://github.com/BurntSushi/ripgrep - -[rust]: https://github.com/z-shell/z-a-rust - -[skim]: https://github.com/lotabout/skim - -[submods]: https://github.com/z-shell/z-a-submods - -[test]: https://github.com/z-shell/z-a-test - -[tig]: https://github.com/jonas/tig - -[unscope]: https://github.com/z-shell/z-a-unscope - -[vivid]: https://github.com/sharkdp/vivid - -[z-a-meta-plugins.plugin.zsh]: https://github.com/z-shell/z-a-meta-plugins/blob/main/z-a-meta-plugins.plugin.zsh - -[zconvey]: https://github.com/z-shell/zconvey - -[zflai]: https://github.com/z-shell/zflai - -[zsh-autosuggestions]: https://github.com/zsh-users/zsh-autosuggestions - -[zsh-completions]: https://github.com/zsh-users/zsh-completions - -[zsh-diff-so-fancy]: https://github.com/z-shell/zsh-diff-so-fancy - -[zsh-select]: https://github.com/z-shell/zsh-select - -[zsh-syntax-highlighting]: https://github.com/zsh-users/zsh-syntax-highlighting - -[zui]: https://github.com/z-shell/zui - -[zunit]: https://github.com/zdharma/zunit - -[z-shell/zsh-fancy-completions]: https://github.com/z-shell/zsh-fancy-completions diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/3_default_ice.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/3_default_ice.mdx deleted file mode 100644 index ae3f4e24..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/3_default_ice.mdx +++ /dev/null @@ -1,76 +0,0 @@ ---- -id: default-ice -title: ๐ŸŒ€ Default Ice -image: /img/png/theme/z/320x320.png -description: Annex - Default Ice documentation -keywords: - - annex - - default-ice ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; - -An annex delivers the capability to set **default ices** for the next `zi` command, e.g: - -set default-ices: - -```shell -zi default-ice lucid from"gh-r" -``` - -this will download from GitHub releases (gh-r) and also use the lucid ice by default: - -```shell showLineNumbers -zi wait for \ - sbin junegunn/fzf-bin \ - sbin"**/pk" peco/peco -``` - -:::caution - -The `wait` ice cannot be made default by using this subcommand. - -::: - -## `default-ice` {#default-ice} - -An annex provides a subcommand โ€“ `default-ice` which has the following synopsis: - -```shell showLineNumbers -โ€” default-ice [ -s | -c | -g | -t | -q | -h ] - - [ -s ] โ€” Show currently set default ices - [ -c ] โ€” Reset default ices - [ -g ] โ€” Return current ices in REPLAY hash - [ -t ] โ€” Show statistics - [ -q ] โ€” Hide all messages - [ -h ] โ€” This message -``` - -## Install default-ice {#install-default-ice} - -:::info Source - -- - z-shell/z-a-default-ice - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-default-ice -``` - - - - -This will register the [default-ice](#default-ice) subcommand. diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/4_patch-dl.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/4_patch-dl.mdx deleted file mode 100644 index 33efb751..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/4_patch-dl.mdx +++ /dev/null @@ -1,72 +0,0 @@ ---- -id: patch-dl -title: ๐ŸŒ€ Patch DL -image: /img/png/theme/z/320x320.png -description: Annex - Patch DL documentation -keywords: - - annex - - patch-dl ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import ImgShow from "@site/src/components/ImgShow"; - -An annex downloads files and applies patches and adds two ice-modifiers: - -first: - -```shell -zi ice dl'{URL} [-> {optional-output-file-name}]; โ€ฆ' โ€ฆ -``` - -second: - -```shell -zi ice patch'{file-name-with-the-patch-to-apply}; โ€ฆ' โ€ฆ -``` - -The annex will download the given `{URL}` under the path `{optional-output-file-name}` (if no file name given, then it is taken from last segment of the URL) in case of the `dl'โ€ฆ'` ice-modifier, and apply a patch given by the `{file-name-with-the-patch-to-apply}` in case of the `patch'โ€ฆ'` ice-modifier. You can use this functionality to download and apply patches. - -For example, to install `fbterm`, two patches are being needed, one to fix the operation, the other one to fix the build: - -```shell showLineNumbers -zi ice as"command" pick"$ZPFX/bin/fbterm" \ - dl"https://bugs.archlinux.org/task/46860?getfile=13513 -> ins.patch" \ - dl"https://aur.archlinux.org/cgit/aur.git/plain/0001-Fix-build-with-gcc-6.patch?h=fbterm-git" \ - patch"ins.patch; 0001-Fix-build-with-gcc-6.patch" \ - atclone"./configure --prefix=$ZPFX" \ - atpull"%atclone" make"install" reset -zi load izmntuk/fbterm -``` - -This command will result in: - - - -## Install patch-dl {#install-patch-dl} - -:::info Source - -- - z-shell/z-a-patch-dl - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-patch-dl -``` - - - - -This will register the `dl'โ€ฆ'` and `patch'โ€ฆ'` ice-modifiers. diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/5_readurl.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/5_readurl.mdx deleted file mode 100644 index 7b5637da..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/5_readurl.mdx +++ /dev/null @@ -1,131 +0,0 @@ ---- -id: readurl -title: ๐ŸŒ€ Read URL -image: /img/png/theme/z/320x320.png -description: Annex - Read URL documentation. -keywords: - - annex - - readurl ---- - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; - -An annex allows automatically downloading the newest version of a file to which the URL is hosted on a webpage. It works as follows: - -Invoke `snippet` (or simply pass the `https://โ€ฆ` address using the `for` syntax) on the web page that hosts the URL to the file to download, provide `dlink'โ€ฆ'` ice with the expected file-download URL replacing the version with the `%VERSION%` keyword, also provide `as'โ€ฆ'` ice with one of the following values: - -1. `readurl`, -2. `readurl|command`, -3. `readurl|completion`, -4. `readurl|null`. - -:::note - -The part after the `|` has the same meaning as in the normal `as'โ€ฆ'` ice. - -::: - -## Examples - -```shell showLineNumbers -zi id-as=fzf as='readurl|command' for \ - dlink='/junegunn/fzf/releases/download/%VERSION%/fzf-%VERSION%-linux_amd64.tar.gz' \ - https://github.com/junegunn/fzf/releases/ -``` - -The snippet is just an example. The same effect is obtained by loading as the `junegunn/fzf` plugin with `from'gh-r'` ice. - -As it can be seen, the `dlink'โ€ฆ'` can be a relative or an absolute path and also a full URL (i.e.: beginning with the `https://โ€ฆ` prefix). - -### Intermediate download page - -Sometimes, like it is in the case of the [terraform][terraform-link] command, the final download link isn't on the download page, but on a page, that's listed on it. In such a case use the `dlink0'โ€ฆ'` ice to provide the pattern for the additional, intermediate download page, e.g.: - -```shell showLineNumbers -zi id-as=terraform as='readurl|command' extract for \ - dlink0='/terraform/%VERSION%/' \ - dlink='/terraform/%VERSION%/terraform_%VERSION%_linux_386.zip' \ - https://releases.hashicorp.com/terraform/ -``` - -### Skipping `dlink'โ€ฆ'` ice - -Sometimes the URL of the download page differs from the URL of the archive in just a few `/`-sections. In such a case, it is possible to skip the `dlink'โ€ฆ'` ice by appending a `++`-separated fragment of the archive URL, like so: - -```shell showLineNumbers -zi as'readurl|command' extract for \ - http://domain.com/download-page++/archive.zip -``` - -If the archive URL has some different `/`-sections, then it's possible to strip the conflicting ones from the download URL by using `+++`, `++++`, etc. โ€“ the number of the `/`-section that'll be stripped equals to the number of the `+` minus 2. So, for example: - -```shell showLineNumbers -zi as'readurl|command' extract for \ - http://domain.com/download-page/removed-section+++/archive.zip -``` - -### Sorting the matched URLs / package versions - -Sometimes the download page doesn't list the package versions from newest to oldest, but in some other order. In such case, it's possible to sort the URLs / package versions by prepending the chosen `dlink` ice (`dlink0'โ€ฆ'` or `dlink'โ€ฆ'`) with the exclamation mark (`dlink'!โ€ฆ'`, etc.). See the next section for an example: - -### Filtering the matched URLs - -Sometimes some unwanted URLs match the `dlink'โ€ฆ'`/`dlink0'โ€ฆ'` regex/pattern. In such a case it's possible to filter them out by appending a filtering regex to the `dlink'โ€ฆ'` ice as: `dlink='the-main-regex~%the-unwanted-URLs-regex%'` (or the same for `dlink0'โ€ฆ'`). An example package that can benefit from this is the [Open Shift][open-shift-link] client, which doesn't sort the URLs from latest to the oldest โ€“ hence the exclamation mark (`!`) prepend โ€“ and it has special URLs like `stable-4.4` or `candidate-4.5` together with the regular version URLs (like `4.5.0-rc.1`): - -```shell showLineNumbers -zi id-as"ocp" as"readurl|command" for \ - dlink0'!%VERSION%~%(stable|latest|fast|candidate).*%' \ - dlink"openshift-client-windows-%VERSION%.zip" \ - https://mirror.openshift.com/pub/openshift-v4/clients/ocp/ -``` - -The above snippet of Zsh code / Zi invocation will sort the URLs (`dlink0'!โ€ฆ'`) and then filter out the special ones from the results (via `โ€ฆ~%(stable|latest|fast|candidate).*%`), this way selecting the latest version of the Open Shift client. - -### Other examples - -[Pulumi][pulumi-link], a tool to create, deploy and manage modern cloud software. - -```shell showLineNumbers -zi id-as'pulumi' as'readurl|null' for \ - dlink='https://get.pulumi.com/releases/sdk/pulumi-%VERSION%-linux-x64.tar.gz' \ - sbin'pulumi*' \ - https://www.pulumi.com/docs/get-started/install/versions/ -``` - -## Install readurl {#install-readurl} - -:::info Source - -- - z-shell/z-a-readurl - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-readurl -``` - - - - -This will register the `dlink'โ€ฆ'` and `dlink0'โ€ฆ'` ice-modifiers and also the special `as'readurl|โ€ฆ'` value of the `as'โ€ฆ'`. - - - - - - - -[open-shift-link]: https://www.openshift.com/ - -[pulumi-link]: https://www.pulumi.com/ - -[terraform-link]: https://releases.hashicorp.com/terraform diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/6_submods.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/6_submods.mdx deleted file mode 100644 index 61e0575f..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/6_submods.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: submods -title: ๐ŸŒ€ ๅญๆจกๅ— -image: /img/png/theme/z/320x320.png -description: Annex - Submods documentation. -keywords: - - annex - - submods ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; - -An annex delivers the capability to clone additional submodules while installing a plugin or snippet. The submodules are then automatically updated on the `zi update โ€ฆ` command. - -Synopsis: - -```shell -submods'{user}/{plugin} -> {output directory}; โ€ฆ` -``` - -An example command utilizing the annex and its ice-modifier to load `zsh-autosuggestions` plugin via [Prezto module](/docs/getting_started/migration#pzt-modules) `autosuggestions`. - -```shell title='~/.zshrc' showLineNumbers -zi ice svn submods'zsh-users/zsh-autosuggestions -> external' -zi snippet PZT::modules/autosuggestions -``` - -## Install submods {#install-submods} - -:::info Source - -- - z-shell/z-a-submods - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-submods -``` - - - - -This will register the `submods'โ€ฆ'` ice-modifier. diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/7_unscope.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/7_unscope.mdx deleted file mode 100644 index 6e90e713..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/7_unscope.mdx +++ /dev/null @@ -1,161 +0,0 @@ ---- -id: unscope -title: ๐ŸŒ€ Unscope -image: /img/png/theme/z/320x320.png -description: Annex - Unscope IDs documentation -keywords: - - annex - - unscope ---- - - - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import Highlight from "@site/src/components/Highlight"; -import APITable from "@site/src/components/APITable"; - -An annex allows the installation of plugins without specifying the GitHub user name, as follows: - -1. On the installation of a plugin without any slashes (/) in its name the annex will query the GitHub API searching for `*/{the-name}`, sorting on stars. - -2. It first requires at least 10 forks on the candidates, then 2, then 0. - -3. After finding the best result it sets it as the **full** remote-id of the plugin, storing the ID on disk for later automatic use. - -4. For security, for such GH-API request to be made a newly added (by this annex) ice: `ghapi` is required to be given. - -5. Otherwise only the static database of mappings of short-plugin nicknames to the full scoped IDs will be searched. It contains many mappings, like, e.g.: `vi-reg โ†’ zsh-vi-more/evil-registers`, and some of the popular plugins, like, e.g.: `zsh-syntax-highlighting โ†’ zsh-users/zsh-syntax-highlighting` and more. - -## Static mappings - -:::info - -Fill [request](https://github.com/z-shell/z-a-unscope/issues/new/choose) to add new repositories with scoped IDs. - -::: - -Besides the GitHub-API querying, there's also a fixed, curated list of mappings of short names to the full GitHub IDs: - -```mdx-code-block - -``` - -| Short (Nick-) Name | GitHub ID / scoped ID | -| :-----------------------------------------------------------------------------: | :-------------------------------- | -| null | z-shell/null | -| z-a-readurl | z-shell/z-a-readurl | -| readurl | z-shell/z-a-readurl | -| rdurl | z-shell/z-a-readurl | -| z-a-patch-dl | z-shell/z-a-patch-dl | -| patch-dl | z-shell/z-a-patch-dl | -| z-a-submods | z-shell/z-a-submods | -| submods | z-shell/z-a-submods | -| z-a-rust | z-shell/z-a-rust | -| rust | z-shell/z-a-rust | -| z-a-bin-gem-node | z-shell/z-a-bin-gem-node | -| bin-gem-node | z-shell/z-a-bin-gem-node | -| bgn | z-shell/z-a-bin-gem-node | -| meta | z-shell/z-a-meta-plugins | -| metaplg | z-shell/z-a-meta-plugins | -| meta-plugins | z-shell/z-a-meta-plugins | -| archive | PZTM::archive | -| arch | PZTM::archive | -| directory | PZTM::directory | -| dir | PZTM::directory | -| environment | PZTM::environment | -| env | PZTM::environment | -| utility | PZTM::utility | -| util | PZTM::utility | -| fast-syntax-highlighting | z-shell/fast-syntax-highlighting | -| f-sy-h | z-shell/fast-syntax-highlighting | -| fsh | z-shell/fast-syntax-highlighting | -| history-search-multi-word | z-shell/history-search-multi-word | -| hsmw | z-shell/history-search-multi-word | -| zui | z-shell/zui | -| ZUI | z-shell/zui | -| zconvey | z-shell/zconvey | -| zconv | z-shell/zconvey | -| zbrowse | z-shell/zbrowse | -| zzcomplete | z-shell/zzcomplete | -| zzcomp | z-shell/zzcomplete | -| zzcom | z-shell/zzcomplete | -| zsh-autosuggestions | zsh-users/zsh-autosuggestions | -| autosuggestions | zsh-users/zsh-autosuggestions | -| autosug | zsh-users/zsh-autosuggestions | -| asug | zsh-users/zsh-autosuggestions | -| z-asug | zsh-users/zsh-autosuggestions | -| zsh-syntax-highlighting | zsh-users/zsh-syntax-highlighting | -| z-sy-h | zsh-users/zsh-syntax-highlighting | -| zsh-autocomplete | marlonrichert/zsh-autocomplete | -| autocomplete | marlonrichert/zsh-autocomplete | -| autocomp | marlonrichert/zsh-autocomplete | -| aucom | marlonrichert/zsh-autocomplete | -| acom | marlonrichert/zsh-autocomplete | -| z-aucom | marlonrichert/zsh-autocomplete | -| z-acom | marlonrichert/zsh-autocomplete | -| zsh-autopair | hlissner/zsh-autopair | -| autopair | hlissner/zsh-autopair | -| aupair | hlissner/zsh-autopair | -| aupa | hlissner/zsh-autopair | -| z-aupa | hlissner/zsh-autopair | -| evil-registers | zsh-vi-more/evil-registers | -| evil-reg | zsh-vi-more/evil-registers | -| vi-reg | zsh-vi-more/evil-registers | -| vireg | zsh-vi-more/evil-registers | -| vi-motions | zsh-vi-more/vi-motions | -| evil-mot | zsh-vi-more/vi-motions | -| vi-mot | zsh-vi-more/vi-motions | -| vimot | zsh-vi-more/vi-motions | -| vi-increment | zsh-vi-more/vi-increment | -| evil-inc | zsh-vi-more/vi-increment | -| vi-inc | zsh-vi-more/vi-increment | -| viinc | zsh-vi-more/vi-increment | -| vi-quote | zsh-vi-more/vi-quote | -| evil-qte | zsh-vi-more/vi-quote | -| vi-qte | zsh-vi-more/vi-quote | -| viqte | zsh-vi-more/vi-quote | -| directory-marks | zsh-vi-more/directory-marks | -| evil-dir-marks | zsh-vi-more/directory-marks | -| vi-dir-marks | zsh-vi-more/directory-marks | -| vi-dirma | zsh-vi-more/directory-marks | -| vidirma | zsh-vi-more/directory-marks | -| fd | sharkdp/fd | -| shark-fd | sharkdp/fd | -| bat | sharkdp/bat | -| shark-bat | sharkdp/bat | -| exa | ogham/exa | -| zsh-completions | zsh-users/zsh-completions | -| completions | zsh-users/zsh-completions | -| comps | zsh-users/zsh-completions | - -```mdx-code-block - -``` - -## Install unscope {#install-unscope} - -:::info Source - -- - z-shell/z-a-unscope - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-unscope -``` - - - - -This will allow scoped IDs to be searched and resolved. diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/8_linkbin.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/8_linkbin.mdx deleted file mode 100644 index e699dade..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/8_linkbin.mdx +++ /dev/null @@ -1,102 +0,0 @@ ---- -id: linkbin -title: ๐ŸŒ€ Link Bin -image: /img/png/theme/z/320x320.png -description: Annex - Link Bin documentation. -keywords: - - annex - - linkbin ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; - -An annex exposes a binary program without modifying `$PATH` โ€“ `z-a-linkbin` and automatically creates a hard or soft link to the binary at `$ZPFX/bin` exposing the program to the command line as if it were being placed in `$PATH`. - -The command can then be accessed normally โ€“ not only in the live Zsh session but also from any Zsh script. The ice-modifier `lbin''` provided by the annex creates `links` for binaries and scripts. - -It creates the `link` that calls the actual binary. The link is created always under the same, standard and single `$PATH` entry: `$ZPFX/bin` - -## Soft link - -:::note - -The optional preceding `!` flag means creating a soft link instead of a hard link. - -::: - -Example: - -```shell {2} showLineNumbers -zi ice from'gh-r' as'program' \ - lbin'!fzf' -zi load junegunn/fzf -``` - -Check the output: - -```shell showLineNumbers -ls -l $ZPFX/bin/ | awk '{print $(NF-2),$(NF-1),$NF}' -fzf --version -``` - -## Hard link - -:::note - -The ice-modifier can contain globs as it will expand these when searching for the binary. - -::: - -Example: - -```shell {2} showLineNumbers -zi ice from'gh-r' as'program' \ - lbin'**fzf -> myfzf' -zi load junegunn/fzf -``` - -Check the output: - -```shell -ls -l $ZPFX/bin/ | awk '{print $(NF-2),$(NF-1),$NF}' -myfzf --version -``` - -## Auto nickname link - -If ice-modifier [id-as](/docs/guides/syntax/standard#id-as) is empty, then will try to create the link with a nickname as follows: - -1. Trailing component of the `id-as` ice-modifier, e.g.: `id-as'exts/git-my'` โ†’ it will check if a file `git-my` exists and if yes, create the link `git-my`. -2. The plugin name, e.g.: for `paulirish/git-open` it'll check if a file `git-open` exists and if yes, create the link `git-open`. -3. Trailing component of the snippet URL. -4. For any alphabetically first executable file. - -The above also applies if just `!` were passed. - -## Install linkbin {#install-linkbin} - -:::info Source - -- - z-shell/z-a-linkbin - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-linkbin -``` - - - - -This will register the `lbin'โ€ฆ'` ice-modifier. diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/9_rust.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/9_rust.mdx deleted file mode 100644 index 1a2e83ee..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/9_rust.mdx +++ /dev/null @@ -1,164 +0,0 @@ ---- -id: rust -title: ๐ŸŒ€ Rust -image: /img/png/theme/z/320x320.png -description: An annex installs rust and cargo packages. -keywords: - - annex - - rust ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import Player from "@site/src/components/Player"; -import Shortcuts from "@site/src/components/Markdown/_player_shortcuts.mdx"; - -An annex installs rust and cargo packages locally inside the plugin or snippet directories. - - - - - - - - - - -## Usage of the annex - -The Zi annex provides ice-modifiers `rustup` and `cargo'โ€ฆ'`. - -The first one installs rust inside the plugin's folder using the official `rustup` installer and the second one has the following syntax: - -```shell -cargo'[{name-of-the-binary-or-path} <-] [[!][c|n|e|o]:]{crate-name} [-> {shim-script-name}]'` -``` - -| Flag | Description | -| ---- | ------------------------------------------------------------------------------------------------ | -| `N` | redirect both standard output and error to `/dev/null` | -| `E` | redirect standard error to `/dev/null` | -| `O` | redirect standard output to `/dev/null` | -| `c` | change the current directory to the plugin's or snippet's directory before executing the command | - -As the examples showed, the name of the binary to run and the shim name are by default equal to the name of the crate. Specifying `{binary-name} <- โ€ฆ` and/or `โ€ฆ -> {shim-name}` allows to override them. - -The crate can create so-called _shims_ โ€“ scripts that are exposed to the standard `$PATH`. The shim script is a wrapper around the binary that is installed by the crate. The shim script is created in the plugin's or snippet's directory and is named after the crate. The shim script is a shell script that sets up the environment variables and then runs the binary. - -Example of the _shim_ script: - -```shell showLineNumbers -#!/usr/bin/env zsh - -function lsd { - local bindir="/root/.zi/plugins/z-shell---null/bin" - local -x PATH="/root/.zi/plugins/z-shell---null"/bin:"$PATH" # -x means export - local -x RUSTUP_HOME="/root/.zi/plugins/z-shell---null"/rustup CARGO_HOME="/root/.zi/plugins/z-shell---null" - - "$bindir"/"lsd" "$@" -} - -lsd "$@" -``` - -As it can be seen shim ultimately provides the binary to the command line. - -
- Use case examples - -Set up rust and the `lsd` crate with a shim `lsd` exposing the binary: - -```shell showLineNumbers -zi ice rustup cargo'!lsd' -zi load z-shell/0 -``` - -Set up rust and the `exa` crate with a shim `ls` exposing the `exa` binary: - -```shell showLineNumbers -zi ice rustup cargo'!exa -> ls' -zi load z-shell/0 -``` - -Set up rust and the `exa` and `lsd` crates: - -```shell showLineNumbers -zi ice rustup cargo'exa;lsd' -zi load z-shell/0 -``` - -Set up rust, then the `exa` and `lsd` crates, with their binaries exposed by altering `$PATH`: - -```shell showLineNumbers -zi ice rustup cargo'exa;lsd' as"command" pick"bin/(exa|lsd)" -zi load z-shell/0 -``` - -Set up rust and then the `exa` crate with shim standard error redirected to `/dev/null`: - -```shell showLineNumbers -zi ice rustup cargo'!E:exa' -zi load z-shell/0 -``` - -Just install rust and make it available globally in the system: - -```shell showLineNumbers -zi ice id-as"rust" wait"0" lucid rustup as"command" pick"bin/rustc" atload="export \ - CARGO_HOME=\$PWD RUSTUP_HOME=\$PWD/rustup" -zi load z-shell/0 -``` - -A little more complex rustup configuration that uses [bin-gem-node][annex-bin-gem-node] annex and installs the cargo completion provided with rustup, using the [for][for-syntax] syntax: - -```shell showLineNumbers -zi id-as=rust wait=1 as=null sbin="bin/*" lucid rustup \ - atload="[[ ! -f ${ZI[COMPLETIONS_DIR]}/_cargo ]] && zi creinstall rust; \ - export CARGO_HOME=\$PWD RUSTUP_HOME=\$PWD/rustup" for \ -z-shell/0 -``` - -
- -## Install rust {#install-rust} - -:::info Source - -- - z-shell/z-a-rust - - -::: - - - - -Add the following snippet in the `.zshrc` file: - -```shell -zi light z-shell/z-a-rust -``` - - - - -This will register the `rustup` and `cargo'โ€ฆ'` ice-modifiers. - - - - - -[annex-bin-gem-node]: /ecosystem/annexes/bin-gem-node - -[for-syntax]: /docs/guides/syntax/for diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/_category_.json b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/_category_.json deleted file mode 100644 index 11efc59c..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/annexes/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "๐ŸŒ€ ้™„ไปถ", - "position": 2, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/index.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/index.mdx deleted file mode 100644 index 14697758..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/index.mdx +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: ็”Ÿๆ€็ณป็ปŸ -slug: / -title: ๐ŸŒ ็”Ÿๆ€็ณป็ปŸ -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -description: ็”Ÿๆ€็ณป็ปŸ็ฎ€ไป‹ใ€‚ ---- - - - -```mdx-code-block -import useBaseUrl from '@docusaurus/useBaseUrl'; -import ThemedImage from '@theme/ThemedImage'; - -
- -
-``` diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/packages/01_synopsis.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/packages/01_synopsis.mdx deleted file mode 100644 index 4b9b04a8..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/packages/01_synopsis.mdx +++ /dev/null @@ -1,143 +0,0 @@ ---- -id: synopsis -title: ๐Ÿ“ฆ Synopsis -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -description: Introduction to packages. -keywords: - - package - - zpackage - - zsh-package - - packages-overview ---- - - - -The motivation for adding packages functionality: - -1. Zi is a flexible and feature-rich plugin manager, however, users often feel overwhelmed by its configuration. - -2. It has multiple package-manager-like features, such as: - - - get the plugin's Git repository OR release-package URL, - - get the list of the recommended [ice-modifiers][] for the plugin, - - there can be multiple lists of [ice-modifiers][], - - the ice-modifiers list is stored in profiles; there's at least one profile, default, - - the [ice-modifiers][] can be selectively overridden. - - automatically provide so-called shims (i.e.: forwarder scripts) for the binaries, - - extend `$PATH` to expose the binaries, - - it can run `Makefile` and more. - -3. In general, Zi has many hooks which allow surprising things, however, their content often evolves to a gradually better one and it's hard to keep track of all the current versions. - -:::info - -The [bin-gem-node][] annex is recommended, otherwise, some packages will fail to install due to missing functionality. - -::: - -## The [any-gem][] and [any-node][] packages - -They allow the installation of any Gem(s) or Node module(s) locally in a newly created plugin directory. For example: - -```shell showLineNumbers -zi pack param='GEM -> rails' for any-gem -zi pack param='MOD -> doctoc' for any-node -``` - -If the installation is used in the `.zshrc` file then use `id-as'โ€ฆ'`, then Zi knows that the package is already installed. - -:::note - -The Unicode arrow is allowed in Zi syntax as in the example below. - -::: - -```shell -zi id-as=jekyll pack param='GEM โ†’ jekyll' for any-gem -``` - -The binaries will be exposed without altering the PATH via shims. Shims are correctly removed when deleting a plugin with `zi delete โ€ฆ` The so-called packages are GitHub repositories holding a `package.json` file with the meta-data in them. This way you don't have to (but still can) specify ice-modifiers, which might be handy when the [ice-modifiers][] list is long and complex. - -## Introductory example - -This way, instead of the following command used to install `fzf`: - -```shell showLineNumbers -zi lucid as=program pick="$ZPFX/bin/(fzf|fzf-tmux)" \ - atclone="cp shell/completion.zsh _fzf_completion; \ - cp bin/(fzf|fzf-tmux) $ZPFX/bin" \ - make="PREFIX=$ZPFX install" for \ - junegunn/fzf -``` - -you only need: - -```shell -zi pack for fzf -``` - -to get the complete setup of the fuzzy finder, including: - -- the completion -- the additional executable script `fzf-tmux` - -The installation is like with package-manager because you don't need to invoke Zi anymore once installed to use `fzf` (that's because `fzf` is just a binary program and not e.g.: a shell function). You can also update the package with `zi update fzf` โ€“ it'll cause the project to refresh and rebuild, like with a "normal" package manager such as `apt-get`. However, it'll be more like to `emerge` from Gentoo, because the installation will be from the sourceโ€ฆ unlessโ€ฆ the user will pick up a binary installation by profile argument specified in the `pack'โ€ฆ'` ice. - -## Pros of using the Zi package for regular software installations - -Using Zi to install software where one could use a regular package manager has several advantages: - -1. **Pro:** The Zi packages typically use the URLs to the official and _latest_ distributions of the software (e.g.: the [ecs-cli][] package, which uses the URL: `https://amazon-ecs-cli.s3.amazonaws.com/ecs-cli-linux-amd64-latest` when installing on Linux). - -2. **Pro:** You can influence the installation easily by specifying Zi ice-modifiers, e.g.: - - ```shell - zi pack=bgn atclone="cp fzy.1 $ZI[MAN_DIR]/man1" for fzy - ``` - - to install also the man page for the `fzy` fuzzy finder (this omission in the package will be fixed soon). - -3. **Pro:** The installation is much more flexible than a normal package manager. Example available degrees of freedom: - - - to install from Git or release-tarball, or a binary-release file, - - to install via shims or via extending `$PATH`, or by copying to `$ZPFX/bin`, - - to download files and apply patches to the source by using the `patch-dl` annex features. - -4. **Pro:** The installations are located in the user home directory, which doesn't require root access. Also, for Gems and Node modules, they are installed in their plugin directory, which can have advantages (e.g.: isolation allowing e.g: easy removal by `rm -rf โ€ฆ`). - -5. **Con:** You're somewhat "on your own", with no support from any package maintainer. - -Thus, summing up 1. with 4., it might be nice/convenient too, for example, have the latest ECS CLI binary installed in the home directory, without using root access and always the latest, and โ€“ summing up with 2. and 3. โ€“ to, for example, have always the latest `README` downloaded by additional ice: `dl'https://raw.githubusercontent.com/aws/amazon-ecs-cli/master/README.md'` (and then to have the `README` converted into a man page by the `remark` Markdown processor or other via an `atclone''` ice, as the tool doesn't have any official man page). - -## Adding your package - -1. Contact the author to have the repository at the [Z-Shell][z-shell] organization or set the [ZI\[PKG_OWNER\]][modify-settings]. - -2. Populate the `package.json` โ€“ I suggest grabbing the one for `fzf` or `doctoc` and doing a few substitutions like [doctoc][] โ†’ `your-project` and then simply filling the `default` profile in the `zi-ices` object โ€“ it is same as passing ice-modifiers to `zi ice โ€ฆ` but in JSON. - -3. The project name in the `package.json` should start with `zsh-`. The prefix will be skipped when specifying it with Zi. - -4. Commit and push. - - - - - -[bin-gem-node]: /ecosystem/annexes/bin-gem-node - -[ice-modifiers]: /docs/guides/syntax/ice-modifiers - -[modify-settings]: /docs/guides/customization#modify-settings - - - -[any-gem]: https://github.com/z-shell/any-gem - -[any-node]: https://github.com/z-shell/any-node - -[ecs-cli]: https://github.com/z-shell/ecs-cli - -[z-shell]: https://github.com/z-shell - -[doctoc]: https://github.com/z-shell/doctoc diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/packages/02_usage.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/packages/02_usage.mdx deleted file mode 100644 index 15550756..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/packages/02_usage.mdx +++ /dev/null @@ -1,1022 +0,0 @@ ---- -id: usage -title: ๐Ÿ“ฆ Usage -image: /img/png/theme/z/320x320.png -description: Zi packages usage information. -keywords: - - zpackage - - ่ฝฏไปถๅŒ… - - zsh-packages ---- - - - -import Emoji from "@site/src/components/Emoji"; -import APITable from "@site/src/components/APITable"; -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; - -## Package repositories - -For all the available packages use [GitHub search][github-search]. - -```mdx-code-block - -``` - -| Package Name | Description | -| :--------------------: | :-------------------------------------------------------------------------------------------------- | -| [any-node][] | The any Node module(s) locally in a newly created plugin directory. | -| [any-gem][] | The any Gem(s) locally in a newly created plugin directory. | -| [apr][] | The Apache Portable Runtime (APR) library. | -| [fzf][] | The fzf command-line fuzzy finder. | -| [fzy][] | The fzy command-line fuzzy finder. | -| [pyenv][] | The pyenv Python virtual environment manager. | -| [remark][] | The remark Markdown processor. | -| [doctoc][] | The doctoc Markdown processor. | -| [ls_colors][] | The LS_COLORS and setup a zsh-completion system color scheme. | -| [dircolors-material][] | The dircolors-material and set up a zsh-completion system color scheme. | -| [asciidoctor][] | The asciidoctor Markdown processor. | -| [system-completions][] | Moves the stock Zsh completions under the control of Zi. | -| [brew-completions][] | The Homebrew Shell Completion under the control of Zsh & Zi. | -| [ecs-cli][] | The AWS ECS CLI. | -| [subversion][] | The Subversion client. | -| [github-issues][] | The GitHub Issues client. | -| [github-issues-srv][] | The GitHub Issues server. | -| [firefox-dev][] | The Firefox Developer Edition. | -| [zsh][] | The Zsh mirror of zsh-users. | -| [nb][] | Bookmarking, and archiving with linking, tagging, search, Git syncing, Pandoc conversion, and more. | -| [zsh-bin][] | Package of statically-linked, hermetic, relocatable - romkatv/zsh-bin. | - -```mdx-code-block - -``` - -## Package profiles - -### Apache Portable Runtime (APR) library - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - (default) - - - - - - - - -
- -Download, build and install the latest Apache Portable Runtime. - -```shell -zi pack for apr -``` - -### `asciidoctor` Markdown processor - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - - - - - - - - - (default) -
- -Download the Gem of asciidoctor locally with the [bin-gem-node][] annex. - -> Using the `@` prefix because of collision with the as'' ice. - -```shell -zi pack for @asciidoctor -``` - -### AWS ECS CLI - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - - - (default) - - - - - - -
- - - - -Download the binary of the Amazon-ECS-CLI command. - -```shell -zi pack for ecs-cli -``` - - - - -Download the ECS-CLI binary with the use of the bin-gem-node annex. - -```shell -zi pack"bgn" for ecs-cli -``` - - - - -### `dircolors-material` color scheme - - - - - - - - - - - - - - - - - - - - -
- Package source - TarballBinaryGitNodeGem
- Status: - - - - - - (default) - - - - -
- - - - -Download the default profile. - -```shell -zi pack for dircolors-material -``` - - - - -Download the "no-zsh-completion" profile. - -```shell -zi pack"no-zsh-completion" for dircolors-material -``` - - - - -Download the "no-color-swaps" profile. - -```shell -zi pack"no-color-swaps" for dircolors-material -``` - - - - -Download the minimal profile without altering the original theme. - -```shell -zi pack"minimal" for dircolors-material -``` - - - - -### `doctoc` Markdown processor - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - - - - - - - (default) - - -
- -A download default profile with the Node package of doctoc. - -```shell -zi pack for doctoc -``` - -### Firefox Developer Edition - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - - - (default) - - - - - - -
- - - - -Download the firefox-dev latest binary. - -```shell -zi pack for firefox-dev -``` - - - - -Download the firefox-dev latest binary with use of the [bin-gem-node][] annex. - -```shell -zi pack"bgn" for firefox-dev -``` - - - - -### `fzf` command-line fuzzy finder - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - (default) - - - - - - - - -
- - - - -Download the package with the default profile. - -```shell -zi pack for fzf -``` - - - - -Download the package with the default profile + key bindings. - -```shell -zi pack"default+keys" for fzf -``` - - - - -Download the package with the [bin-gem-node][] annex. - -```shell -zi pack"bgn" for fzf -``` - - - - -Download the package with the [bin-gem-node][] annex and with the key bindings. - -> The "+keys" variants are available for each profile. - -```shell -zi pack"bgn+keys" for fzf -``` - - - - -Download with the [bin-gem-node][] annex from GitHub repository. - -```shell -zi pack"bgn" git for fzf -``` - - - - -Download the binary from the GitHub releases. - -```shell -zi pack"binary" for fzf -``` - - - - -Download the binary from the GitHub releases and install using [bin-gem-node][] + shims. - -```shell -zi pack"bgn-binary" for fzf -``` - - - - -### `fzy` command-line fuzzy finder - - - - - - - - - - - - - - - - - - - - -
- Package source: - TarballBinaryGitNodeGem
- Status: - - (default) - - - - - - - - -
- - - - -Download the package with the default profile. - -```shell -zi pack for fzy -``` - - - - -Download the package with the [bin-gem-node][] annex. - -```shell -zi pack"bgn" for fzy -``` - - - - -Download with the [bin-gem-node][] annex from GitHub repository. - -```shell -zi pack"bgn" git for fzy -``` - - - - -Download normal ice list and override atclone'' ice to skip the contrib scripts - -```shell -zi pack"bgn" atclone'' for fzy -``` - - - - -### `LS_COLORS` color scheme - - - - - - - - - - - - - - - - - - -
- Package source: - TarballGitNodeGem
- Status: - - - - (default) - - - - -
- - - - -Download the default profile. - -```shell -zi pack for ls_colors -``` - - - - -Download the "no-zsh-completion" profile. - -```shell -zi pack"no-zsh-completion" for ls_colors -``` - - - - -Download the "no-dir-color-swap" profile. - -```shell -zi pack"no-dir-color-swap" for ls_colors -``` - - - - -### Feature-rich noteโ€‘taking (`nb`) {#nb-pkg-profile} - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballGitNodeGem
- Status: - - (default) - - - - - - -
- -Default profile are using [bin-gem-node][] to set shims. - -```shell -zi pack for nb -``` - -### Python virtual environment manager - `pyenv` {#pyenv-pkg-profile} - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - (default) - - - - - - - - -
- - - - -Download the tarball with the default ice list. - -```shell -zi pack for pyenv -``` - - - - -Download the binary from the GitHub releases with the [bin-gem-node][] annex. - -```shell -zi pack"bgn" for pyenv -``` - - - - -Download with the [bin-gem-node][] annex from GitHub repository. - -```shell -zi pack"bgn" git for pyenv -``` - - - - -### `remark` Markdown processor - - - - - - - - - - - - - - - - - - -
- Package source: - TarballGitNodeGem
- Status: - - - - - - (default) - - -
- - - - -Download the Node package of remark-CLI, remark-man and remark-HTML - -```shell -zi pack for remark -``` - - - - -Download the Node package of remark-CLI and remark-man - -```shell -zi pack"man-only" for remark -``` - - - - -Download the Node package of remark-CLI and remark-HTML - -```shell -zi pack"html-only" for remark -``` - - - - -### Subversion - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - (default) - - - - - - - - -
- -Download, build and install the latest Subversion. - -> Dependency of Subversion: [APR][] - -```shell -zi pack for subversion -``` - -### Zsh mirror of zsh-users - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - - - - - (default) - - - - -
- - - - -Install the newest Zsh. - -```shell -zi pack for zsh -``` - - - - -Install preferred Zsh version. - -```shell -zi pack"5.9" for zsh -zi pack"5.8.1" for zsh -zi pack"5.8" for zsh -zi pack"5.7.1" for zsh -zi pack"5.6.2" for zsh -zi pack"5.5.1" for zsh -zi pack"5.4.2" for zsh -zi pack"5.3.1" for zsh -zi pack"5.2.4" for zsh -zi pack"5.1.1" for zsh -``` - - - - -### Statically-linked, hermetic, relocatable Zsh - - - - - - - - - - - - - - - - - - - - -
- Package source: - Source TarballBinaryGitNodeGem
- Status: - - - - - - (default) - - - - -
- - - - -Requires **root** access to install Zsh at `/usr/local` and will attempt to register it as a login shell. - -```shell -zi pack for zsh-bin -``` - - - - -Does not require **root** access, when install using [bin-gem-node][] to set shims. - -```shell -zi pack"bgn" for zsh-bin -``` - - - - -Does not require **root** access, will install to `~/.local`. - -```shell -zi pack"rootless" for zsh-bin -``` - - - - - - - - -[bin-gem-node]: /ecosystem/annexes/bin-gem-node - - - -[any-node]: https://github.com/z-shell/any-node - -[any-gem]: https://github.com/z-shell/any-gem - -[apr]: https://github.com/z-shell/apr - -[fzf]: https://github.com/z-shell/fzf - -[fzy]: https://github.com/z-shell/fzy - -[pyenv]: https://github.com/z-shell/pyenv - -[remark]: https://github.com/z-shell/remark - -[doctoc]: https://github.com/z-shell/doctoc - -[ls_colors]: https://github.com/z-shell/ls_colors - -[dircolors-material]: https://github.com/z-shell/dircolors-material - -[asciidoctor]: https://github.com/z-shell/asciidoctor - -[system-completions]: https://github.com/z-shell/system-completions - -[ecs-cli]: https://github.com/z-shell/ecs-cli - -[subversion]: https://github.com/z-shell/subversion - -[github-issues]: https://github.com/z-shell/github-issues - -[github-issues-srv]: https://github.com/z-shell/github-issues-srv - -[firefox-dev]: https://github.com/z-shell/firefox-dev - -[zsh]: https://github.com/z-shell/zsh - -[nb]: https://github.com/z-shell/nb - -[zsh-bin]: https://github.com/z-shell/zsh-bin - -[brew-completions]: https://github.com/z-shell/brew-completions - -[github-search]: https://github.com/search?q=topic%3Azpackage+org%3Az-shell&type=Repositories diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/packages/_category_.json b/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/packages/_category_.json deleted file mode 100644 index 761cb15a..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs-ecosystem/current/packages/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "๐Ÿ“ฆ ่ฝฏไปถๅŒ…", - "position": 3, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current.json b/i18n/zh-Hans/docusaurus-plugin-content-docs/current.json deleted file mode 100644 index dbcdde38..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version.label": { - "message": "ไธ‹ไธ€้กต", - "description": "The label for version current" - }, - "sidebar.SideBar.category.๐Ÿš€ Getting Started": { - "message": "๐Ÿš€ ๅผ€ๅง‹ไฝฟ็”จ", - "description": "The label for category ๐Ÿš€ Getting Started in sidebar SideBar" - }, - "sidebar.SideBar.category.๐Ÿ’ก Guides": { - "message": "๐Ÿ’กๆŒ‡ๅ—", - "description": "The label for category ๐Ÿ’ก Guides in sidebar SideBar" - }, - "sidebar.SideBar.category.โœ๏ธ Syntax": { - "message": "โœ๏ธ ่ฏญๆณ•", - "description": "The label for category โœ๏ธ Syntax in sidebar SideBar" - } -} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/01_installation.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/01_installation.mdx deleted file mode 100644 index 7fd6f15c..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/01_installation.mdx +++ /dev/null @@ -1,288 +0,0 @@ ---- -id: installation -title: โšก๏ธ ๅฎ‰่ฃ… -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -description: ๅฎ‰่ฃ…ๆŒ‡ๅ— -keywords: - - ๅฎ‰่ฃ… ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import Emoji from "@site/src/components/Emoji"; - -## Quick setup {#quick-setup} - -ๅฐ†ไปฅไธ‹ๅ†…ๅฎนๆทปๅŠ ๅˆฐ .zshrc ๆ–‡ไปถไธญ๏ผš - - - - -```shell title="~/.zshrc" -source <(curl -sL init.zshell.dev); zzinit -``` - - - - -:::caution - -This setup method requires manually verifying the sha256 [checksum][checksum-txt] for a file lib/zsh/init.zsh every time the content is changed in the repository. - -::: - -```shell showLineNumbers title="~/.zshrc" -local cs_ok='7fab1ecb8d2ffbdb4aa98dd1e51cebaeaa4d8137e1de11938f3e0df24af262bb' -local cs_get=$(sha256sum <(curl -sL init.zshell.dev) | awk '{print $1}') -[[ $cs_ok == $cs_get ]] && { source <(curl -sL init.zshell.dev); zzinit; } || { - print -P "%F{160}โ–“โ–’โ–‘ Houston, we have a problem, the %F{226}$cs_get%F{160} do not match\!%f%b"; return 1 -} -unset cs_ok cs_get -``` - - - - -Reload the shell with exec zsh -il and run zi -h for usage information. - -## Automated setup {#automated-setup} - -:::tip - -- Verify the sha256 [checksum][checksum-txt] for file: lib/sh/install.sh -- If required append `-b ` or `-b ` e.g: - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -i skip -b main -``` - -::: - - - - -Install and include minimal configuration to the .zshrc: - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -``` - - - - -Install and include minimal configuration with [loader](#loader): - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -a loader -``` - -The installer will download the loader and add the snippet below to the .zshrc file. - -```shell showLineNumbers -if [[ -r "${XDG_CONFIG_HOME:-${HOME}/.config}/zi/init.zsh" ]]; then - source "${XDG_CONFIG_HOME:-${HOME}/.config}/zi/init.zsh" && zzinit -fi -``` - -:::tip - -The loader can be manually fetched from available [links](#loader) to any location on the system, and sourced from .zshrc or as shown in the [quick-setup](#quick-setup). - -::: - -Then reload the shell with: `exec zsh`. ๅ…จ้ƒจๅฎŒๆˆไบ†๏ผ - - - - -Clone repository using default or if set custom values: - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -i skip -``` - - - - -Install and include minimal configuration with recommended annexes: - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -a annex -``` - - - - -Install and include minimal configuration with recommended annexes and setup zdharma/zunit: - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -a zunit -``` - - - - -## Manual Setup {#manual-setup} - -:::tip Related - -- [๐Ÿ— Configuration management](/docs/guides/customization#customizing-paths) - -::: - -่ฎพ็ฝฎๅฎ‰่ฃ…ไฝ็ฝฎๅนถๅˆ›ๅปบ็›ฎๅฝ•๏ผš - -```shell showLineNumbers -typeset -Ag ZI -typeset -gx ZI[HOME_DIR]="${HOME}/.zi" ZI[BIN_DIR]="${ZI[HOME_DIR]}/bin" -command mkdir -p "$ZI[BIN_DIR]" -``` - -For security reasons run function compaudit to check if the [completion system][completion-system] would use files owned by root or by the current user, or files in directories that are world or group-writable. - -ๅฆ‚ๆžœๅคฑ่ดฅ๏ผŒๅˆ™ๅฐ†ๅฝ“ๅ‰็”จๆˆท่ฎพ็ฝฎไธบ็›ฎๅฝ•็š„ๆ‰€ๆœ‰่€…๏ผŒ็„ถๅŽๅˆ ้™ค group/others ็š„ๅ†™ๅ…ฅๆƒ้™๏ผŒๅนถๅ…‹้š†ๅญ˜ๅ‚จๅบ“๏ผš - -```shell showLineNumbers -compaudit | xargs chown -R "$(whoami)" "$ZI[HOME_DIR]" -compaudit | xargs chmod -R go-w "$ZI[HOME_DIR]" -command git clone https://github.com/z-shell/zi.git "$ZI[BIN_DIR]" -``` - -To enable Zi, source the zi.zsh from the previously set up directory placing the following snippet in the .zshrc file: - -```shell title="~/.zshrc" showLineNumbers -typeset -A ZI -ZI[BIN_DIR]="${HOME}/.zi/bin" -source "${ZI[BIN_DIR]}/zi.zsh" -``` - -:::caution - -ไธ‹้ข็š„ไธค่กŒๅฟ…้กปๆ”พๅœจไธŠ้ข็š„่กŒไน‹ๅŽ๏ผŒๅณๅœจๅฏ็”จ Zi ไน‹ๅŽใ€‚ - -::: - -ๅฏ็”จ Zi ่กฅๅ…จ๏ผš - -```shell title="~/.zshrc" showLineNumbers -autoload -Uz _zi -(( ${+_comps} )) && _comps[zi]=_zi -``` - -## Post-install {#post-install} - -After a fresh install, it is recommended to reload the shell and recompile Zi with: - -- exec zsh -il -- zi self-update - -Run zi -h for available commands or [explore][collection-page] wiki to [extend][ecosystem-page], [customize][customization-page] and [create][zsh-plugin-standard] . - -If you have any issue or need help , lets [discuss][discuss] it or open an [issue][issue] on GitHub. - -It helps us to improve and make Zi better. Don't forget to help the project: share, contribute, or [translate][translate] . - -Let's glue a toolchain that works for us . - -## Have ideas? - -###  Suggest or request at playground - -```shell -sh -c "$(curl -fsSL get.zshell.dev)" -- -a ??? -``` - -##  Need warm-up? - -###  Docker Alpine - -```shell -docker run --rm -it ghcr.io/z-shell/zd:latest -``` - -### Turbo Zi in Docker - -If you create a Docker image that uses Zi, install Turbo-loaded plugins before the shell starts interactively, with the @zi-scheduler function in such a way, that it: - -- Install plugins without waiting for the prompt (i.e. it's script friendly). -- Install all plugins instantly, without respecting the wait argument. - -To accomplish this, use burst argument and call the @zi-scheduler function: - -```docker -RUN zsh -i -c -- '@zi-scheduler burst || true' -``` - -> - An example: [Dockerfile][dockerfile] -> - In action: [Playground][playground] - -## Zi Module: zpmod {#zi-module} - -The module transparently and automatically compiles sourced scripts and lists of all sourced files with the time the sourcing took in milliseconds on the left. - -- [โš™๏ธ Wiki: zpmod][zpmod-page] -- [๐Ÿ“ฆ Source: zpmod][z-shell/zpmod] - -## Available links {#available-links} - -[Status page][status] - -### Installer {#installer} - -| ๆœๅŠก | URL | -| :--------- | ------------------------------------------------------------------------- | -| ๅธฆ้‡ๅฎšๅ‘ | | -| R2 | | -| Cloudflare | | -| IPFS | | -| Git.io | | -| GitHub RAW | | - -### Loader {#loader} - -| ๆœๅŠก | URL | -| :--------- | ------------------------------------------------------------------------ | -| ๅธฆ้‡ๅฎšๅ‘ | | -| R2 | | -| Cloudflare | | -| IPFS | | -| Git.io | | -| GitHub RAW | | - - - - - -[zpmod-page]: /ecosystem/plugins/zsh-modules#-z-shellzpmod - -[customization-page]: /docs/guides/customization - -[ecosystem-page]: /ecosystem - -[collection-page]: /community/category/-collection - -[zsh-plugin-standard]: /community/zsh_plugin_standard - - - -[checksum-txt]: https://raw.githubusercontent.com/z-shell/zi-src/main/lib/checksum.txt - -[completion-system]: https://zsh.sourceforge.io/Doc/Release/Completion-System.html#Use-of-compinit - -[discuss]: https://github.com/orgs/z-shell/discussions/new - -[dockerfile]: https://github.com/robobenklein/configs/blob/master/Dockerfile - -[issue]: https://github.com/z-shell/zi/issues/new/choose - -[playground]: https://github.com/z-shell/playground - -[status]: https://status.zshell.dev - -[translate]: https://digitalclouds.crowdin.com/z-shell - -[z-shell/zpmod]: https://github.com/z-shell/zpmod diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/02_overview.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/02_overview.mdx deleted file mode 100644 index b1be9291..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/02_overview.mdx +++ /dev/null @@ -1,510 +0,0 @@ ---- -id: overview -title: โ˜‘๏ธ ไธ€่ˆฌๆฆ‚่ฟฐ -image: /img/png/theme/z/320x320.png -description: Zi ไฝฟ็”จๆฆ‚่ฟฐ ---- - -import ImgShow from "@site/src/components/ImgShow"; -import Link from "@docusaurus/Link"; - -ๆญคๆฆ‚่งˆๅŒ…ๆ‹ฌไปฅไธ‹ๅ†…ๅฎน๏ผš - -1. [Oh-My-Zsh & Prezto](/search?q=Oh+My+Zsh+%26+Prezto) -2. [Completions](/search?q=completions) -3. [Turbo mode](/search?q=turbo+mode) -4. [Ice modifiers](/search?q=ice+modifiers) - -## ๅŠ ่ฝฝๆ’ไปถๅ’Œ็‰‡ๆฎต - -```shell showLineNumbers -zi load z-shell/H-S-MW -zi light zsh-users/zsh-syntax-highlighting -``` - -ไธŠ้ข็š„ๅ‘ฝไปคๆ˜พ็คบไบ†ไธค็งๅŠ ่ฝฝๅŸบๆœฌๆ’ไปถ็š„ๆ–นๅผใ€‚ If you want to source local or remote files (using a direct URL), you can do so with a `snippet`. - -```shell -zi snippet -``` - -Such lines should be added to `.zshrc`. Snippets are cached locally, use the `-f` option to download a fresh version of a snippet, or `zi update {URL}`. Use `zi update --all` to update all snippets and plugins. - -Using `load` causes reporting to be enabled โ€“ you can track what the plugin does, view the information with `zi report {plugin-name}`, and then also unload the plugin with `zi unload {plugin-name}`. - -Using `light` is a faster loading without tracking and reporting about the plugin but also withdrawing the ability to unload it. - -Using `load` or `light`: - -```shell showLineNumbers -zi load # Load with reporting/investigating. -zi light # Load without reporting/investigating. -``` - -ๅธฆ็€่ทŸ่ธชๆŠฅๅ‘ŠๅŠ ่ฝฝ history-search-multi-word ๆ’ไปถ๏ผš - -```shell -zi load z-shell/H-S-MW -``` - -ไธๅธฆ่ทŸ่ธชๆŠฅๅ‘ŠๅŠ ่ฝฝไธคไธชๆ™ฎ้€šๆ’ไปถ๏ผš - -```shell showLineNumbers -zi light zsh-users/zsh-autosuggestions -zi light z-shell/F-Sy-H -``` - -็‰‡ๆฎต: - -```shell -zi snippet https://gist.githubusercontent.com/hightemp/5071909/raw/ -``` - -:::note - -In turbo mode loading, the slowdown by plugin tracking is done in the background and does not affect the user experience, i.e., loading with `zi light` and `zi load` has the same effect. - -::: - -## Oh-My-Zsh, Prezto - -To load Oh-My-Zsh and Prezto plugins, use the `snippet` feature. Snippets are **single files** downloaded by `curl`, `wget`, etc., automatic detection of the download tool is being performed, directly from the URL: - -```shell showLineNumbers -zi snippet 'https://github.com/robbyrussell/oh-my-zsh/raw/master/plugins/git/git.plugin.zsh' -zi snippet 'https://github.com/sorin-ionescu/prezto/blob/master/modules/helper/init.zsh' -``` - -Also, for Oh-My-Zsh and Prezto, you can use `OMZ::` and `PZT::` shorthands: - -```shell showLineNumbers -zi snippet OMZ::plugins/git/git.plugin.zsh -zi snippet PZT::modules/helper/init.zsh -``` - -ๆญคๅค–๏ผŒGitHub ๆ”ฏๆŒ้€š่ฟ‡ Subversion ๅ่ฎฎๅŠ ่ฝฝ็‰‡ๆฎตใ€‚ This allows loading snippets that are multi-file (for example, a Prezto module can consist of two or more files, e.g. `init.zsh` and `alias.zsh`). - -Default files that will be sourced are: `*.plugin.zsh`, `init.zsh`, `*.zsh-theme`: - -ๆŒ‡ๅ‘็›ฎๅฝ•็š„URL๏ผš - -```shell {2} showLineNumbers -zi ice svn -zi snippet PZT::modules/docker -``` - -## Snippet ๅ’Œๆ€ง่ƒฝ - -Using `curl`, `wget`, etc. along with Subversion allows us to almost completely avoid code dedicated to Oh-My-Zsh and Prezto, and also to other frameworks. ๅฎƒๆไพ›ไบ†ๆ›ดๅฅฝ็š„ๆ€ง่ƒฝ๏ผŒๅ› ไธบๅฎƒๅฏนๅ†…ๅญ˜็š„ๅ ็”จๅพˆไฝŽ๏ผŒๅŠ ่ฝฝๆ—ถ้—ดๆ›ด็Ÿญใ€‚ - -## Ice ไฟฎ้ฅฐ็ฌฆ - -The command `zi ice` provides [ice modifiers][1] for the single Zi command, i.e., `zi ice ; zi load some/plugin`, after loading some/plugin the ice-modifier has to be set again. - -โ€œๅ†ฐโ€ๆ˜ฏไธ€็งๆทปๅŠ ็‰ฉ๏ผŒไพ‹ๅฆ‚ๆทปๅŠ ๅˆฐ้ฅฎๆ–™ๆˆ–ๅ’–ๅ•กไธญ โ€”โ€” ๅœจ Zi ้‡Œ๏ผŒๅ†ฐไฟฎ้ฅฐ็ฌฆๅฐ†ๆ˜ฏไธ‹ไธ€ๆก Zi ๅ‘ฝไปค็š„ๆทปๅŠ ็‰ฉใ€‚ -โ€œๅ†ฐโ€ไนŸๆ˜ฏไผš่žๅŒ–็š„ไธœ่ฅฟ๏ผŒๆ‰€ไปฅๅฎƒไธไผš็•™ๅญ˜ๅพˆไน… โ€”โ€” ๅœจ Zi ้‡Œ๏ผŒ่ฟ™ๆ„ๅ‘ณ็€ๅฎƒ็š„ๆ•ˆๆžœๅช่ƒฝไฝœ็”จไบŽไธ€ๆกๅ‘ฝไปคใ€‚ - -Using one other ice modifier "**pick**" users can explicitly **select the file to source**: - -```shell {1} showLineNumbers -zi ice svn pick"init.zsh" -zi snippet PZT::modules/git -``` - -The content of the ice-modifier is simply put into `"โ€ฆ"`, `'โ€ฆ'`, `$'โ€ฆ'`. No need for `":"` after the ice-modifier name (although it's allowed: as the equal sign `=`, e.g. `pick="init.zsh"` or `pick=init.zsh`). - -This way editors like `vim` and `emacs` and also `zsh-users/zsh-syntax-highlighting` and `z-shell/F-Sy-H` will highlight the contents of ice-modifiers. - -## ๅ…ณไบŽ as"program" - -A plugin might not be a file for sourcing, but a command to be added to `$PATH`. To obtain this effect, use ice-modifier `as` with value `program` (or an alias value `command`). - -```shell {1} showLineNumbers -zi ice as"program" cp"httpstat.sh -> httpstat" pick"httpstat" -zi light b4b4r07/httpstat -``` - -The above command will add plugin directory to `$PATH`, copy file `httpstat.sh` into `httpstat` and add execution rights (`+x`) to the file selected with `pick`, i.e. to `httpstat`. Another ice-mod exists, `mv`, which works like `cp` but **moves** a file instead of **copying** it. `mv` is run before `cp`. - -:::tip - -The `cp` and `mv` ices (and also some other ones, like `atclone`) are being run when the plugin or snippet is being _installed_. To test them again first delete the plugin or snippet (example: `zi delete PZT::modules/osx`). - -::: - -## Ice ไฟฎ้ฅฐ็ฌฆ: atpull'โ€ฆ' - -Copying file is safe for doing later updates โ€“ original files of the repository are unmodified and `Git` will report no conflicts. However, `mv` also can be used, if a proper `atpull`, an ice-modifier ran at **update** of the plugin: - -```shell showLineNumbers -zi ice as"program" mv"httpstat.sh -> httpstat" \ - pick"httpstat" atpull'!git reset --hard' -zi light b4b4r07/httpstat -``` - -If `atpull` starts with an exclamation mark, then it will be run before `git pull`, and before `mv`. Nevertheless, `atpull`, `mv`, and `cp` are run **only if new commits are to be fetched**. - -So in summary, when the user runs `zi update b4b4r07/httpstat` to update this plugin, and there are new commits, what happens first is that `git reset --hard` is run โ€“ and it **restores** original `httpstat.sh`, **then** `git pull` is ran and it downloads new commits (doing fast-forward), **then** `mv` is running again so that the command is `httpstat` not `httpstat.sh`. - -This way the `mv` ice can be used to induce permanent changes into the plugin's contents without blocking the ability to update it with `git` or with `subversion` in the case of snippets. - -:::info - -For exclamation marks to not be expanded by Zsh an interactive session, use `'โ€ฆ'` not `"โ€ฆ"` to enclose contents of `atpull` [ice-modifier](/search?q=ice-modifier). - -::: - -## Ice ไฟฎ้ฅฐ็ฌฆ: subscribe'โ€ฆ' - -Iceไฟฎ้ฅฐ็ฌฆๅปถ่ฟŸๅŠ ่ฝฝๅŠ ่ฝฝไธ€ไธชๆ’ไปถ๏ผŒๅŒๆ—ถๆฃ€ๆŸฅ็ป™ๅฎšๆ–‡ไปถ็š„ไฟฎๆ”นๆ—ถ้—ดใ€‚ๅฝ“็ป™ๅฎšๆ–‡ไปถๅ‘็”Ÿๅ˜ๅŒ–ๆ—ถ๏ผŒๅฎƒๅฐฑไผš่งฆๅ‘ๆ’ไปถๆˆ–็‰‡ๆฎต็š„ๅŠ ่ฝฝใ€‚ - -Copy and paste the example below to the terminal or add it to the `.zshrc` file and reload the shell with `exec zsh`. - -```shell {1} showLineNumbers -zi ice subscribe'{~/files-*,/tmp/files-*}' id-as'z-sub' lucid \ - atload'+zi-message "{profile}I have been loaded{nl}\ - {auto}\`Zi Rocks โ™ฅ\`"' notify"Yes that is cool โ™ฅ " -zi load z-shell/0 -``` - -ๆŒ‰็…งไธŠ้ข่ฎข้˜…็š„ๅ†…ๅฎนๆ›ดๆ–ฐๆ–‡ไปถ๏ผŒๆต‹่ฏ• Ice ไฟฎ้ฅฐ็ฌฆ๏ผš - -```shell -touch ~/files-1 -``` - -่ฏฅๆ’ไปถๆˆ–็‰‡ๆฎตๅฐ†้š็€ๆ–‡ไปถ็š„ๆ›ดๆ–ฐ่€Œ่ขซ source ใ€‚ - -## ็‰‡ๆฎต as'โ€ฆ' program - -Commands can also be added to `$PATH` using **snippets**: - -```shell {2} showLineNumbers -zi ice mv"httpstat.sh -> httpstat" \ - pick"httpstat" as"program" -zi snippet https://github.com/b4b4r07/httpstat/blob/master/httpstat.sh -``` - -:::tip - -Snippets also support `atpull`, e.g. `atpull'!svn revert'`. Thereโ€™s also an `atinit` ice-modifier, executed before each loading of plugin or snippet. - -::: - -## ็‰‡ๆฎต as'โ€ฆ' completion - -By using the `as'โ€ฆ'` ice modifier with the value `completion` you can point the `snippet` subcommand directly to a completion file: - -```shell {1} showLineNumbers -zi ice as"completion" -zi snippet https://github.com/docker/cli/blob/master/contrib/completion/zsh/_docker -``` - -## ่กฅๅ…จ็ฎก็† - -Ziๅ…่ฎธๅœจๆฏไธชๆ’ไปถไธญ็ฆ็”จๅ’Œๅฏ็”จๆฏไธช่กฅๅ…จใ€‚ ๅฐ่ฏ•ๅฎ‰่ฃ…ไธ€ไธชๆไพ›่กฅๅ…จ็š„็ƒญ้—จๆ’ไปถ๏ผš - -```shell {1} showLineNumbers -zi ice blockf -zi light zsh-users/zsh-completions -``` - -The first command, the `blockf` ice, will block the traditional method of adding completions. Zi uses this method, based on symlinks instead of adding several directories to `$fpath`. Zi will automatically **install** completions of a newly downloaded plugin. - -่ฆๅธ่ฝฝๆˆ–ๅฎ‰่ฃ…่กฅๅ…จ๏ผš - -ๅธ่ฝฝ๏ผš - -```shell -zi cuninstall zsh-users/zsh-completions -``` - -ๅฎ‰่ฃ…๏ผš - -```shell -zi creinstall zsh-users/zsh-completions -``` - -### ๅˆ—ๅ‡บๅฏ็”จ่กฅๅ…จ - -To see what completions **all** plugins provide, in tabular formatting and with the name of each plugin: - -```shell -zi clist -``` - -This command is adapted for plugins like `zsh-users/zsh-completions`, which provide many completions โ€“ listing will have `3` completions per line, and a smaller number of terminal pages can be occupied like this: - - - -To show more completions per line by providing an **argument** to `clist`, e.g.: `zi clist 6`, will show: - - - -### ๅฏ็”จ/็ฆ็”จ - ่กฅๅ…จ - -ๅฏไปฅ็ฆ็”จ่กฅๅ…จๅŠŸ่ƒฝ๏ผŒๅนถไฝฟ็”จๅ…ถไป–่กฅๅ…จๅŠŸ่ƒฝ๏ผŒไพ‹ๅฆ‚ Zsh ็š„ๅ†…็ฝฎ่กฅๅ…จใ€‚ The commands are very basic, they only need completion **name**: - -Disable `cmake` completion: - -```shell -zi cdisable cmake -``` - -Enable `cmake` completion: - -```shell -zi cenable cmake -``` - -Command `zi csearch` will **search** all plugin directories for available completions: - - - -## ๅฏนๅญ็›ฎๅฝ•็š„ subversion - -In general, to use **subdirectories** of Github projects as snippets add `/trunk/{path-to-dir}` to the URL: - -```shell showLineNumbers -zi ice svn -zi snippet https://github.com/zsh-users/zsh-completions/trunk/src -``` - -:::tip - -For Oh-My-Zsh and Prezto, the OMZ:: and PZT:: prefixes work without the need to add the `/trunk/` infix, however, the path should point to a directory, not to a file. - -::: - -```shell showLineNumbers -zi ice svn -zi snippet PZT::modules/docker -``` - -## Turbo Mode (Zsh >= 5.3) {#turbo-mode-zsh--53} - -The ice-modifier `wait` allows the user to postpone the loading of a plugin to the moment when the processing of `.zshrc` is finished and the first prompt is shown. - -ๅฎƒๅฐฑๅƒ Windows ็š„้€ป่พ‘ โ€”โ€” ๅฏๅŠจ่ฟ‡็จ‹ไธญ๏ผŒๅฎƒ้ฆ–ๅ…ˆๆ˜พ็คบไธ€ไธชๆกŒ้ข๏ผŒ็„ถๅŽๅœจๅŽๅฐ็ปง็ปญๅŠ ่ฝฝๆ•ฐๆฎใ€‚ ่ฟ™็งๅšๆณ•ๆœ‰็ผบ็‚น๏ผŒไฝ†่‚ฏๅฎšๆฏ” 10 ๅˆ†้’Ÿ็š„็ฉบ็™ฝๅฑๅน•่ฆๅฅฝใ€‚ ไฝ†ๅœจ Zi ไธญ๏ผŒ่ฟ™็งๆ–นๆณ•ๆฒกๆœ‰ไปปไฝ•็ผบ็‚น โ€”โ€” ๆฒกๆœ‰ๅปถ่ฟŸใ€ๅ†ป็ป“็ญ‰้—ฎ้ข˜ใ€‚โ€”โ€” ๅœจๅŠ ่ฝฝๆ’ไปถ็š„่ฟ‡็จ‹ไธญ๏ผŒๅ‘ฝไปค่กŒไป็„ถๅฎŒๅ…จๅฏ็”จ๏ผŒๆ— ่ฎบไปฅ่ฟ™็งๆ–นๆณ•ๅŠ ่ฝฝไบ†ๅคšๅฐ‘ๆ’ไปถใ€‚ - -:::info - -Turbo will speed up Zsh startup by **50%โ€“80%**. ไพ‹ๅฆ‚๏ผŒไปŽ 200 ms ๅŠ ้€Ÿๅˆฐ 40 msใ€‚ - -::: - -:::note - -้œ€่ฆ Zsh 5.3 ๅŠไปฅไธŠ็š„็‰ˆๆœฌใ€‚ - -::: - -To use turbo mode add `wait` ice to the target plugin in one of the following ways: - -```shell {2} showLineNumbers -PS1="READY > " -zi ice wait'!0' -zi load halfo/lambda-mod-zsh-theme -``` - -This sets plugin `halfo/lambda-mod-zsh-theme` to be loaded `0` seconds after `.zshrc`. It will fire up after c.a. 1 ms of showing the basic prompt `READY >`. - -You probably won't load the prompt in such a way, however, it is a good example in which turbo mode can be observed. The exclamation mark causes Zi to reset the prompt after loading the plugin โ€“ commonly needed for themes. The same with Prezto prompts, with a longer delay: - -```shell showLineNumbers -zi ice svn silent wait'!1' atload'prompt smiley' -zi snippet PZT::modules/prompt -``` - -Using `zsh-users/zsh-autosuggestions` without any drawbacks: - -```shell showLineNumbers -zi ice wait lucid atload'!_zsh_autosuggest_start' -zi light zsh-users/zsh-autosuggestions -``` - -### Turbo mode is the key to the performance - -Turbo ๆจกๅผๅฏไปฅๅผ‚ๆญฅๅœฐๅŠ ่ฝฝ๏ผŒ่ฟ™ๅœจๆ’ไปถๆ•ฐ้‡ๅขžๅŠ ๆ—ถไฝœ็”จ้‡ๅคงใ€‚ Usually used as `zi ice wait''`. - -:::note - -The `wait` is equivalent to `wait'0'`. - -::: - -```shell showLineNumbers -zi ice wait -zi load z-shell/H-S-MW -``` - -2็ง’ๅŽๅŠ ่ฝฝ๏ผš - -```shell showLineNumbers -zi ice wait'2' -zi load z-shell/H-S-MW -``` - -Also can be used in `light` and `snippet`: - -```shell showLineNumbers -zi ice wait -zi snippet https://gist.githubusercontent.com/hightemp/5071909/raw/ -``` - -### Turbo mode & lucid - -Turbo and lucid are the most used options because turbo mode is verbose and may require an option for quiet and this can be achieved with the `lucid`. - -```shell showLineNumbers -zi ice wait lucid -zi load z-shell/H-S-MW -``` - -## ๅธฆๆœ‰ๅคๆ‚ๅ‘ฝไปค่กŒๆ็คบ็ฌฆ็š„ Turbo ๆจกๅผ - -For some, mostly advanced themes the initialization of the prompt is being done in a `precmd`-hook, i.e.; in a function that gets called before each prompt. The hook is installed by the [add-zsh-hook][12] Zsh function by adding its name to the `$precmd_functions` array. - -To make the prompt fully initialized after turbo mode loading in the middle of the prompt the same situation as with the `zsh-autosuggestions` plugin, the hook should be called from `atload'โ€ฆ'` ice. - -First, find the name of the hook function by examining the `$precmd_functions` array. For example, for the `robobenklein/zinc` theme, they'll be two functions: `prompt_zinc_setup` and `prompt_zinc_precmd`: - -```shell title="print $precmd_functions" -_zsh_autosuggest_start prompt_zinc_setup prompt_zinc_precmd -``` - -Then, add them to the ice list in the `atload'โ€ฆ'` ice: - -```shell {2} showLineNumbers -zi ice wait'!' lucid nocd \ - atload'!prompt_zinc_setup; prompt_zinc_precmd' -zi load robobenklein/zinc -``` - -The exclamation mark in `atload'!โ€ฆ'` is to track the functions allowing the plugin to be unloaded, as described [here](/docs/guides/syntax/standard#atclone-atpull-atinit-atload). ๅฎƒๅฏ่ƒฝๅฏนๆŽฅไธ‹ๆฅๆ่ฟฐ็š„ๅ‘ฝไปค่กŒๅคš้‡ๆ็คบ็ฌฆ่ฎพ็ฝฎๅพˆๆœ‰็”จใ€‚ - -### Turbo ๆ–นๅผ็š„ๆ€ป็ป“ - -Autosuggestions use the `precmd` hook, which is being called right after processing `.zshrc` โ€“ `precmd` hooks are being called **right before displaying each prompt**. - -Turbo mode with the empty `wait` ice will postpone the loading `1` ms after that, so `precmd` will not be called at that first prompt. ่ฟ™ๅฐ†ไฝฟ่‡ชๅŠจๆ็คบๅœจ็ฌฌไธ€่กŒๆ็คบ็ฌฆๆ— ๆณ•ๆ”ฏๆŒ่ฟ™ไบ›ๅ‘ฝไปคใ€‚ - -**However** the given `atload'โ€ฆ'` ice-modifier fixes this, it calls the same function that `precmd` would, right after loading autosuggestions, resulting in the same behavior of the plugin. - -The ice called `lucid` causes the under-prompt message saying `Loaded zsh-users/zsh-autosuggestions` that normally appears for every Turbo-loaded plugin to not show. - -## Automatic condition based - load & unload - -Ices `load` and `unload` allow defining when you want plugins active or inactive: - -Load when in `~/tmp`: - -```shell {1} showLineNumbers -zi ice load'![[ $PWD = */tmp* ]]' unload'![[ $PWD != */tmp* ]]' \ - atload'!promptinit; prompt sprint3' -zi load z-shell/zprompts -``` - - - -Load when NOT in `~/tmp`: - -```shell {1} showLineNumbers -zi ice load'![[ $PWD != */tmp* ]]' unload'![[ $PWD = */tmp* ]]' -zi load russjohnson/angry-fly-zsh -``` - - - -Two prompts, each active in different directories. This technique can be used to have plugin-sets, e.g. by defining parameter `$PLUGINS` with possible values like `cpp`, `web`, `admin` and by setting `load` / `unload` conditions to activate different plugins on `cpp`, on `web`, etc. - -:::note - -- The difference with `wait` is that `load` / `unload` are constantly active, not only till the first activation. Note that for the unloading of a plugin to work the plugin needs to be loaded with tracking, so `zi load โ€ฆ` and not `zi light โ€ฆ`. - -Tracking causes a slight slowdown, however, this doesnโ€™t influence Zsh startup time when using turbo mode. - -::: - -### A Glance at the prompts - -:::tip - -See: multiple prompts or more information. It contains more real-world examples of a multi-prompt setup, which is close to what the author uses in his setup. - -::: - -This is [powerlevel10k](https://github.com/romkatv/powerlevel10k), [pure](https://github.com/sindresorhus/pure), [starship](https://github.com/starship/starship) sample: - -Load powerlevel10k theme: - -```shell title="~/.zshrc" showLineNumbers -zi ice depth"1" -zi light romkatv/powerlevel10k -``` - -Load pure theme: - -> will pick the `async.zsh` library and will source it. - -```shell {1} title="~/.zshrc" showLineNumbers -zi ice pick"async.zsh" src"pure.zsh" -zi light sindresorhus/pure -``` - -Load starship theme: - -> - pick `starship` binary as a command, from the GitHub release. -> - setup `starship` using `atclone` and create `init.zsh` and `completion`. -> - the `atpull'โ€ฆ'` behavior same as `atclone'โ€ฆ'` and but is used when running `zi update`. -> - `src` will source `init.zsh`. - -```shell {2} {3} title="~/.zshrc" showLineNumbers -zi ice as"command" from"gh-r" \ - atclone"./starship init zsh > init.zsh; ./starship completions zsh > _starship" \ - atpull"%atclone" src"init.zsh" -zi light starship/starship -``` - -### Common use cases {#common-use-cases} - -Load the pure theme, with the **zsh-async** library that's bundled with it. - -```shell title="~/.zshrc" showLineNumbers -zi ice pick"async.zsh" src"pure.zsh" -zi light sindresorhus/pure -``` - -Binary release in the archive, from GitHub. After automatic unpacking, it provides the program "fzf". - -```shell title="~/.zshrc" showLineNumbers -zi ice from"gh-r" as"program" -zi light junegunn/fzf -``` - -One other binary release needs renaming from `docker-compose-Linux-x86_64`. This can be done by [ice modifier][1]: `mv'{from} -> {to}'`. - -There are multiple packages per single version for OS X, Linux, and Windows โ€“ the ice-modifier `bpick` is utilized to select the Linux package โ€“ in this case - not required, Zi will grep operating system name and architecture automatically when there's no `bpick`. - -```shell title="~/.zshrc" showLineNumbers -zi ice from"gh-r" as"program" mv"docker* -> docker-compose" bpick"*linux*" -zi load docker/compose -``` - -Handle completions without loading any plugin, see the `clist` command. This one is to be run just once, in an interactive session. - -```shell title="~/.zshrc" -zi creinstall %HOME/my_completions -``` - -If you are interested to try out more then check out the [playground repository](https://github.com/z-shell/playground) where users have uploaded the `~/.zshrc` and other Zi configurations. Feel free to [submit](https://github.com/z-shell/playground/issues/new?template=request-to-add-zshrc-to-the-zi-configs-repo.md) your `~/.zshrc` configuration. - -Additional examples: [collection](/community/gallery/collection). - - - - - -[1]: /search?q=ice+modifiers - -[12]: /community/zsh_plugin_standard#use-of-add-zsh-hook-to-install-hooks diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/03_migration.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/03_migration.mdx deleted file mode 100644 index 54c009a5..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/03_migration.mdx +++ /dev/null @@ -1,476 +0,0 @@ ---- -id: migration -title: โ™ป๏ธ ่ฟ็งป -image: /img/png/theme/z/320x320.png -description: Migration Guide -keywords: - - prezto - - oh-my-zsh ---- - -import Link from "@docusaurus/Link"; - -## Oh-My-Zsh - -### OMZ shorthand syntax - -```shell title="~/.zshrc" showLineNumbers -zi snippet # Raw syntax with URL -zi snippet OMZ:: # Shorthand OMZ:: (http://github.com/ohmyzsh/ohmyzsh/raw/master/) -zi snippet OMZL:: # Shorthand OMZ::lib (http://github.com/ohmyzsh/ohmyzsh/raw/master/lib) -zi snippet OMZT:: # Shorthand OMZ::themes (http://github.com/ohmyzsh/ohmyzsh/raw/master/themes) -zi snippet OMZP:: # Shorthand OMZ::plugins (http://github.com/ohmyzsh/ohmyzsh/raw/master/plugins) -``` - -### OMZ library - -Importing the [clipboard][omz/clipboard] and [termsupport][omz/termsupport] from the OMZ library example: - -Raw syntax: - -```shell title="~/.zshrc" showLineNumbers -zi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zsh -zi snippet https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh -``` - -OMZ shorthand syntax: - -```shell title="~/.zshrc" showLineNumbers -zi snippet OMZ::lib/clipboard.zsh -zi snippet OMZ::lib/termsupport.zsh -``` - -OMZL shorthand syntax: - -```shell title="~/.zshrc" showLineNumbers -zi snippet OMZL::clipboard.zsh -zi snippet OMZL::termsupport.zsh -``` - -Example of more advanced, library loading using subversion: - -```shell title="~/.zshrc" showLineNumbers -if (( $+commands[svn] )) { - sni=({git,theme-and-appearance,prompt_info_functions,history,completion,vcs_info}.zsh) - zi is-snippet has'svn' for svn \ - multisrc'${sni[*]}' pick'/dev/null' \ - atinit'typeset -gx COMPLETION_WAITING_DOTS=true \ - HISTSIZE=290000 SAVEHIST=290000 HISTFILE=${ZSH_CACHE_DIR}/.history;' \ - OMZ::lib - unset sni -} else { - +zi-message "{auto}Subversion not installed!" -} -``` - -### OMZ plugins - -```diff title="~/.zshrc" showLineNumbers -- plugins=( -- git -- dotenv -- rake -- rbenv -- ruby --) - -+ zi snippet OMZP::git -+ zi snippet OMZP::dotenv -+ zi snippet OMZP::rake -+ zi snippet OMZP::rbenv -+ zi snippet OMZP::ruby -``` - -Example of more advanced, conditional turbo loading: - -```shell title="~/.zshrc" showLineNumbers -zi is-snippet wait lucid for \ - atload"unalias grv g" \ - OMZP::{git,sudo,encode64,extract} \ - if'[[ -d /opt/google-cloud-sdk ]]' \ - OMZP::gcloud \ - if'[[ -f /etc/os-release ]] && source /etc/os-release && [[ "$ID" = arch ]]' \ - OMZP::archlinux \ - if'[[ -d ~/.nvm ]]' \ - OMZP::nvm \ - if'[[ -d ~/.ssh ]]' \ - OMZP::ssh-agent \ - if'[[ -d ~/.gnupg ]]' \ - OMZP::gpg-agent \ - if'[[ "$OSTYPE" = *-gnu ]]' \ - OMZP::gnu-utils \ - has'pip' \ - OMZP::pip \ - has'python' \ - OMZP::python -``` - -:::tip - -Bundle the example above to a single file: - -`zi snippet ๆœ‰ไบ›ไธป้ข˜ๅฏ่ƒฝ้œ€่ฆ้ขๅค–็š„้…็ฝฎ๏ผŒๅฎƒๅฏไปฅไปŽไธป้ข˜้…็ฝฎๆ–‡ไปถไธญ็กฎๅฎšใ€‚ - -- Load `git` library -- Load the `git` plugin -- Load library dependencies -- Enable `setopt prompt_subst` - -If any of the above are not in order or missing, the theme will break similar as shown below: - -```shell -โ€ฆ $(build_prompt) โ€ฆ -``` - -If the `Git` library is not loaded or loaded in the wrong order, then it may appear similar to the following: - -```shell showLineNumbers -........:1: command not found: git_prompt_status -........:1: command not found: git_prompt_short_sha -``` - -If you encounter any issue with the theme, OMZ support libraries are to be loaded - -- If your theme isn't colored when it should, you will want to load `theme-and-appearance.zsh` - -- If you encounter an error message similar to: - -```shell showLineNumbers -zsh: command not found: ruby_prompt_info -``` - -You need to load `prompt_info_functions.zsh` - -All together it looks like this: - -```shell title="~/.zshrc" showLineNumbers -zi snippet OMZL::git.zsh -zi snippet OMZP::git -zi snippet OMZL::theme-and-appearance.zsh -zi snippet OMZL::prompt_info_functions.zsh -``` - -Then load the prompt: - -```shell showLineNumbers -setopt prompt_subst -zi snippet OMZT::robbyrussell -``` - -### External theme sample: [NicoSantangelo/Alpharized][] - -Load with OMZ: - -```shell title="~/.zshrc" -ZSH_THEME="alpharized" -``` - -Load `git` library from OMZ: - -```shell title="~/.zshrc" -zi snippet OMZL::git.zsh -``` - -Load `git` plugin from OMZ: - -```shell title="~/.zshrc" showLineNumbers -zi snippet OMZP::git -zi cdclear -q -``` - -Then load the prompt: - -```shell title="~/.zshrc" showLineNumbers -setopt prompt_subst -zi light NicoSantangelo/Alpharized -``` - -## Prezto - -### PZT shorthand syntax - -```shell title="~/.zshrc" showLineNumbers -zi snippet # Raw syntax with URL -zi snippet PZT:: # Shorthand PZT:: (https://github.com/sorin-ionescu/prezto/tree/master/) -zi snippet PZTM:: # Shorthand PZT::modules/ (https://github.com/sorin-ionescu/prezto/tree/master/modules/) -``` - -### PZT modules {#pzt-modules} - -Importing the [environment](https://github.com/sorin-ionescu/prezto/tree/master/modules/environment/README.md) and [terminal](https://github.com/sorin-ionescu/prezto/tree/master/modules/terminal/README.md) Prezto modules example: - -Raw syntax - -```shell title="~/.zshrc" showLineNumbers -zi snippet https://github.com/sorin-ionescu/prezto/blob/master/modules/environment/init.zsh -zi snippet https://github.com/sorin-ionescu/prezto/blob/master/modules/terminal/init.zsh -``` - -PZT shorthand syntax: - -```shell title="~/.zshrc" showLineNumbers -zi snippet PZT:: -zi snippet PZT::modules/environment -zi snippet PZT::modules/terminal -``` - -PZTM shorthand syntax: - -```shell title="~/.zshrc" showLineNumbers -zi snippet PZTM:: -zi snippet PZTM::environment -zi snippet PZTM::terminal -``` - -Prezto modules: - -```diff title="~/.zshrc" showLineNumbers -- zstyle ':prezto:load' pmodule 'git' -- zstyle ':prezto:load' pmodule 'environment' 'terminal' - -+ zi snippet PZTM::git -+ zi is-snippet for PZTM::environment PZTM::terminal -``` - -Available Prezto modules: - -| Module name | Description | -| -------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------- | -| [archive](https://github.com/sorin-ionescu/prezto/blob/master/modules/archive/README.md) | Provides functions to list and extract archives. | -| [autosuggestions](https://github.com/sorin-ionescu/prezto/blob/master/modules/autosuggestions/README.md) | Integrates `zsh-autosuggestions` plugin into Prezto. | -| [command-not-found](https://github.com/sorin-ionescu/prezto/tree/master/modules/command-not-found/README.md) | Loads the `command-not-found` tool on macOS or Debian-based distributions. | -| [completion](https://github.com/sorin-ionescu/prezto/tree/master/modules/completion/README.md) | Sets TAB completion and provides additional completions from the `zsh-completions`. | -| [directory](https://github.com/sorin-ionescu/prezto/tree/master/modules/directory/README.md) | Sets directory options and defines directory aliases. | -| [dnf](https://github.com/sorin-ionescu/prezto/tree/master/modules/dnf/README.md) | Defines `dnf` aliases. | -| [docker](https://github.com/sorin-ionescu/prezto/tree/master/modules/docker/README.md) | Defines `docker` aliases and functions. | -| [dpkg](https://github.com/sorin-ionescu/prezto/tree/master/modules/dpkg/README.md) | Defines `dpkg` aliases and functions. | -| [editor](https://github.com/sorin-ionescu/prezto/tree/master/modules/editor/README.md) | Sets key bindings. | -| [emacs](https://github.com/sorin-ionescu/prezto/tree/master/modules/emacs/README.md) | Enables Emacs dependency management. | -| [environment](https://github.com/sorin-ionescu/prezto/tree/master/modules/environment/README.md) | Sets general shell options and defines environment variables. | -| [fasd](https://github.com/sorin-ionescu/prezto/tree/master/modules/fasd/README.md) | Maintains a frequently used file and directory list for fast access. | -| [git](https://github.com/sorin-ionescu/prezto/tree/master/modules/git/README.md) | Enhances the Git by providing aliases, functions and by exposing repository status information to prompts. | -| [gnu-utility](https://github.com/sorin-ionescu/prezto/tree/master/modules/gnu-utility/README.md) | Provides for the interactive use of GNU utilities on non-GNU systems. | -| [gpg](https://github.com/sorin-ionescu/prezto/tree/master/modules/gpg/README.md) | Provides for an easier use of GPG by setting up `gpg-agent`. | -| [haskell](https://github.com/sorin-ionescu/prezto/tree/master/modules/haskell/README.md) | Enables local Haskell package installation. | -| [helper](https://github.com/sorin-ionescu/prezto/tree/master/modules/helper/README.md) | Provides helper functions for developing modules. | -| [history-substring-search](https://github.com/sorin-ionescu/prezto/tree/master/modules/history-substring-search/README.md) | Integrates zsh-history-substring-search into Prezto. | -| [history](https://github.com/sorin-ionescu/prezto/tree/master/modules/history/README.md) | Sets history options and defines history aliases. | -| [homebrew](https://github.com/sorin-ionescu/prezto/tree/master/modules/homebrew/README.md) | Defines Homebrew aliases. | -| [macports](https://github.com/sorin-ionescu/prezto/tree/master/modules/macports/README.md) | Defines MacPorts aliases and adds MacPorts directories to path variables. | -| [node](https://github.com/sorin-ionescu/prezto/tree/master/modules/node/README.md) | Provides utility functions for Node.js and loads `npm` completion. | -| [ocaml](https://github.com/sorin-ionescu/prezto/tree/master/modules/ocaml/README.md) | Initializes OCaml package management. | -| [osx](https://github.com/sorin-ionescu/prezto/tree/master/modules/osx/README.md) | Defines macOS aliases and functions. | -| [pacman](https://github.com/sorin-ionescu/prezto/tree/master/modules/pacman/README.md) | Provides aliases and functions for the Pacman package manager and frontends. | -| [perl](https://github.com/sorin-ionescu/prezto/tree/master/modules/perl/README.md) | Enables local Perl module installation on macOS and defines aliases. | -| [prompt](https://github.com/sorin-ionescu/prezto/tree/master/modules/prompt/README.md) | Loads prompt themes. | -| [python](https://github.com/sorin-ionescu/prezto/tree/master/modules/python/README.md) | Enables local Python and local Python package installation. | -| [rails](https://github.com/sorin-ionescu/prezto/tree/master/modules/rails/README.md) | Defines Ruby on Rails aliases. | -| [rsync](https://github.com/sorin-ionescu/prezto/tree/master/modules/rsync/README.md) | Defines `rsync` aliases. | -| [ruby](https://github.com/sorin-ionescu/prezto/tree/master/modules/ruby/README.md) | Configures Ruby local gem installation, loads version managers, and defines aliases. | -| [screen](https://github.com/sorin-ionescu/prezto/tree/master/modules/screen/README.md) | Defines GNU Screen aliases and provides for auto launching it at start-up. | -| [spectrum](https://github.com/sorin-ionescu/prezto/tree/master/modules/spectrum/README.md) | Provides for easier use of 256 colors and effects. | -| [ssh](https://github.com/sorin-ionescu/prezto/tree/master/modules/ssh/README.md) | Provides for an easier use of SSH by setting up `ssh-agent`. | -| [syntax-highlighting](https://github.com/sorin-ionescu/prezto/tree/master/modules/syntax-highlighting/README.md) | Integrates `zsh-syntax-highlighting` into Prezto. | -| [terminal](https://github.com/sorin-ionescu/prezto/tree/master/modules/terminal/README.md) | Sets terminal window and tab titles. | -| [tmux](https://github.com/sorin-ionescu/prezto/tree/master/modules/tmux/README.md) | Defines `tmux` aliases and provides for auto launching it at start-up. | -| [utility](https://github.com/sorin-ionescu/prezto/tree/master/modules/utility/README.md) | Defines general aliases and functions. | -| [wakeonlan](https://github.com/sorin-ionescu/prezto/tree/master/modules/wakeonlan/README.md) | This module provides a wrapper around the wakeonlan tool. | -| [yum](https://github.com/sorin-ionescu/prezto/blob/master/modules/autosuggestions/README.md) | Defines yum aliases. | - -Use `zi ice svn` if multiple files require an entire subdirectory. - -- [docker](https://github.com/sorin-ionescu/prezto/tree/master/modules/docker/README.md) -- [git](https://github.com/sorin-ionescu/prezto/tree/master/modules/git/README.md) - -```shell title="~/.zshrc" showLineNumbers -zi ice svn -zi snippet PZTM::docker - -zi ice svn -zi snippet PZTM::git -``` - -Use `zi ice as"null"` no `*.plugin.zsh`, `init.zsh`, `*.zsh-theme*` files exist in module directory. - -- [archive](https://github.com/sorin-ionescu/prezto/tree/master/modules/archive/README.md): - -```shell title="~/.zshrc" showLineNumbers -zi ice svn as"null" -zi snippet PZTM::archive -``` - -Use `zi ice atclone"git clone "` if module have external module. - -- [completion](https://github.com/sorin-ionescu/prezto/tree/master/modules/completion/README.md): - -```shell title="~/.zshrc" showLineNumbers -zi ice svn blockf \ - atclone"git clone --recursive https://github.com/zsh-users/zsh-completions.git external" -zi snippet PZTM::completion -``` - -Use `blockf` to prevent any unnecessary additions to `fpath`, as Zi manages `fpath`. - -:::tip - -What is `zstyle`? - -- Official (zsh.sourceforge.net): [zsh/zutil](https://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#The-zsh_002fzutil-Module) -- StackExchange: [What does `zstyle` do?][about-zstyle] - -::: - -Available - -## Zgen - -### Load OMZ library - -```diff title="~/.zshrc" showLineNumbers -- zgen oh-my-zsh - -+ zi snippet OMZL:: -``` - -### ๅŠ ่ฝฝ OMZ ๆ’ไปถ - -```diff title="~/.zshrc" showLineNumbers -- zgen oh-my-zsh - -+ zi snippet OMZP:: -``` - -### Load Prezto modules - -```diff title="~/.zshrc" showLineNumbers -- zgen prezto - -+ zi snippet PZTM:: -``` - -Load repositories as prezto plugins: - -```diff title="~/.zshrc" showLineNumbers -- zgen pmodule - -+ zi ice ver"" -+ zi load -``` - -### Summarized Zgen - -:::info - -For the `location`: refer src, pick, multisrc ice-modifier. - -::: - -```diff title="~/.zshrc" showLineNumbers -- zgen load [location] [branch] - -+ zi ice ver"[branch]" -+ zi load -``` - -## Zplug ๅŸบ็ก€็Ÿฅ่ฏ† - -```diff title="~/.zshrc" showLineNumbers -- zplug , tag1:, tag2: - -+ zi ice tag1"" tag2"" -+ zi load -``` - -### Tag comparison - -- `as` => `as` -- `use` => `pick`, `src`, `multisrc` -- `ignore` => None -- `from` => `from` -- `at` => `ver` -- `rename-to` => `mv`, `cp` -- `dir` => Selection(`pick`, โ€ฆ) with rename -- `if` => `if` -- `hook-build` => `atclone`, `atpull` -- `hook-load` => `atload` -- `frozen` => None -- `on` => None -- `defer` => `wait` -- `lazy` => `autoload` -- `depth` => `depth` - - - - - - - -[about-zstyle]: https://unix.stackexchange.com/questions/214657/what-does-zstyle-do - -[nicosantangelo/alpharized]: https://github.com/nicosantangelo/Alpharized - -[omz/ag]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/ag - -[omz/clipboard]: https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/clipboard.zsh - -[omz/docker]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/docker - -[omz/fd]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/fd - -[omz/gitfast]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitfast - -[omz/history-substring-search]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/history-substring-search - -[omz/osx]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/macos - -[omz/termsupport]: https://github.com/ohmyzsh/ohmyzsh/blob/master/lib/termsupport.zsh diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/_category_.json b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/_category_.json deleted file mode 100644 index 5880481d..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/getting_started/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "๐Ÿš€ ๅผ€ๅง‹ไฝฟ็”จ", - "position": 2, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/01_commands.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/01_commands.mdx deleted file mode 100644 index 495c43b5..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/01_commands.mdx +++ /dev/null @@ -1,318 +0,0 @@ ---- -id: commands -title: ๐Ÿ›  Commands -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -description: Zi subcommands and functionality -slug: commands ---- - - - -import Link from "@docusaurus/Link"; -import APITable from "@site/src/components/APITable"; -import ZiTabCompletion from "@site/src/components/Markdown/_zi_tab_completion.mdx"; - -## Updates {#updates-upgrades} - -To update and recompile Zi run `zi self-update` in the command line. To update all plugins and snippets, issue `zi update`. To update all in parallel (up to 40 at the time) `zi update -p 40` If you wish to update only a single plugin/snippet instead issue `zi update `. A list of commits will be shown if any. - -Some plugins require acting each time they're updated. One way you can do this is by using the `atpull'โ€ฆ'` ice modifier. For example, writing `zi ice atpull'./configure'` before loading a plugin will execute `./configure` after a successful update. Refer to [ice-modifiers][1] for more information. - -The ice-modifiers for any plugin or snippet are stored in their directory in a `._zi` subdirectory, hence the plugin doesn't have to be loaded to be correctly updated. There's one other file created there, `.zi_lstupd` โ€“ it holds the log of the new commits pulled-in in the last update. - -Self-update & compile: - -```shell -zi self-update -``` - -Update plugins and snippets: - -```shell showLineNumbers -zi update --all -zi update --reset -zi update --quiet -``` - -Update plugins or snippets: - -```shell showLineNumbers -zi update --plugins -zi update --snippets -``` - -Update specific plugins. Default is GitHub but can specify any with ice [from'โ€ฆ'](/search?q=from): - -```shell -zi update / -``` - -Plugin parallel update plugins: - -```shell -zi update --parallel -``` - -Increase the number of jobs in a concurrent set to 40 - -```shell -zi update --parallel 40 -``` - -## Compinit - -:::note - -Calling `compinit` once is a huge performance gain, for example, shell startup time with double `compinit`: **0.980** sec, with `cdreplay` and single `compinit`: **0.156** sec. - -::: - -### Calling `compinit` without turbo mode - -With no turbo mode in use, compinit can be called normally, i.e.: as `autoload compinit; compinit`. This should be done after loading all plugins and before possibly calling `zi cdreplay`. The `cdreplay` subcommand is provided to re-play all caught `compdef` calls. The `compdef` calls are used to define a completion for a command. For example, `compdef _git git` defines that the `git` command should be completed by a `_git` function. The `compdef` function is provided by the `compinit` call. - -As it should be called later, after loading all of the plugins, Zi provides its own `compdef` function that catches (i.e.: records in an array) the arguments of the call, so that the loaded plugins can freely call `compdef`. Then, the `cdreplay` (compdef-replay) can be used, after `compinit` will be called (and the original `compdef` function will become available), to execute all detected `compdef` calls. - -```shell title="~/.zshrc" showLineNumbers -source ~/.zi/bin/zi.zsh - -zi load "some/plugin" - -(โ€ฆ) - -compdef _gnu_generic fd # this will be intercepted by ZI, because as the compinit - # isn't yet loaded, thus there's no such function `compdef'; yet - # ZI provides its own `compdef' function which saves the - # completion-definition for later possible re-run with `zi - # cdreplay' or `zicdreplay' (the second one can be used in hooks - # like atload'โ€ฆ', atinit'โ€ฆ', etc.) - -(โ€ฆ) - -zi load "other/plugin" - -autoload -Uz compinit -compinit - -zi cdreplay -q # -q is for quiet; actually, run all the `compdef's saved before - #`compinit` call (`compinit' declares the `compdef' function, so - # it cannot be used until `compinit' is run; ZI solves this - # via intercepting the `compdef'-calls and storing them for later - # use with `zi cdreplay') -``` - -### Calling `compinit` with turbo mode - -If you load completions using `wait'โ€ฆ'` [turbo mode][2] then you can add `atinit'zicompinit'` to the syntax-highlighting plugin (which should be the last one loaded, as their (2 projects, [zsh-syntax-highlighting][3] & [F-Sy-H][4]) documentation state), or `atload'zicompinit'` to last completion-related plugin. `zicompinit` is a function that just runs `autoload compinit; compinit`, created for convenience. - -Alternatively, the `zicompinit` can be replaced with `zicompinit_fast` which checks the cached `.zcompdump` and determines when to regenerate the file. This restricts checking it once a day, as compinit doesn't always need to modify the compdump and compiles mapped to share in the background in multiple shells. - -There's also `zicdreplay` which will replay any caught compdefs so you can also do: `atinit'zicompinit; zicdreplay'`, etc. - -It is recommended to run the `compinit` call in the `atinit` or `atload` hook of the last related plugin with the use of the helper functions `zicompinit`,`zicdreplay` & `zicdclear` as shown below: - -```shell {10} title="~/.zshrc" showLineNumbers -source ~/.zi/bin/zi.zsh - -# Load using the for-syntax -zi wait lucid for \ - "some/plugin" - -zi wait lucid for \ - "other/plugin" - -zi wait lucid atload"zicompinit; zicdreplay" blockf for \ - zsh-users/zsh-completions -``` - -### Ignoring compdefs - -If you want to ignore compdefs provided by some plugins or snippets, place their load commands before commands loading other plugins or snippets, and issue `zi cdclear` (or `zicdclear`, designed to be used in hooks like `atload'โ€ฆ'`): - -```shell showLineNumbers -source ~/.zi/bin/zi.zsh -zi snippet OMZP::git -zi cdclear -q # <- forget completions provided by Git plugin - -zi load "some/plugin" - -(โ€ฆ) - -zi load "other/plugin" - -autoload -Uz compinit -compinit -zi cdreplay -q # <- execute compdefs provided by rest of plugins -zi cdlist # look at gathered compdefs -``` - -The `cdreplay` is important if you use plugins like `OMZP::kubectl` or `asdf-vm/asdf` because these plugins call `compdef`. - -Following commands are passed to `zi โ€ฆ` to obtain described effects. - -## Loading and unloading - -```mdx-code-block - -``` - -| Command | Description | -| :------------------: | ------------------------------------------------------------------------------------------------- | -| `load` `'โ€ฆ'` | Load plugin, can also receive absolute local path. | -| `light` `-b` `'โ€ฆ'` | Light plugin load, without reporting/investigating. `-b` โ€“ investigate `bindkey`-calls only. [^1] | -| `unload` `-q` `'โ€ฆ'` | Unload plugin loaded with `zi load โ€ฆ`. `-q` โ€“ quiet. | -| `snippet` `-f` `URL` | Source local (full path) or remote file (URL). `-f` โ€“ don't use cache (force re-download). [^2] | - -```mdx-code-block - -``` - -## Completions management - -```mdx-code-block - -``` - -| Command | Description | -| :------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------------- | -| `clist` `columns` or `completions` `columns` | List completions in use, with `columns` completions per line. `zi clist 5` will for example print 5 completions per line. Default is 3. | -| `cdisable` `'โ€ฆ'` | Disable completion. | -| `cenable` `'โ€ฆ'` | Enable completion. | -| `creinstall` `-q` `-Q` `'โ€ฆ'` | Install completions for the plugin, can also receive absolute local path. `-q` โ€“ quiet. `-Q` - quiet all. | -| `cuninstall 'โ€ฆ'` | Uninstall completions for the plugin. | -| `csearch` | Search for available completions from any plugin. | -| `compinit` | Refresh installed completions. | -| `cclear` | Clear stray and improper completions. | -| `cdlist` | Show compdef replay list. | -| `cdreplay` `-q` | Replay compdefs (to be done after compinit). `-q` โ€“ quiet. | -| `cdclear` `-q` | Clear compdef replay list. `-q` โ€“ quiet. | - -```mdx-code-block - -``` - -## Tracking of the active session - -```mdx-code-block - -``` - -| Command | Description | -| :--------------: | ----------------------------------------------------- | -| `dtrace, dstart` | Start investigating what's going on in the session. | -| `dstop` | Stop investigating what's going on in the session. | -| `dunload` | Revert changes recorded between `dstart` and `dstop`. | -| `dreport` | Report what was going on in the session. | -| `dclear` | Clear report of what was going on in the session. | - -```mdx-code-block - -``` - -## Reports and statistics - -```mdx-code-block - -``` - -| Command | Description | -| :-----------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `times` `-s` `-m` `-a` | Statistics on plugin load times, sorted in order of loading. `-s` โ€“ use seconds instead of milliseconds. `-m` โ€“ show plugin loading moments and `-a` both. | -| `zstatus` | Overall ZI status. | -| `report` `'โ€ฆ'` `--all` | Show plugin report. `--all` โ€“ do it for all plugins. | -| `loaded` | Show loaded plugins | -| `list` `keyword` | Filter loaded plugins with only 'keyword' | -| `ls` | List snippets in a formatted and colorized manner. Requires **tree** program. | -| `status` `'โ€ฆ'` or `URL` `--all` | Git status for plugin or svn status for the snippet. `--all` โ€“ do it for all plugins and snippets. | -| `recently` `time-spec` | Show plugins that changed recently, the argument is e.g. 1 month 2 days. | -| `bindkeys` | Lists bindkeys set up by each plugin. | - -```mdx-code-block - -``` - -## Compiling - -```mdx-code-block - -``` - -| Command | Description | -| :-----------------------: | ----------------------------------------------------------------------- | -| `compile` `'โ€ฆ'` `--all` | Compile plugin. `--all` โ€“ compile all plugins. | -| `uncompile` `'โ€ฆ'` `--all` | Remove compiled version of the plugin. `--all` โ€“ do it for all plugins. | -| `compiled` | List plugins that are compiled. | - -```mdx-code-block - -``` - -## Other commands - -```mdx-code-block - -``` - -| Command | Description | -| :------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `self-update` | Updates and compiles Zi. | -| `update` `-q` `-r` `'โ€ฆ'` or `--all` | Update all plugins and snippets with `--all` โ€“ for quiet `-q` โ€“ execute `git reset --hard` or `svn revert` before pulling changes with `-r`. | -| `ice 'โ€ฆ'` | Add ice to next command, argument e.g.: from"gitlab". | -| `delete` `'โ€ฆ'` or `--clean` `--all` | Remove plugin or snippet from disk (good to forget wrongly passed ice-modifiers) `--all` โ€“ delete plugins and snippets that are not loaded with `--clean`. | -| `cd 'โ€ฆ'` | Jump into the plugin's directory. Also support snippets if fed with URL. | -| `edit 'โ€ฆ'` | Edit plugin's file with set $EDITOR. | -| `glance 'โ€ฆ'` | Look at plugin's source (pygmentize, {,source-}highlight). | -| `stress 'โ€ฆ'` | Test plugin for compatibility with a set of options. | -| `changes 'โ€ฆ'` | View plugin's git log. | -| `create 'โ€ฆ'` | Create plugin (also together with GitHub repository). | -| `srv` `service-id` `{command}` | Control a service, command can be: stop,start,restart,next,quit; `next` moves the service to another Z shell. | -| `recall 'โ€ฆ'` `URL` | Fetch saved ice modifiers and construct `zi ice 'โ€ฆ'` command. | -| `env-whitelist` `-v` `-h` `{env..}` | Allows to specify names or patterns of variables left unchanged during an unload โ€“ verbose `-v` โ€“ help `-h`. | -| `module` | Manage binary Zsh module shipped with ZI, see `zi module help`. | -| `add-fpath` `fpath` `-f` `--front` `'โ€ฆ'` `sub-directory` | Adds given plugin (not yet snippet) directory to `$fpath`. If the second argument is given, it is appended to the directory path. [^3] | -| `run` `-l` `plugin` `{command}` | Runs the given command in the given plugin's directory. [^4] | - -```mdx-code-block - -``` - -## Help & manual - -```mdx-code-block - -``` - -| Command | Description | -| :--------: | ------------------ | -| `-h, help` | Usage information. | -| `man` | Manual. | - -```mdx-code-block - -``` - -## Commands available using ^TAB completion - - - - - - - -[^1]: There's also `light-mode` ice which can be used to induce the no-investigating (i.e.: _light_) loading, regardless of the command used. -[^2]: The URL can use the following shorthands: `PZT::` (Prezto), `PZTM::` (Prezto module), `OMZ::` (Oh-My-Zsh), `OMZP::` (OMZ plugin), `OMZL::` (OMZ library), `OMZT::` (OMZ theme), e.g.: `PZTM::environment`, `OMZP::git`, etc. -[^3]: The `'โ€ฆ'` can be an absolute path, i.e.: it's possible to also add regular directories. If the option `-f` or `--front` is given, the directory path is prepended instead of appended to `$fpath`. -[^4]: If the option `-l` will be given then the plugin should be skipped โ€“ the option will cause the previous plugin to be reused. - - - -[1]: /search/?q=ice-modifiers - -[2]: /search?q=turbo+mode - - - -[3]: https://github.com/zsh-users/zsh-syntax-highlighting - -[4]: https://github.com/z-shell/F-Sy-H diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/02_customization.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/02_customization.mdx deleted file mode 100644 index 556e8abc..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/02_customization.mdx +++ /dev/null @@ -1,331 +0,0 @@ ---- -id: customization -title: ๐Ÿ— Configuration management -sidebar_position: 2 -image: /img/png/theme/z/320x320.png -description: User preferences, environment, and configuration. -keywords: - - config - - preferences ---- - - - -import APITable from "@site/src/components/APITable"; -import MultiplePromptsExample from "@site/src/components/Markdown/_multiple_prompts_example.mdx"; - -## Hash parameter - -:::info Related - -- [standard parameter naming][] - -::: - -Set the initial hash definition and custom values, before enabling Zi. - -Example: - -```shell showLineNumbers -typeset -A ZI -ZI[BIN_DIR]="some/custom/path/to/bin" -source "${ZI[BIN_DIR]}/zi.zsh" -``` - -### Customize paths {#customizing-paths} - -```mdx-code-block - -``` - -| Hash Field | Default | Description | -| ------------------------------------ | ----------------------------- | ---------------------------------------------- | -| `ZI[HOME_DIR]` | `$HOME/.zi` | Where Zi should create all working directories | -| `ZI[BIN_DIR]` | `$HOME/.zi/bin` | Directory where Zi code resides | -| `ZI[COMPLETIONS_DIR]` | `$ZI[HOME_DIR]/completions` | Completion working directory | -| `ZI[CACHE_DIR]` | `$HOME/.cache/zi` | Cache directory | -| `ZI[CONFIG_DIR]` | `$HOME/.config/zi` | Directory for configuration files | -| `ZI[MAN_DIR]` | `$ZPFX/man` | Directory to store manpages | -| `ZI[LOG_DIR]` | `$ZI[CACHE_DIR]/log` | Directory to store log files | -| `ZI[PLUGINS_DIR]` | `$ZI[HOME_DIR]/plugins` | Plugins working directory | -| `ZI[SNIPPETS_DIR]` | `$ZI[HOME_DIR]/snippets` | Snippets working directory | -| `ZI[ZCOMPDUMP_PATH]` | `${ZI[CACHE_DIR]}/.zcompdump` | Path to `.zcompdump` file | -| `ZI[ZMODULES_DIR]` | `$ZI[HOME_DIR]/zmodules` | Zsh modules working directory | -| [ZPFX][global-parameter-with-prefix] | `$ZI[HOME_DIR]/polaris` | Directory to store binary and related files | - -```mdx-code-block - -``` - -### Modify settings {#modify-settings} - -```mdx-code-block - -``` - -| Hash Field | Default | Description | -| -------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ZI[OPTIMIZE_OUT_DISK_ACCESSES]` | `undefined` | If set to `1`, will skip checking if a turbo-loaded object exists on the disk. This option can give a performance gain of about 10 ms out of 150 ms (e.g: Zsh will start up in 140 ms instead of 150 ms). | -| `ZI[COMPINIT_OPTS]` | `undefined` | Options for `compinit` call (e.g: done by `zicompinit`), commonly used with `-C` to speed up loading | -| `ZI[MUTE_WARNINGS]` | `undefined` | If set to `1`, mutes some warnings, specifically the `plugin already registered` warning | -| `ZI[PKG_OWNER]` | `z-shell` | Owner of the [packages][] (`zi pack โ€ฆ`) | - -```mdx-code-block - -``` - -## Non-GitHub (Local) Plugins {#non-github-local-plugins} - -Use the `create` subcommand with user name `_local` (the default) to create the plugin's skeleton in `$ZI[PLUGINS_DIR]`. It will be not connected with the GitHub repository (because of the user name being `_local`). To enter the plugin's directory use the `cd` command with just the plugin's name (without `_local`, it's optional). - -If the username is not `_local`, then Zi will create a repository also on GitHub and set up the correct repository origin. - -## Extending Git {#extending-git} - -Several projects provide git extensions. Installing them with Zi has many benefits: - -- all files are under `$HOME` โ€“ no administrator rights are needed, -- declarative setup (like Chef or Puppet) โ€“ copying `.zshrc` to a different account brings also git-related setup, -- easy update by e.g: `zi update --all`. - -Below is a configuration that adds multiple git extensions, loaded in Turbo mode, 1 second after prompt, with the use of the [bin-gem-node][z-shell/z-a-bin-gem-node] annex: - -```shell title="~/.zshrc" showLineNumbers -zi as'null' wait'1' lucid for \ - sbin Fakerr/git-recall \ - sbin cloneopts paulirish/git-open \ - sbin paulirish/git-recent \ - sbin davidosomething/git-my \ - sbin iwata/git-now \ - sbin atload'export _MENU_THEME=legacy' \ - arzzen/git-quick-stats \ - sbin'bin/git-dsf;bin/diff-so-fancy' \ - z-shell/zsh-diff-so-fancy \ - make'PREFIX=$ZPFX install' \ - tj/git-extras -``` - -The target directory for installed files is `$ZPFX` - `~/.zi/polaris` by default. - -With [meta-plugins][z-shell/z-a-meta-plugins] consisting of: - -Annexes: - -1. [z-shell/z-a-readurl][], -2. [z-shell/z-a-patch-dl][], -3. [z-shell/z-a-rust][], -4. [z-shell/z-a-bin-gem-node][]. - -Git tools: - -1. [paulirish/git-open][], -2. [paulirish/git-recent][], -3. [davidosomething/git-my][], -4. [arzzen/git-quick-stats][], -5. [iwata/git-now][], -6. [tj/git-extras][], -7. [wfxr/forgit][]. - -just run: - -```shell -zi light-mode for z-shell/z-a-meta-plugins @annexes @ext-git -``` - -## [Zsh option][zsh-options]: `setopt` {#zsh-option-setopt} - -[Options][zsh-options] are primarily referred to by name. These names are case insensitive and underscores are ignored. For example, `allexport` is equivalent to `A__lleXP_ort`. - -The sense of an option name may be inverted by preceding it with `no`, so `setopt No_Beep` is equivalent to `unsetopt beep`. This inversion can only be done once, so `nonobeep` is not a synonym for `beep`. Similarly, `tify` is not a synonym for `nonotify` (the inversion of `notify`). - -### History optimization {#history-optimization} - - - -```shell title="~/.zshrc" showLineNumbers -setopt append_history # Allow multiple sessions to append to one Zsh command history. -setopt extended_history # Show timestamp in history. -setopt hist_expire_dups_first # Expire A duplicate event first when trimming history. -setopt hist_find_no_dups # Do not display a previously found event. -setopt hist_ignore_all_dups # Remove older duplicate entries from history. -setopt hist_ignore_dups # Do not record an event that was just recorded again. -setopt hist_ignore_space # Do not record an Event Starting With A Space. -setopt hist_reduce_blanks # Remove superfluous blanks from history items. -setopt hist_save_no_dups # Do not write a duplicate event to the history file. -setopt hist_verify # Do not execute immediately upon history expansion. -setopt inc_append_history # Write to the history file immediately, not when the shell exits. -setopt share_history # Share history between different instances of the shell. -``` - -### Other tweaks {#other-tweaks} - -```shell title="~/.zshrc" showLineNumbers -setopt auto_cd # Use cd by typing directory name if it's not a command. -setopt auto_list # Automatically list choices on ambiguous completion. -setopt auto_pushd # Make cd push the old directory onto the directory stack. -setopt bang_hist # Treat the '!' character, especially during Expansion. -setopt interactive_comments # Comments even in interactive shells. -setopt multios # Implicit tees or cats when multiple redirections are attempted. -setopt no_beep # Don't beep on error. -setopt prompt_subst # Substitution of parameters inside the prompt each time the prompt is drawn. -setopt pushd_ignore_dups # Don't push multiple copies directory onto the directory stack. -setopt pushd_minus # Swap the meaning of cd +1 and cd -1 to the opposite. -``` - -## Style the [completion system][completion-system-configuration] with: `zstyle` {#style-the-completion-system-with-zstyle} - -What does `zstyle` do? - [unix.stackexchange.com/what-does-zstyle-do][what-does-zstyle-do] - -The `zstyle` handles the obvious style control for the [completion system][completion-system-configuration], but it seems to cover more than just that. e.g., the vcs_info module relies on it for the display of git status in your prompt. You can start by looking at the few explanatory paragraphs in `man zshmodules` in the `zstyle` section. - -### Fuzzy matching of completions {#fuzzy-matching-of-completions} - - - -```shell title="~/.zshrc" showLineNumbers -zstyle ':completion:*' completer _complete _match _approximate -zstyle ':completion:*:match:*' original only -zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3>7?7:($#PREFIX+$#SUFFIX)/3))numeric)' -``` - -### Pretty completions {#pretty-completions} - -```shell title="~/.zshrc" showLineNumbers -zstyle ':completion:*:matches' group 'yes' -zstyle ':completion:*:options' description 'yes' -zstyle ':completion:*:options' auto-description '%d' -zstyle ':completion:*:corrections' format ' %F{green}-- %d (errors: %e) --%f' -zstyle ':completion:*:descriptions' format ' %F{yellow}-- %d --%f' -zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f' -zstyle ':completion:*:warnings' format ' %F{red}-- no matches found --%f' -zstyle ':completion:*:default' list-prompt '%S%M matches%s' -zstyle ':completion:*' format ' %F{yellow}-- %d --%f' -zstyle ':completion:*' group-name '' -zstyle ':completion:*' verbose yes -zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' -zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))' -zstyle ':completion:*' use-cache true -zstyle ':completion:*' rehash true -``` - -### Do menu-driven completion {#do-menu-driven-completion} - -```shell -zstyle ':completion:*' menu select -``` - -### Color completion for [some things][color-completion-using-zsh-modules-on] {#color-completion-for-some-things} - -```shell -zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} -``` - -## Disabling System-Wide `compinit` Call (Ubuntu) {#disabling-system-wide-compinit-call-ubuntu} - -On Ubuntu users might get surprised that e.g. their completions work while they didn't call `compinit` in their `.zshrc`. That's because the function is being called in `/etc/zshrc`. - -To disable this call โ€“ what is needed to avoid the slowdown and if the user loads any completion-equipped plugins, i.e. almost on 100% โ€“ add the following line to `~/.zshenv` to skip the not helping Ubuntu global compinit: - -```shell title="~/.zshenv" -skip_global_compinit=1 -``` - -## Multiple prompts {#multiple-prompts} - -```mdx-code-block - -``` - -| Syntax | Description | -| ----------- | :---------------------------------------------------------------- | -| `load'โ€ฆ'` | Condition that when fulfilled will cause the plugin to be loaded. | -| `unload'โ€ฆ'` | Same as above, but will unload the plugin. | - -```mdx-code-block - -``` - -:::note - -`zi light โ€ฆ` loads the plugin without tracking it, while `zi load` tracks the plugin. To be able to unload the plugin, it has to be loaded with `zi load โ€ฆ` instead of `zi light โ€ฆ`. - -::: - -| Syntax | Description | -| ------------ | :---------------------------------------------------------------------------------------------------- | -| `atload'!โ€ฆ'` | Run the `precmd` hooks to make the prompts fully initialized when loaded in the middle of the prompt. | -| `precmd` | Hooks are normally run before each **new** prompt. | - -:::info - -Exclamation mark causes the effects of the functions to be tracked. - -::: - -To allow better unloading, conditions are checked every second, you can use conditions like: - -```mdx-code-block - -``` - -| Condition | Description | -| ------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `![[ $PWD == *github* ]]` | Change prompt after changing directory to `*github*`. | -| `![[ $MYPROMPT = 1 ]]` | Change prompt when variable `MYPROMPT = 1` is true. | -| `![[ โ€ฆ ]]` | The exclamation mark causes the prompt to be reset after loading or unloading the plugin `pick'/dev/null'` โ€“ disable sourcing of the default-found file. | -| `multisrc'โ€ฆ'` | Source multiple files. | -| `lucid` | Don't show the under-prompt message that says e.g: `Loaded geometry-zsh/geometry`. | -| `nocd` | Don't cd into the plugin's directory when executing the `atload'โ€ฆ'`. | -| `atload'โ€ฆ'` | This ice can make the path that's displayed by the theme point to that directory. | - -```mdx-code-block - -``` - -### Loading and unloading themes (8 examples) {#loading-and-unloading-themes-8-examples} - - - - - - - -[global-parameter-with-prefix]: /community/zsh_plugin_standard#global-parameter-with-prefix - -[่ฝฏไปถๅŒ…]: /ecosystem/packages/synopsis - -[standard parameter naming]: /community/zsh_plugin_standard#standard-parameter-naming - - - -[arzzen/git-quick-stats]: https://github.com/arzzen/git-quick-stats - -[color-completion-using-zsh-modules-on]: https://linuxshellaccount.blogspot.com/2008/12/color-completion-using-zsh-modules-on.html - -[completion-system-configuration]: https://zsh.sourceforge.io/Doc/Release/Completion-System.html#Completion-System-Configuration - -[davidosomething/git-my]: https://github.com/davidosomething/git-my - -[iwata/git-now]: https://github.com/iwata/git-now - -[paulirish/git-open]: https://github.com/paulirish/git-open - -[paulirish/git-recent]: https://github.com/paulirish/git-recent - -[tj/git-extras]: https://github.com/tj/git-extras - -[wfxr/forgit]: https://github.com/wfxr/forgit - -[what-does-zstyle-do]: https://unix.stackexchange.com/questions/214657/what-does-zstyle-do/239980 - -[z-shell/z-a-bin-gem-node]: https://github.com/z-shell/z-a-bin-gem-node - -[z-shell/z-a-meta-plugins]: https://github.com/z-shell/z-a-meta-plugins - -[z-shell/z-a-patch-dl]: https://github.com/z-shell/z-a-patch-dl - -[z-shell/z-a-readurl]: https://github.com/z-shell/z-a-readurl - -[z-shell/z-a-rust]: https://github.com/z-shell/z-a-rust - -[zsh-options]: https://zsh.sourceforge.io/Doc/Release/Options.html diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/03_benchmark.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/03_benchmark.mdx deleted file mode 100644 index 3deae97b..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/03_benchmark.mdx +++ /dev/null @@ -1,137 +0,0 @@ ---- -id: benchmark -title: โฒ Benchmarking -sidebar_position: 3 -image: /img/png/theme/z/320x320.png -description: Benchmarking, Profiling & Statistics -keywords: - - statistics - - benchmark - - profiling - - reporting ---- - - - -import APITable from "@site/src/components/APITable"; -import ReportZprofExample from "@site/src/components/Markdown/_report_zprof_example.mdx"; - -:::info - -Run `zi analytics` to see the available commands for statistics and reporting. - -::: - -## Profile plugins - -```shell title="~/.zshrc" showLineNumbers -zi ice atinit'zmodload zsh/zprof' \ - atload'zprof | head -n 20; zmodload -u zsh/zprof' -zi light z-shell/F-Sy-H -``` - -```mdx-code-block - -``` - -| Syntax | Description | -| ----------- | :----------------------------------------------------------------------------------------------------------------------- | -| `atinit'โ€ฆ'` | loads the `zsh/zprof` module, shipped with Zsh, before loading the plugin โ€“ this starts the profiling. | -| `atload'โ€ฆ'` | works after loading the plugin โ€“ย shows profiling results `zprof / head`, unloads `zsh/zprof` - this stops the profiling. | - -```mdx-code-block - -``` - -While in effect, only a single plugin, in this case, `z-shell/F-Sy-H`, will be profiled. - -The rest plugins will go on completely normally, as when plugins are loaded with `light` - reporting is disabled. - -Less code is being run in the background, the automatic data gathering, during loading of a plugin, for the reports and the possibility to unload the plugin will be activated and the functions will not appear in the `zprof` report. - -Example `zprof` report: - - - -The first column is the time in milliseconds: - -- It denotes the amount of time spent in a function in total -- For example, `--zi-shadow-autoload` consumed 10.71 ms of the execution time - -The fourth column is also a time in milliseconds, but it denotes the amount of time spent on executing only of function's **own code**, it doesn't count the time spent in **descendant functions** that is called from the function: - -- For example, `--zi-shadow-autoload` spent 8.71 ms on executing only its code - -The table is sorted in the **self-time** column. - -## Profile `.zshrc` startup - -### Method 1 - -> `PROFILE_STARTUP=true` to enable profiling. - -Place the snippet below at the top of `.zshrc`. - -```shell title="~/.zshrc" showLineNumbers -PROFILE_STARTUP=false - -if [[ "$PROFILE_STARTUP" == true ]]; then - zmodload zsh/zprof - PS4=$'%D{%M%S%.} %N:%i> ' - exec 3>&2 2>$HOME/startlog.$$ - setopt xtrace prompt_subst -fi -``` - -:::info PS4 Prompt Expansion - -Zsh Sourceforge docs: [Prompt Expansion][prompt-expansion] - -::: - -Place at the bottom of `.zshrc` - -```shell title="~/.zshrc" showLineNumbers -if [[ "$PROFILE_STARTUP" == true ]]; then - unsetopt xtrace - exec 2>&3 3>&-; zprof > ~/zshprofile$(date +'%s') -fi -``` - -The next time your `.zshrc` is sourced it will generate 2 files in the `$HOME` directory. - -### Method 2 - -Store multiple values to a variable: - -```shell title="~/.zshrc" showLineNumbers -# Set variable -typeset -Ag ZLOGS -# Message to store -zmsg() { ZLOGS+=( "\n[$1]: ${(M)$(( SECONDS * 1000 ))#*.?} ms" ); } - -# Start profiling -typeset -F4 SECONDS=0 - -# - -zmsg "Loaded functions" - -# - -zmsg "Loaded something else" - -# - -zmsg "Done" -``` - -Then use the `$ZLOGS` variable to retrieve: - -```shell title="print $ZLOGS" showLineNumbers -[Loaded functions]: 0.0 ms -[Loaded something else]: 0.0 ms -[Done]: 0.1 ms -``` - -[prompt-expansion]: https://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/_category_.json b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/_category_.json deleted file mode 100644 index 4aa0fa32..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "๐Ÿ’กๆŒ‡ๅ—", - "position": 2, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/01_standard.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/01_standard.mdx deleted file mode 100644 index e4d13465..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/01_standard.mdx +++ /dev/null @@ -1,801 +0,0 @@ ---- -id: standard -title: ๐Ÿ”€ Standard Syntax -sidebar_position: 1 -toc_max_heading_level: 3 -image: /img/png/theme/z/320x320.png -description: The fundamental syntax documentation. -keywords: - - syntax - - standard - - how-to-use - - fundamental ---- - - - -import ImgShow from "@site/src/components/ImgShow"; -import APITable from "@site/src/components/APITable"; - -## Introduction - -Zi provides two syntax types for structured statements or expressions: - -- Standard syntax -- The ["For"][for-syntax] syntax - -It is up to the user which syntax to use, but it is highly recommended to familiarize yourself with both of them. In this example, we will use an empty repository [z-shell/0](https://github.com/z-shell/0) to practice the basics of the standard syntax. - -- Execute the following command in your terminal: - -```shell -zi load z-shell/0 -``` - -Successfully installed the Zsh plugin which usually contains all the setup instructions as described in the [Zsh plugin standard](https://wiki.zshell.dev/community/zsh_plugin_standard). - -A snippet is a single file with a portion of reusable source code, machine code, or text and requires a full path or URL to the file. - -> - Execute the following command in your terminal: - -```shell -zi snippet https://raw.githubusercontent.com/z-shell/zi-src/main/lib/zsh/snippets/welcome.zsh -``` - -Success! But not always everything is so easy and simple, also sometimes we want certain things to happen at certain times or conditions. This can be achieved using [ice-modifiers][ice-mods]. - -The top line contains ice-modifiers, and the bottom line is the plugin. - -> - Execute the following commands in your terminal: - -```shell showLineNumbers -zi ice id-as'zsh/plugin' atinit'print "Hello World!"' -zi load z-shell/0 -``` - -This registered the plugin under the [plugin ID](#id-as) `zsh/plugin` instead of `z-shell/0`. This will work as expected e.g. `zi update zsh/plugin`, `zi remove zsh/plugin`, etc. The "Hello World!" printed before loading the plugin - -Let's install again with more ice-modifiers. - -> - Execute the following commands in your terminal: - -```shell showLineNumbers -zi ice id-as'final/countdown' \ - atinit'+zi-message "{bapo}Cloned!"' \ - atclone'+zi-message "{quos}Boom!"' \ - atload'+zi-message "{apo}Loaded!"' countdown -zi load z-shell/0 -``` - -## Order of execution {#order-of-execution} - -The order of execution of related ice-modifiers is as follows: - -```shell showLineNumbers - atinit'' โ†’ - atpull'!' โ†’ - make'!!' โ†’ - mv'' โ†’ - cp'' โ†’ - make'!' โ†’ - atclone'' / atpull'' โ†’ - make'!' โ†’ - [ plugin script loading ] โ†’ - src'' โ†’ - multisrc'' โ†’ - atload'' -``` - -### A few remarks {#a-few-remarks} - -- The syntax automatically detects if the object is a snippet or a plugin, by checking if the object is an URL, i.e.: if it starts with `http*://` or `OMZ::`, etc. -- To load a local-file snippet (which will be treated as a local-directory plugin by default) use the `is-snippet` ice, -- To load a plugin in `light` mode use the `light-mode` ice. -- If the plugin name collides with an ice name, precede the plugin name with `@`, e.g.: `@sharkdp/fd` (collides with the `sh` ice, ZI will take the plugin name as `sh"arkdp/fd"`), see the next section for an example. - -### Syntax alternatives {#syntax-alternatives} - -Zi supports alternatives such as the equal (`=`) syntax: - -```shell showLineNumbers -zi ice id-as=equal atload="print Hello World" -zi load z-shell/0 -``` - -The colon (`:`) syntax: - -```shell showLineNumbers -zi ice id-as:colon atload:"print Hello World" -zi load z-shell/0 -``` - -And also โ€“ in conjunction with all of the above โ€“ the GNU syntax: - -```shell showLineNumbers -zi ice id-as=GNU --atload="print Hello World" -zi load z-shell/0 -``` - -The syntax alternatives can utilize the highlighting of editors like Vim โ€“ and have the strings and ice expressions colorized with a distinct color. However, with [zi-vim-syntax][] the syntax definition can be superseded with the highlighting specifically for Zi. syntax definition can be superseded with the highlighting specifically for Zi. - -### Utilizing "make" {#utilizing-make} - -Vim repository on GitHub โ€“ a typical source code that needs compilation, Zi can manage the run of `./configure` and other `make` stuff. Ice-modifier `pick` adds the binary program to `$PATH`. You could also install the package under the path $ZPFX. - -```shell title="~/.zshrc" showLineNumbers -zi ice as"program" atclone"rm -f src/auto/config.cache; ./configure" \ - atpull"%atclone" make pick"src/vim" -zi light vim/vim -``` - -The `make'โ€ฆ'` ice could also be: `make"install PREFIX=$ZPFX"`, if "install" wouldn't be the only, default target. - -:::info - -[$ZPFX][zpfx] is provided by Zi, it is set to `~/.zi/polaris` by default. However, it can be changed by specifying the `$ZPFX=` target. - -::: - -```shell title="~/.zshrc" showLineNumbers -zi ice as"program" pick"$ZPFX/bin/git-*" make"PREFIX=$ZPFX" -zi light tj/git-extras -``` - -The `Makefile` of the project above has only 2 tasks: - -1. ๅฎ‰่ฃ…็›ฎๆ ‡ใ€‚ -2. ๆž„ๅปบๅฎ‰่ฃ…ๆ‰€้œ€็š„่„šๆœฌใ€‚ - -The `Makefile` with 2 tasks, can use: - -1. `make"all install PREFIX=โ€ฆ"`, -2. `pick'โ€ฆ'` will `chmod +x` all matching files and add `$ZPFX/bin/` to `$PATH`. - -### Compiling programs {#compiling-programs} - -```shell showLineNumbers -zi ice as"program" atclone"rm -f src/auto/config.cache; ./configure" \ - atpull"%atclone" make pick"src/vim" -zi light vim/vim -``` - -```mdx-code-block - -``` - -| Syntax | Description | -| ------------------ | :---------------------------------------------------------------------------------------- | -| `as'program'` | Add file selected by `pick'โ€ฆ'` to `$PATH`, and do not source it. | -| `atclone'โ€ฆ'` | Execute codeย after downloading. | -| `atpull'%atclone'` | Execute the same code `atclone'โ€ฆ'` is given, but after successful update. | -| `make` | Run `make` after `atclone'โ€ฆ'` and `atpull'โ€ฆ'` (note: `make'!'` will execute before them). | -| `pick'src/vim'` | Set the executable flag on `src/vim`, hint that `src/` should be added to `$PATH`. | - -```mdx-code-block - -``` - -The same but with **installation** (`make install`) under [$ZPFX][zpfx] by default: - -```shell showLineNumbers -zi ice as'program' atclone'rm -f src/auto/config.cache; \ - ./configure --prefix=$ZPFX' atpull'%atclone' make'all install' pick'$ZPFX/bin/vim' -zi light vim/vim -``` - -```mdx-code-block - -``` - -| Syntax | Description | -| ------------------ | :------------------------------------------------------------------------------------------- | -| `as'program'` | As above. | -| `atclone'โ€ฆ'` | As above **plus** pass `--prefix=$ZPFX` to `./configure`, to set the installation directory. | -| `atpull'%atclone'` | As above. | -| `make` | As above, but also run the `install` target. | -| `pick'src/vim'` | as above, but for a different path `$ZPFX/bin/vim`. | - -```mdx-code-block - -``` - -### LS_COLORS {#ls_colors} - -A repository [trapd00r/LS_COLORS][trapd00r-ls_colors] provides a file with color definitions for GNU `ls` command, and also for [ogham/exa][ogham-exa]. Typically one does `eval $( dircolors -b $HOME/LS_COLORS)` to process this file and set the environment for `ls`. This means `dircolors` is run by every shell startup. It costs much time to create a fork and program, i.e., the `dircolors` binary needs to be loaded to obtain and process the color definitions. The following invocation solves this problem: - -```shell showLineNumbers -zi ice atclone'dircolors -b LS_COLORS > clrs.zsh' \ - atpull'%atclone' pick"clrs.zsh" nocompile'!' \ - atload'zstyle ":completion:*" list-colors ${(s.:.)LS_COLORS}' -zi light trapd00r/LS_COLORS -``` - -```mdx-code-block - -``` - -| Syntax | Description | -| ------------------ | :------------------------------------------------------------------------------------------ | -| `atclone'โ€ฆ'` | Generate shell script, passing it to `eval`. More: [^1] | -| `atpull'%atclone'` | Do the same at any update of the plugin. More: [^2] | -| `pick"clrs.zsh"` | Source the previously generated file `clrs.zsh`. | -| `nocompile'!'` | Invokes compilation **after** the `atclone'โ€ฆ'` and the [exclamation][] mark causes this. | -| `atload'โ€ฆ'` | Additionally sets up the Zsh completion to use the colors provided by the trapd00r package. | - -```mdx-code-block - -``` - -This way, except for the plugin installation and update, `dircolors` isn't run, just normal sourcing is done. The everyday sourced file, i.e. `clrs.zsh`, is being compiled to speed up the loading. - -### Direnv {#direnv} - -The project [direnv/direnv][direnv-direnv] registers itself in the Z shell to modify the environment on directory change. This registration is most often done by `eval "$(direnv hook zsh)"` added to `.zshrc`. - -```shell showLineNumbers -zi ice as"program" make'!' atclone'./direnv hook zsh > zhook.zsh' \ - atpull'%atclone' src"zhook.zsh" -zi light direnv/direnv -``` - -- `make'!'` โ€“ execute `make` before `atclone'โ€ฆ'` and before `atpull'โ€ฆ'` (see `make` above), -- `src'zhook.zsh'` โ€“ย source file `zhook.zsh`. - -In general, `direnv` works by hooking up to Zsh. The code that does this is provided by the program `direnv` (built by `make'โ€ฆ'`). - -Above `atclone'โ€ฆ'` puts this code into file `zhook.zsh`, `src''` sources it. This way `direnv hook zsh` is executed only on clone and update, and Zsh starts faster. - -#### Glance at the 'for' syntax {#glance-at-the-for-syntax} - -The drawback of this standard procedure is that the `direnv` binary is run on every shell startup and significantly slows it down. Zi allows to solve this in the following way: - -```shell showLineNumbers -zi as"program" make'!' atclone'./direnv hook zsh > zhook.zsh' \ - atpull'%atclone' pick"direnv" src"zhook.zsh" for \ - direnv/direnv -``` - -```mdx-code-block - -``` - -| Syntax | Description | -| ------------------ | :----------------------------------------------------------------------------------------------------------------------------- | -| `make'!'` | Compile `direnv`, the exclamation mark means: run the `make` first, before `atclone'โ€ฆ'` and `atpull'โ€ฆ'` hooks. | -| `atclone'โ€ฆ'` | As soon as the plugin is installed generate the registration code and save it to `zhook.zsh`, instead of passing it to `eval`. | -| `atpull'%atclone'` | The `atclone'โ€ฆ'` runs on **installation** while `atpull'โ€ฆ'` runs on **update** of the plugin. | -| `src'zhook.zsh'` | Load generated registration code | -| `pick'direnv'` | Ensure `+x` permission on the binary | -| `as'program'` | The plugin is a program, there's no main file to the source. | - -```mdx-code-block - -``` - -In this method, the registered code is generated once on every installation or update, then sourced without running `direnv` itself. The project is also available as a binary [GitHub releases][gh-releases]. This distribution can be installed by: - -```shell showLineNumbers -zi from"gh-r" as"program" mv"direnv* -> direnv" \ - atclone'./direnv hook zsh > zhook.zsh' atpull'%atclone' \ - pick"direnv" src="zhook.zsh" for \ - direnv/direnv -``` - -```mdx-code-block - -``` - -| Syntax | Description | -| ------------------------- | :------------------------------------------------------------------------- | -| `from'gh-r'` | Install from `direnv` from GitHub Github releases. | -| `mv'direnv* -> direnv'` | After installation, rename `direnv.linux-386` or similar file to `direnv`. | -| `atclone'โ€ฆ'`, `atpull'โ€ฆ'` | Same above example. | -| `pick'direnv'` | Same above example. | -| `as'program'` | Same above example. | - -```mdx-code-block - -``` - -## `extract'โ€ฆ'` {#extract} - -A swiss-knife tool for unpacking all kinds of archives โ€“ the `extract'โ€ฆ'` ice. It works in two modes โ€“ automatic mode and fixed mode. - -Automatic mode: - -It is active if the ice is empty (or contains only flags). It works as follows: - -1. At first, a recursive search for files of known [file extensions](#supported-file-formats) located not deeper than in a sub-directory is being performed. All such found files are then extracted. - - The directory-level limit is to skip extraction of some helper archive files, which are typically located somewhere deeper in the directory tree. -2. **If** no such files will be found, then a recursive search for files of known archive **types** will be performed. This is done by running the `file` Unix command on each file in the plugin or snippet directory and then grepping the output for strings like `Zip`, `bzip2`, etc. All such discovered files are then extracted. - - The directory-level requirement is imposed during this stage. The files located deeper than in a sub-directory are omitted. -3. If no archive files will be discovered then no action is being performed and also no warning message is being printed. - -Fixed mode: - -It is active when a filename is being passed as the `extract`'s argument, e.g.: `zi extract=archive.zip for z-shell/null`. Multiple files can be specified โ€“ separated by spaces. In this mode all and only the specified files are being extracted. - -Filenames with spaces: - -The filenames with spaces are supported when correctly passing such filenames to an `extract` with the non-breaking spaces for the original in-filename. - -The non-breaking space is easy to type by pressing right ALT and the SPACE. - -Flags: - -The value of the ice can begin with two special characters: - -1. Exclamation mark (`!`), i.e.: `extract='!โ€ฆ'` โ€“ it'll cause the files to be moved one directory level up upon unpacking, -2. Two exclamation marks (`!!`), i.e.: `extract='!!โ€ฆ'` โ€“ it'll cause the files to be moved two directory-level up upon unpacking, -3. Dash (`-`), i.e.: `extract'-โ€ฆ'` โ€“ it'll prevent removal of the archive after unpacking. - - This flag allows comparing timestamps with the server in case of snippet-downloaded file โ€“ it will prevent unnecessary downloads during `zi update`, as the timestamp of the archive file on the disk will be first compared with the HTTP last-modification time header. - -The flags can be combined in any order: `extract'!-'`. - -## `ziextract` {#ziextract} - -Sometimes a more uncommon unpacking operation is needed. In such a case you can directly use the function that implements the ice โ€“ it is called `ziextract`. - -It recognizes the following options: - -1. `--auto` โ€“ runs the automatic extraction. -2. `--move` โ€“ performs the one-directory-level-up move of the files after unpacking. -3. `--move2` โ€“ performs the two-directory-level-up move of the files after unpacking. -4. `--norm` - prevents the archive file removal. -5. And also one option specific only to the function: `--nobkp`, which prevents clearing the plugin's directory before the extraction. โ€“ All files besides the archive are being moved into the `._backup` directory after extraction is done. - `extract` ice also skips creating the backup **if** more than one archive is found or given as the argument. - -### Supported file formats {#supported-file-formats} - -Zip, rar, tar.gz, tar.bz2, tar.xz, tar.7z, tar, tgz, tbz2, gz, bz2, txz, xz, 7z, exe, deb, OS X (dmg). - -## `from'โ€ฆ'` {#from} - -To install and load a plugin whose repository is private - e.g: requires providing credentials to log in โ€“ use the `from'โ€ฆ'` ice in the following way: - -```shell showLineNumbers -zi ice from"user@github.com" -zi load user/fsh-auto-themes -``` - -Current preset: - -```mdx-code-block - -``` - -| Ice name | Domain name / URL | -| ---------- | :----------------------------------- | -| ge | gitee.com | -| gitee | gitee.com | -| github | github.com | -| gh | github.com | -| gitlab | gitlab.com | -| gl | gitlab.com | -| notabug | notabug.org | -| nb | notabug.org | -| bitbucket | bitbucket.org | -| bb | bitbucket.org | -| github-rel | github.com/$remote_url_path/releases | -| gh-r | github.com/$remote_url_path/releases | -| cygwin | cygwin | - -```mdx-code-block - -``` - -:::note - -If the `from'โ€ฆ'` ice isn't one of the above tables, then **it is treated as a domain name** and inserted into the domain position into the `git clone` URL: - -```shell -git clone https://{from-ice-contents}/user/plugin -``` - -In order to change the protocol, use the `proto'โ€ฆ'` ice. - -::: - -## `id-as'โ€ฆ'` {#id-as} - -Load a plugin or snippet with a nickname with the `id-as'โ€ฆ'` ice-modifier. For example, one could try to load [docker/compose][docker-compose] from GitHub binary releases: - -```shell showLineNumbers -zi ice as"program" from"gh-r" mv"docker-c* -> docker-compose" -zi light "docker/compose" -``` - -This registers the plugin under the ID `docker/compose`. Now suppose the user would want to also load a completion from the project's GitHub repository (not the binary release catalog) which is also available under the GitHub URL **โ€ฆ/docker/compose**. The two IDs, both being "docker/compose", will collide. - -The solution to this problem โ€“ the `id-as'โ€ฆ'` (to be read as _identify-as_) ice to which this document is devoted: by using the `id-as'โ€ฆ'` ice the user can resolve the conflict by loading the completion under a kind of a _nickname_, for example under "_dc-complete_", by issuing the following commands: - -```shell showLineNumbers -zi ice as"completion" id-as"dc-complete" -zi load docker/compose -``` - -The plugin (of the type `completion`) is now seen under ID `dc-complete`: - -```shell showLineNumbers -zi list | grep -i dc-complete -dc-complete -``` - -Issuing `zi report dc-complete` will work as with regular command: - -```shell showLineNumbers -zi report dc-complete - -Plugin report for dc-complete -------------------------------- - -Completions: -_docker-compose [enabled] -``` - -The same method applies to nickname snippets. For instance, use it to create handy IDs in place of long URLs: - -```shell showLineNumbers -zi ice as"program" id-as"git-unique" -zi snippet https://github.com/Osse/git-scripts/blob/master/git-unique -``` - -The commands `zi update git-unique`, and `zi delete git-unique` will work as expected and e.g. `zi times` will show the _nickname_-ID `git-unique` instead of the long URL. - -- `id-as'auto'`: - -There's a special value to the `id-as'โ€ฆ'` ice โ€“ `auto`. It causes the nickname to be automatically set to the last component of the plugin name or snippet URL. For example: - -```shell showLineNumbers -zi ice as"program" id-as"auto" -zi snippet https://github.com/Osse/git-scripts/blob/master/git-unique -``` - -will work the same as before, e.g: if the ice used was `id-as'git-unique'`. Will work as if id-as'zsh-autopair' was passed: - -```shell showLineNumbers -zi ice wait lucid id-as"auto" -zi load hlissner/zsh-autopair -``` - -- empty `id-as'โ€ฆ'`: - -An empty `id-as'โ€ฆ'` will work the same as `id-as'auto'` as if id-as'zsh-autopair' was passed, e.g: - -```shell showLineNumbers -zi ice wait lucid id-as -zi load hlissner/zsh-autopair -``` - -## `wait'โ€ฆ'` {#wait} - -:::note - -Turbo mode, i.e. the `wait'โ€ฆ'` is ice that implements it - needs Zsh >= 5.3. - -::: - -```shell showLineNumbers -zi ice wait'0' # or just: zi ice wait -zi light wfxr/forgit -``` - -- waits for prompt, -- instantly ("0" seconds) after prompt loads given plugin. - -```shell showLineNumbers -zi ice wait'[[ -n ${ZLAST_COMMANDS[(r)cras*]} ]]' -zi light z-shell/zi-crasis -``` - -- screencast that presents the feature: - - - -- `$ZLAST_COMMANDS` is an array built by [F-Sy-H][z-shell-f-sy-h], it contains commands currently entered at prompt, -- `(r)` searches for an element that matches a given pattern (`cras*`) and returns it, -- `-n` means: not-empty, so it will be true when users enter "cras", -- after 1 second or less, Zi will detect that the `wait'โ€ฆ'` condition is true, and load the plugin, which provides command _crasis_, - -```shell showLineNumbers -zi ice wait'[[ $PWD = */github || $PWD = */github/* ]]' -zi load unixorn/git-extra-commands -``` - -it waits until the user enters a `github` directory. Turbo mode also supports a suffix โ€“ the letter a, `b`, or `c`. The meaning is illustrated by the following example: - -```shell showLineNumbers -zi ice wait"0b" as"command" pick"wd.sh" atinit"echo Firing 1" lucid -zi light mfaerevaag/wd -zi ice wait"0a" as"command" pick"wd.sh" atinit"echo Firing 2" lucid -zi light mfaerevaag/wd -``` - -will output: - -```shell showLineNumbers -Firing 2 -Firing 1 -``` - -As can be seen, the second plugin has been loaded first. That's because there are now three sub-slots (the `a`, `b`, and `c`) into which the plugin/snippet loadings can be put. Plugins from the same time slot with suffix `a` will be loaded before plugins with suffix `b`, etc. - -In other words, instead of `wait'1'`, you can enter `wait'1a'`, `wait'1b'`, and `wait'1c'` โ€“ this **imposes the loading order** of the **commands** regardless of actual execution time. - -## `src'โ€ฆ'` `pick'โ€ฆ'` `multisrc'โ€ฆ'` {#src-pick-multisrc} - -Normally `src'โ€ฆ'` can be used to specify the additional file to the source: - -```shell showLineNumbers -zi ice pick'powerless.zsh' src'utilities.zsh' -zi light martinrotter/powerless -``` - -| Syntax | Description | -| :-------: | :--------------------------------------------------------------------------------------------------------- | -| `pick'โ€ฆ'` | Provide the main file to the source - like `*.sh`, otherwise alphabetically first matched file is sourced. | -| `src'โ€ฆ'` | Provide a second file to the source - not a pattern - plain file name. | - -### The `svn` ice {#the-svn-ice} - -However, via `atload'โ€ฆ'` ice one can provide a simple loop to source more files: - -```shell showLineNumbers -zi ice svn pick'completion.zsh' \ - atload'local f; for f in git.zsh misc.zsh; do source $f done' -zi snippet OMZ::lib -``` - -| Syntax | Description | -| :---------: | :--------------------------------------------------------------------------------------------------------------------------------- | -| `svn` | Use Subversion to clone `OMZ::lib` (the whole Oh-My-Zsh `lib/` directory). More [^3]. | -| `atload'โ€ฆ'` | Code isn't tracked and cannot be unloaded. The `atload'โ€ฆ'` is executed after loading main files `pick'โ€ฆ'` and `src'โ€ฆ'`. More [^4]. | - -### The `multisrc'โ€ฆ'` ice {#the-multisrc-ice} - -Loads **multiple** files enumerated with spaces as the separator (e.g. `multisrc'misc.zsh grep.zsh'`) and also using brace-expansion syntax (e.g. `multisrc'{misc,grep}.zsh')`. Example: - -```shell showLineNumbers -zi ice svn pick'completion.zsh' \ - multisrc'git.zsh functions.zsh {history,grep}.zsh' -zi snippet OMZ::lib -``` - -All possible ways to use the `multisrc'โ€ฆ'` ice-modifier: - -```shell -zi ice depth'1' multisrc='lib/{functions,misc}.zsh' pick'/dev/null' -zi load robbyrussell/oh-my-zsh -``` - -Can use patterns: - -```shell showLineNumbers -zi ice svn multisrc'{funct*,misc}.zsh' pick'/dev/null' -zi snippet OMZ::lib -``` - -```shell showLineNumbers -zi ice svn multisrc'misc.zsh functions.zsh' pick'/dev/null' -zi snippet OMZ::lib -``` - -Will use the array's value at the moment of plugin load: - -> This can matter when using turbo mode. - -```shell showLineNumbers -array=({functions,misc}.zsh) -zi ice svn multisrc"\$array" pick'/dev/null' -zi snippet OMZ::lib -``` - -Compatible with KSH_ARRAYS option: - -```shell showLineNumbers -array=({functions,misc}.zsh) -zi ice svn multisrc"${array[*]}" pick'/dev/null' -zi snippet OMZ::lib -``` - -Hack with Zi: the ice's contents are simply `eval`-uated like follows: eval "reply=($multisrc)". - -So it might get handy on an occasion to pass code there, but first, you must close the paren and then don't forget to assign `reply`, and to provide a trailing opening paren. In the code be careful to not redefine any variable used internally by Zi โ€“ e.g.: `i` is safe: - -```shell showLineNumbers -array=({functions,misc}.zsh) -zi ice svn multisrc'); local i; for i in $array; do reply+=( ${i/.zsh/.sh} ); done; ((1)' pick'/dev/null' -zi snippet OMZ::lib -``` - -Extended with the [for][for-syntax] syntax which can in some situations replace a typical `multisrc'โ€ฆ'` loading. The idea of this syntax is to source multiple snippets with a single command. - -Instead of: - -```shell showLineNumbers -zi ice multisrc'(functions|misc|completion).zsh' -zi snippet OMZ::lib -``` - -it's possible to write: - -```shell showLineNumbers -zi for \ - OMZL::functions.zsh \ - OMZL::misc.zsh \ - OMZL::completion.zsh -``` - -which is somewhat easier on the eyes. - -:::info Important Property - -The multiple snippets loaded with the `for` syntax are being loaded _separately_, which means that they will not cause a longer keyboard blockage, which could have been noticeable โ€“ when loading in turbo mode. - -::: - -The Zi scheduler will distribute the work over time and will allow activation of the keyboard in between the snippets. The `multisrc'โ€ฆ'` way doesn't work this way โ€“ sourcing many files may cause a noticeable keyboard freeze (in turbo mode). - -## `atclone'โ€ฆ'` `atpull'โ€ฆ'` `atinit'โ€ฆ'` `atload'โ€ฆ'` {#atclone-atpull-atinit-atload} - -There are four code-receiving ice-modifiers: `atclone'โ€ฆ'`, `atpull'โ€ฆ'`, `atinit'โ€ฆ'`, `atload'โ€ฆ'`. - -Their role is to **receive a portion of Zsh code and execute it in specific moments of the plugin life-cycle**. - -| Syntax | Execution moment | -| :----------: | :-------------------------------------------------------------- | -| `atclone'โ€ฆ'` | **after cloning** the associated plugin or snippet to the disk. | -| `atpull'โ€ฆ'` | **after updating** the associated plugin or snippet. | -| `atinit'โ€ฆ'` | **before loading** of the associated plugin or snippet. | -| `atload'โ€ฆ'` | **after loading** of the associated plugin or snippet. | - -For convenience, you can use each of the ices multiple times in a single `zi ice โ€ฆ` invocation โ€“ย all commands will run in the given order. - -The `atpull'โ€ฆ'` ice recognizes a special value: `%atclone`, so the code looks: `atpull'%atclone'`. It causes the contents of the `atclone'โ€ฆ'` ice to be copied into the contents of the `atpull'โ€ฆ'` ice. - -This is handy when the same tasks have to be performed on clone **and** on the update of plugin or snippet, like e.g.: in the [direnv example](#direnv). - -### `atload'!โ€ฆ'` with exclamation mark preceded - -The [wrap'โ€ฆ'](#wrap) The ice-modifier allows the track and unload of plugins that defer their initialization to a function and run later after sourcing the plugin's script โ€“ When the function call, the plugin is then fully initialized. - -However, if the function is being called from the `atload'โ€ฆ'` ice, then the _exclamation mark_-preceded method can be used with `atload'โ€ฆ'` contents. The exclamation mark causes the effects of the execution of the code passed to `atload'โ€ฆ'` ice to be recorded. - -### Use case for `atload'โ€ฆ'` - -For example, in the following invocation: - -```shell showLineNumbers -zi ice id-as'test' atload'!PATH+=:~/share' -zi load z-shell/null -``` - -the `$PATH` is being changed within `atload'โ€ฆ'` ice. Zi's tracking registers `$PATH` changes and withdraws them on the plugin unload and shows loading information: - -```shell title="zi report test" showLineNumbers -Report for test plugin ----------------------- -Source (reporting enabled) - -PATH elements added: -/home/sg/share -``` - -As it can be seen, the `atload'โ€ฆ'` code is being correctly tracked and can be unloaded & viewed. Below is the result of using the `unload'โ€ฆ'` subcommand to unload the `test` plugin: - -```shell title="zi unload test" showLineNumbers ---- Unloading plugin: test --- -Removing PATH element /home/user/share -Unregistering plugin test -Plugin report saved to $LASTREPORT -``` - -The same example as in the [wrap'โ€ฆ'](#use-case-for-wrap) article, but using the _exclamation mark_-preceded `atload'โ€ฆ'` instead of `wrap'โ€ฆ'`: - -Load when - `MYPROMPT == 4` - -```shell showLineNumbers -zi ice load'![[ $MYPROMPT = 4 ]]' unload'![[ $MYPROMPT != 4 ]]' \ - atload'!source ~/.p10k.zsh; _p9k_precmd' -zi load romkatv/powerlevel10k -``` - -## `wrap'โ€ฆ'` {#wrap} - -The `wrap' โ€ฆ'` ice-modifier allows extending the tracking (e.g.: the gathering of the report and unloading data) of a plugin beyond the moment of sourcing its main file(s). It works by wrapping the given functions with a tracking-enabling and disabling snippet of code. This is useful especially with prompts, as they very often do their initialization in the first call to their `precmd` [hook][hook-functions] function. - -For example, [romkatv/powerlevel10k][romkatv-powerlevel10k] works this way. The ice takes a list of function names, with the elements separated by `;`: - -```shell -zi ice wrap"func1;func2;โ€ฆ" -``` - -### Use case for `wrap'โ€ฆ'` {#use-case-for-wrap} - -Therefore, to load and unload for the example powerlevel10k prompt in the fashion of [multiple prompts][multiple-prompts] article, the `precmd` function of the plugin โ€“ called `_p9k_precmd`, to get the name of the function do `echo $precmd_functions` after loading a theme, should be passed to `wrap'โ€ฆ'` ice. - -Load when `MYPROMPT == 4` - -```shell showLineNumbers -zi ice load'![[ $MYPROMPT = 4 ]]' unload'![[ $MYPROMPT != 4 ]]' \ - atload'source ~/.p10k.zsh; _p9k_precmd' wrap'_p9k_precmd' -zi load romkatv/powerlevel10k -``` - -This way the actions done during the first call to `_p9k_precmd()` will be normally recorded, which can be viewed in the report of the [romkatv/powerlevel10k][romkatv-powerlevel10k] theme: - -```shell title="zi report romkatv/powerlevel10k" showLineNumbers -Report for romkatv/powerlevel10k plugin ---------------------------------------- -Source powerlevel10k.zsh-theme (reporting enabled) -Autoload is-at-least with options -U -z - -(โ€ฆ) - -Note: === Starting to track function: _p9k_precmd === -Zle -N p9k-orig-zle-line-finish _zsh_highlight_widget_zle-line-finish -Note: a new widget created via zle -N: p9k-orig-zle-line-finish -Zle -N -- zle-line-finish _p9k_wrapper__p9k_zle_line_finish -Autoload vcs_info with options -U -z -Zstyle :vcs_info:* check-for-changes true - -(โ€ฆ) - -Zstyle :vcs_info:* get-revision false -Autoload add-zsh-hook with options -U -z -Zle -F 22_gitstatus_process_response_POWERLEVEL9K -Autoload_gitstatus_cleanup_15877_0_16212/docs/guides/syntax/wrap -Zle -N -- zle-line-pre-redraw _p9k_wrapper__p9k_zle_line_pre_redraw -Note: a new widget created via zle -N: zle-line-pre-redraw -Zle -N -- zle-keymap-select _p9k_wrapper__p9k_zle_keymap_select -Note: === Ended tracking function:_p9k_precmd === - -Functions created: -+vi-git-aheadbehind +vi-git-remotebranch - -(โ€ฆ) -``` - -Summary of `wrap'โ€ฆ'`: - -As it can be seen, the creation of four additional Zle-widgets has been recorded - `Zle -N โ€ฆ` lines. They will be properly deleted/restored on the plugin unload with `MYPROMPT=3` as an example and the shell state will be clean, ready to load a new prompt. - - - - - -[^1]: Save it to a file. The `atclone'โ€ฆ'` is being run on the **installation** while the `atpull'โ€ฆ'` hook is being run on an **update** of the [**trapd00r/LS_COLORS**][trapd00r-ls_colors] plugin. -[^2]: The `%atclone` is just a special string that denotes the `atclone'โ€ฆ'` hook and is copied onto the `atpull'โ€ฆ'` hook. -[^3]: Note that `atload'โ€ฆ'` uses apostrophes, not double quotes, to put `$f` into the string, `atload'โ€ฆ'`'s code is automatically being run **within the snippet's or plugin's directory**. -[^4]: Unless you load a plugin (not a snippet) with `zi load โ€ฆ` and prepend the value of the ice with an exclamation mark. Example: `atload'!local f; for โ€ฆ'`. - - - -[for-syntax]: /docs/guides/syntax/for - -[ice-mods]: /docs/guides/syntax/ice-modifiers - -[exclamation]: /search?q=exclamation+mark - -[zpfx]: /docs/guides/customization#$ZPFX - -[multiple-prompts]: /docs/guides/customization#multiple-prompts - - - -[trapd00r-ls_colors]: https://github.com/trapd00r/LS_COLORS - -[ogham-exa]: https://github.com/ogham/exa - -[direnv-direnv]: https://github.com/direnv/direnv - -[gh-releases]: https://github.com/direnv/direnv/releases/ - -[zi-vim-syntax]: https://github.com/z-shell/zi-vim-syntax - -[docker-compose]: https://github.com/docker/compose - -[z-shell-f-sy-h]: https://github.com/z-shell/F-Sy-H - -[hook-functions]: https://zsh.sourceforge.net/Doc/Release/Functions.html#Hook-Functions - -[romkatv-powerlevel10k]: https://github.com/romkatv/powerlevel10k diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/02_for.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/02_for.mdx deleted file mode 100644 index c841a62b..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/02_for.mdx +++ /dev/null @@ -1,266 +0,0 @@ ---- -id: for -title: โœจ The "For" Syntax -sidebar_position: 2 -image: /img/png/theme/z/320x320.png -description: The "For" Syntax documentation -keywords: - - for - - syntax - - how-to-use - - the-for-syntax ---- - - - -import APITable from "@site/src/components/APITable"; - -The `for` syntax is the most popular, more concise, and more optimized. The single command will work the same as the [standard syntax][standard-syntax] invocation. - -It allows providing common/default ice-modifiers for a set of plugins or to source multiple files with the ices: [src, pick, multisrc][src-pick-multisrc]. - -:::tip - -To find more information about anything use [search][3] or just CTRL+K. - -::: - -```shell showLineNumbers -zi light-mode for \ - zsh-users/zsh-autosuggestions \ - z-shell/F-Sy-H \ - z-shell/H-S-MW \ - pick"async.zsh" src"pure.zsh" \ - sindresorhus/pure -``` - -It is best presented by real-world examples: - -```shell showLineNumbers -zi wait"3" lucid for as"null" \ - sbin Fakerr/git-recall \ - sbin paulirish/git-open \ - sbin paulirish/git-recent \ - sbin davidosomething/git-my \ - make"PREFIX=$ZPFX install" iwata/git-now \ - make"PREFIX=$ZPFX" tj/git-extras -``` - -The above single command installs 6 plugins ([git extension][2] packages), with the base ices `as"null" wait"3" lucid` that are common to all of the plugins and 6 plugin-specific add-on ice-modifiers. - -Load a few useful binary packages from the [GitHub releases][1], utils: - -```shell showLineNumbers -zi for as"null" wait"2" lucid from"gh-r" \ - mv"exa* -> exa" sbin ogham/exa \ - mv"fd* -> fd" sbin"fd/fd" @sharkdp/fd \ - sbin"fzf" junegunn/fzf -``` - -:::note - -- `sbin'โ€ฆ'` is an [ice][3] added by the [bin-gem-node][4] [annex][5], it provides the command to the command line without altering `$PATH`. -- If the name of the command is the same as the name of the plugin, the ice contents can be skipped. - -::: - -[Turbo][6] load some plugins, without any plugin-specific ices: - -```shell showLineNumbers -zi wait lucid for \ - hlissner/zsh-autopair \ - urbainvaes/fzf-marks -``` - -Load two [Oh-My-Zsh][7] files as [snippets][8], in turbo mode: - -```shell showLineNumbers -zi wait lucid for \ - OMZ::lib/git.zsh \ - atload"unalias grv" \ - OMZ::plugins/git/git.plugin.zsh -``` - -Popular plugin set with [turbo][6] and The "For": - -```shell {1} showLineNumbers -zi wait lucid light-mode for \ - atinit"zicompinit; zicdreplay" \ - z-shell/F-Sy-H \ - atload"_zsh_autosuggest_start" \ - zsh-users/zsh-autosuggestions \ - blockf atpull'zi creinstall -q .' \ - zsh-users/zsh-completions -``` - -```mdx-code-block - -``` - -| Syntax | Description | -| ------------ | :------------------------------------------------------------------------------------------- | -| `wait` | Load 0 seconds (about 5 ms exactly) after prompt ([turbo mode][6]). | -| `lucid` | Silence the under-prompt messages ("`Loaded {name of the plugin}`"). | -| `light-mode` | Load the plugin in `light` mode. [^1]. | -| `atpull'โ€ฆ'` | Execute after updating the plugin โ€“ the command in the ice will install any new completions. | -| `atinit'โ€ฆ'` | Execute code before loading plugin. | -| `atload'โ€ฆ'` | Execute code after loading the plugin. | -| `zicompinit` | Equals toย `autoload compinit; compinit`. | -| `zicdreplay` | Execute `compdef โ€ฆ` calls by plugins. More below [^2]. | - -```mdx-code-block - -``` - -## Oh-My-Zsh, [turbo][6] Oh-My-Zsh and the The "For" syntax - -### Without [turbo mode][6] and The "For" - -```shell showLineNumbers -# A. -setopt prompt_subst - -# B. -zi snippet OMZL::git.zsh - -# C. -zi ice atload"unalias grv" -zi snippet OMZP::git - -# D. -zi for OMZL::prompt_info_functions.zsh OMZT::gnzh - -# E. -zi snippet OMZP::colored-man-pages - -# F. -zi ice as"completion" -zi snippet OMZP::docker/_docker - -# G. -zi ice atinit"zicompinit; zicdreplay" -zi light z-shell/F-Sy-H -``` - -### With [turbo mode][6] and The "For" - -```shell showLineNumbers -# A. -setopt prompt_subst - -# B, C. -zi wait lucid for \ - OMZL::git.zsh \ - atload"unalias grv" \ - OMZP::git - -# Provide a simple prompt till the theme loads to visualize the effect. -PS1="READY >" - -# D. -zi wait'!' lucid for \ - OMZL::prompt_info_functions.zsh \ - OMZT::gnzh - -# E, F, G. -zi wait lucid for \ - atinit"zicompinit; zicdreplay" \ - z-shell/fast-syntax-highlighting \ - OMZP::colored-man-pages \ - as"completion" \ - OMZP::docker/_docker -``` - -:::info - -**A** - Most themes use this option. - -**B, C** - OMZ themes use this library and some others use also the plugin. It provides many aliases โ€“ `atload'โ€ฆ'` showing how to disable some of them (e.g.: to use the program `rgburke/grv`). - -**D** - Set OMZ theme. Loaded separately because the theme needs the `!` passed to the `wait` ice to reset the prompt after loading the snippet in turbo mode. - -**E, F, G** - Some plugins: - -1. syntax-highlighting, loaded possibly early for a better user experience). -2. example functional plugin. -3. docker completion. - -::: - -The above setup loads everything after the prompt, because of the preceding `wait` ice. That is called **turbo mode**, which shortens Zsh startup time by 50%-80%, e.g. instead of 200 ms, it'll be getting your shell started up after **40 ms**. - -Try both setups on the daily basis to notice the difference. The features of Zi can do much more than this simple example. - -### `zi-turbo 'โ€ฆ' for โ€ฆ` {#zi-turbo--for-} - -The `zi-turbo` is a function to simplify `wait`: - -```shell showLineNumbers -zi-turbo() { - zi depth'3' lucid ${1/#[0-9][a-c]/wait"${1}"} "${@:2}" -} -``` - -Then use the `for` syntax in the imposed loading order: - -```shell {1,6,10,15} showLineNumbers -zi-turbo '0a' for \ - OMZL::git.zsh \ - OMZL::compfix.zsh \ - OMZL::functions.zsh \ - -zi-turbo '0b' for \ - OMZL::prompt_info_functions.zsh OMZL::spectrum.zsh \ - OMZL::clipboard.zsh OMZL::termsupport.zsh OMZL::directories.zsh - -zi-turbo '0c' for \ - OMZP::sudo OMZP::encode64 \ - atload"unalias grv g" OMZP::git \ - OMZP::gcloud OMZP::nvm OMZP::gem OMZP::rust - -zi-turbo '1a' for \ - MichaelAquilina/zsh-you-should-use -``` - -## Summary - -In general, [turbo mode][6] can be optionally enabled only for a subset of plugins or for all plugins. - -Syntax-highlighting plugins, like [F-Sy-H][11] or [zsh-syntax-highlighting][12], theoretically expect to be loaded last, even after the completion initialization as `compinit` function. - -However, in practice, you just have to ensure that such plugin is loaded after plugins that are issuing `compdef` โ€“ which means completions that aren't using the underscore-starting function file; the completion initialization still has to be performed before the syntax-highlighting plugin, hence the `atinit'โ€ฆ'` ice, which will load `compinit` right before loading the plugin, the syntax-highlighting and suggestions plugins are loaded early for a better user experience. - - - - - -[^1]: Then the tracking of plugin, activity report gathering, accessible via the `zi report {plugin-name}` subcommand) is being disabled. Note that for turbo mode, the performance gains are almost `0`, so in this mode, you can load all plugins with the tracking and the `light-mode` ice can be removed from the command. -[^2]: They were recorded and `compinit` can be called later. `compinit` provides the `compdef` function, so it must be run before issuing the taken-over `compdef`s with `zicdreplay`. - - - -[1]: /search/?q=GH-R - -[2]: /search/?q=git+ext - -[3]: /search/?q=ice - -[4]: /search/?q=bin+gem+node - -[5]: /search/?q=annex - -[6]: /search/?q=turbo+mode - -[7]: /search/?q=oh+my+zsh - -[8]: /search/?q=snippets - -[standard-syntax]: /docs/guides/syntax/standard - -[src-pick-multisrc]: /docs/guides/syntax/standard#src-pick-multisrc - - - -[11]: https://github.com/z-shell/F-Sy-H - -[12]: https://github.com/zsh-users/zsh-syntax-highlighting diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/03_ice_modifiers.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/03_ice_modifiers.mdx deleted file mode 100644 index dc0390a5..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/03_ice_modifiers.mdx +++ /dev/null @@ -1,227 +0,0 @@ ---- -id: ice-modifiers -title: ๐ŸงŠ Ice Modifiers -sidebar_position: 4 -image: /img/png/theme/z/320x320.png -description: Ice Modifiers Documentation -slug: ice-modifiers ---- - -import Image from "@theme/IdealImage"; -import ZIceImg from "/img/png/theme/ice_180x170.png"; -import APITable from "@site/src/components/APITable"; - -:::info FAQ: What is ice? - -What is ice - -The ice is something that melts in a drink, though in Zi syntax, it means adding an ice-modifier that's temporary because it disappears โ€“ which means that the ice-modifier will last only for the next Zi command. - -::: - -An ice-modifiers are [passed][alternate-syntax] to `zi ice โ€ฆ` to obtain described effects, additionally can be added with [annexes][12]. To see all available ice-modifiers run `zi icemods`. - -Some ice-modifiers are highlighted and clicking on them will take you to the appropriate Wiki page for an extended explanation. You may safely assume that given ice works with both plugins and snippets unless explicitly stated otherwise. - -## Ice effects {#ice-effects} - -```mdx-code-block - -``` - -| Ice-modifier | Description | -| :-------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `as` | Can be `as"program"` (alias: `as"command"`), and will cause to add script/program to `$PATH` instead of sourcing (see `pick`). Can also be `as"completion"` โ€“ use with plugins or snippets in whose only underscore-starting `_*` files you are interested in. [^8] | -| [id-as][6] | Nickname a plugin or snippet, e.g. create a short handler for the long-URL snippet. | -| `teleid` | ๆœ‰ๆ•ˆ็š„่ฟœ็จ‹ ID๏ผˆๅณ๏ผšURLใ€GitHub ็”จๆˆทๅ/ๅญ˜ๅ‚จๅบ“ใ€ๅŒ…ๅ็ญ‰๏ผ‰ใ€‚ | -| `compile` | Pattern (possible `{โ€ฆ}` expansion, like `{a/*,b*}`) to select additional files to compile, e.g. `compile"(pure \| async).zsh"`for`sindresorhus/pure`. | -| `nocompile` | Don't try to compile `pick`-pointed files. If passed the exclamation mark (i.e. `nocompile'!'`), then do compile, but after `make'โ€ฆ'` and `atclone'โ€ฆ'` (useful if Makefile installs some scripts, to point `pick'โ€ฆ'` at the location of their installation). | -| `service` | Make the following plugin or snippet a _service_, which will run in the background, and only in a single Zshell instance. See [#zservice][7] topic. | -| `reset-prompt` | Reset the prompt after loading the plugin/snippet (by issuing `zle .reset-prompt`). Note: normally it's sufficient to precede the value of `wait'โ€ฆ'` ice with `!`. | -| [bindmap][8] | To hold `;`-separated strings like `Key(s)A -> Key(s)B`, e.g. `^R -> ^T; ^A -> ^B`. In general, `bindmap'โ€ฆ'` changes bindings (done with the `bindkey` builtin) the plugin does. The example would cause the plugin to map Ctrl-T instead of Ctrl-R, and Ctrl-B instead of Ctrl-A. **Does not work with snippets.** | -| [trackbinds][8] | Shadow but only `bindkey` calls even with `zi light โ€ฆ`, i.e. even with investigating disabled (fast loading), to allow `bindmap` to remap the key-binds. The same effect has the `zi light -b โ€ฆ`, i.e. additional `-b` option to the `light`-subcommand. **Does not work with snippets.** | -| [wrap][9] | Takes a `;`-separated list of function names to be investigated (meaning gathering report and unloading data) **once** during execution. It works by wrapping the functions with an investigating-enabling and disabling snippet of code. [^9] | -| `aliases` | Load the plugin with the aliases mechanism enabled. Use plugins that define **and use** aliases in their scripts. | -| `light-mode` | Load the plugin without investigating, i.e., the same as the `light` command. Useful with the "for" syntax, where there is no `load` nor `light` subcommand | -| [extract][10] | Performs archive extraction supporting multiple formats like `zip`, `tar.gz`, etc., and OS X `dmg` images. [^10] | -| `subst` | Substitute the given string into another string when sourcing the plugin script, e.g.: `zi subst'autoload โ†’ autoload -Uz' โ€ฆ`. | -| `autoload` | Autoload the given functions (from their files). Equivalent to calling `atinit'autoload the-function'`. Supports renaming of the function โ€“ pass `'โ€ฆ โ†’ new-name'` or `'โ€ฆ -> new-name'`, e.g.: `zi autoload'fun โ†’ my-fun; fun2 โ†’ my-fun2'`. | - -```mdx-code-block - -``` - -## Cloning options {#cloning-options} - -```mdx-code-block - -``` - -| Ice-modifier | Description | -| :-------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `proto` | Change protocol to `git`,`ftp`,`ftps`,`ssh`, `rsync`, etc. The default is `https`. **Does not work with snippets.** | -| [from](standard#from) | Clone plugin from a given site. Supported are `from"github"` (default), `โ€ฆ"github-rel"`, `โ€ฆ"gitlab"`, `โ€ฆ"bitbucket"`, `โ€ฆ"notabug"` (short names: `gh`, `gh-r`, `gl`, `bb`, `nb`). Can also be a full domain name e.g: for GitHub enterprise. **Does not work with snippets.** | -| `ver` | Used with `from"gh-r"` (i.e. downloading a binary release, e.g. for use with `as"program"`) โ€“ selects which version to download. Default is latest, can also be explicit `ver"latest"`. Works also with regular plugins, and checkouts e.g. `ver"branch"`, i.e. a specific version. **Does not work with snippets.** | -| `bpick` | Used to select which release from GitHub Releases to download, e.g. `zi ice from"gh-r" as"program" bpick"*Darwin*"; zi load docker/compose`. **Does not work with snippets.** | -| `depth` | Pass `--depth` to `git`. I.e., limit how much history to download. **Does not work with snippets.** | -| `cloneopts` | Pass the contents of `cloneopts` to `git clone`. Defaults to `--recursive`. I.e., change cloning options. Pass empty ice to disable recursive cloning. **Does not work with snippets.** | -| `pullopts` | Pass the contents of `pullopts` to `git pull` used when updating plugins. **Does not work with snippets.** | -| `svn` | Use Subversion for downloading snippets. GitHub supports the `SVN` protocol, which allows cloning of subdirectories as snippets, e.g. `zi ice svn; zi snippet OMZP::git`. Other ice `pick` can be used to select a file to the source (default are: `*.plugin.zsh`, `init.zsh`, `*.zsh-theme`). **Does not work with plugins.** | - -```mdx-code-block - -``` - -## Selection of files (source 'โ€ฆ') {#selection-of-files-source} - -```mdx-code-block - -``` - -| Ice-modifier | Description | -| :-----------: | ------------------------------------------------------------------------------------------------------------------------------------------------- | -| [pick][1] | Select the file to source, or the file to set as a command, when using `snippet --command` or the ice `as"program"`. More below [^1]. | -| [src][1] | Specify an additional file to source after the main file or after setting up command via `as"program"`. It is not a pattern but a plain filename. | -| [multisrc][1] | Allows specifying multiple files for sourcing, enumerated with spaces as the separators. More below [^2]. | - -```mdx-code-block - -``` - -## Conditional loading {#conditional-loading} - -```mdx-code-block - -``` - -| Ice-modifier | Description | -| :------------: | ------------------------------------------------------------------------------------------------------------------------ | -| [wait][2] | Postpone loading a plugin or snippet. For `wait'1'`, loading is done `1` second after the prompt. [^3]. | -| [load][3] | A condition to check which should cause the plugin to load. [^4]. | -| [unload][3] | A condition to check to cause the plugin to unload. More below [^5]. | -| `cloneonly` | Don't load the plugin/snippet, only download it. | -| `if` | Load plugin/snippet only when a given condition is true. Example: [^6]. | -| `has` | Load plugin or snippet only when given command is available (in $PATH), e.g. `zi ice has'git' โ€ฆ`. | -| `subscribe` | Postpone loading of a plugin or snippet until the given file(s) get updated, e.g. `subscribe'{~/files-*,/tmp/files-*}'`. | -| `trigger-load` | Creates a function that loads the associated plugin/snippet, with an option. More below [^7]. | - -```mdx-code-block - -``` - -## Plugin output {#plugin-output} - -```mdx-code-block - -``` - -| Ice-modifier | Description | -| :----------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `silent` | Mute plugin's or snippet's `stderr` & `stdout`. Also, skip the `loaded โ€ฆ` message under the prompt for `wait`, etc. loaded plugins, and completion-installation messages. | -| `lucid` | Skip `loaded โ€ฆ` message under prompt for `wait`, etc. loaded plugins (a subset of `silent`). | -| `notify` | Output given message under-prompt after successfully loading a plugin/snippet. In case of problems with the loading, output a warning message and the return code. If starts with `!` it will then always output the given message. Hint: if the message is empty, then it will just notify about problems. | - -```mdx-code-block - -``` - -## Completions {#completions} - -```mdx-code-block - -``` - -| Ice-modifier | Description | -| :-------------: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `blockf` | Disallow plugin to modify `fpath`. Useful when a plugin wants to provide completions traditionally. Manage completions using Zi and block the plugins to expose them. | -| `nocompletions` | Skip plugin completions detection and installation. Completions can be installed anytime using: `zi creinstall {plugin-name}`. | - -```mdx-code-block - -``` - -## Command execution after cloning, updating or loading {#command-execution-after-cloning-updating-or-loading} - -```mdx-code-block - -``` - -| Ice-modifier | Description | -| :----------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `mv` | Move file after cloning or update (only for new commits). Example: `mv "fzf-* -> fzf"`. It uses `->` as a separator for old and new file names. Also works with snippets. | -| `cp` | Copy file after cloning or update (only for new commits). Example: `cp "docker-c* -> dcompose"`. Ran after `mv`. | -| [atclone][4] | Run command after cloning, within plugin's directory, e.g. `zi ice atclone"echo cloned"`. Ran also after downloading the snippet. | -| [atpull][4] | Run command after updating (only for new commits), within the plugin's directory. If starts with "!" then the command will be run before `mv` & `cp` ices and before `git pull` or `svn update`. Otherwise is run after `mv` & `cp` ices. Use the `atpull'%atclone'` to repeat `atclone` ice-modifier. | -| [atinit][4] | Run command after directory setup (cloning, checking, etc.) of the plugin/snippet before loading it. | -| [atload][4] | Run the given command within the plugin's directory after loading. Can be used with snippets. Passed code can be preceded with `!`, to be investigated (when using `load`, not `light`). | -| `run-atpull` | Always run the atpull hook (when updating), not exclusively for new commits. | -| `nocd` | Don't switch the current directory to the plugin's directory when evaluating the above ice-modifiers `atinit'โ€ฆ'`, `atload'โ€ฆ'`, etc. | -| [make][5] | Run the `make` command after cloning or updating and executing the `mv`, `cp`, `atpull`, `atclone` ice-modifiers. Can obtain argument, e.g. `make"install PREFIX=/opt"`. If the value starts with `!` then `make` is run before `atclone` and `atpull` ice-modifiers, e.g. `make'!'`. | -| `countdown` | Causes an interruptive (Ctrl-C) countdown 5โ€ฆ4โ€ฆ3โ€ฆ2โ€ฆ1โ€ฆ0 to be displayed before executing `atclone'โ€ฆ'`, `atpull'โ€ฆ'` and `make` ices-modifiers. | -| `reset` | Invokes `git reset --hard HEAD` for plugins or `svn revert` for SVN snippets before pulling any new changes. This way `git` or `svn` will not report conflicts if some changes were done by e.g.: `atclone'โ€ฆ'` ice-modifier. For file snippets and `gh-r` plugins, it invokes `rm -rf *`. | - -```mdx-code-block - -``` - -## Sticky-Emulation Of other shells {#sticky-emulation-of-other-shells} - -```mdx-code-block - -``` - -| Ice-modifier | Description | -| :-------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `sh`, `!sh` | Source the plugin's (or snippet's) script with `sh` emulation so that also all functions declared within the file will get a **sticky** emulation assigned and invoked with the `sh` emulation set-up. The `!sh` version switches additional options that are rather not important from the portability perspective. | -| `bash`, `!bash` | The same as `sh`, but with the `SH_GLOB` option disabled, for "Bash" regular expressions to work. | -| `ksh`, `!ksh` | The same as `sh`, but emulating the `ksh` shell. | -| `csh`, `!csh` | The same as `sh`, but emulating the `csh` shell. | - -```mdx-code-block - -``` - - - - - -[^1]: This pattern will alphabetically match and choose the first file e.g: `zi ice pick"*.plugin.zsh"; zi load โ€ฆ`. -[^2]: Example: `multisrc'misc.zsh grep.zsh'` and also using brace-expansion syntax: `multisrc'{misc,grep}.zsh'` also supports patterns. -[^3]: For `wait'[[ โ€ฆ ]]'`, `wait'(( โ€ฆ ))'`, loading is done when given condition is meet. For `wait'!โ€ฆ'`, the prompt is reset after load. Zsh can start 80% (i.e.: 5x) faster thanks to postponed loading. **Fact:** when `wait` is used without a value, it works as `wait'0'`. -[^4]: It will load once, the condition can be still true, but will not trigger the second load, unless the plugin is unloaded earlier, see `unload`. E.g.: `load'[[ $PWD = */github* ]]'`. -[^5]: It will unload once, then only if loaded again e.g: `unload'[[ $PWD != */github* ]]'`. -[^6]: Example: `zi ice if'[[ -n "$commands[otool]" ]]'; zi load โ€ฆ` or `zi ice if'[[ $OSTYPE = darwin* ]]'; zi load โ€ฆ`. -[^7]: To use the option, precede the ice content with `!` to automatically forward the call afterward, to a command of the same name as the function. Can obtain multiple functions to create โ€“ separate with `;`. -[^8]: The third possible value is `as"null"` โ€“ a shorthand for `pick"/dev/null" nocompletions` โ€“ i.e.: it disables the default script-file sourcing and also the installation of completions. -[^9]: In summary, `wrap` allows to extend the investigating beyond the moment of loading of a plugin. An example use is to `wrap` a precmd function of a prompt (like `_p9k_precmd()` of powerlevel10k) or other plugins that _postpones its initialization till the first prompt_ (like e.g.: zsh-autosuggestions). **Does not work with snippets.** -[^10]: If it has no value, then it works in the _auto_ mode โ€“ it automatically extracts all files of known archive extensions IF they aren't located deeper than in a sub-directory (this is to prevent extraction of some helper archive files, typically located somewhere deeper in the tree). If no such files will be found, then it extracts all found files of known **type** โ€“ the type is being read by the `file` Unix command. If not empty, then takes the names of the files to extract. Refer to the Wiki page for further information. - - - - - -[8]: /docs/guides/syntax/bindkey - -[9]: /docs/guides/syntax/standard#wrap - -[10]: /docs/guides/syntax/standard#extract - -[12]: /ecosystem/annexes/overview - -[alternate-syntax]: /docs/guides/syntax/standard#the-alternative-syntaxes - -[1]: /docs/guides/syntax/standard#src-pick-multisrc - -[2]: /docs/guides/syntax/standard#wait - -[3]: /docs/guides/customization#multiple-prompts - -[4]: /docs/guides/syntax/standard#atclone-atpull-atinit-atload - -[5]: /docs/guides/syntax/standard#the-make-syntax - -[6]: /docs/guides/syntax/standard#id-as - - - -[7]: https://github.com/search?q=topic%3Azservice+org%3Az-shell&type=Repositories diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/10_bindkey.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/10_bindkey.mdx deleted file mode 100644 index decb71d6..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/10_bindkey.mdx +++ /dev/null @@ -1,143 +0,0 @@ ---- -id: bindkey -title: ๐Ÿ—’ Bindkeys Map -sidebar_position: 5 -image: /img/png/theme/z/320x320.png -description: Usage bindmap & bindkey. -keywords: - - syntax - - bindkey - - bindmap - - how-to-use ---- - - - -## Bindkey - -The `bindkey` key mappings can be very confusing to decipher. It can use multiple different notations but it's smart to use the same key notation throughout your configuration. You can print all of your current key bindings in the current keymap with `bindkey`. To print the full `bindkey` command to add to your `.zshrc` file use `bindkey -L`. - -In general, you'll bind a widget so a key sequence or a key with a modifier. This can be declared in [caret notation][5] using `^`, using [escape sequences][6] using `\`, in octal (`\NNN`), hex (`\xNN`), or Unicode (`\uNNNN`). None of these are particularly great for people to read. This is also tricky because it depends on your keyboard, operating system, and shell. - -Here are some basics: - -- `\e`, `\E`, = Escape -- `^[` = Alt key (on some keyboards this is the same as escape) -- `^?` = Delete -- `^X`, `^` = Control - -The keys that come after the modifier can add more confusion. - -## Delete key binding - -To delete a key binding you can use `bindkey -d $KEYS`. Make sure you don't delete the characters you need for typing. - -## The `bindmap'โ€ฆ'` keybindings {#bindmap} - -Sometimes plugins call [bindkey][1] to assign keyboard shortcuts. This can cause problems because multiple plugins can bind the same keys. - -Also, the user might want a different binding(s), which will require complicated, additional `bindkey` commands in `.zshrc`. - -Zi provides a solution to this problem โ€“ the ability to remap the bindkeys with a short [ice-modifier][2] `bindmap'โ€ฆ'`. - -### Examples for `bindmap'โ€ฆ'` - -Map Ctrl-G instead of Ctrl-R for the history searcher. - -```shell -zi bindmap'^R -> ^G' for z-shell/history-search-multi-word -``` - -Map Ctrl-Shift-Left and Ctrl-Shift-Right used by URxvt instead of the Xterms' ones. Load with the bindkey-tracking โ†” with light-loading for anything else. - -Could also separate the bindmaps with a semicolon, i.e.: - -```shell -bindmap'"\\e[1\;6D" -> \\e[1\;5D ; "\\e[1\;6C" -> ^[[1\;5C' \ -``` - -```shell showLineNumbers -zi wait light-mode trackbinds bindmap'"\\e[1\;6D" -> \\e[1\;5D"' \ - bindmap'"\\e[1\;6C" -> ^[[1\;5C' pick'dircycle.zsh' for \ - michaelxmcbride/zsh-dircycle -``` - -Map space to regular space and Ctrl-Space to the `globalias` widget, which expands the alias entered on the left, provided by OMZ globalias plugin. - -```shell showLineNumbers -zi bindmap='!" " -> magic-space; !"^ " -> globalias' nocompletions \ - depth=1 pick=plugins/globalias/globalias.plugin.zsh for \ - ohmyzsh/ohmyzsh -``` - -### Explanation - -The `bindmap'โ€ฆ'` ice has two modes of operation: normal and exclamation-mark (`bindmap'!โ€ฆ'`). In the first mode, the remapping is being done from-key to-key, i.e.: `bindmap'fromkey -> to-key'`. - -The given key is changed to the second given key in the `bindkey` command while loading the plugin. In the second mode, the remapping is being done from-key to-widget, e.g: `bindmap'!from-key -> to-widget'`. - -In this mode, the given key is being mapped to the given widget instead of the widget specified in the `bindkey` command e.g.: - -Instead of: - -```shell showLineNumbers -bindkey "^ " magic-space -bindkey " " globalias -``` - -The actual call that'll be done will be: - -```shell showLineNumbers -bindkey "^ " globalias -bindkey " " magic-space -``` - -For the `bindmap='!" " -> magic-space; !"^ " -> globalias'` ice. - -### Using `bindmap'โ€ฆ'` in light mode {#trackbinds} - -When the investigation mode is on i.e.: - -- when the full loading mode is being used, default in the `for` syntax, and when `zi load โ€ฆ` is used, then the `bindmap'โ€ฆ'` ice works normally. - -In the non-investigation: - -- the [light mode](/search/?q=light+mode) โ€“ activated when `zi light โ€ฆ` or the `light-mode` ice is being used โ€“ the `bindmap'โ€ฆ'` is unavailable, unless the `trackbinds` ice is specified: - -With the use of the light-mode ice and the for-syntax: - -```shell showLineNumbers -zi light-mode for trackbinds bindmap'^R -> ^G' \ - z-shell/history-search-multi-word -``` - -With the use of the traditional syntax: - -```shell showLineNumbers -zi ice trackbinds bindmap'^R -> ^G' -zi light z-shell/history-search-multi-word -``` - -### Using the UPAR shorthands - -There are four special values that can be used on the left side of the bind-map: UPAR, DOWNAR, LEFTAR, RIGHTAR. They'll match up arrow, down arrow, etc. So that it's possible to do: - -```shell -zi bindmap='LEFTAR -> ^F; RIGHTAR -> ^G' โ€ฆ -``` - -The benefit of using the UPAR, โ€ฆ shorthands is that they cover multiple possible cursor-key codes for each of the cursor keys so that they'll work regardless of the terminal is used. - - - - - -[1]: /search/?q=bindkey - -[2]: /search/?q=ice+modifier - - - -[5]: https://en.wikipedia.org/wiki/Caret_notation - -[6]: https://en.wikipedia.org/wiki/Escape_sequence diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/_category_.json b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/_category_.json deleted file mode 100644 index a9ee6eec..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/guides/syntax/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "โœ๏ธ ่ฏญๆณ•", - "position": 1, - "link": { - "type": "generated-index" - } -} diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/index.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/index.mdx deleted file mode 100644 index 311ca4e0..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/index.mdx +++ /dev/null @@ -1,129 +0,0 @@ ---- -id: intro -slug: / -title: ๐ŸŽ‰ Introduction -sidebar_position: 1 -image: /img/png/theme/z/320x320.png -description: Introduction to a Swiss Army Knife for Zsh, formerly known as zplugin, zinit. ---- - - - -import Tabs from "@theme/Tabs"; -import TabItem from "@theme/TabItem"; -import Link from "@docusaurus/Link"; -import Image from "@theme/IdealImage"; -import ImgShow from "@site/src/components/ImgShow"; -import ZGitImg from "@site/static/img/png/theme/branch_box.png"; - -Z-Shell - - - - -The [RubyGems](https://rubygems.org) and [$GEM_HOME](https://guides.rubygems.org/command-reference/#gem-environment) are automatically managed by the [bin-gem-node](/ecosystem/annexes/bin-gem-node) annex or installed by the [any-gem](https://github.com/z-shell/any-gem) package. - - - - -The [Node](https://www.npmjs.com) modules and [$NODE_PATH](https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders) are automatically managed by the [bin-gem-node](/ecosystem/annexes/bin-gem-node) annex or installed by the [any-node](https://github.com/z-shell/any-node) package. - - - - -The [Python](https://python.org) modules, [$VIRTUALENV](https://docs.python.org/3/tutorial/venv.html) are automatically managed by the [bin-gem-node](/ecosystem/annexes/bin-gem-node) annex. - - - - -The [Rust](https://crates.io) packages are managed by the [rust](/ecosystem/annexes/rust) annex. - - - - -Install and control almost everything from GitHub: [Annexes](/ecosystem/category/-annexes), [Packages](/ecosystem/category/-packages), [Gallery of Invocations](/community/gallery/collection). - - - - -## Fast and feature-rich - -- [Meta plugins][meta-plugins] allow installing groups of plugins via a single, friendly label. -- [Packages](/ecosystem/category/-packages) offload the user from providing long and complex commands. -- [Annexes](ecosystem/category/-annexes) allow extending the plugin manager with new features. -- [Turbo][turbo-mode-zsh--53] mode yields **50-80%** faster Zsh startup. - -## Neat and flexible - -- [Customize paths][customizing-paths], use [multiple prompts][multiple-prompts] or create [your own][non-github-local-plugins] plugins. -- Supports [Oh My Zsh][oh-my-zsh-prezto] and [Prezto][oh-my-zsh-prezto] plugins and libraries. ([migration][help-migrate]). -- Does not use $FPATH, loading multiple plugins doesn't clutter $FPATH with the same number of entries, e.g: 10, 15, or more. -- Code is immune to KSH_ARRAYS and other options typically causing compatibility problems. -- Do not require root access, and provide many workarounds e.g: setting so-called **shims** locally. - -## Familiarize and control - -- [Visualize and manage][commands] elements of the plugin: - - **aliases**, **functions**, **bindkeys**, **zle widgets**, **completions**, **variables**. -- Quickly [familiarize][reports-and-statistics] yourself with rich and easy-to-digest information. -- [Load or unload][loading-and-unloading] plugins, use the ability to [manage][completions-management] completions. -- Docker [playground][configs-playground], test or propose configurations. - -## Summary - - - - - - - - - - - - -[commands]: /docs/guides/commands - -[completions-management]: /docs/guides/commands#completions-management - -[customizing-paths]: /docs/guides/customization#customizing-paths - -[loading-and-unloading]: /docs/guides/commands#loading-and-unloading - -[meta-plugins]: /search?q=meta+plugins - -[help-migrate]: /docs/getting_started/migration - -[multiple-prompts]: /docs/guides/customization#multiple-prompts - -[non-github-local-plugins]: /docs/guides/customization#non-github-local-plugins - -[oh-my-zsh-prezto]: /docs/getting_started/overview#oh-my-zsh-prezto - -[reports-and-statistics]: /docs/guides/commands#reports-and-statistics - -[turbo-mode-zsh--53]: /docs/getting_started/overview#turbo-mode-zsh--53 - - - -[configs-playground]: https://github.com/z-shell/playground diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/zi_code.mdx b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/zi_code.mdx deleted file mode 100644 index 07e22431..00000000 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/zi_code.mdx +++ /dev/null @@ -1,85 +0,0 @@ ---- -id: code -title: ๐Ÿ”– ไปฃ็ ๆ–‡ๆกฃ -image: /img/png/theme/z/320x320.png -description: The documentation lists all functions, interactions between them, their comments, and features. -keywords: - - code - - zi-code - - documentation - - code-explained ---- - - - -import APITable from "@site/src/components/APITable"; - -:::info - -Documentation is automatically updated every `Thursday` at `4:30 UTC` at [z-shell/docs][]. - -::: - -```mdx-code-block - -``` - -| File | Document format | Description | -| -------------------- | --------------------------------- | ------------------------------------------------------------- | -| [zi.zsh][2] | [adoc][3], [pdf][4], [html][5] | The main script which is always loaded, in `.zshrc` | -| [side.zsh][6] | [adoc][7], [pdf][8], [html][9] | Functions, loaded by `install.zsh` and `autoload.zsh` scripts | -| [install.zsh][10] | [adoc][11], [pdf][12], [html][13] | Functions used only when installing a plugin or snippet | -| [autoload.zsh][14] | [adoc][15], [pdf][16], [html][17] | Functions used only in interactive `Zi` invocations | -| [additional.zsh][18] | [adoc][19], [pdf][20], [html][21] | Additional support for functions | - -```mdx-code-block - -``` - - - - - - - -[z-shell/docs]: https://github.com/z-shell/docs - -[2]: https://github.com/z-shell/zi/blob/main/zi.zsh - -[3]: https://github.com/z-shell/docs/blob/main/code/zsdoc/asciidoc/zi.zsh.adoc - -[4]: https://github.com/z-shell/docs/blob/main/code/zsdoc/pdf/zi.zsh.pdf - -[5]: https://z-shell.github.io/docs/code/html/zi.zsh.html - -[6]: https://github.com/z-shell/zi/blob/main/lib/zsh/side.zsh - -[7]: https://github.com/z-shell/docs/blob/main/code/zsdoc/asciidoc/side.zsh.adoc - -[8]: https://github.com/z-shell/docs/blob/main/code/zsdoc/pdf/side.zsh.pdf - -[9]: https://z-shell.github.io/docs/code/html/side.zsh.html - -[10]: https://github.com/z-shell/zi/blob/main/lib/zsh/install.zsh - -[11]: https://github.com/z-shell/docs/blob/main/code/zsdoc/asciidoc/install.zsh.adoc - -[12]: https://github.com/z-shell/docs/blob/main/code/zsdoc/pdf/install.zsh.pdf - -[13]: https://z-shell.github.io/docs/code/html/install.zsh.html - -[14]: https://github.com/z-shell/zi/blob/main/lib/zsh/autoload.zsh - -[15]: https://github.com/z-shell/docs/blob/main/code/zsdoc/asciidoc/autoload.zsh.adoc - -[16]: https://github.com/z-shell/docs/blob/main/code/zsdoc/pdf/autoload.zsh.pdf - -[17]: https://z-shell.github.io/docs/code/html/autoload.zsh.html - -[18]: https://github.com/z-shell/zi/blob/main/lib/zsh/additional.zsh - -[19]: https://github.com/z-shell/docs/blob/main/code/zsdoc/asciidoc/additional.zsh.adoc - -[20]: https://github.com/z-shell/docs/blob/main/code/zsdoc/pdf/additional.zsh.pdf - -[21]: https://z-shell.github.io/docs/code/html/additional.zsh.html diff --git a/i18n/zh-Hans/docusaurus-theme-classic/footer.json b/i18n/zh-Hans/docusaurus-theme-classic/footer.json deleted file mode 100644 index 218a8a93..00000000 --- a/i18n/zh-Hans/docusaurus-theme-classic/footer.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "link.title.Knowledge Base": { - "message": "็Ÿฅ่ฏ†ๅบ“", - "description": "The title of the footer links column with title=Knowledge Base in the footer" - }, - "link.title.Community": { - "message": "็คพๅŒบ", - "description": "The title of the footer links column with title=Community in the footer" - }, - "link.title.More": { - "message": "ๆ›ดๅคš", - "description": "The title of the footer links column with title=More in the footer" - }, - "link.title.Legal": { - "message": "ๆณ•ๅพ‹ๆกๆฌพ", - "description": "The title of the footer links column with title=Legal in the footer" - }, - "link.item.label.Introduction": { - "message": "ไป‹็ป", - "description": "The label of footer link with label=Introduction linking to /docs" - }, - "link.item.label.Ecosystem": { - "message": "็”Ÿๆ€็ณป็ปŸ", - "description": "The label of footer link with label=Ecosystem linking to /ecosystem" - }, - "link.item.label.Community": { - "message": "็คพๅŒบ", - "description": "The label of footer link with label=Community linking to /community" - }, - "link.item.label.Guides": { - "message": "ๆŒ‡ๅ—", - "description": "The label of footer link with label=Guides linking to /docs/category/-guides" - }, - "link.item.label.Discussions": { - "message": "่ฎจ่ฎบ", - "description": "The label of footer link with label=Discussions linking to https://discussions.zshell.dev" - }, - "link.item.label.GitHub": { - "message": "GitHub", - "description": "The label of footer link with label=GitHub linking to https://github.com/orgs/z-shell" - }, - "link.item.label.Matrix": { - "message": "Matrix", - "description": "The label of footer link with label=Matrix linking to https://matrix.to/#/#zshell:matrix.org" - }, - "link.item.label.Gitter": { - "message": "Gitter", - "description": "The label of footer link with label=Gitter linking to https://gitter.im/z-shell/zi" - }, - "link.item.label.Zsh News": { - "message": "Zshๆ–ฐ้—ป", - "description": "The label of footer link with label=Zsh News linking to https://zsh.sourceforge.io/News/" - }, - "link.item.label.Zsh Manual": { - "message": "Zsh ๆ‰‹ๅ†Œ", - "description": "The label of footer link with label=Zsh Manual linking to https://zsh.sourceforge.io/Doc/Release/zsh_toc.html" - }, - "link.item.label.Localization": { - "message": "ๆœฌๅœฐๅŒ–", - "description": "The label of footer link with label=Localization linking to https://translate.zshell.dev" - }, - "link.item.label.Uptime Status": { - "message": "ๆญฃๅธธ่ฟ่กŒๆ—ถ้—ด", - "description": "The label of footer link with label=Uptime Status linking to https://status.zshell.dev" - }, - "link.item.label.Privacy Policy": { - "message": "้š็งๆ”ฟ็ญ–", - "description": "The label of footer link with label=Privacy Policy linking to legal/PRIVACY" - }, - "link.item.label.Code of Conduct": { - "message": "่กŒไธบๅ‡†ๅˆ™", - "description": "The label of footer link with label=Code of Conduct linking to legal/CODE_OF_CONDUCT" - }, - "copyright": { - "message": "Copyright ยฉ 2023 Z-Shell Community", - "description": "The footer copyright" - } -} diff --git a/i18n/zh-Hans/docusaurus-theme-classic/navbar.json b/i18n/zh-Hans/docusaurus-theme-classic/navbar.json deleted file mode 100644 index 8cf92953..00000000 --- a/i18n/zh-Hans/docusaurus-theme-classic/navbar.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "title": { - "message": "Z-Shell", - "description": "The title in the navbar" - }, - "item.label.Docs": { - "message": "ๆ–‡ๆกฃ", - "description": "Navbar item with label Docs" - }, - "item.label.Ecosystem": { - "message": "็”Ÿๆ€็ณป็ปŸ", - "description": "Navbar item with label Ecosystem" - }, - "item.label.Community": { - "message": "็คพๅŒบ", - "description": "Navbar item with label Community" - } -} diff --git a/package.json b/package.json index d8b83a72..b79c29b4 100644 --- a/package.json +++ b/package.json @@ -3,60 +3,71 @@ "version": "0.0.0", "private": true, "scripts": { - "trunk": "trunk", - "crowdin": "crowdin", - "docusaurus": "docusaurus", - "start": "docusaurus start", "build": "docusaurus build", "build:en": "docusaurus build --locale en", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", + "check": "trunk check", + "clean": "pnpm exec rm -rf node_modules build pnpm-lock.yaml", "clear": "docusaurus clear", - "serve": "docusaurus serve", - "write-docs-version": "docusaurus docs:version", - "write-heading-ids": "docusaurus write-heading-ids", - "write-translations": "docusaurus write-translations", - "write-community-version": "docusaurus docs:version:community", - "write-ecosystem-version": "docusaurus docs:version:ecosystem", - "crowdin:sync": "docusaurus write-translations && crowdin upload && crowdin download", + "crowdin": "crowdin", "crowdin:check": "crowdin lint && crowdin status", + "crowdin:sync": "docusaurus write-translations && crowdin upload && crowdin download", "crowdin:upload": "pnpm crowdin upload sources --delete-obsolete", - "clean": "pnpm exec rm -rf node_modules build pnpm-lock.yaml", + "deploy": "docusaurus deploy", + "docusaurus": "docusaurus", "preinstall": "npx only-allow pnpm", + "serve": "docusaurus serve", + "start": "docusaurus start", + "swizzle": "docusaurus swizzle", + "trunk": "trunk", "upgrade": "pnpm upgrade -i -L", - "check": "trunk check" + "write-community-version": "docusaurus docs:version:community", + "write-docs-version": "docusaurus docs:version", + "write-ecosystem-version": "docusaurus docs:version:ecosystem", + "write-heading-ids": "docusaurus write-heading-ids", + "write-translations": "docusaurus write-translations" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] }, "dependencies": { - "@docusaurus/core": "2.4.3", - "@docusaurus/plugin-ideal-image": "2.4.3", - "@docusaurus/plugin-pwa": "2.4.3", - "@docusaurus/preset-classic": "2.4.3", - "@docusaurus/theme-mermaid": "2.4.3", + "@docusaurus/core": "3.0.0", + "@docusaurus/plugin-ideal-image": "3.0.0", + "@docusaurus/plugin-pwa": "3.0.0", + "@docusaurus/preset-classic": "3.0.0", + "@docusaurus/theme-mermaid": "3.0.0", "@loadable/component": "5.15.3", - "@mdx-js/react": "1.6.22", + "@mdx-js/react": "3.0.0", "asciinema-player": "3.6.3", "clsx": "2.0.0", - "prism-react-renderer": "1.3.5", + "prism-react-renderer": "2.3.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-spinners": "0.13.8" }, "devDependencies": { "@crowdin/cli": "^3.15.0", - "@docusaurus/eslint-plugin": "^2.4.3", - "@docusaurus/module-type-aliases": "2.4.3", - "@docusaurus/types": "2.4.3", + "@docusaurus/eslint-plugin": "^3.0.0", + "@docusaurus/module-type-aliases": "3.0.0", + "@docusaurus/tsconfig": "3.0.0", + "@docusaurus/types": "3.0.0", "@trunkio/launcher": "^1.2.7", - "@types/node": "^20.9.2", - "@types/react": "^18.2.37", - "@typescript-eslint/parser": "^6.12.0", - "eslint": "^8.54.0", + "@types/node": "^20.10.1", + "@typescript-eslint/eslint-plugin": "^6.13.1", + "@typescript-eslint/parser": "^6.13.1", + "cheerio": "1.0.0-rc.12", + "eslint": "^8.0.1", "eslint-config-prettier": "^9.0.0", - "eslint-config-standard-with-typescript": "^40.0.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-import": "^2.29.0", - "eslint-plugin-n": "^16.3.1", - "eslint-plugin-promise": "^6.1.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "stylelint": "^15.11.0", @@ -66,18 +77,6 @@ "stylelint-csstree-validator": "^3.0.0", "typescript": "5.3.2" }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, "packageManager": "pnpm@8.9.0", "pnpm": { "peerDependencyRules": { @@ -85,10 +84,6 @@ "react-dom": "18", "react": "18" } - }, - "overrides": { - "got@<11.8.5": ">=11.8.5", - "trim@<0.0.3": ">=0.0.3" } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0e037e0d..259f0fa7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,32 +4,28 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - got@<11.8.5: '>=11.8.5' - trim@<0.0.3: '>=0.0.3' - dependencies: '@docusaurus/core': - specifier: 2.4.3 - version: 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + specifier: 3.0.0 + version: 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) '@docusaurus/plugin-ideal-image': - specifier: 2.4.3 - version: 2.4.3(eslint@8.54.0)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + specifier: 3.0.0 + version: 3.0.0(eslint@8.54.0)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) '@docusaurus/plugin-pwa': - specifier: 2.4.3 - version: 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + specifier: 3.0.0 + version: 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) '@docusaurus/preset-classic': - specifier: 2.4.3 - version: 2.4.3(@algolia/client-search@4.20.0)(@types/react@18.2.37)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)(typescript@5.3.2) + specifier: 3.0.0 + version: 3.0.0(@algolia/client-search@4.20.0)(@types/react@18.2.39)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)(typescript@5.3.2) '@docusaurus/theme-mermaid': - specifier: 2.4.3 - version: 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + specifier: 3.0.0 + version: 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) '@loadable/component': specifier: 5.15.3 version: 5.15.3(react@18.2.0) '@mdx-js/react': - specifier: 1.6.22 - version: 1.6.22(react@18.2.0) + specifier: 3.0.0 + version: 3.0.0(@types/react@18.2.39)(react@18.2.0) asciinema-player: specifier: 3.6.3 version: 3.6.3 @@ -37,8 +33,8 @@ dependencies: specifier: 2.0.0 version: 2.0.0 prism-react-renderer: - specifier: 1.3.5 - version: 1.3.5(react@18.2.0) + specifier: 2.3.0 + version: 2.3.0(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -54,47 +50,44 @@ devDependencies: specifier: ^3.15.0 version: 3.15.0 '@docusaurus/eslint-plugin': - specifier: ^2.4.3 - version: 2.4.3(eslint@8.54.0)(typescript@5.3.2) + specifier: ^3.0.0 + version: 3.0.0(eslint@8.54.0)(typescript@5.3.2) '@docusaurus/module-type-aliases': - specifier: 2.4.3 - version: 2.4.3(react-dom@18.2.0)(react@18.2.0) + specifier: 3.0.0 + version: 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/tsconfig': + specifier: 3.0.0 + version: 3.0.0 '@docusaurus/types': - specifier: 2.4.3 - version: 2.4.3(react-dom@18.2.0)(react@18.2.0) + specifier: 3.0.0 + version: 3.0.0(react-dom@18.2.0)(react@18.2.0) '@trunkio/launcher': specifier: ^1.2.7 version: 1.2.7 '@types/node': - specifier: ^20.9.2 - version: 20.9.2 - '@types/react': - specifier: ^18.2.37 - version: 18.2.37 + specifier: ^20.10.1 + version: 20.10.1 + '@typescript-eslint/eslint-plugin': + specifier: ^6.13.1 + version: 6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.2) '@typescript-eslint/parser': - specifier: ^6.12.0 - version: 6.12.0(eslint@8.54.0)(typescript@5.3.2) + specifier: ^6.13.1 + version: 6.13.1(eslint@8.54.0)(typescript@5.3.2) + cheerio: + specifier: 1.0.0-rc.12 + version: 1.0.0-rc.12 eslint: - specifier: ^8.54.0 + specifier: ^8.0.1 version: 8.54.0 eslint-config-prettier: specifier: ^9.0.0 version: 9.0.0(eslint@8.54.0) - eslint-config-standard-with-typescript: - specifier: ^40.0.0 - version: 40.0.0(@typescript-eslint/eslint-plugin@6.12.0)(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0)(typescript@5.3.2) eslint-import-resolver-typescript: specifier: ^3.6.1 - version: 3.6.1(@typescript-eslint/parser@6.12.0)(eslint-plugin-import@2.29.0)(eslint@8.54.0) + version: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.54.0) eslint-plugin-import: specifier: ^2.29.0 - version: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) - eslint-plugin-n: - specifier: ^16.3.1 - version: 16.3.1(eslint@8.54.0) - eslint-plugin-promise: - specifier: ^6.1.1 - version: 6.1.1(eslint@8.54.0) + version: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) eslint-plugin-react: specifier: ^7.33.2 version: 7.33.2(eslint@8.54.0) @@ -269,7 +262,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.20 dev: false /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): @@ -284,57 +277,33 @@ packages: leven: 3.1.0 dev: false - /@babel/code-frame@7.22.13: - resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.20 + '@babel/highlight': 7.23.4 chalk: 2.4.2 - /@babel/compat-data@7.22.20: - resolution: {integrity: sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/core@7.12.9: - resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==} + /@babel/compat-data@7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.22.15 - '@babel/helper-module-transforms': 7.22.20(@babel/core@7.12.9) - '@babel/helpers': 7.22.15 - '@babel/parser': 7.22.16 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.2 - '@babel/types': 7.22.19 - convert-source-map: 1.9.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - lodash: 4.17.21 - resolve: 1.22.8 - semver: 5.7.2 - source-map: 0.5.7 - transitivePeerDependencies: - - supports-color dev: false - /@babel/core@7.22.20: - resolution: {integrity: sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA==} + /@babel/core@7.23.5: + resolution: {integrity: sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.22.15 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.5 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) - '@babel/helpers': 7.22.15 - '@babel/parser': 7.22.16 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) + '@babel/helpers': 7.23.5 + '@babel/parser': 7.23.5 '@babel/template': 7.22.15 - '@babel/traverse': 7.23.2 - '@babel/types': 7.22.19 - convert-source-map: 1.9.0 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 + convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 @@ -343,23 +312,13 @@ packages: - supports-color dev: false - /@babel/generator@7.22.15: - resolution: {integrity: sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.22.19 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 - jsesc: 2.5.2 - dev: false - - /@babel/generator@7.23.0: - resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} + /@babel/generator@7.23.5: + resolution: {integrity: sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.5 '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 dev: false @@ -367,63 +326,63 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.19 + '@babel/types': 7.23.5 dev: false /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.19 + '@babel/types': 7.23.5 dev: false /@babel/helper-compilation-targets@7.22.15: resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.22.20 - '@babel/helper-validator-option': 7.22.15 - browserslist: 4.21.11 + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.1 lru-cache: 5.1.1 semver: 6.3.1 dev: false - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + /@babel/helper-create-class-features-plugin@7.23.5(@babel/core@7.23.5): + resolution: {integrity: sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.15 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.20) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: false - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.22.20): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.5): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: false - /@babel/helper-define-polyfill-provider@0.4.2(@babel/core@7.22.20): - resolution: {integrity: sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==} + /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.5): + resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 @@ -438,64 +397,42 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-function-name@7.22.5: - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.22.19 - dev: false - /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.23.0 + '@babel/types': 7.23.5 dev: false /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.5 dev: false - /@babel/helper-member-expression-to-functions@7.22.15: - resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.19 + '@babel/types': 7.23.5 dev: false /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.19 - dev: false - - /@babel/helper-module-transforms@7.22.20(@babel/core@7.12.9): - resolution: {integrity: sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.12.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/types': 7.23.5 dev: false - /@babel/helper-module-transforms@7.22.20(@babel/core@7.22.20): - resolution: {integrity: sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A==} + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -507,11 +444,7 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.19 - dev: false - - /@babel/helper-plugin-utils@7.10.4: - resolution: {integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==} + '@babel/types': 7.23.5 dev: false /@babel/helper-plugin-utils@7.22.5: @@ -519,27 +452,27 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.22.20): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.5): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: false - /@babel/helper-replace-supers@7.22.20(@babel/core@7.22.20): + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.5): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.22.15 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 dev: false @@ -547,25 +480,25 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.19 + '@babel/types': 7.23.5 dev: false /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.19 + '@babel/types': 7.23.5 dev: false /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.5 dev: false - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} dev: false @@ -573,8 +506,8 @@ packages: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.22.15: - resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} dev: false @@ -582,1120 +515,1067 @@ packages: resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-function-name': 7.22.5 + '@babel/helper-function-name': 7.23.0 '@babel/template': 7.22.15 - '@babel/types': 7.22.19 + '@babel/types': 7.23.5 dev: false - /@babel/helpers@7.22.15: - resolution: {integrity: sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==} + /@babel/helpers@7.23.5: + resolution: {integrity: sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/traverse': 7.23.2 - '@babel/types': 7.22.19 + '@babel/traverse': 7.23.5 + '@babel/types': 7.23.5 transitivePeerDependencies: - supports-color dev: false - /@babel/highlight@7.22.20: - resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.22.16: - resolution: {integrity: sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==} + /@babel/parser@7.23.5: + resolution: {integrity: sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.19 + '@babel/types': 7.23.5 dev: false - /@babel/parser@7.23.0: - resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.23.0 - dev: false - - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.5) dev: false - /@babel/plugin-proposal-object-rest-spread@7.12.1(@babel/core@7.12.9): - resolution: {integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==} + engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.12.9 + '@babel/core': 7.23.5 + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.12.9) dev: false - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.20): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.5): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 dev: false - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.20): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.5): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.20): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.5): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.20): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.5): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.20): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.5): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.20): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.5): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.20): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.5): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.20): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.5): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-syntax-jsx@7.12.1(@babel/core@7.12.9): - resolution: {integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.12.9 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.20): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.5): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.20): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.5): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.20): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.5): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.9): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.12.9 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.20): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.5): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.20): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.5): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.20): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.5): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.20): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.5): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.20): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.5): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.20): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.5): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-async-generator-functions@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==} + /@babel/plugin-transform-async-generator-functions@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.20) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.20) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.22.20) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-block-scoping@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw==} + /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.22.20): - resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} + /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.20) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-classes@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} + /@babel/plugin-transform-classes@7.23.5(@babel/core@7.23.5): + resolution: {integrity: sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.22.5 + '@babel/helper-function-name': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.20) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: false - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.15 dev: false - /@babel/plugin-transform-destructuring@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==} + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.22.20): - resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} + /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.22.20): - resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} + /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} + /@babel/plugin-transform-for-of@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-function-name': 7.22.5 + '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.22.20): - resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} + /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.22.20): - resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} + /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.20) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-commonjs@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-jWL4eh90w0HQOTKP2MoXXUpVxilxsB2Vl4ji69rSjS3EcZ/v4sBmn+A3NpepuJzBhOaEBbR7udonlHHn5DWidg==} + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: false - /@babel/plugin-transform-modules-systemjs@7.22.11(@babel/core@7.22.20): - resolution: {integrity: sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==} + /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.20 dev: false - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-module-transforms': 7.22.20(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.20): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.5): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.22.20): - resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} + /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.22.20): - resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} + /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.20) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} + /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.20 - '@babel/core': 7.22.20 + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.5 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.20) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.20) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.5) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.22.20) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.22.20): - resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} + /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-optional-chaining@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A==} + /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.20) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.12.9): - resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.12.9 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 + '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) - '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.22.20): - resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.20) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-constant-elements@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==} + /@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} + /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.22.20): + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.5): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.20) - '@babel/types': 7.22.19 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.5) + '@babel/types': 7.23.5 dev: false - /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==} + /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.22.20): - resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 dev: false - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-runtime@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-tEVLhk8NRZSmwQ0DJtxxhTrCht1HVo8VaMzYT4w6lwyKBuHsgoioAUA7/6eT2fRfc5/23fuGdlwIxXhRVgWr4g==} + /@babel/plugin-transform-runtime@7.23.4(@babel/core@7.23.5): + resolution: {integrity: sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.20) - babel-plugin-polyfill-corejs3: 0.8.4(@babel/core@7.22.20) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.20) + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.5) + babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.5) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.5) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-typescript@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==} + /@babel/plugin-transform-typescript@7.23.5(@babel/core@7.23.5): + resolution: {integrity: sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/helper-create-class-features-plugin': 7.23.5(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.20) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.5) dev: false - /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.22.20): - resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.20): - resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.5) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/preset-env@7.22.20(@babel/core@7.22.20): - resolution: {integrity: sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==} + /@babel/preset-env@7.23.5(@babel/core@7.23.5): + resolution: {integrity: sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.22.20 - '@babel/core': 7.22.20 + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.5 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.20) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.20) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.20) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.20) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.20) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.20) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.20) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.20) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.20) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.20) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.20) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.20) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.20) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.20) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.20) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.20) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.20) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-async-generator-functions': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-block-scoping': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.22.20) - '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-destructuring': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.22.20) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.22.20) - '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.22.20) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.22.20) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-transform-modules-systemjs': 7.22.11(@babel/core@7.22.20) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.22.20) - '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.22.20) - '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.22.20) - '@babel/plugin-transform-optional-chaining': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.22.20) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.22.20) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.22.20) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.20) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.22.20) - '@babel/types': 7.22.19 - babel-plugin-polyfill-corejs2: 0.4.5(@babel/core@7.22.20) - babel-plugin-polyfill-corejs3: 0.8.4(@babel/core@7.22.20) - babel-plugin-polyfill-regenerator: 0.5.2(@babel/core@7.22.20) - core-js-compat: 3.32.2 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.5) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.5) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.5) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.5) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.5) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.5) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-async-generator-functions': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-classes': 7.23.5(@babel/core@7.23.5) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-for-of': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.5) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.5) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.5) + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.5) + babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.5) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.5) + core-js-compat: 3.33.3 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.22.20): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.5): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.22.19 + '@babel/types': 7.23.5 esutils: 2.0.3 dev: false - /@babel/preset-react@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==} + /@babel/preset-react@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.22.20) + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.5) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.5) + '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.23.5) dev: false - /@babel/preset-typescript@7.22.15(@babel/core@7.22.20): - resolution: {integrity: sha512-HblhNmh6yM+cU4VwbBRpxFhxsTdfS1zsvH9W+gEjD0ARV9+8B4sNfpI6GuhePti84nuvhiwKS539jKPFHskA9A==} + /@babel/preset-typescript@7.23.3(@babel/core@7.23.5): + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.20) - '@babel/plugin-transform-modules-commonjs': 7.22.15(@babel/core@7.22.20) - '@babel/plugin-transform-typescript': 7.22.15(@babel/core@7.22.20) + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.5) + '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.23.5) dev: false /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: false - /@babel/runtime-corejs3@7.22.15: - resolution: {integrity: sha512-SAj8oKi8UogVi6eXQXKNPu8qZ78Yzy7zawrlTr0M+IuW/g8Qe9gVDhGcF9h1S69OyACpYoLxEzpjs1M15sI5wQ==} + /@babel/runtime-corejs3@7.23.5: + resolution: {integrity: sha512-7+ziVclejQTLYhXl+Oi1f6gTGD1XDCeLa4R472TNGQxb08zbEJ0OdNoh5Piz+57Ltmui6xR88BXR4gS3/Toslw==} engines: {node: '>=6.9.0'} dependencies: - core-js-pure: 3.32.2 + core-js-pure: 3.33.3 regenerator-runtime: 0.14.0 dev: false - /@babel/runtime@7.22.15: - resolution: {integrity: sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.0 - - /@babel/runtime@7.23.2: - resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} + /@babel/runtime@7.23.5: + resolution: {integrity: sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 - dev: false /@babel/template@7.22.15: resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.13 - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 dev: false - /@babel/traverse@7.23.2: - resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} + /@babel/traverse@7.23.5: + resolution: {integrity: sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.0 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.5 + '@babel/types': 7.23.5 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/types@7.22.19: - resolution: {integrity: sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: false - - /@babel/types@7.23.0: - resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} + /@babel/types@7.23.5: + resolution: {integrity: sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.22.5 + '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 dev: false @@ -1767,7 +1647,7 @@ packages: resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} dev: false - /@docsearch/react@3.5.2(@algolia/client-search@4.20.0)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0): + /@docsearch/react@3.5.2(@algolia/client-search@4.20.0)(@types/react@18.2.39)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0): resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -1787,7 +1667,7 @@ packages: '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0)(search-insights@2.11.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) '@docsearch/css': 3.5.2 - '@types/react': 18.2.37 + '@types/react': 18.2.39 algoliasearch: 4.20.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1796,35 +1676,35 @@ packages: - '@algolia/client-search' dev: false - /@docusaurus/core@2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA==} - engines: {node: '>=16.14'} + /@docusaurus/core@3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-bHWtY55tJTkd6pZhHrWz1MpWuwN4edZe0/UWgFF7PW/oJeDZvLSXKqwny3L91X1/LGGoypBGkeZn8EOuKeL4yQ==} + engines: {node: '>=18.0'} hasBin: true peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 - dependencies: - '@babel/core': 7.22.20 - '@babel/generator': 7.22.15 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.20) - '@babel/plugin-transform-runtime': 7.22.15(@babel/core@7.22.20) - '@babel/preset-env': 7.22.20(@babel/core@7.22.20) - '@babel/preset-react': 7.22.15(@babel/core@7.22.20) - '@babel/preset-typescript': 7.22.15(@babel/core@7.22.20) - '@babel/runtime': 7.22.15 - '@babel/runtime-corejs3': 7.22.15 - '@babel/traverse': 7.23.2 - '@docusaurus/cssnano-preset': 2.4.3 - '@docusaurus/logger': 2.4.3 - '@docusaurus/mdx-loader': 2.4.3(@docusaurus/types@2.4.3)(react-dom@18.2.0)(react@18.2.0) + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 + dependencies: + '@babel/core': 7.23.5 + '@babel/generator': 7.23.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.5) + '@babel/plugin-transform-runtime': 7.23.4(@babel/core@7.23.5) + '@babel/preset-env': 7.23.5(@babel/core@7.23.5) + '@babel/preset-react': 7.23.3(@babel/core@7.23.5) + '@babel/preset-typescript': 7.23.3(@babel/core@7.23.5) + '@babel/runtime': 7.23.5 + '@babel/runtime-corejs3': 7.23.5 + '@babel/traverse': 7.23.5 + '@docusaurus/cssnano-preset': 3.0.0 + '@docusaurus/logger': 3.0.0 + '@docusaurus/mdx-loader': 3.0.0(@docusaurus/types@3.0.0)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/react-loadable': 5.5.2(react@18.2.0) - '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-common': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-common': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) '@slorber/static-site-generator-webpack-plugin': 4.0.7 '@svgr/webpack': 6.5.1 autoprefixer: 10.4.16(postcss@8.4.31) - babel-loader: 8.3.0(@babel/core@7.22.20)(webpack@5.88.2) + babel-loader: 9.1.3(@babel/core@7.23.5)(webpack@5.89.0) babel-plugin-dynamic-import-node: 2.3.3 boxen: 6.2.1 chalk: 4.1.2 @@ -1833,50 +1713,49 @@ packages: cli-table3: 0.6.3 combine-promises: 1.2.0 commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.88.2) - core-js: 3.32.2 - css-loader: 6.8.1(webpack@5.88.2) - css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.2)(webpack@5.88.2) + copy-webpack-plugin: 11.0.0(webpack@5.89.0) + core-js: 3.33.3 + css-loader: 6.8.1(webpack@5.89.0) + css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.2)(webpack@5.89.0) cssnano: 5.1.15(postcss@8.4.31) del: 6.1.1 detect-port: 1.5.1 escape-html: 1.0.3 eta: 2.2.0 - file-loader: 6.2.0(webpack@5.88.2) - fs-extra: 10.1.0 - html-minifier-terser: 6.1.0 + file-loader: 6.2.0(webpack@5.89.0) + fs-extra: 11.2.0 + html-minifier-terser: 7.2.0 html-tags: 3.3.1 - html-webpack-plugin: 5.5.3(webpack@5.88.2) - import-fresh: 3.3.0 + html-webpack-plugin: 5.5.3(webpack@5.89.0) leven: 3.1.0 lodash: 4.17.21 - mini-css-extract-plugin: 2.7.6(webpack@5.88.2) + mini-css-extract-plugin: 2.7.6(webpack@5.89.0) postcss: 8.4.31 - postcss-loader: 7.3.3(postcss@8.4.31)(typescript@5.3.2)(webpack@5.88.2) + postcss-loader: 7.3.3(postcss@8.4.31)(typescript@5.3.2)(webpack@5.89.0) prompts: 2.4.2 react: 18.2.0 - react-dev-utils: 12.0.1(eslint@8.54.0)(typescript@5.3.2)(webpack@5.88.2) + react-dev-utils: 12.0.1(eslint@8.54.0)(typescript@5.3.2)(webpack@5.89.0) react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.88.2) + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.89.0) react-router: 5.3.4(react@18.2.0) react-router-config: 5.1.1(react-router@5.3.4)(react@18.2.0) react-router-dom: 5.3.4(react@18.2.0) - rtl-detect: 1.0.4 + rtl-detect: 1.1.2 semver: 7.5.4 serve-handler: 6.1.5 shelljs: 0.8.5 - terser-webpack-plugin: 5.3.9(webpack@5.88.2) + terser-webpack-plugin: 5.3.9(webpack@5.89.0) tslib: 2.6.2 - update-notifier: 5.1.0 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.88.2) - wait-on: 6.0.1 - webpack: 5.88.2 - webpack-bundle-analyzer: 4.9.1 - webpack-dev-server: 4.15.1(webpack@5.88.2) - webpack-merge: 5.9.0 - webpackbar: 5.0.2(webpack@5.88.2) + update-notifier: 6.0.2 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) + wait-on: 7.2.0 + webpack: 5.89.0 + webpack-bundle-analyzer: 4.10.1 + webpack-dev-server: 4.15.1(webpack@5.89.0) + webpack-merge: 5.10.0 + webpackbar: 5.0.2(webpack@5.89.0) transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' @@ -1896,9 +1775,9 @@ packages: - webpack-cli dev: false - /@docusaurus/cssnano-preset@2.4.3: - resolution: {integrity: sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA==} - engines: {node: '>=16.14'} + /@docusaurus/cssnano-preset@3.0.0: + resolution: {integrity: sha512-FHiRfwmVvIVdIGsHcijUOaX7hMn0mugVYB7m4GkpYI6Mi56zwQV4lH5p7DxcW5CUYNWMVxz2loWSCiWEm5ikwA==} + engines: {node: '>=18.0'} dependencies: cssnano-preset-advanced: 5.3.10(postcss@8.4.31) postcss: 8.4.31 @@ -1906,9 +1785,9 @@ packages: tslib: 2.6.2 dev: false - /@docusaurus/eslint-plugin@2.4.3(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-CckN1JCU7biEP4JMDCNGJf6VcmaCqqIruYrvSU91pKYrFuYi0gblfkljagkHc9+mw1ZX2jtoTm4XfoZ/Q9WDCA==} - engines: {node: '>=16.14'} + /@docusaurus/eslint-plugin@3.0.0(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-wQzKwbvKkXzSEcWPKItIBhaOQe38/fHkUhiGNsM3xQq2WJ7/CdgKR3avjHJHz2hqpfSNvU5gLHYQFfgfDZ6Flw==} + engines: {node: '>=18.0'} peerDependencies: eslint: '>=6' dependencies: @@ -1920,53 +1799,62 @@ packages: - typescript dev: true - /@docusaurus/logger@2.4.3: - resolution: {integrity: sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w==} - engines: {node: '>=16.14'} + /@docusaurus/logger@3.0.0: + resolution: {integrity: sha512-6eX0eOfioMQCk+qgCnHvbLLuyIAA+r2lSID6d6JusiLtDKmYMfNp3F4yyE8bnb0Abmzt2w68XwptEFYyALSAXw==} + engines: {node: '>=18.0'} dependencies: chalk: 4.1.2 tslib: 2.6.2 dev: false - /@docusaurus/lqip-loader@2.4.3(webpack@5.88.2): - resolution: {integrity: sha512-hdumVOGbI4eiQQsZvbbosnm86FNkp23GikNanC0MJIIz8j3sCg8I0GEmg9nnVZor/2tE4ud5AWqjsVrx1CwcjA==} - engines: {node: '>=16.14'} + /@docusaurus/lqip-loader@3.0.0(webpack@5.89.0): + resolution: {integrity: sha512-nBHyGTaXynpKnSaV0d72Bi4+sjacZmEErFw1DlTht1mixik4AmyinkfLVOnzqLZIkptYT3QT56sXwW83TpPGKg==} + engines: {node: '>=18.0'} dependencies: - '@docusaurus/logger': 2.4.3 - file-loader: 6.2.0(webpack@5.88.2) + '@docusaurus/logger': 3.0.0 + file-loader: 6.2.0(webpack@5.89.0) lodash: 4.17.21 - sharp: 0.30.7 + sharp: 0.32.6 tslib: 2.6.2 transitivePeerDependencies: - webpack dev: false - /@docusaurus/mdx-loader@2.4.3(@docusaurus/types@2.4.3)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw==} - engines: {node: '>=16.14'} + /@docusaurus/mdx-loader@3.0.0(@docusaurus/types@3.0.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-JkGge6WYDrwjNgMxwkb6kNQHnpISt5L1tMaBWFDBKeDToFr5Kj29IL35MIQm0RfrnoOfr/29RjSH4aRtvlAR0A==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@babel/parser': 7.22.16 - '@babel/traverse': 7.23.2 - '@docusaurus/logger': 2.4.3 - '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) - '@mdx-js/mdx': 1.6.22 + '@babel/parser': 7.23.5 + '@babel/traverse': 7.23.5 + '@docusaurus/logger': 3.0.0 + '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) + '@mdx-js/mdx': 3.0.0 + '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 - file-loader: 6.2.0(webpack@5.88.2) - fs-extra: 10.1.0 + estree-util-value-to-estree: 3.0.1 + file-loader: 6.2.0(webpack@5.89.0) + fs-extra: 11.2.0 image-size: 1.0.2 - mdast-util-to-string: 2.0.0 + mdast-util-mdx: 3.0.0 + mdast-util-to-string: 4.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - remark-emoji: 2.2.0 + rehype-raw: 7.0.0 + remark-directive: 3.0.0 + remark-emoji: 4.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.0 stringify-object: 3.3.0 tslib: 2.6.2 - unified: 9.2.2 - unist-util-visit: 2.0.3 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.88.2) - webpack: 5.88.2 + unified: 11.0.4 + unist-util-visit: 5.0.0 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) + vfile: 6.0.1 + webpack: 5.89.0 transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' @@ -1976,21 +1864,21 @@ packages: - webpack-cli dev: false - /@docusaurus/module-type-aliases@2.4.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-cwkBkt1UCiduuvEAo7XZY01dJfRn7UR/75mBgOdb1hKknhrabJZ8YH+7savd/y9kLExPyrhe0QwdS9GuzsRRIA==} + /@docusaurus/module-type-aliases@3.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-CfC6CgN4u/ce+2+L1JdsHNyBd8yYjl4De2B2CBj2a9F7WuJ5RjV1ciuU7KDg8uyju+NRVllRgvJvxVUjCdkPiw==} peerDependencies: react: '*' react-dom: '*' dependencies: '@docusaurus/react-loadable': 5.5.2(react@18.2.0) - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) '@types/history': 4.7.11 - '@types/react': 18.2.37 - '@types/react-router-config': 5.0.7 + '@types/react': 18.2.39 + '@types/react-router-config': 5.0.10 '@types/react-router-dom': 5.3.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) + react-helmet-async: 2.0.1(react-dom@18.2.0)(react@18.2.0) react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) transitivePeerDependencies: - '@swc/core' @@ -1998,31 +1886,32 @@ packages: - uglify-js - webpack-cli - /@docusaurus/plugin-content-blog@2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-PVhypqaA0t98zVDpOeTqWUTvRqCEjJubtfFUQ7zJNYdbYTbS/E/ytq6zbLVsN/dImvemtO/5JQgjLxsh8XLo8Q==} - engines: {node: '>=16.14'} + /@docusaurus/plugin-content-blog@3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-iA8Wc3tIzVnROJxrbIsU/iSfixHW16YeW9RWsBw7hgEk4dyGsip9AsvEDXobnRq3lVv4mfdgoS545iGWf1Ip9w==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/logger': 2.4.3 - '@docusaurus/mdx-loader': 2.4.3(@docusaurus/types@2.4.3)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-common': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/logger': 3.0.0 + '@docusaurus/mdx-loader': 3.0.0(@docusaurus/types@3.0.0)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-common': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) cheerio: 1.0.0-rc.12 feed: 4.2.2 - fs-extra: 10.1.0 + fs-extra: 11.2.0 lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) reading-time: 1.5.0 + srcset: 4.0.0 tslib: 2.6.2 - unist-util-visit: 2.0.3 + unist-util-visit: 5.0.0 utility-types: 3.10.0 - webpack: 5.88.2 + webpack: 5.89.0 transitivePeerDependencies: - '@parcel/css' - '@swc/core' @@ -2041,31 +1930,30 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-docs@2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-N7Po2LSH6UejQhzTCsvuX5NOzlC+HiXOVvofnEPj0WhMu1etpLEXE6a4aTxrtg95lQ5kf0xUIdjX9sh3d3G76A==} - engines: {node: '>=16.14'} + /@docusaurus/plugin-content-docs@3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-MFZsOSwmeJ6rvoZMLieXxPuJsA9M9vn7/mUZmfUzSUTeHAeq+fEqvLltFOxcj4DVVDTYlQhgWYd+PISIWgamKw==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/logger': 2.4.3 - '@docusaurus/mdx-loader': 2.4.3(@docusaurus/types@2.4.3)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/module-type-aliases': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) - '@types/react-router-config': 5.0.7 + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/logger': 3.0.0 + '@docusaurus/mdx-loader': 3.0.0(@docusaurus/types@3.0.0)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/module-type-aliases': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) + '@types/react-router-config': 5.0.10 combine-promises: 1.2.0 - fs-extra: 10.1.0 - import-fresh: 3.3.0 + fs-extra: 11.2.0 js-yaml: 4.1.0 lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 utility-types: 3.10.0 - webpack: 5.88.2 + webpack: 5.89.0 transitivePeerDependencies: - '@parcel/css' - '@swc/core' @@ -2084,23 +1972,23 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-pages@2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-txtDVz7y3zGk67q0HjG0gRttVPodkHqE0bpJ+7dOaTH40CQFLSh7+aBeGnPOTl+oCPG+hxkim4SndqPqXjQ8Bg==} - engines: {node: '>=16.14'} + /@docusaurus/plugin-content-pages@3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-EXYHXK2Ea1B5BUmM0DgSwaOYt8EMSzWtYUToNo62Q/EoWxYOQFdWglYnw3n7ZEGyw5Kog4LHaRwlazAdmDomvQ==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/mdx-loader': 2.4.3(@docusaurus/types@2.4.3)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) - fs-extra: 10.1.0 + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/mdx-loader': 3.0.0(@docusaurus/types@3.0.0)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) + fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 - webpack: 5.88.2 + webpack: 5.89.0 transitivePeerDependencies: - '@parcel/css' - '@swc/core' @@ -2119,20 +2007,20 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-debug@2.4.3(@types/react@18.2.37)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-LkUbuq3zCmINlFb+gAd4ZvYr+bPAzMC0hwND4F7V9bZ852dCX8YoWyovVUBKq4er1XsOwSQaHmNGtObtn8Av8Q==} - engines: {node: '>=16.14'} + /@docusaurus/plugin-debug@3.0.0(@types/react@18.2.39)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-gSV07HfQgnUboVEb3lucuVyv5pEoy33E7QXzzn++3kSc/NLEimkjXh3sSnTGOishkxCqlFV9BHfY/VMm5Lko5g==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) - fs-extra: 10.1.0 + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) + '@microlink/react-json-view': 1.23.0(@types/react@18.2.39)(react-dom@18.2.0)(react@18.2.0) + fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-json-view: 1.21.3(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0) tslib: 2.6.2 transitivePeerDependencies: - '@parcel/css' @@ -2154,16 +2042,16 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-analytics@2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ==} - engines: {node: '>=16.14'} + /@docusaurus/plugin-google-analytics@3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-0zcLK8w+ohmSm1fjUQCqeRsjmQc0gflvXnaVA/QVVCtm2yCiBtkrSGQXqt4MdpD7Xq8mwo3qVd5nhIcvrcebqw==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 @@ -2185,16 +2073,17 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-gtag@2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-5FMg0rT7sDy4i9AGsvJC71MQrqQZwgLNdDetLEGDHLfSHLvJhQbTCUGbGXknUgWXQJckcV/AILYeJy+HhxeIFA==} - engines: {node: '>=16.14'} + /@docusaurus/plugin-google-gtag@3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-asEKavw8fczUqvXu/s9kG2m1epLnHJ19W6CCCRZEmpnkZUZKiM8rlkDiEmxApwIc2JDDbIMk+Y2TMkJI8mInbQ==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) + '@types/gtag.js': 0.0.12 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 @@ -2216,16 +2105,16 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-tag-manager@2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-1jTzp71yDGuQiX9Bi0pVp3alArV0LSnHXempvQTxwCGAEzUWWaBg4d8pocAlTpbP9aULQQqhgzrs8hgTRPOM0A==} - engines: {node: '>=16.14'} + /@docusaurus/plugin-google-tag-manager@3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-lytgu2eyn+7p4WklJkpMGRhwC29ezj4IjPPmVJ8vGzcSl6JkR1sADTHLG5xWOMuci420xZl9dGEiLTQ8FjCRyA==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 @@ -2247,30 +2136,30 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-ideal-image@2.4.3(eslint@8.54.0)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-cwnOKz5HwR/WwNL5lzGOWppyhaHQ2dPj1/x9hwv5VPwNmDDnWsYEwfBOTq8AYT27vFrYAH1tx9UX7QurRaIa4A==} - engines: {node: '>=16.14'} + /@docusaurus/plugin-ideal-image@3.0.0(eslint@8.54.0)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-CQhAhJkG944axdrJkBx5z4dRBG+Gj2ht1XnQH2Qou2mMLV05Dj1eQwav4Y0zW6xGNDS19SRprzBscjJEHnNPVA==} + engines: {node: '>=18.0'} peerDependencies: jimp: '*' - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 peerDependenciesMeta: jimp: optional: true dependencies: - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/lqip-loader': 2.4.3(webpack@5.88.2) - '@docusaurus/responsive-loader': 1.7.0(sharp@0.30.7) - '@docusaurus/theme-translations': 2.4.3 - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) - '@endiliey/react-ideal-image': 0.0.11(prop-types@15.8.1)(react-waypoint@10.3.0)(react@18.2.0) + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/lqip-loader': 3.0.0(webpack@5.89.0) + '@docusaurus/responsive-loader': 1.7.0(sharp@0.32.6) + '@docusaurus/theme-translations': 3.0.0 + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) + '@slorber/react-ideal-image': 0.0.12(prop-types@15.8.1)(react-waypoint@10.3.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-waypoint: 10.3.0(react@18.2.0) - sharp: 0.30.7 + sharp: 0.32.6 tslib: 2.6.2 - webpack: 5.88.2 + webpack: 5.89.0 transitivePeerDependencies: - '@parcel/css' - '@swc/core' @@ -2290,33 +2179,34 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-pwa@2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-D/3F/tBMmcvPWgDxE4Oc6q7kO0hbMAqO6gGSqYJ4wNKpgZdFyDhURsep97k03UUojn/Oe/SDls+0D/Omopd0tQ==} - engines: {node: '>=16.14'} + /@docusaurus/plugin-pwa@3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-ZUgEOkIh/nfyVGL4dwDGxak2Q0mzC6jR2HuZnYX0sjQuIGPJYuX/3XCInXS8t5gH51+EoyhptxRYpSp1vsNVpg==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@babel/core': 7.22.20 - '@babel/preset-env': 7.22.20(@babel/core@7.22.20) - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/theme-common': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/theme-translations': 2.4.3 - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) - babel-loader: 8.3.0(@babel/core@7.22.20)(webpack@5.88.2) + '@babel/core': 7.23.5 + '@babel/preset-env': 7.23.5(@babel/core@7.23.5) + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/theme-common': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/theme-translations': 3.0.0 + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) + babel-loader: 9.1.3(@babel/core@7.23.5)(webpack@5.89.0) clsx: 1.2.1 - core-js: 3.32.2 + core-js: 3.33.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - terser-webpack-plugin: 5.3.9(webpack@5.88.2) + terser-webpack-plugin: 5.3.9(webpack@5.89.0) tslib: 2.6.2 - webpack: 5.88.2 - webpack-merge: 5.9.0 - workbox-build: 6.6.0 - workbox-precaching: 6.6.0 - workbox-window: 6.6.0 + webpack: 5.89.0 + webpack-merge: 5.10.0 + webpackbar: 5.0.2(webpack@5.89.0) + workbox-build: 6.6.1 + workbox-precaching: 6.6.1 + workbox-window: 6.6.1 transitivePeerDependencies: - '@parcel/css' - '@swc/core' @@ -2336,20 +2226,20 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-sitemap@2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-LRQYrK1oH1rNfr4YvWBmRzTL0LN9UAPxBbghgeFRBm5yloF6P+zv1tm2pe2hQTX/QP5bSKdnajCvfnScgKXMZQ==} - engines: {node: '>=16.14'} + /@docusaurus/plugin-sitemap@3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-cfcONdWku56Oi7Hdus2uvUw/RKRRlIGMViiHLjvQ21CEsEqnQ297MRoIgjU28kL7/CXD/+OiANSq3T1ezAiMhA==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/logger': 2.4.3 - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-common': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) - fs-extra: 10.1.0 + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/logger': 3.0.0 + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-common': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) + fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) sitemap: 7.1.1 @@ -2372,26 +2262,26 @@ packages: - webpack-cli dev: false - /@docusaurus/preset-classic@2.4.3(@algolia/client-search@4.20.0)(@types/react@18.2.37)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)(typescript@5.3.2): - resolution: {integrity: sha512-tRyMliepY11Ym6hB1rAFSNGwQDpmszvWYJvlK1E+md4SW8i6ylNHtpZjaYFff9Mdk3i/Pg8ItQq9P0daOJAvQw==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 - dependencies: - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/plugin-content-blog': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/plugin-content-docs': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/plugin-content-pages': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/plugin-debug': 2.4.3(@types/react@18.2.37)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/plugin-google-analytics': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/plugin-google-gtag': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/plugin-google-tag-manager': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/plugin-sitemap': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/theme-classic': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/theme-common': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/theme-search-algolia': 2.4.3(@algolia/client-search@4.20.0)(@docusaurus/types@2.4.3)(@types/react@18.2.37)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)(typescript@5.3.2) - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) + /@docusaurus/preset-classic@3.0.0(@algolia/client-search@4.20.0)(@types/react@18.2.39)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)(typescript@5.3.2): + resolution: {integrity: sha512-90aOKZGZdi0+GVQV+wt8xx4M4GiDrBRke8NO8nWwytMEXNrxrBxsQYFRD1YlISLJSCiHikKf3Z/MovMnQpnZyg==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 + dependencies: + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/plugin-content-blog': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/plugin-content-docs': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/plugin-content-pages': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/plugin-debug': 3.0.0(@types/react@18.2.39)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/plugin-google-analytics': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/plugin-google-gtag': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/plugin-google-tag-manager': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/plugin-sitemap': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/theme-classic': 3.0.0(@types/react@18.2.39)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/theme-common': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/theme-search-algolia': 3.0.0(@algolia/client-search@4.20.0)(@docusaurus/types@3.0.0)(@types/react@18.2.39)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)(typescript@5.3.2) + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -2421,11 +2311,11 @@ packages: peerDependencies: react: '*' dependencies: - '@types/react': 18.2.37 + '@types/react': 18.2.39 prop-types: 15.8.1 react: 18.2.0 - /@docusaurus/responsive-loader@1.7.0(sharp@0.30.7): + /@docusaurus/responsive-loader@1.7.0(sharp@0.32.6): resolution: {integrity: sha512-N0cWuVqTRXRvkBxeMQcy/OF2l7GN8rmni5EzR3HpwR+iU2ckYPnziceojcxvvxQ5NqZg1QfEW0tycQgHp+e+Nw==} engines: {node: '>=12'} peerDependencies: @@ -2438,47 +2328,48 @@ packages: optional: true dependencies: loader-utils: 2.0.4 - sharp: 0.30.7 - dev: false - - /@docusaurus/theme-classic@2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-QKRAJPSGPfDY2yCiPMIVyr+MqwZCIV2lxNzqbyUW0YkrlmdzzP3WuQJPMGLCjWgQp/5c9kpWMvMxjhpZx1R32Q==} - engines: {node: '>=16.14'} - peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 - dependencies: - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/mdx-loader': 2.4.3(@docusaurus/types@2.4.3)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/module-type-aliases': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/plugin-content-blog': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/plugin-content-docs': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/plugin-content-pages': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/theme-common': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/theme-translations': 2.4.3 - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-common': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) - '@mdx-js/react': 1.6.22(react@18.2.0) + sharp: 0.32.6 + dev: false + + /@docusaurus/theme-classic@3.0.0(@types/react@18.2.39)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-wWOHSrKMn7L4jTtXBsb5iEJ3xvTddBye5PjYBnWiCkTAlhle2yMdc4/qRXW35Ot+OV/VXu6YFG8XVUJEl99z0A==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 + dependencies: + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/mdx-loader': 3.0.0(@docusaurus/types@3.0.0)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/module-type-aliases': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/plugin-content-blog': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/plugin-content-docs': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/plugin-content-pages': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/theme-common': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/theme-translations': 3.0.0 + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-common': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) + '@mdx-js/react': 3.0.0(@types/react@18.2.39)(react@18.2.0) clsx: 1.2.1 copy-text-to-clipboard: 3.2.0 infima: 0.2.0-alpha.43 lodash: 4.17.21 nprogress: 0.2.0 postcss: 8.4.31 - prism-react-renderer: 1.3.5(react@18.2.0) + prism-react-renderer: 2.3.0(react@18.2.0) prismjs: 1.29.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-router-dom: 5.3.4(react@18.2.0) - rtlcss: 3.5.0 + rtlcss: 4.1.1 tslib: 2.6.2 utility-types: 3.10.0 transitivePeerDependencies: - '@parcel/css' - '@swc/core' - '@swc/css' + - '@types/react' - bufferutil - csso - debug @@ -2493,30 +2384,29 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-common@2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-7KaDJBXKBVGXw5WOVt84FtN8czGWhM0lbyWEZXGp8AFfL6sZQfRTluFp4QriR97qwzSyOfQb+nzcDZZU4tezUw==} - engines: {node: '>=16.14'} + /@docusaurus/theme-common@3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-PahRpCLRK5owCMEqcNtUeTMOkTUCzrJlKA+HLu7f+8osYOni617YurXvHASCsSTxurjXaLz/RqZMnASnqATxIA==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@docusaurus/mdx-loader': 2.4.3(@docusaurus/types@2.4.3)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/module-type-aliases': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/plugin-content-blog': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/plugin-content-docs': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/plugin-content-pages': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-common': 2.4.3(@docusaurus/types@2.4.3) + '@docusaurus/mdx-loader': 3.0.0(@docusaurus/types@3.0.0)(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/module-type-aliases': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/plugin-content-blog': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/plugin-content-docs': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/plugin-content-pages': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-common': 3.0.0(@docusaurus/types@3.0.0) '@types/history': 4.7.11 - '@types/react': 18.2.37 - '@types/react-router-config': 5.0.7 + '@types/react': 18.2.39 + '@types/react-router-config': 5.0.10 clsx: 1.2.1 parse-numeric-range: 1.3.0 - prism-react-renderer: 1.3.5(react@18.2.0) + prism-react-renderer: 2.3.0(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 - use-sync-external-store: 1.2.0(react@18.2.0) utility-types: 3.10.0 transitivePeerDependencies: - '@docusaurus/types' @@ -2537,20 +2427,19 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-mermaid@2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): - resolution: {integrity: sha512-S1tZ3xpowtFiTrpTKmvVbRHUYGOlEG5CnPzWlO4huJT1sAwLR+pD6f9DYUlPv2+9NezF3EfUrUyW9xLH0UP58w==} - engines: {node: '>=16.14'} + /@docusaurus/theme-mermaid@3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2): + resolution: {integrity: sha512-e5uoGmow5kk5AeiyYFHYGsM5LFg4ClCIIQQcBrD9zs1E8yxTDNX524MylO6klqqCn3TmxJ34RogEg78QnthRng==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/module-type-aliases': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/theme-common': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) - '@mdx-js/react': 1.6.22(react@18.2.0) - mermaid: 9.4.3 + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/module-type-aliases': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/theme-common': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) + mermaid: 10.6.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 @@ -2572,26 +2461,26 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-search-algolia@2.4.3(@algolia/client-search@4.20.0)(@docusaurus/types@2.4.3)(@types/react@18.2.37)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)(typescript@5.3.2): - resolution: {integrity: sha512-jziq4f6YVUB5hZOB85ELATwnxBz/RmSLD3ksGQOLDPKVzat4pmI8tddNWtriPpxR04BNT+ZfpPUMFkNFetSW1Q==} - engines: {node: '>=16.14'} + /@docusaurus/theme-search-algolia@3.0.0(@algolia/client-search@4.20.0)(@docusaurus/types@3.0.0)(@types/react@18.2.39)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0)(typescript@5.3.2): + resolution: {integrity: sha512-PyMUNIS9yu0dx7XffB13ti4TG47pJq3G2KE/INvOFb6M0kWh+wwCnucPg4WAOysHOPh+SD9fjlXILoLQstgEIA==} + engines: {node: '>=18.0'} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: - '@docsearch/react': 3.5.2(@algolia/client-search@4.20.0)(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0) - '@docusaurus/core': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/logger': 2.4.3 - '@docusaurus/plugin-content-docs': 2.4.3(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/theme-common': 2.4.3(@docusaurus/types@2.4.3)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) - '@docusaurus/theme-translations': 2.4.3 - '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) - '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3) + '@docsearch/react': 3.5.2(@algolia/client-search@4.20.0)(@types/react@18.2.39)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.11.0) + '@docusaurus/core': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/logger': 3.0.0 + '@docusaurus/plugin-content-docs': 3.0.0(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/theme-common': 3.0.0(@docusaurus/types@3.0.0)(eslint@8.54.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.2) + '@docusaurus/theme-translations': 3.0.0 + '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) + '@docusaurus/utils-validation': 3.0.0(@docusaurus/types@3.0.0) algoliasearch: 4.20.0 - algoliasearch-helper: 3.14.2(algoliasearch@4.20.0) + algoliasearch-helper: 3.15.0(algoliasearch@4.20.0) clsx: 1.2.1 eta: 2.2.0 - fs-extra: 10.1.0 + fs-extra: 11.2.0 lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2619,56 +2508,60 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-translations@2.4.3: - resolution: {integrity: sha512-H4D+lbZbjbKNS/Zw1Lel64PioUAIT3cLYYJLUf3KkuO/oc9e0QCVhIYVtUI2SfBCF2NNdlyhBDQEEMygsCedIg==} - engines: {node: '>=16.14'} + /@docusaurus/theme-translations@3.0.0: + resolution: {integrity: sha512-p/H3+5LdnDtbMU+csYukA6601U1ld2v9knqxGEEV96qV27HsHfP63J9Ta2RBZUrNhQAgrwFzIc9GdDO8P1Baag==} + engines: {node: '>=18.0'} dependencies: - fs-extra: 10.1.0 + fs-extra: 11.2.0 tslib: 2.6.2 dev: false - /@docusaurus/types@2.4.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw==} + /@docusaurus/tsconfig@3.0.0: + resolution: {integrity: sha512-yR9sng4izFudS+v1xV5yboNfc1hATMDpYp9iYfWggbBDwKSm0J1IdIgkygRnqC/AWs1ARUQUpG0gFotPCE/4Ew==} + dev: true + + /@docusaurus/types@3.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Qb+l/hmCOVemReuzvvcFdk84bUmUFyD0Zi81y651ie3VwMrXqC7C0E7yZLKMOsLj/vkqsxHbtkAuYMI89YzNzg==} peerDependencies: - react: ^16.8.4 || ^17.0.0 || 18 - react-dom: ^16.8.4 || ^17.0.0 || 18 + react: ^18.0.0 || 18 + react-dom: ^18.0.0 || 18 dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.37 + '@types/react': 18.2.39 commander: 5.1.0 - joi: 17.10.2 + joi: 17.11.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) utility-types: 3.10.0 - webpack: 5.88.2 - webpack-merge: 5.9.0 + webpack: 5.89.0 + webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - webpack-cli - /@docusaurus/utils-common@2.4.3(@docusaurus/types@2.4.3): - resolution: {integrity: sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ==} - engines: {node: '>=16.14'} + /@docusaurus/utils-common@3.0.0(@docusaurus/types@3.0.0): + resolution: {integrity: sha512-7iJWAtt4AHf4PFEPlEPXko9LZD/dbYnhLe0q8e3GRK1EXZyRASah2lznpMwB3lLmVjq/FR6ZAKF+E0wlmL5j0g==} + engines: {node: '>=18.0'} peerDependencies: '@docusaurus/types': '*' peerDependenciesMeta: '@docusaurus/types': optional: true dependencies: - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) tslib: 2.6.2 dev: false - /@docusaurus/utils-validation@2.4.3(@docusaurus/types@2.4.3): - resolution: {integrity: sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw==} - engines: {node: '>=16.14'} + /@docusaurus/utils-validation@3.0.0(@docusaurus/types@3.0.0): + resolution: {integrity: sha512-MlIGUspB/HBW5CYgHvRhmkZbeMiUWKbyVoCQYvbGN8S19SSzVgzyy97KRpcjCOYYeEdkhmRCUwFBJBlLg3IoNQ==} + engines: {node: '>=18.0'} dependencies: - '@docusaurus/logger': 2.4.3 - '@docusaurus/utils': 2.4.3(@docusaurus/types@2.4.3) - joi: 17.10.2 + '@docusaurus/logger': 3.0.0 + '@docusaurus/utils': 3.0.0(@docusaurus/types@3.0.0) + joi: 17.11.0 js-yaml: 4.1.0 tslib: 2.6.2 transitivePeerDependencies: @@ -2680,32 +2573,33 @@ packages: - webpack-cli dev: false - /@docusaurus/utils@2.4.3(@docusaurus/types@2.4.3): - resolution: {integrity: sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==} - engines: {node: '>=16.14'} + /@docusaurus/utils@3.0.0(@docusaurus/types@3.0.0): + resolution: {integrity: sha512-JwGjh5mtjG9XIAESyPxObL6CZ6LO/yU4OSTpq7Q0x+jN25zi/AMbvLjpSyZzWy+qm5uQiFiIhqFaOxvy+82Ekg==} + engines: {node: '>=18.0'} peerDependencies: '@docusaurus/types': '*' peerDependenciesMeta: '@docusaurus/types': optional: true dependencies: - '@docusaurus/logger': 2.4.3 - '@docusaurus/types': 2.4.3(react-dom@18.2.0)(react@18.2.0) + '@docusaurus/logger': 3.0.0 + '@docusaurus/types': 3.0.0(react-dom@18.2.0)(react@18.2.0) '@svgr/webpack': 6.5.1 escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.88.2) - fs-extra: 10.1.0 + file-loader: 6.2.0(webpack@5.89.0) + fs-extra: 11.2.0 github-slugger: 1.5.0 globby: 11.1.0 gray-matter: 4.0.3 + jiti: 1.21.0 js-yaml: 4.1.0 lodash: 4.17.21 micromatch: 4.0.5 resolve-pathname: 3.0.0 shelljs: 0.8.5 tslib: 2.6.2 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.88.2) - webpack: 5.88.2 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.89.0) + webpack: 5.89.0 transitivePeerDependencies: - '@swc/core' - esbuild @@ -2714,19 +2608,6 @@ packages: - webpack-cli dev: false - /@endiliey/react-ideal-image@0.0.11(prop-types@15.8.1)(react-waypoint@10.3.0)(react@18.2.0): - resolution: {integrity: sha512-QxMjt/Gvur/gLxSoCy7VIyGGGrGmDN+VHcXkN3R2ApoWX0EYUE+hMgPHSW/PV6VVebZ1Nd4t2UnGRBDihu16JQ==} - engines: {node: '>= 8.9.0', npm: '> 3'} - peerDependencies: - prop-types: '>=15' - react: '>=0.14.x || 18' - react-waypoint: '>=9.0.2' - dependencies: - prop-types: 15.8.1 - react: 18.2.0 - react-waypoint: 10.3.0(react@18.2.0) - dev: false - /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2797,10 +2678,10 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 20.9.2 - '@types/yargs': 17.0.24 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.10.1 + '@types/yargs': 17.0.32 chalk: 4.1.2 dev: false @@ -2810,7 +2691,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.20 /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} @@ -2824,13 +2705,13 @@ packages: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.20 /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.19: - resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} + /@jridgewell/trace-mapping@0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 @@ -2845,48 +2726,68 @@ packages: peerDependencies: react: ^16.3.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: - '@babel/runtime': 7.22.15 + '@babel/runtime': 7.23.5 hoist-non-react-statics: 3.3.2 react: 18.2.0 react-is: 16.13.1 dev: false - /@mdx-js/mdx@1.6.22: - resolution: {integrity: sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==} - dependencies: - '@babel/core': 7.12.9 - '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9) - '@mdx-js/util': 1.6.22 - babel-plugin-apply-mdx-type-prop: 1.6.22(@babel/core@7.12.9) - babel-plugin-extract-import-names: 1.6.22 - camelcase-css: 2.0.1 - detab: 2.0.4 - hast-util-raw: 6.0.1 - lodash.uniq: 4.5.0 - mdast-util-to-hast: 10.0.1 - remark-footnotes: 2.0.0 - remark-mdx: 1.6.22 - remark-parse: 8.0.3 - remark-squeeze-paragraphs: 4.0.0 - style-to-object: 0.3.0 - unified: 9.2.0 - unist-builder: 2.0.3 - unist-util-visit: 2.0.3 + /@mdx-js/mdx@3.0.0: + resolution: {integrity: sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw==} + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdx': 2.0.10 + collapse-white-space: 2.1.0 + devlop: 1.1.0 + estree-util-build-jsx: 3.0.1 + estree-util-is-identifier-name: 3.0.0 + estree-util-to-js: 2.0.0 + estree-walker: 3.0.3 + hast-util-to-estree: 3.1.0 + hast-util-to-jsx-runtime: 2.2.0 + markdown-extensions: 2.0.0 + periscopic: 3.1.0 + remark-mdx: 3.0.0 + remark-parse: 11.0.0 + remark-rehype: 11.0.0 + source-map: 0.7.4 + unified: 11.0.4 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 transitivePeerDependencies: - supports-color dev: false - /@mdx-js/react@1.6.22(react@18.2.0): - resolution: {integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==} + /@mdx-js/react@3.0.0(@types/react@18.2.39)(react@18.2.0): + resolution: {integrity: sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ==} peerDependencies: - react: ^16.13.1 || ^17.0.0 || 18 + '@types/react': '>=16' + react: '>=16 || 18' dependencies: + '@types/mdx': 2.0.10 + '@types/react': 18.2.39 react: 18.2.0 dev: false - /@mdx-js/util@1.6.22: - resolution: {integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==} + /@microlink/react-json-view@1.23.0(@types/react@18.2.39)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-HYJ1nsfO4/qn8afnAMhuk7+5a1vcjEaS8Gm5Vpr1SqdHDY0yLBJGpA+9DvKyxyVKaUkXzKXt3Mif9RcmFSdtYg==} + peerDependencies: + react: '>= 15 || 18' + react-dom: '>= 15 || 18' + dependencies: + flux: 4.0.4(react@18.2.0) + react: 18.2.0 + react-base16-styling: 0.6.0 + react-dom: 18.2.0(react@18.2.0) + react-lifecycles-compat: 3.0.4 + react-textarea-autosize: 8.3.4(@types/react@18.2.39)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - encoding dev: false /@nodelib/fs.scandir@2.1.5: @@ -2907,11 +2808,32 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 + /@pnpm/config.env-replace@1.1.0: + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + dev: false + + /@pnpm/network.ca-file@1.0.2: + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + dependencies: + graceful-fs: 4.2.10 + dev: false + + /@pnpm/npm-conf@2.2.2: + resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} + engines: {node: '>=12'} + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + dev: false + /@polka/url@1.0.0-next.23: resolution: {integrity: sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==} dev: false - /@rollup/plugin-babel@5.3.1(@babel/core@7.22.20)(rollup@2.79.1): + /@rollup/plugin-babel@5.3.1(@babel/core@7.23.5)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -2922,7 +2844,7 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 '@babel/helper-module-imports': 7.22.15 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 @@ -2980,11 +2902,37 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: false + /@sindresorhus/is@4.6.0: + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + dev: false + /@sindresorhus/is@5.6.0: resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} dev: false + /@slorber/react-ideal-image@0.0.12(prop-types@15.8.1)(react-waypoint@10.3.0)(react@18.2.0): + resolution: {integrity: sha512-u8KiDTEkMA7/KAeA5ywg/P7YG4zuKhWtswfVZDH8R8HXgQsFcHIYU2WaQnGuK/Du7Wdj90I+SdFmajSGFRvoKA==} + engines: {node: '>= 8.9.0', npm: '> 3'} + peerDependencies: + prop-types: '>=15' + react: '>=0.14.x || 18' + react-waypoint: '>=9.0.2' + dependencies: + prop-types: 15.8.1 + react: 18.2.0 + react-waypoint: 10.3.0(react@18.2.0) + dev: false + + /@slorber/remark-comment@1.0.0: + resolution: {integrity: sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + dev: false + /@slorber/static-site-generator-webpack-plugin@4.0.7: resolution: {integrity: sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==} engines: {node: '>=14'} @@ -3003,101 +2951,101 @@ packages: string.prototype.matchall: 4.0.10 dev: false - /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.22.20): + /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.23.5): resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 dev: false - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.22.20): + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.5): resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 dev: false - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.22.20): + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.5): resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 dev: false - /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.22.20): + /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.23.5): resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 dev: false - /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.22.20): + /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.23.5): resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 dev: false - /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.22.20): + /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.23.5): resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 dev: false - /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.22.20): + /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.23.5): resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 dev: false - /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.22.20): + /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.23.5): resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} engines: {node: '>=12'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 + '@babel/core': 7.23.5 dev: false - /@svgr/babel-preset@6.5.1(@babel/core@7.22.20): + /@svgr/babel-preset@6.5.1(@babel/core@7.23.5): resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} engines: {node: '>=10'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.20 - '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.22.20) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.22.20) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.22.20) - '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.22.20) - '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.22.20) - '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.22.20) - '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.22.20) - '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.23.5) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.5) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.5) + '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.23.5) + '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.23.5) + '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.23.5) + '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.23.5) + '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.23.5) dev: false /@svgr/core@6.5.1: resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.22.20 - '@svgr/babel-preset': 6.5.1(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@svgr/babel-preset': 6.5.1(@babel/core@7.23.5) '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) camelcase: 6.3.0 cosmiconfig: 7.1.0 @@ -3109,7 +3057,7 @@ packages: resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} engines: {node: '>=10'} dependencies: - '@babel/types': 7.22.19 + '@babel/types': 7.23.5 entities: 4.5.0 dev: false @@ -3119,8 +3067,8 @@ packages: peerDependencies: '@svgr/core': ^6.0.0 dependencies: - '@babel/core': 7.22.20 - '@svgr/babel-preset': 6.5.1(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@svgr/babel-preset': 6.5.1(@babel/core@7.23.5) '@svgr/core': 6.5.1 '@svgr/hast-util-to-babel-ast': 6.5.1 svg-parser: 2.0.4 @@ -3144,11 +3092,11 @@ packages: resolution: {integrity: sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.22.20 - '@babel/plugin-transform-react-constant-elements': 7.22.5(@babel/core@7.22.20) - '@babel/preset-env': 7.22.20(@babel/core@7.22.20) - '@babel/preset-react': 7.22.15(@babel/core@7.22.20) - '@babel/preset-typescript': 7.22.15(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/plugin-transform-react-constant-elements': 7.23.3(@babel/core@7.23.5) + '@babel/preset-env': 7.23.5(@babel/core@7.23.5) + '@babel/preset-react': 7.23.3(@babel/core@7.23.5) + '@babel/preset-typescript': 7.23.3(@babel/core@7.23.5) '@svgr/core': 6.5.1 '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) @@ -3173,73 +3121,109 @@ packages: engines: {node: '>=10.13.0'} dev: false - /@types/body-parser@1.19.3: - resolution: {integrity: sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==} + /@types/acorn@4.0.6: + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + dependencies: + '@types/estree': 1.0.5 + dev: false + + /@types/body-parser@1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.10.1 + dev: false + + /@types/bonjour@3.5.13: + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/connect': 3.4.36 - '@types/node': 20.9.2 + '@types/node': 20.10.1 dev: false - /@types/bonjour@3.5.11: - resolution: {integrity: sha512-isGhjmBtLIxdHBDl2xGwUzEM8AOyOvWsADWq7rqirdi/ZQoHnLWErHvsThcEzTX8juDRiZtzp2Qkv5bgNh6mAg==} + /@types/connect-history-api-fallback@1.5.4: + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: - '@types/node': 20.9.2 + '@types/express-serve-static-core': 4.17.41 + '@types/node': 20.10.1 dev: false - /@types/connect-history-api-fallback@1.5.1: - resolution: {integrity: sha512-iaQslNbARe8fctL5Lk+DsmgWOM83lM+7FzP0eQUJs1jd3kBE8NWqBTIT2S8SqQOJjxvt2eyIjpOuYeRXq2AdMw==} + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/express-serve-static-core': 4.17.37 - '@types/node': 20.9.2 + '@types/node': 20.10.1 dev: false - /@types/connect@3.4.36: - resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} + /@types/d3-scale-chromatic@3.0.3: + resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} + dev: false + + /@types/d3-scale@4.0.8: + resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} + dependencies: + '@types/d3-time': 3.0.3 + dev: false + + /@types/d3-time@3.0.3: + resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} + dev: false + + /@types/debug@4.1.12: + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} dependencies: - '@types/node': 20.9.2 + '@types/ms': 0.7.34 dev: false - /@types/eslint-scope@3.7.5: - resolution: {integrity: sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA==} + /@types/eslint-scope@3.7.7: + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + dependencies: + '@types/eslint': 8.44.7 + '@types/estree': 1.0.5 + + /@types/eslint@8.44.7: + resolution: {integrity: sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==} dependencies: - '@types/eslint': 8.44.3 - '@types/estree': 1.0.2 + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 - /@types/eslint@8.44.3: - resolution: {integrity: sha512-iM/WfkwAhwmPff3wZuPLYiHX18HI24jU8k1ZSH7P8FHwxTjZ2P6CoX2wnF43oprR+YXJM6UUxATkNvyv/JHd+g==} + /@types/estree-jsx@1.0.3: + resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==} dependencies: - '@types/estree': 1.0.2 - '@types/json-schema': 7.0.13 + '@types/estree': 1.0.5 + dev: false /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: false - /@types/estree@1.0.2: - resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/express-serve-static-core@4.17.37: - resolution: {integrity: sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==} + /@types/express-serve-static-core@4.17.41: + resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} dependencies: - '@types/node': 20.9.2 - '@types/qs': 6.9.8 - '@types/range-parser': 1.2.4 - '@types/send': 0.17.1 + '@types/node': 20.10.1 + '@types/qs': 6.9.10 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 dev: false - /@types/express@4.17.18: - resolution: {integrity: sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==} + /@types/express@4.17.21: + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} dependencies: - '@types/body-parser': 1.19.3 - '@types/express-serve-static-core': 4.17.37 - '@types/qs': 6.9.8 - '@types/serve-static': 1.15.2 + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.17.41 + '@types/qs': 6.9.10 + '@types/serve-static': 1.15.5 + dev: false + + /@types/gtag.js@0.0.12: + resolution: {integrity: sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==} dev: false - /@types/hast@2.3.6: - resolution: {integrity: sha512-47rJE80oqPmFdVDCD7IheXBrVdwuBgsYwoczFvKmwfo2Mzsnt+V9OONsYauFmICb6lQPpCuXYJWejBNs4pDJRg==} + /@types/hast@3.0.3: + resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==} dependencies: - '@types/unist': 2.0.8 + '@types/unist': 3.0.2 dev: false /@types/history@4.7.11: @@ -3249,204 +3233,220 @@ packages: resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} dev: false - /@types/http-cache-semantics@4.0.2: - resolution: {integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==} + /@types/http-cache-semantics@4.0.4: + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} dev: false - /@types/http-errors@2.0.2: - resolution: {integrity: sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==} + /@types/http-errors@2.0.4: + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} dev: false - /@types/http-proxy@1.17.12: - resolution: {integrity: sha512-kQtujO08dVtQ2wXAuSFfk9ASy3sug4+ogFR8Kd8UgP8PEuc1/G/8yjYRmp//PcDNJEUKOza/MrQu15bouEUCiw==} + /@types/http-proxy@1.17.14: + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.9.2 + '@types/node': 20.10.1 dev: false - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: false - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 dev: false - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} dependencies: - '@types/istanbul-lib-report': 3.0.0 + '@types/istanbul-lib-report': 3.0.3 dev: false - /@types/json-schema@7.0.13: - resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} - /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true - /@types/mdast@3.0.12: - resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} + /@types/mdast@3.0.15: + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + dependencies: + '@types/unist': 2.0.10 + dev: false + + /@types/mdast@4.0.3: + resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} dependencies: - '@types/unist': 2.0.8 + '@types/unist': 3.0.2 + dev: false + + /@types/mdx@2.0.10: + resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} dev: false - /@types/mime@1.3.2: - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} dev: false - /@types/mime@3.0.1: - resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} + /@types/mime@3.0.4: + resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} dev: false - /@types/minimist@1.2.3: - resolution: {integrity: sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==} + /@types/minimist@1.2.5: + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true + /@types/ms@0.7.34: + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + dev: false + + /@types/node-forge@1.3.10: + resolution: {integrity: sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==} + dependencies: + '@types/node': 20.10.1 + dev: false + /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: false - /@types/node@20.9.2: - resolution: {integrity: sha512-WHZXKFCEyIUJzAwh3NyyTHYSR35SevJ6mZ1nWwJafKtiQbqRTIKSRcw3Ma3acqgsent3RRDqeVwpHntMk+9irg==} + /@types/node@20.10.1: + resolution: {integrity: sha512-T2qwhjWwGH81vUEx4EXmBKsTJRXFXNZTL4v0gi01+zyBmCwzE6TyHszqX01m+QHTEq+EZNo13NeJIdEqf+Myrg==} dependencies: undici-types: 5.26.5 - /@types/normalize-package-data@2.4.2: - resolution: {integrity: sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==} + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true - /@types/parse-json@4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + /@types/parse-json@4.0.2: + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} dev: false - /@types/parse5@5.0.3: - resolution: {integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==} + /@types/prismjs@1.26.3: + resolution: {integrity: sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==} dev: false - /@types/prop-types@15.7.10: - resolution: {integrity: sha512-mxSnDQxPqsZxmeShFH+uwQ4kO4gcJcGahjjMFeLbKE95IAZiiZyiEepGZjtXJ7hN/yfu0bu9xN2ajcU0JcxX6A==} + /@types/prop-types@15.7.11: + resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} - /@types/qs@6.9.8: - resolution: {integrity: sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==} + /@types/qs@6.9.10: + resolution: {integrity: sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==} dev: false - /@types/range-parser@1.2.4: - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + /@types/range-parser@1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} dev: false - /@types/react-router-config@5.0.7: - resolution: {integrity: sha512-pFFVXUIydHlcJP6wJm7sDii5mD/bCmmAY0wQzq+M+uX7bqS95AQqHZWP1iNMKrWVQSuHIzj5qi9BvrtLX2/T4w==} + /@types/react-router-config@5.0.10: + resolution: {integrity: sha512-Wn6c/tXdEgi9adCMtDwx8Q2vGty6TsPTc/wCQQ9kAlye8UqFxj0vGFWWuhywNfkwqth+SOgJxQTLTZukrqDQmQ==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.37 + '@types/react': 18.2.39 '@types/react-router': 5.1.20 /@types/react-router-dom@5.3.3: resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.37 + '@types/react': 18.2.39 '@types/react-router': 5.1.20 /@types/react-router@5.1.20: resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.37 + '@types/react': 18.2.39 - /@types/react@18.2.37: - resolution: {integrity: sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==} + /@types/react@18.2.39: + resolution: {integrity: sha512-Oiw+ppED6IremMInLV4HXGbfbG6GyziY3kqAwJYOR0PNbkYDmLWQA3a95EhdSmamsvbkJN96ZNN+YD+fGjzSBA==} dependencies: - '@types/prop-types': 15.7.10 - '@types/scheduler': 0.16.6 + '@types/prop-types': 15.7.11 + '@types/scheduler': 0.16.8 csstype: 3.1.2 /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 20.9.2 + '@types/node': 20.10.1 dev: false /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} dev: false - /@types/sax@1.2.4: - resolution: {integrity: sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==} + /@types/sax@1.2.7: + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} dependencies: - '@types/node': 20.9.2 + '@types/node': 20.10.1 dev: false - /@types/scheduler@0.16.6: - resolution: {integrity: sha512-Vlktnchmkylvc9SnwwwozTv04L/e1NykF5vgoQ0XTmI8DD+wxfjQuHuvHS3p0r2jz2x2ghPs2h1FVeDirIteWA==} - - /@types/semver@7.5.3: - resolution: {integrity: sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==} - dev: true + /@types/scheduler@0.16.8: + resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} - /@types/semver@7.5.5: - resolution: {integrity: sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==} + /@types/semver@7.5.6: + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true - /@types/send@0.17.1: - resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} + /@types/send@0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: - '@types/mime': 1.3.2 - '@types/node': 20.9.2 + '@types/mime': 1.3.5 + '@types/node': 20.10.1 dev: false - /@types/serve-index@1.9.1: - resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} + /@types/serve-index@1.9.4: + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} dependencies: - '@types/express': 4.17.18 + '@types/express': 4.17.21 dev: false - /@types/serve-static@1.15.2: - resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} + /@types/serve-static@1.15.5: + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} dependencies: - '@types/http-errors': 2.0.2 - '@types/mime': 3.0.1 - '@types/node': 20.9.2 + '@types/http-errors': 2.0.4 + '@types/mime': 3.0.4 + '@types/node': 20.10.1 dev: false - /@types/sockjs@0.3.33: - resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} + /@types/sockjs@0.3.36: + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 20.9.2 + '@types/node': 20.10.1 + dev: false + + /@types/trusted-types@2.0.7: + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} dev: false - /@types/trusted-types@2.0.4: - resolution: {integrity: sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==} + /@types/unist@2.0.10: + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} dev: false - /@types/unist@2.0.8: - resolution: {integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==} + /@types/unist@3.0.2: + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} dev: false - /@types/ws@8.5.5: - resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} + /@types/ws@8.5.10: + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.9.2 + '@types/node': 20.10.1 dev: false - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} dev: false - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + /@types/yargs@17.0.32: + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} dependencies: - '@types/yargs-parser': 21.0.0 + '@types/yargs-parser': 21.0.3 dev: false - /@typescript-eslint/eslint-plugin@6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-XOpZ3IyJUIV1b15M7HVOpgQxPPF7lGXgsfcEIu3yDxFPaf/xZKt7s9QO/pbk7vpWQyVulpJbu4E5LwpZiQo4kA==} + /@typescript-eslint/eslint-plugin@6.13.1(@typescript-eslint/parser@6.13.1)(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-5bQDGkXaxD46bPvQt08BUz9YSaO4S0fB1LB5JHQuXTfkGPI3+UUeS387C/e9jRie5GqT8u5kFTrMvAjtX4O5kA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -3457,11 +3457,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/scope-manager': 6.12.0 - '@typescript-eslint/type-utils': 6.12.0(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/visitor-keys': 6.12.0 + '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/scope-manager': 6.13.1 + '@typescript-eslint/type-utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/visitor-keys': 6.13.1 debug: 4.3.4 eslint: 8.54.0 graphemer: 1.4.0 @@ -3474,8 +3474,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.12.0(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==} + /@typescript-eslint/parser@6.13.1(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-fs2XOhWCzRhqMmQf0eicLa/CWSaYss2feXsy7xBD/pLyWke/jCIVc2s1ikEAtSW7ina1HNhv7kONoEfVNEcdDQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -3484,10 +3484,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.12.0 - '@typescript-eslint/types': 6.12.0 - '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2) - '@typescript-eslint/visitor-keys': 6.12.0 + '@typescript-eslint/scope-manager': 6.13.1 + '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.2) + '@typescript-eslint/visitor-keys': 6.13.1 debug: 4.3.4 eslint: 8.54.0 typescript: 5.3.2 @@ -3503,16 +3503,16 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.12.0: - resolution: {integrity: sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==} + /@typescript-eslint/scope-manager@6.13.1: + resolution: {integrity: sha512-BW0kJ7ceiKi56GbT2KKzZzN+nDxzQK2DS6x0PiSMPjciPgd/JRQGMibyaN2cPt2cAvuoH0oNvn2fwonHI+4QUQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.12.0 - '@typescript-eslint/visitor-keys': 6.12.0 + '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/visitor-keys': 6.13.1 dev: true - /@typescript-eslint/type-utils@6.12.0(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng==} + /@typescript-eslint/type-utils@6.13.1(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-A2qPlgpxx2v//3meMqQyB1qqTg1h1dJvzca7TugM3Yc2USDY+fsRBiojAEo92HO7f5hW5mjAUF6qobOPzlBCBQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -3521,8 +3521,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2) - '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.2) + '@typescript-eslint/utils': 6.13.1(eslint@8.54.0)(typescript@5.3.2) debug: 4.3.4 eslint: 8.54.0 ts-api-utils: 1.0.3(typescript@5.3.2) @@ -3536,8 +3536,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.12.0: - resolution: {integrity: sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==} + /@typescript-eslint/types@6.13.1: + resolution: {integrity: sha512-gjeEskSmiEKKFIbnhDXUyiqVma1gRCQNbVZ1C8q7Zjcxh3WZMbzWVfGE9rHfWd1msQtPS0BVD9Jz9jded44eKg==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -3562,8 +3562,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.12.0(typescript@5.3.2): - resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==} + /@typescript-eslint/typescript-estree@6.13.1(typescript@5.3.2): + resolution: {integrity: sha512-sBLQsvOC0Q7LGcUHO5qpG1HxRgePbT6wwqOiGLpR8uOJvPJbfs0mW3jPA3ujsDvfiVwVlWUDESNXv44KtINkUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -3571,8 +3571,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.12.0 - '@typescript-eslint/visitor-keys': 6.12.0 + '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/visitor-keys': 6.13.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -3590,8 +3590,8 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - '@types/json-schema': 7.0.13 - '@types/semver': 7.5.3 + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.2) @@ -3603,18 +3603,18 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.12.0(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ==} + /@typescript-eslint/utils@6.13.1(eslint@8.54.0)(typescript@5.3.2): + resolution: {integrity: sha512-ouPn/zVoan92JgAegesTXDB/oUp6BP1v8WpfYcqh649ejNc9Qv+B4FF2Ff626kO1xg0wWwwG48lAJ4JuesgdOw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) '@types/json-schema': 7.0.15 - '@types/semver': 7.5.5 - '@typescript-eslint/scope-manager': 6.12.0 - '@typescript-eslint/types': 6.12.0 - '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.3.2) + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 6.13.1 + '@typescript-eslint/types': 6.13.1 + '@typescript-eslint/typescript-estree': 6.13.1(typescript@5.3.2) eslint: 8.54.0 semver: 7.5.4 transitivePeerDependencies: @@ -3630,11 +3630,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.12.0: - resolution: {integrity: sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==} + /@typescript-eslint/visitor-keys@6.13.1: + resolution: {integrity: sha512-NDhQUy2tg6XGNBGDRm1XybOHSia8mcXmlbKWoQP+nm1BIIMxa55shyJfZkHpEBN62KNPLrocSM2PdPcaLgDKMQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.12.0 + '@typescript-eslint/types': 6.13.1 eslint-visitor-keys: 3.4.3 dev: true @@ -3746,12 +3746,12 @@ packages: negotiator: 0.6.3 dev: false - /acorn-import-assertions@1.9.0(acorn@8.10.0): + /acorn-import-assertions@1.9.0(acorn@8.11.2): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.10.0 + acorn: 8.11.2 /acorn-jsx@5.3.2(acorn@8.11.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -3760,16 +3760,11 @@ packages: dependencies: acorn: 8.11.2 - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-walk@8.3.0: + resolution: {integrity: sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==} engines: {node: '>=0.4.0'} dev: false - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} - hasBin: true - /acorn@8.11.2: resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} engines: {node: '>=0.4.0'} @@ -3831,8 +3826,8 @@ packages: require-from-string: 2.0.2 uri-js: 4.4.1 - /algoliasearch-helper@3.14.2(algoliasearch@4.20.0): - resolution: {integrity: sha512-FjDSrjvQvJT/SKMW74nPgFpsoPUwZCzGbCqbp8HhBFfSk/OvNFxzCaCmuO0p7AWeLy1gD+muFwQEkBwcl5H4pg==} + /algoliasearch-helper@3.15.0(algoliasearch@4.20.0): + resolution: {integrity: sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==} peerDependencies: algoliasearch: '>= 3.1 < 6' dependencies: @@ -3936,10 +3931,10 @@ packages: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 is-string: 1.0.7 dev: true @@ -3972,20 +3967,20 @@ packages: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 dev: true /array.prototype.tosorted@1.1.2: resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.1 + es-abstract: 1.22.3 + es-shim-unscopables: 1.0.2 + get-intrinsic: 1.2.2 dev: true /arraybuffer.prototype.slice@1.0.2: @@ -4012,8 +4007,8 @@ packages: /asciinema-player@3.6.3: resolution: {integrity: sha512-62aDgLpbuduhmpFfNgPOzf6fOluACLsftVnjpWJjUXX6dqhqTckFqWoJ+ayA0XjSlZ9l9wXTcJqRqvAAIpMblg==} dependencies: - '@babel/runtime': 7.23.2 - solid-js: 1.8.2 + '@babel/runtime': 7.23.5 + solid-js: 1.8.6 dev: false /astral-regex@2.0.0: @@ -4021,8 +4016,13 @@ packages: engines: {node: '>=8'} dev: true - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + /astring@1.8.6: + resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} + hasBin: true + dev: false + + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} dev: false /asynciterator.prototype@1.0.0: @@ -4031,6 +4031,10 @@ packages: has-symbols: 1.0.3 dev: true + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + /at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} @@ -4043,9 +4047,9 @@ packages: peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.11 - caniuse-lite: 1.0.30001538 - fraction.js: 4.3.6 + browserslist: 4.22.1 + caniuse-lite: 1.0.30001565 + fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 postcss: 8.4.31 @@ -4056,37 +4060,31 @@ packages: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - /axios@0.25.0: - resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==} + /axios@1.6.2: + resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} dependencies: follow-redirects: 1.15.3 + form-data: 4.0.0 + proxy-from-env: 1.1.0 transitivePeerDependencies: - debug dev: false - /babel-loader@8.3.0(@babel/core@7.22.20)(webpack@5.88.2): - resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} - engines: {node: '>= 8.9'} - peerDependencies: - '@babel/core': ^7.0.0 - webpack: '>=2' - dependencies: - '@babel/core': 7.22.20 - find-cache-dir: 3.3.2 - loader-utils: 2.0.4 - make-dir: 3.1.0 - schema-utils: 2.7.1 - webpack: 5.88.2 + /b4a@1.6.4: + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false - /babel-plugin-apply-mdx-type-prop@1.6.22(@babel/core@7.12.9): - resolution: {integrity: sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==} + /babel-loader@9.1.3(@babel/core@7.23.5)(webpack@5.89.0): + resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + engines: {node: '>= 14.15.0'} peerDependencies: - '@babel/core': ^7.11.6 + '@babel/core': ^7.12.0 + webpack: '>=5' dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.10.4 - '@mdx-js/util': 1.6.22 + '@babel/core': 7.23.5 + find-cache-dir: 4.0.0 + schema-utils: 4.2.0 + webpack: 5.89.0 dev: false /babel-plugin-dynamic-import-node@2.3.3: @@ -4095,50 +4093,44 @@ packages: object.assign: 4.1.4 dev: false - /babel-plugin-extract-import-names@1.6.22: - resolution: {integrity: sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==} - dependencies: - '@babel/helper-plugin-utils': 7.10.4 - dev: false - - /babel-plugin-polyfill-corejs2@0.4.5(@babel/core@7.22.20): - resolution: {integrity: sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==} + /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.5): + resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.22.20 - '@babel/core': 7.22.20 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.20) + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.5 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.5) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-corejs3@0.8.4(@babel/core@7.22.20): - resolution: {integrity: sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg==} + /babel-plugin-polyfill-corejs3@0.8.6(@babel/core@7.23.5): + resolution: {integrity: sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.20) - core-js-compat: 3.32.2 + '@babel/core': 7.23.5 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.5) + core-js-compat: 3.33.3 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-regenerator@0.5.2(@babel/core@7.22.20): - resolution: {integrity: sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==} + /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.5): + resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.22.20 - '@babel/helper-define-polyfill-provider': 0.4.2(@babel/core@7.22.20) + '@babel/core': 7.23.5 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.5) transitivePeerDependencies: - supports-color dev: false - /bail@1.0.5: - resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + /bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} dev: false /balanced-match@1.0.2: @@ -4208,29 +4200,28 @@ packages: /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - dev: false - /boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} + /boxen@6.2.1: + resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: ansi-align: 3.0.1 camelcase: 6.3.0 chalk: 4.1.2 - cli-boxes: 2.2.1 - string-width: 4.2.3 - type-fest: 0.20.2 - widest-line: 3.1.0 - wrap-ansi: 7.0.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 dev: false - /boxen@6.2.1: - resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} dependencies: ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 + camelcase: 7.0.1 + chalk: 5.3.0 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 @@ -4256,15 +4247,15 @@ packages: dependencies: fill-range: 7.0.1 - /browserslist@4.21.11: - resolution: {integrity: sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==} + /browserslist@4.22.1: + resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001538 - electron-to-chromium: 1.4.528 + caniuse-lite: 1.0.30001565 + electron-to-chromium: 1.4.597 node-releases: 2.0.13 - update-browserslist-db: 1.0.13(browserslist@4.21.11) + update-browserslist-db: 1.0.13(browserslist@4.22.1) /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} @@ -4283,12 +4274,7 @@ packages: /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} - - /builtins@5.0.1: - resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} - dependencies: - semver: 7.5.4 - dev: true + dev: false /bytes@3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} @@ -4305,11 +4291,11 @@ packages: engines: {node: '>=14.16'} dev: false - /cacheable-request@10.2.13: - resolution: {integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==} + /cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} engines: {node: '>=14.16'} dependencies: - '@types/http-cache-semantics': 4.0.2 + '@types/http-cache-semantics': 4.0.4 get-stream: 6.0.1 http-cache-semantics: 4.1.1 keyv: 4.5.4 @@ -4318,12 +4304,6 @@ packages: responselike: 3.0.0 dev: false - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.1 - /call-bind@1.0.5: resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} dependencies: @@ -4342,11 +4322,6 @@ packages: tslib: 2.6.2 dev: false - /camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} - dev: false - /camelcase-keys@7.0.2: resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} engines: {node: '>=12'} @@ -4361,20 +4336,25 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} + /camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + dev: false + /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.21.11 - caniuse-lite: 1.0.30001538 + browserslist: 4.22.1 + caniuse-lite: 1.0.30001565 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: false - /caniuse-lite@1.0.30001538: - resolution: {integrity: sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==} + /caniuse-lite@1.0.30001565: + resolution: {integrity: sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==} - /ccount@1.1.0: - resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} + /ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} dev: false /chalk@2.4.2: @@ -4392,16 +4372,30 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 - /character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: false + + /char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: false + + /character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + dev: false + + /character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} dev: false - /character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + /character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} dev: false - /character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + /character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} dev: false /cheerio-select@2.1.0: @@ -4413,7 +4407,6 @@ packages: domelementtype: 2.3.0 domhandler: 5.0.3 domutils: 3.1.0 - dev: false /cheerio@1.0.0-rc.12: resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} @@ -4426,7 +4419,6 @@ packages: htmlparser2: 8.0.2 parse5: 7.1.2 parse5-htmlparser2-tree-adapter: 7.0.0 - dev: false /chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} @@ -4450,12 +4442,8 @@ packages: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} - /ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - dev: false - - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} dev: false @@ -4471,11 +4459,6 @@ packages: engines: {node: '>=6'} dev: false - /cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - dev: false - /cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} @@ -4508,8 +4491,8 @@ packages: engines: {node: '>=6'} dev: false - /collapse-white-space@1.0.6: - resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} + /collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} dev: false /color-convert@1.9.3: @@ -4562,8 +4545,15 @@ packages: engines: {node: '>=10'} dev: false - /comma-separated-tokens@1.0.8: - resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==} + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + + /comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} dev: false /command-exists-promise@2.0.2: @@ -4571,6 +4561,11 @@ packages: engines: {node: '>=6'} dev: true + /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==} @@ -4588,13 +4583,13 @@ packages: engines: {node: '>= 12'} dev: false - /common-tags@1.8.2: - resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} - engines: {node: '>=4.0.0'} + /common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} dev: false - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + /common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} dev: false /compressible@2.0.18: @@ -4622,16 +4617,22 @@ packages: /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - /configstore@5.0.1: - resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} - engines: {node: '>=8'} + /config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + dev: false + + /configstore@6.0.0: + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} dependencies: - dot-prop: 5.3.0 + dot-prop: 6.0.1 graceful-fs: 4.2.11 - make-dir: 3.1.0 - unique-string: 2.0.0 + unique-string: 3.0.0 write-file-atomic: 3.0.3 - xdg-basedir: 4.0.0 + xdg-basedir: 5.1.0 dev: false /connect-history-api-fallback@2.0.0: @@ -4664,8 +4665,8 @@ packages: engines: {node: '>= 0.6'} dev: false - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: false /cookie-signature@1.0.6: @@ -4682,34 +4683,34 @@ packages: engines: {node: '>=12'} dev: false - /copy-webpack-plugin@11.0.0(webpack@5.88.2): + /copy-webpack-plugin@11.0.0(webpack@5.89.0): resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} engines: {node: '>= 14.15.0'} peerDependencies: webpack: ^5.1.0 dependencies: - fast-glob: 3.3.1 + fast-glob: 3.3.2 glob-parent: 6.0.2 globby: 13.2.2 normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.1 - webpack: 5.88.2 + webpack: 5.89.0 dev: false - /core-js-compat@3.32.2: - resolution: {integrity: sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==} + /core-js-compat@3.33.3: + resolution: {integrity: sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==} dependencies: - browserslist: 4.21.11 + browserslist: 4.22.1 dev: false - /core-js-pure@3.32.2: - resolution: {integrity: sha512-Y2rxThOuNywTjnX/PgA5vWM6CZ9QB9sz9oGeCixV8MqXZO70z/5SHzf9EeBrEBK0PN36DnEBBu9O/aGWzKuMZQ==} + /core-js-pure@3.33.3: + resolution: {integrity: sha512-taJ00IDOP+XYQEA2dAe4ESkmHt1fL8wzYDo3mRWQey8uO9UojlBFMneA65kMyxfYP7106c6LzWaq7/haDT6BCQ==} requiresBuild: true dev: false - /core-js@3.32.2: - resolution: {integrity: sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ==} + /core-js@3.33.3: + resolution: {integrity: sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw==} requiresBuild: true dev: false @@ -4733,7 +4734,7 @@ packages: resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} engines: {node: '>=8'} dependencies: - '@types/parse-json': 4.0.0 + '@types/parse-json': 4.0.2 import-fresh: 3.3.0 parse-json: 5.2.0 path-type: 4.0.0 @@ -4744,7 +4745,7 @@ packages: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} dependencies: - '@types/parse-json': 4.0.0 + '@types/parse-json': 4.0.2 import-fresh: 3.3.0 parse-json: 5.2.0 path-type: 4.0.0 @@ -4787,6 +4788,13 @@ packages: engines: {node: '>=8'} dev: false + /crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 + dev: false + /css-declaration-sorter@6.4.1(postcss@8.4.31): resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} engines: {node: ^10 || ^12 || >=14} @@ -4801,7 +4809,7 @@ packages: engines: {node: '>=12 || >=16'} dev: true - /css-loader@6.8.1(webpack@5.88.2): + /css-loader@6.8.1(webpack@5.89.0): resolution: {integrity: sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -4815,10 +4823,10 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.31) postcss-value-parser: 4.2.0 semver: 7.5.4 - webpack: 5.88.2 + webpack: 5.89.0 dev: false - /css-minimizer-webpack-plugin@4.2.2(clean-css@5.3.2)(webpack@5.88.2): + /css-minimizer-webpack-plugin@4.2.2(clean-css@5.3.2)(webpack@5.89.0): resolution: {integrity: sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -4850,7 +4858,7 @@ packages: schema-utils: 4.2.0 serialize-javascript: 6.0.1 source-map: 0.6.1 - webpack: 5.88.2 + webpack: 5.89.0 dev: false /css-select@4.3.0: @@ -4871,7 +4879,6 @@ packages: domhandler: 5.0.3 domutils: 3.1.0 nth-check: 2.1.1 - dev: false /css-tree@1.1.3: resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} @@ -4892,7 +4899,6 @@ packages: /css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} - dev: false /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} @@ -4983,32 +4989,38 @@ packages: /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - /cytoscape-cose-bilkent@4.1.0(cytoscape@3.26.0): + /cytoscape-cose-bilkent@4.1.0(cytoscape@3.27.0): resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} peerDependencies: cytoscape: ^3.2.0 dependencies: cose-base: 1.0.3 - cytoscape: 3.26.0 + cytoscape: 3.27.0 dev: false - /cytoscape-fcose@2.2.0(cytoscape@3.26.0): + /cytoscape-fcose@2.2.0(cytoscape@3.27.0): resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} peerDependencies: cytoscape: ^3.2.0 dependencies: cose-base: 2.2.0 - cytoscape: 3.26.0 + cytoscape: 3.27.0 dev: false - /cytoscape@3.26.0: - resolution: {integrity: sha512-IV+crL+KBcrCnVVUCZW+zRRRFUZQcrtdOPXki+o4CFUWLdAEYvuZLcBSJC9EBK++suamERKzeY7roq2hdovV3w==} + /cytoscape@3.27.0: + resolution: {integrity: sha512-pPZJilfX9BxESwujODz5pydeGi+FBrXq1rcaB1mfhFXXFJ9GjE6CNndAk+8jPzoXGD+16LtSS4xlYEIUiW4Abg==} engines: {node: '>=0.10'} dependencies: heap: 0.2.7 lodash: 4.17.21 dev: false + /d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + dependencies: + internmap: 1.0.1 + dev: false + /d3-array@3.2.4: resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} engines: {node: '>=12'} @@ -5126,6 +5138,10 @@ packages: d3-color: 3.1.0 dev: false + /d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + dev: false + /d3-path@3.1.0: resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} engines: {node: '>=12'} @@ -5146,6 +5162,13 @@ packages: engines: {node: '>=12'} dev: false + /d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + dependencies: + d3-array: 2.12.1 + d3-shape: 1.3.7 + dev: false + /d3-scale-chromatic@3.0.0: resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} engines: {node: '>=12'} @@ -5170,6 +5193,12 @@ packages: engines: {node: '>=12'} dev: false + /d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + dependencies: + d3-path: 1.0.9 + dev: false + /d3-shape@3.2.0: resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} engines: {node: '>=12'} @@ -5257,8 +5286,8 @@ packages: d3-zoom: 3.0.0 dev: false - /dagre-d3-es@7.0.9: - resolution: {integrity: sha512-rYR4QfVmy+sR44IBDvVtcAmOReGBvRCWDpO2QjYwqgh9yijw6eSHBqaPG/LIOEy7aBsniLvtMW6pg19qJhq60w==} + /dagre-d3-es@7.0.10: + resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} dependencies: d3: 7.8.5 lodash-es: 4.17.21 @@ -5268,6 +5297,10 @@ packages: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} dev: false + /debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + dev: false + /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -5319,6 +5352,12 @@ packages: engines: {node: '>=10'} dev: true + /decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + dependencies: + character-entities: 2.0.2 + dev: false + /decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -5351,14 +5390,6 @@ packages: engines: {node: '>=10'} dev: false - /define-data-property@1.1.0: - resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.1 - gopd: 1.0.1 - has-property-descriptors: 1.0.0 - /define-data-property@1.1.1: resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} engines: {node: '>= 0.4'} @@ -5376,8 +5407,8 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.0 - has-property-descriptors: 1.0.0 + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 object-keys: 1.1.1 /del@6.1.1: @@ -5400,6 +5431,11 @@ packages: robust-predicates: 3.0.2 dev: false + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: false + /depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} @@ -5410,17 +5446,16 @@ packages: engines: {node: '>= 0.8'} dev: false + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: false + /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: false - /detab@2.0.4: - resolution: {integrity: sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==} - dependencies: - repeat-string: 1.6.1 - dev: false - /detect-libc@2.0.2: resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} @@ -5451,6 +5486,17 @@ packages: - supports-color dev: false + /devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dependencies: + dequal: 2.0.3 + dev: false + + /diff@5.1.0: + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + engines: {node: '>=0.3.1'} + dev: false + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -5501,11 +5547,9 @@ packages: domelementtype: 2.3.0 domhandler: 5.0.3 entities: 4.5.0 - dev: false /domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - dev: false /domhandler@4.3.1: resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} @@ -5519,10 +5563,9 @@ packages: engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 - dev: false - /dompurify@2.4.3: - resolution: {integrity: sha512-q6QaLcakcRjebxjg8/+NP+h0rPfatOgOzc46Fst9VAA3jF2ApfKBNKMzdP4DYTqtUMXSCd5pRS/8Po/OmoCHZQ==} + /dompurify@3.0.6: + resolution: {integrity: sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==} dev: false /domutils@2.8.0: @@ -5539,7 +5582,6 @@ packages: dom-serializer: 2.0.0 domelementtype: 2.3.0 domhandler: 5.0.3 - dev: false /dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} @@ -5548,9 +5590,9 @@ packages: tslib: 2.6.2 dev: false - /dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} + /dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} dependencies: is-obj: 2.0.0 dev: false @@ -5575,8 +5617,8 @@ packages: jake: 10.8.7 dev: false - /electron-to-chromium@1.4.528: - resolution: {integrity: sha512-UdREXMXzLkREF4jA8t89FQjA8WHI6ssP38PMY4/4KhXFQbtImnghh4GkCgrtiZwLKUKVD2iTVXvDVQjfomEQuA==} + /electron-to-chromium@1.4.597: + resolution: {integrity: sha512-0XOQNqHhg2YgRVRUrS4M4vWjFCFIP2ETXcXe/0KIQBjXE9Cpy+tgzzYfuq6HGai3hWq0YywtG+5XK8fyG08EjA==} /elkjs@0.8.2: resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==} @@ -5589,13 +5631,17 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: false + /emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + dev: false + /emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} dev: false - /emoticon@3.2.0: - resolution: {integrity: sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==} + /emoticon@4.0.1: + resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==} dev: false /encodeurl@1.0.2: @@ -5623,57 +5669,12 @@ packages: /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - dev: false /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 - /es-abstract@1.22.2: - resolution: {integrity: sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.1 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 - gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-typed-array: 1.1.12 - is-weakref: 1.0.2 - object-inspect: 1.12.3 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.11 - /es-abstract@1.22.3: resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} engines: {node: '>= 0.4'} @@ -5722,31 +5723,23 @@ packages: resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} dependencies: asynciterator.prototype: 1.0.0 - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - es-set-tostringtag: 2.0.1 - function-bind: 1.1.1 - get-intrinsic: 1.2.1 + es-abstract: 1.22.3 + es-set-tostringtag: 2.0.2 + function-bind: 1.1.2 + get-intrinsic: 1.2.2 globalthis: 1.0.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 has-proto: 1.0.1 has-symbols: 1.0.3 - internal-slot: 1.0.5 + internal-slot: 1.0.6 iterator.prototype: 1.1.2 safe-array-concat: 1.0.1 dev: true - /es-module-lexer@1.3.1: - resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} - - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - has-tostringtag: 1.0.0 + /es-module-lexer@1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} /es-set-tostringtag@2.0.2: resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} @@ -5756,12 +5749,6 @@ packages: has-tostringtag: 1.0.0 hasown: 2.0.0 - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} - dependencies: - has: 1.0.3 - dev: true - /es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: @@ -5780,9 +5767,9 @@ packages: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - /escape-goat@2.1.1: - resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} - engines: {node: '>=8'} + /escape-goat@4.0.0: + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} + engines: {node: '>=12'} dev: false /escape-html@1.0.3: @@ -5797,6 +5784,11 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: false + /eslint-config-prettier@9.0.0(eslint@8.54.0): resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} hasBin: true @@ -5806,43 +5798,6 @@ packages: eslint: 8.54.0 dev: true - /eslint-config-standard-with-typescript@40.0.0(@typescript-eslint/eslint-plugin@6.12.0)(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0)(typescript@5.3.2): - resolution: {integrity: sha512-GXUJcwIXiTQaS3H4etv8a1lejVVdZYaxZNz3g7vt6GoJosQqMTurbmSC4FVGyHiGT/d1TjFr3+47A3xsHhsG+Q==} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^6.4.0 - eslint: ^8.0.1 - eslint-plugin-import: ^2.25.2 - eslint-plugin-n: '^15.0.0 || ^16.0.0 ' - eslint-plugin-promise: ^6.0.0 - typescript: '*' - dependencies: - '@typescript-eslint/eslint-plugin': 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.3.2) - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2) - eslint: 8.54.0 - eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) - eslint-plugin-n: 16.3.1(eslint@8.54.0) - eslint-plugin-promise: 6.1.1(eslint@8.54.0) - typescript: 5.3.2 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.3.1)(eslint-plugin-promise@6.1.1)(eslint@8.54.0): - resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} - engines: {node: '>=12.0.0'} - peerDependencies: - eslint: ^8.0.1 - eslint-plugin-import: ^2.25.2 - eslint-plugin-n: '^15.0.0 || ^16.0.0 ' - eslint-plugin-promise: ^6.0.0 - dependencies: - eslint: 8.54.0 - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) - eslint-plugin-n: 16.3.1(eslint@8.54.0) - eslint-plugin-promise: 6.1.1(eslint@8.54.0) - dev: true - /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: @@ -5853,7 +5808,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.12.0)(eslint-plugin-import@2.29.0)(eslint@8.54.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.54.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -5863,11 +5818,11 @@ packages: debug: 4.3.4 enhanced-resolve: 5.15.0 eslint: 8.54.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) - fast-glob: 3.3.1 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) + fast-glob: 3.3.2 get-tsconfig: 4.7.2 - is-core-module: 2.13.0 + is-core-module: 2.13.1 is-glob: 4.0.3 transitivePeerDependencies: - '@typescript-eslint/parser' @@ -5876,7 +5831,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -5897,27 +5852,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.2) debug: 3.2.7 eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.12.0)(eslint-plugin-import@2.29.0)(eslint@8.54.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.1)(eslint-plugin-import@2.29.0)(eslint@8.54.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es-x@7.3.0(eslint@8.54.0): - resolution: {integrity: sha512-W9zIs+k00I/I13+Bdkl/zG1MEO07G97XjUSQuH117w620SJ6bHtLUmoMvkGA2oYnI/gNdr+G7BONLyYnFaLLEQ==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '>=8' - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - '@eslint-community/regexpp': 4.10.0 - eslint: 8.54.0 - dev: true - - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -5927,7 +5871,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.13.1(eslint@8.54.0)(typescript@5.3.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -5936,7 +5880,7 @@ packages: doctrine: 2.1.0 eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.13.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -5952,34 +5896,6 @@ packages: - supports-color dev: true - /eslint-plugin-n@16.3.1(eslint@8.54.0): - resolution: {integrity: sha512-w46eDIkxQ2FaTHcey7G40eD+FhTXOdKudDXPUO2n9WNcslze/i/HT2qJ3GXjHngYSGDISIgPNhwGtgoix4zeOw==} - engines: {node: '>=16.0.0'} - peerDependencies: - eslint: '>=7.0.0' - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) - builtins: 5.0.1 - eslint: 8.54.0 - eslint-plugin-es-x: 7.3.0(eslint@8.54.0) - get-tsconfig: 4.7.2 - ignore: 5.3.0 - is-builtin-module: 3.2.1 - is-core-module: 2.13.1 - minimatch: 3.1.2 - resolve: 1.22.8 - semver: 7.5.4 - dev: true - - /eslint-plugin-promise@6.1.1(eslint@8.54.0): - resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - eslint: 8.54.0 - dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.54.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} @@ -6009,7 +5925,7 @@ packages: object.hasown: 1.1.3 object.values: 1.1.7 prop-types: 15.8.1 - resolve: 2.0.0-next.4 + resolve: 2.0.0-next.5 semver: 6.3.1 string.prototype.matchall: 4.0.10 dev: true @@ -6112,10 +6028,58 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + /estree-util-attach-comments@3.0.0: + resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} + dependencies: + '@types/estree': 1.0.5 + dev: false + + /estree-util-build-jsx@3.0.1: + resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} + dependencies: + '@types/estree-jsx': 1.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + estree-walker: 3.0.3 + dev: false + + /estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + dev: false + + /estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + dependencies: + '@types/estree-jsx': 1.0.3 + astring: 1.8.6 + source-map: 0.7.4 + dev: false + + /estree-util-value-to-estree@3.0.1: + resolution: {integrity: sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==} + engines: {node: '>=16.0.0'} + dependencies: + '@types/estree': 1.0.5 + is-plain-obj: 4.1.0 + dev: false + + /estree-util-visit@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/unist': 3.0.2 + dev: false + /estree-walker@1.0.1: resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} dev: false + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: false + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -6134,7 +6098,7 @@ packages: resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} engines: {node: '>= 0.8'} dependencies: - '@types/node': 20.9.2 + '@types/node': 20.10.1 require-like: 0.1.2 dev: false @@ -6219,8 +6183,12 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + /fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + dev: false + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6251,6 +6219,12 @@ packages: dependencies: reusify: 1.0.4 + /fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} + dependencies: + format: 0.2.2 + dev: false + /faye-websocket@0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} @@ -6279,7 +6253,7 @@ packages: object-assign: 4.1.1 promise: 7.3.1 setimmediate: 1.0.5 - ua-parser-js: 1.0.36 + ua-parser-js: 1.0.37 transitivePeerDependencies: - encoding dev: false @@ -6303,14 +6277,14 @@ packages: dependencies: flat-cache: 3.2.0 - /file-entry-cache@7.0.1: - resolution: {integrity: sha512-uLfFktPmRetVCbHe5UPuekWrQ6hENufnA46qEGbfACkK5drjTTdQYUragRgMjHldcbYG+nslUerqMPjbBSHXjQ==} + /file-entry-cache@7.0.2: + resolution: {integrity: sha512-TfW7/1iI4Cy7Y8L6iqNdZQVvdXn0f8B4QcIXmkIbtTIe/Okm/nSlHb4IwGzRVOd3WfSieCgvf5cMzEfySAIl0g==} engines: {node: '>=12.0.0'} dependencies: - flat-cache: 3.1.1 + flat-cache: 3.2.0 dev: true - /file-loader@6.2.0(webpack@5.88.2): + /file-loader@6.2.0(webpack@5.89.0): resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -6318,7 +6292,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.88.2 + webpack: 5.89.0 dev: false /filelist@1.0.4: @@ -6353,13 +6327,12 @@ packages: - supports-color dev: false - /find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} + /find-cache-dir@4.0.0: + resolution: {integrity: sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==} + engines: {node: '>=14.16'} dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 + common-path-prefix: 3.0.0 + pkg-dir: 7.0.0 dev: false /find-up@3.0.0: @@ -6369,14 +6342,6 @@ packages: locate-path: 3.0.0 dev: false - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: false - /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -6384,14 +6349,13 @@ packages: locate-path: 6.0.0 path-exists: 4.0.0 - /flat-cache@3.1.1: - resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} - engines: {node: '>=12.0.0'} + /find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - flatted: 3.2.9 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true + locate-path: 7.2.0 + path-exists: 5.0.0 + dev: false /flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} @@ -6401,6 +6365,10 @@ packages: keyv: 4.5.4 rimraf: 3.0.2 + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + /flatted@3.2.9: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} @@ -6431,7 +6399,7 @@ packages: dependencies: is-callable: 1.2.7 - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.54.0)(typescript@5.3.2)(webpack@5.88.2): + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.54.0)(typescript@5.3.2)(webpack@5.89.0): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -6445,8 +6413,8 @@ packages: vue-template-compiler: optional: true dependencies: - '@babel/code-frame': 7.22.13 - '@types/json-schema': 7.0.13 + '@babel/code-frame': 7.23.5 + '@types/json-schema': 7.0.15 chalk: 4.1.2 chokidar: 3.5.3 cosmiconfig: 6.0.0 @@ -6460,7 +6428,7 @@ packages: semver: 7.5.4 tapable: 1.1.3 typescript: 5.3.2 - webpack: 5.88.2 + webpack: 5.89.0 dev: false /form-data-encoder@2.1.4: @@ -6468,13 +6436,27 @@ packages: engines: {node: '>= 14.17'} dev: false + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + dev: false + /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} dev: false - /fraction.js@4.3.6: - resolution: {integrity: sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==} + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: false /fresh@0.5.2: @@ -6486,13 +6468,13 @@ packages: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: false - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: false /fs-extra@9.1.0: @@ -6502,7 +6484,7 @@ packages: at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: false /fs-minipass@1.2.7: @@ -6511,8 +6493,8 @@ packages: minipass: 2.9.0 dev: true - /fs-monkey@1.0.4: - resolution: {integrity: sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==} + /fs-monkey@1.0.5: + resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} dev: false /fs.realpath@1.0.0: @@ -6526,9 +6508,6 @@ packages: dev: false optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -6549,14 +6528,6 @@ packages: engines: {node: '>=6.9.0'} dev: false - /get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-proto: 1.0.1 - has-symbols: 1.0.3 - /get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: @@ -6664,8 +6635,8 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.1 - ignore: 5.2.4 + fast-glob: 3.3.2 + ignore: 5.3.0 merge2: 1.4.1 slash: 3.0.0 @@ -6674,7 +6645,7 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 - fast-glob: 3.3.1 + fast-glob: 3.3.2 ignore: 5.3.0 merge2: 1.4.1 slash: 4.0.0 @@ -6689,23 +6660,27 @@ packages: dependencies: get-intrinsic: 1.2.2 - /got@13.0.0: - resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} - engines: {node: '>=16'} + /got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} dependencies: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 - cacheable-request: 10.2.13 + cacheable-request: 10.2.14 decompress-response: 6.0.0 form-data-encoder: 2.1.4 get-stream: 6.0.1 - http2-wrapper: 2.2.0 + http2-wrapper: 2.2.1 lowercase-keys: 3.0.0 p-cancelable: 3.0.0 responselike: 3.0.0 dev: false + /graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: false + /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -6749,11 +6724,6 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - dependencies: - get-intrinsic: 1.2.1 - /has-property-descriptors@1.0.1: resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} dependencies: @@ -6773,83 +6743,117 @@ packages: dependencies: has-symbols: 1.0.3 - /has-yarn@2.1.0: - resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} - engines: {node: '>=8'} + /has-yarn@3.0.0: + resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - /hasown@2.0.0: resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - /hast-to-hyperscript@9.0.1: - resolution: {integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==} + /hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + dependencies: + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + devlop: 1.1.0 + hastscript: 8.0.0 + property-information: 6.4.0 + vfile: 6.0.1 + vfile-location: 5.0.2 + web-namespaces: 2.0.1 + dev: false + + /hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} dependencies: - '@types/unist': 2.0.8 - comma-separated-tokens: 1.0.8 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 - style-to-object: 0.3.0 - unist-util-is: 4.1.0 - web-namespaces: 1.1.4 + '@types/hast': 3.0.3 dev: false - /hast-util-from-parse5@6.0.1: - resolution: {integrity: sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==} + /hast-util-raw@9.0.1: + resolution: {integrity: sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==} dependencies: - '@types/parse5': 5.0.3 - hastscript: 6.0.0 - property-information: 5.6.0 - vfile: 4.2.1 - vfile-location: 3.2.0 - web-namespaces: 1.1.4 + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.0.2 + parse5: 7.1.2 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + dev: false + + /hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-attach-comments: 3.0.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.0.0 + mdast-util-mdxjs-esm: 2.0.1 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color dev: false - /hast-util-parse-selector@2.2.5: - resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==} + /hast-util-to-jsx-runtime@2.2.0: + resolution: {integrity: sha512-wSlp23N45CMjDg/BPW8zvhEi3R+8eRE1qFbjEyAUzMCzu2l1Wzwakq+Tlia9nkCtEl5mDxa7nKHsvYJ6Gfn21A==} + dependencies: + '@types/hast': 3.0.3 + '@types/unist': 3.0.2 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 5.0.0 + vfile-message: 4.0.2 dev: false - /hast-util-raw@6.0.1: - resolution: {integrity: sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==} + /hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} dependencies: - '@types/hast': 2.3.6 - hast-util-from-parse5: 6.0.1 - hast-util-to-parse5: 6.0.0 - html-void-elements: 1.0.5 - parse5: 6.0.1 - unist-util-position: 3.1.0 - vfile: 4.2.1 - web-namespaces: 1.1.4 - xtend: 4.0.2 - zwitch: 1.0.5 + '@types/hast': 3.0.3 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 dev: false - /hast-util-to-parse5@6.0.0: - resolution: {integrity: sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==} + /hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} dependencies: - hast-to-hyperscript: 9.0.1 - property-information: 5.6.0 - web-namespaces: 1.1.4 - xtend: 4.0.2 - zwitch: 1.0.5 + '@types/hast': 3.0.3 dev: false - /hastscript@6.0.0: - resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==} + /hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} dependencies: - '@types/hast': 2.3.6 - comma-separated-tokens: 1.0.8 - hast-util-parse-selector: 2.2.5 - property-information: 5.6.0 - space-separated-tokens: 1.1.5 + '@types/hast': 3.0.3 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.4.0 + space-separated-tokens: 2.0.2 dev: false /he@1.2.0: @@ -6864,7 +6868,7 @@ packages: /history@4.10.1: resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} dependencies: - '@babel/runtime': 7.22.15 + '@babel/runtime': 7.23.5 loose-envify: 1.4.0 resolve-pathname: 3.0.0 tiny-invariant: 1.3.1 @@ -6898,6 +6902,10 @@ packages: resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} dev: false + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: false + /html-minifier-terser@6.1.0: resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} engines: {node: '>=12'} @@ -6909,18 +6917,32 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.20.0 + terser: 5.24.0 + dev: false + + /html-minifier-terser@7.2.0: + resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} + engines: {node: ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.2 + commander: 10.0.1 + entities: 4.5.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.24.0 dev: false /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} - /html-void-elements@1.0.5: - resolution: {integrity: sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==} + /html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} dev: false - /html-webpack-plugin@5.5.3(webpack@5.88.2): + /html-webpack-plugin@5.5.3(webpack@5.89.0): resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==} engines: {node: '>=10.13.0'} peerDependencies: @@ -6931,7 +6953,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.88.2 + webpack: 5.89.0 dev: false /htmlparser2@6.1.0: @@ -6950,7 +6972,6 @@ packages: domhandler: 5.0.3 domutils: 3.1.0 entities: 4.5.0 - dev: false /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} @@ -6985,7 +7006,7 @@ packages: resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} dev: false - /http-proxy-middleware@2.0.6(@types/express@4.17.18): + /http-proxy-middleware@2.0.6(@types/express@4.17.21): resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -6994,8 +7015,8 @@ packages: '@types/express': optional: true dependencies: - '@types/express': 4.17.18 - '@types/http-proxy': 1.17.12 + '@types/express': 4.17.21 + '@types/http-proxy': 1.17.14 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 @@ -7015,8 +7036,8 @@ packages: - debug dev: false - /http2-wrapper@2.2.0: - resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + /http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 @@ -7059,10 +7080,6 @@ packages: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - /ignore@5.3.0: resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} @@ -7086,15 +7103,9 @@ packages: parent-module: 1.0.1 resolve-from: 4.0.0 - /import-lazy@2.1.0: - resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} - engines: {node: '>=4'} - dev: false - /import-lazy@4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} - dev: true /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -7140,14 +7151,6 @@ packages: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} dev: false - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.1 - has: 1.0.3 - side-channel: 1.0.4 - /internal-slot@1.0.6: resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} engines: {node: '>= 0.4'} @@ -7156,6 +7159,10 @@ packages: hasown: 2.0.0 side-channel: 1.0.4 + /internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + dev: false + /internmap@2.0.3: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} @@ -7180,15 +7187,15 @@ packages: engines: {node: '>= 10'} dev: false - /is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + /is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} dev: false - /is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + /is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} dependencies: - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 dev: false /is-array-buffer@3.0.2: @@ -7230,35 +7237,17 @@ packages: call-bind: 1.0.5 has-tostringtag: 1.0.0 - /is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - dev: false - - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - dependencies: - builtin-modules: 3.3.0 - dev: true - /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - /is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + /is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true dependencies: - ci-info: 2.0.0 + ci-info: 3.9.0 dev: false - /is-core-module@2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} - dependencies: - has: 1.0.3 - dev: true - /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: @@ -7270,8 +7259,8 @@ packages: dependencies: has-tostringtag: 1.0.0 - /is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + /is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} dev: false /is-docker@2.2.1: @@ -7292,7 +7281,7 @@ packages: /is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 dev: true /is-fullwidth-code-point@3.0.0: @@ -7312,8 +7301,8 @@ packages: dependencies: is-extglob: 2.1.1 - /is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + /is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} dev: false /is-installed-globally@0.4.0: @@ -7336,9 +7325,9 @@ packages: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} - /is-npm@5.0.0: - resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} - engines: {node: '>=10'} + /is-npm@6.0.0: + resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false /is-number-object@1.0.7: @@ -7375,16 +7364,16 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - dev: false - /is-plain-obj@3.0.0: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} engines: {node: '>=10'} dev: false + /is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + dev: false + /is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} @@ -7395,6 +7384,12 @@ packages: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} + /is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + dependencies: + '@types/estree': 1.0.5 + dev: false + /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -7460,18 +7455,10 @@ packages: /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 dev: true - /is-whitespace-character@1.0.4: - resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==} - dev: false - - /is-word-character@1.0.4: - resolution: {integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==} - dev: false - /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -7479,8 +7466,9 @@ packages: is-docker: 2.2.1 dev: false - /is-yarn-global@0.3.0: - resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} + /is-yarn-global@0.4.1: + resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} + engines: {node: '>=12'} dev: false /isarray@0.0.1: @@ -7505,7 +7493,7 @@ packages: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: define-properties: 1.2.1 - get-intrinsic: 1.2.1 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 reflect.getprototypeof: 1.0.4 set-function-name: 2.0.1 @@ -7516,7 +7504,7 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - async: 3.2.4 + async: 3.2.5 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 @@ -7527,9 +7515,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.9.2 + '@types/node': 20.10.1 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 dev: false @@ -7538,7 +7526,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.9.2 + '@types/node': 20.10.1 merge-stream: 2.0.0 supports-color: 7.2.0 dev: false @@ -7547,7 +7535,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.9.2 + '@types/node': 20.10.1 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7555,19 +7543,19 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.9.2 + '@types/node': 20.10.1 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false - /jiti@1.20.0: - resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true dev: false - /joi@17.10.2: - resolution: {integrity: sha512-hcVhjBxRNW/is3nNLdGLIjkgXetkeGc2wyhydhz8KumG23Aerk4HPjU5zaPAMRqXQFc0xNqXTC7+zQjxr0GlKA==} + /joi@17.11.0: + resolution: {integrity: sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==} dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 @@ -7638,7 +7626,7 @@ packages: /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: - universalify: 2.0.0 + universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 dev: false @@ -7663,8 +7651,8 @@ packages: dependencies: json-buffer: 3.0.1 - /khroma@2.0.0: - resolution: {integrity: sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==} + /khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} dev: false /kind-of@6.0.3: @@ -7676,19 +7664,24 @@ packages: engines: {node: '>=6'} dev: false + /kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: false + /known-css-properties@0.29.0: resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==} dev: true - /latest-version@5.1.0: - resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} - engines: {node: '>=8'} + /latest-version@7.0.0: + resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} + engines: {node: '>=14.16'} dependencies: - package-json: 6.5.0 + package-json: 8.1.1 dev: false - /launch-editor@2.6.0: - resolution: {integrity: sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==} + /launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} dependencies: picocolors: 1.0.0 shell-quote: 1.8.1 @@ -7748,19 +7741,19 @@ packages: path-exists: 3.0.0 dev: false - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: false - /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 + /locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-locate: 6.0.0 + dev: false + /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false @@ -7773,22 +7766,10 @@ packages: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: false - /lodash.escape@4.0.1: - resolution: {integrity: sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==} - dev: false - - /lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - dev: false - /lodash.flow@3.5.0: resolution: {integrity: sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==} dev: false - /lodash.invokemap@4.6.0: - resolution: {integrity: sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w==} - dev: false - /lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: false @@ -7796,10 +7777,6 @@ packages: /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - /lodash.pullall@4.2.0: - resolution: {integrity: sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg==} - dev: false - /lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: false @@ -7812,14 +7789,14 @@ packages: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} dev: false - /lodash.uniqby@4.7.0: - resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} - dev: false - /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: false + /longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + dev: false + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -7855,13 +7832,6 @@ packages: sourcemap-codec: 1.4.8 dev: false - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.1 - dev: false - /map-obj@1.0.1: resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} engines: {node: '>=0.10.0'} @@ -7872,41 +7842,264 @@ packages: engines: {node: '>=8'} dev: true - /markdown-escapes@1.0.4: - resolution: {integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==} + /markdown-extensions@2.0.0: + resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} + engines: {node: '>=16'} + dev: false + + /markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: false /mathml-tag-names@2.1.3: resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} dev: true - /mdast-squeeze-paragraphs@4.0.0: - resolution: {integrity: sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==} + /mdast-util-directive@3.0.0: + resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.3 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + dependencies: + '@types/mdast': 4.0.3 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: false + + /mdast-util-from-markdown@1.3.1: + resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} dependencies: - unist-util-remove: 2.1.0 + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 + decode-named-character-reference: 1.0.2 + mdast-util-to-string: 3.2.0 + micromark: 3.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-decode-string: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + unist-util-stringify-position: 3.0.3 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-from-markdown@2.0.0: + resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + dependencies: + '@types/mdast': 4.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.0.1 + dev: false + + /mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + dependencies: + mdast-util-from-markdown: 2.0.0 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdx-expression@2.0.0: + resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdx-jsx@3.0.0: + resolution: {integrity: sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.3 + unist-util-remove-position: 5.0.0 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + dependencies: + mdast-util-from-markdown: 2.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.0.0 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + dependencies: + '@types/estree-jsx': 1.0.3 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-phrasing@4.0.0: + resolution: {integrity: sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==} + dependencies: + '@types/mdast': 4.0.3 + unist-util-is: 6.0.0 + dev: false + + /mdast-util-to-hast@13.0.2: + resolution: {integrity: sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==} + dependencies: + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 dev: false - /mdast-util-definitions@4.0.0: - resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==} + /mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} dependencies: - unist-util-visit: 2.0.3 + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.0.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 dev: false - /mdast-util-to-hast@10.0.1: - resolution: {integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==} + /mdast-util-to-string@3.2.0: + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} dependencies: - '@types/mdast': 3.0.12 - '@types/unist': 2.0.8 - mdast-util-definitions: 4.0.0 - mdurl: 1.0.1 - unist-builder: 2.0.3 - unist-util-generated: 1.1.6 - unist-util-position: 3.1.0 - unist-util-visit: 2.0.3 + '@types/mdast': 3.0.15 dev: false - /mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + /mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + dependencies: + '@types/mdast': 4.0.3 dev: false /mdn-data@2.0.14: @@ -7917,10 +8110,6 @@ packages: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} dev: true - /mdurl@1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: false - /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -7930,14 +8119,14 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} dependencies: - fs-monkey: 1.0.4 + fs-monkey: 1.0.5 dev: false /meow@10.1.5: resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - '@types/minimist': 1.2.3 + '@types/minimist': 1.2.5 camelcase-keys: 7.0.2 decamelize: 5.0.1 decamelize-keys: 1.1.1 @@ -7962,30 +8151,566 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /mermaid@9.4.3: - resolution: {integrity: sha512-TLkQEtqhRSuEHSE34lh5bCa94KATCyluAXmFnNI2PRZwOpXFeqiJWwZl+d2CcemE1RS6QbbueSSq9QIg8Uxcyw==} + /mermaid@10.6.1: + resolution: {integrity: sha512-Hky0/RpOw/1il9X8AvzOEChfJtVvmXm+y7JML5C//ePYMy0/9jCEmW1E1g86x9oDfW9+iVEdTV/i+M6KWRNs4A==} dependencies: '@braintree/sanitize-url': 6.0.4 - cytoscape: 3.26.0 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.26.0) - cytoscape-fcose: 2.2.0(cytoscape@3.26.0) + '@types/d3-scale': 4.0.8 + '@types/d3-scale-chromatic': 3.0.3 + cytoscape: 3.27.0 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.27.0) + cytoscape-fcose: 2.2.0(cytoscape@3.27.0) d3: 7.8.5 - dagre-d3-es: 7.0.9 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.10 dayjs: 1.11.10 - dompurify: 2.4.3 + dompurify: 3.0.6 elkjs: 0.8.2 - khroma: 2.0.0 + khroma: 2.1.0 lodash-es: 4.17.21 + mdast-util-from-markdown: 1.3.1 non-layered-tidy-tree-layout: 2.0.2 stylis: 4.3.0 ts-dedent: 2.2.0 uuid: 9.0.1 web-worker: 1.2.0 + transitivePeerDependencies: + - supports-color + dev: false + + /methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: false + + /micromark-core-commonmark@1.1.0: + resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-factory-destination: 1.1.0 + micromark-factory-label: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-factory-title: 1.1.0 + micromark-factory-whitespace: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-html-tag-name: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-core-commonmark@2.0.0: + resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-directive@3.0.0: + resolution: {integrity: sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==} + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + parse-entities: 4.0.1 + dev: false + + /micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + dependencies: + fault: 2.0.1 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + dependencies: + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + dependencies: + micromark-extension-gfm-autolink-literal: 2.0.0 + micromark-extension-gfm-footnote: 2.0.0 + micromark-extension-gfm-strikethrough: 2.0.0 + micromark-extension-gfm-table: 2.0.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.0.1 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-mdx-expression@3.0.0: + resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-mdx-jsx@3.0.0: + resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + dev: false + + /micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + dependencies: + micromark-util-types: 2.0.0 + dev: false + + /micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + dev: false + + /micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + dependencies: + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) + micromark-extension-mdx-expression: 3.0.0 + micromark-extension-mdx-jsx: 3.0.0 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-destination@1.1.0: + resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-label@1.1.0: + resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-mdx-expression@2.0.1: + resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-util-character: 2.0.1 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + dev: false + + /micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-title@1.1.0: + resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-factory-whitespace@1.1.0: + resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-character@2.0.1: + resolution: {integrity: sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==} + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-chunked@1.1.0: + resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + dependencies: + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-classify-character@1.1.0: + resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-combine-extensions@1.1.0: + resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-decode-numeric-character-reference@1.1.0: + resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + dependencies: + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-decode-string@1.1.0: + resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 1.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-encode@1.1.0: + resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + dev: false + + /micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + dev: false + + /micromark-util-events-to-acorn@2.0.2: + resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + '@types/unist': 3.0.2 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + dev: false + + /micromark-util-html-tag-name@1.2.0: + resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + dev: false + + /micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + dev: false + + /micromark-util-normalize-identifier@1.1.0: + resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + dependencies: + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-resolve-all@1.1.0: + resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + dependencies: + micromark-util-types: 1.1.0 + dev: false + + /micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + dependencies: + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-sanitize-uri@1.2.0: + resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-encode: 1.1.0 + micromark-util-symbol: 1.1.0 + dev: false + + /micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + dev: false + + /micromark-util-subtokenize@1.1.0: + resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: false + + /micromark-util-subtokenize@2.0.0: + resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: false + + /micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + dev: false + + /micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + dev: false + + /micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + dev: false + + /micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + dev: false + + /micromark@3.2.0: + resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-combine-extensions: 1.1.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-encode: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color dev: false - /methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} + /micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color dev: false /micromatch@4.0.5: @@ -8043,14 +8768,14 @@ packages: engines: {node: '>=4'} dev: true - /mini-css-extract-plugin@2.7.6(webpack@5.88.2): + /mini-css-extract-plugin@2.7.6(webpack@5.89.0): resolution: {integrity: sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 - webpack: 5.88.2 + webpack: 5.89.0 dev: false /minimalistic-assert@1.0.1: @@ -8105,6 +8830,11 @@ packages: minimist: 1.2.8 dev: true + /mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + dev: false + /mrmime@1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} @@ -8128,8 +8858,8 @@ packages: thunky: 1.1.0 dev: false - /nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -8155,21 +8885,25 @@ packages: tslib: 2.6.2 dev: false - /node-abi@3.47.0: - resolution: {integrity: sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==} + /node-abi@3.51.0: + resolution: {integrity: sha512-SQkEP4hmNWjlniS5zdnfIXTk1x7Ome85RDzHlTbBtzE97Gfwz/Ipw4v/Ryk20DWIy3yCNVLVlGKApCnmvYoJbA==} engines: {node: '>=10'} dependencies: semver: 7.5.4 dev: false - /node-addon-api@5.1.0: - resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} + /node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} dev: false - /node-emoji@1.11.0: - resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + /node-emoji@2.1.3: + resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} + engines: {node: '>=18'} dependencies: - lodash: 4.17.21 + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 dev: false /node-fetch@2.6.7: @@ -8252,15 +8986,11 @@ packages: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} dependencies: boolbase: 1.0.0 - dev: false /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} @@ -8272,7 +9002,7 @@ packages: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 @@ -8281,18 +9011,18 @@ packages: resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.22.3 dev: true /object.fromentries@2.0.7: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.22.3 dev: true /object.groupby@1.0.1: @@ -8308,16 +9038,16 @@ packages: resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} dependencies: define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.22.3 dev: true /object.values@1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 + es-abstract: 1.22.3 dev: true /obuf@1.1.2: @@ -8391,16 +9121,16 @@ packages: dependencies: yocto-queue: 0.1.0 - /p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} + /p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - p-limit: 2.3.0 + yocto-queue: 1.0.0 dev: false - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + /p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} dependencies: p-limit: 2.3.0 dev: false @@ -8411,6 +9141,13 @@ packages: dependencies: p-limit: 3.1.0 + /p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + p-limit: 4.0.0 + dev: false + /p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -8431,14 +9168,14 @@ packages: engines: {node: '>=6'} dev: false - /package-json@6.5.0: - resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} - engines: {node: '>=8'} + /package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} + engines: {node: '>=14.16'} dependencies: - got: 13.0.0 - registry-auth-token: 4.2.2 - registry-url: 5.1.0 - semver: 6.3.1 + got: 12.6.1 + registry-auth-token: 5.0.2 + registry-url: 6.0.1 + semver: 7.5.4 dev: false /param-case@3.0.4: @@ -8454,22 +9191,24 @@ packages: dependencies: callsites: 3.1.0 - /parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + /parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} dependencies: - character-entities: 1.2.4 - character-entities-legacy: 1.1.4 - character-reference-invalid: 1.1.4 - is-alphanumerical: 1.0.4 - is-decimal: 1.0.4 - is-hexadecimal: 1.0.4 + '@types/unist': 2.0.10 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 dev: false /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.13 + '@babel/code-frame': 7.23.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -8483,17 +9222,11 @@ packages: dependencies: domhandler: 5.0.3 parse5: 7.1.2 - dev: false - - /parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - dev: false /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: entities: 4.5.0 - dev: false /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} @@ -8516,6 +9249,11 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + /path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: false + /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -8553,6 +9291,14 @@ packages: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} dev: true + /periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + dev: false + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -8560,11 +9306,11 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + /pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} dependencies: - find-up: 4.1.0 + find-up: 6.3.0 dev: false /pkg-up@3.1.0: @@ -8590,7 +9336,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.11 + browserslist: 4.22.1 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.31 @@ -8603,7 +9349,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.11 + browserslist: 4.22.1 postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false @@ -8654,7 +9400,7 @@ packages: postcss-selector-parser: 6.0.13 dev: false - /postcss-loader@7.3.3(postcss@8.4.31)(typescript@5.3.2)(webpack@5.88.2): + /postcss-loader@7.3.3(postcss@8.4.31)(typescript@5.3.2)(webpack@5.89.0): resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -8662,10 +9408,10 @@ packages: webpack: ^5.0.0 dependencies: cosmiconfig: 8.3.6(typescript@5.3.2) - jiti: 1.20.0 + jiti: 1.21.0 postcss: 8.4.31 semver: 7.5.4 - webpack: 5.88.2 + webpack: 5.89.0 transitivePeerDependencies: - typescript dev: false @@ -8698,7 +9444,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.11 + browserslist: 4.22.1 caniuse-api: 3.0.0 cssnano-utils: 3.1.0(postcss@8.4.31) postcss: 8.4.31 @@ -8733,7 +9479,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.11 + browserslist: 4.22.1 cssnano-utils: 3.1.0(postcss@8.4.31) postcss: 8.4.31 postcss-value-parser: 4.2.0 @@ -8855,7 +9601,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.11 + browserslist: 4.22.1 postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false @@ -8908,7 +9654,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.11 + browserslist: 4.22.1 caniuse-api: 3.0.0 postcss: 8.4.31 dev: false @@ -8998,7 +9744,7 @@ packages: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.6 + nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 @@ -9013,7 +9759,7 @@ packages: minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 1.0.2 - node-abi: 3.47.0 + node-abi: 3.51.0 pump: 3.0.0 rc: 1.2.8 simple-get: 4.0.1 @@ -9042,11 +9788,13 @@ packages: engines: {node: '>=4'} dev: false - /prism-react-renderer@1.3.5(react@18.2.0): - resolution: {integrity: sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==} + /prism-react-renderer@2.3.0(react@18.2.0): + resolution: {integrity: sha512-UYRg2TkVIaI6tRVHC5OJ4/BxqPUxJkJvq/odLT/ykpt1zGYXooNperUxQcCvi87LyRnR4nCh81ceOA+e7nrydg==} peerDependencies: - react: '>=0.14.9 || 18' + react: '>=16.0.0 || 18' dependencies: + '@types/prismjs': 1.26.3 + clsx: 2.0.0 react: 18.2.0 dev: false @@ -9080,10 +9828,12 @@ packages: object-assign: 4.1.1 react-is: 16.13.1 - /property-information@5.6.0: - resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==} - dependencies: - xtend: 4.0.2 + /property-information@6.4.0: + resolution: {integrity: sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==} + dev: false + + /proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} dev: false /proxy-addr@2.0.7: @@ -9094,6 +9844,10 @@ packages: ipaddr.js: 1.9.1 dev: false + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + /pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: @@ -9109,11 +9863,11 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - /pupa@2.1.1: - resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} - engines: {node: '>=8'} + /pupa@3.1.0: + resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} + engines: {node: '>=12.20'} dependencies: - escape-goat: 2.1.1 + escape-goat: 4.0.0 dev: false /pure-color@1.3.0: @@ -9130,6 +9884,10 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + /queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + dev: false + /queue@6.0.2: resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} dependencies: @@ -9184,7 +9942,7 @@ packages: pure-color: 1.3.0 dev: false - /react-dev-utils@12.0.1(eslint@8.54.0)(typescript@5.3.2)(webpack@5.88.2): + /react-dev-utils@12.0.1(eslint@8.54.0)(typescript@5.3.2)(webpack@5.89.0): resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} peerDependencies: @@ -9194,16 +9952,16 @@ packages: typescript: optional: true dependencies: - '@babel/code-frame': 7.22.13 + '@babel/code-frame': 7.23.5 address: 1.2.2 - browserslist: 4.21.11 + browserslist: 4.22.1 chalk: 4.1.2 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.54.0)(typescript@5.3.2)(webpack@5.88.2) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.54.0)(typescript@5.3.2)(webpack@5.89.0) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -9219,7 +9977,7 @@ packages: strip-ansi: 6.0.1 text-table: 0.2.0 typescript: 5.3.2 - webpack: 5.88.2 + webpack: 5.89.0 transitivePeerDependencies: - eslint - supports-color @@ -9248,7 +10006,7 @@ packages: react: ^16.6.0 || ^17.0.0 || ^18.0.0 || 18 react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: - '@babel/runtime': 7.22.15 + '@babel/runtime': 7.23.5 invariant: 2.2.4 prop-types: 15.8.1 react: 18.2.0 @@ -9256,6 +10014,18 @@ packages: react-fast-compare: 3.2.2 shallowequal: 1.1.0 + /react-helmet-async@2.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-SFvEqfhFpLr5xqU6fWFb8wjVPjOR4A5skkNVNN5gAr/QeHutfDe4m1Cdo521umTiFRAY8hDOcl4xJO8sXN1n2Q==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 || 18 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 || 18 + dependencies: + invariant: 2.2.4 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -9263,37 +10033,20 @@ packages: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: false - /react-json-view@1.21.3(@types/react@18.2.37)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==} - peerDependencies: - react: ^17.0.0 || ^16.3.0 || ^15.5.4 || 18 - react-dom: ^17.0.0 || ^16.3.0 || ^15.5.4 || 18 - dependencies: - flux: 4.0.4(react@18.2.0) - react: 18.2.0 - react-base16-styling: 0.6.0 - react-dom: 18.2.0(react@18.2.0) - react-lifecycles-compat: 3.0.4 - react-textarea-autosize: 8.5.3(@types/react@18.2.37)(react@18.2.0) - transitivePeerDependencies: - - '@types/react' - - encoding - dev: false - /react-lifecycles-compat@3.0.4: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} dev: false - /react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.88.2): + /react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.89.0): resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} engines: {node: '>=10.13.0'} peerDependencies: react-loadable: '*' webpack: '>=4.41.1 || 5.x' dependencies: - '@babel/runtime': 7.22.15 + '@babel/runtime': 7.23.5 react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) - webpack: 5.88.2 + webpack: 5.89.0 dev: false /react-router-config@5.1.1(react-router@5.3.4)(react@18.2.0): @@ -9302,7 +10055,7 @@ packages: react: '>=15 || 18' react-router: '>=5' dependencies: - '@babel/runtime': 7.22.15 + '@babel/runtime': 7.23.5 react: 18.2.0 react-router: 5.3.4(react@18.2.0) dev: false @@ -9312,7 +10065,7 @@ packages: peerDependencies: react: '>=15 || 18' dependencies: - '@babel/runtime': 7.22.15 + '@babel/runtime': 7.23.5 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -9327,7 +10080,7 @@ packages: peerDependencies: react: '>=15 || 18' dependencies: - '@babel/runtime': 7.22.15 + '@babel/runtime': 7.23.5 history: 4.10.1 hoist-non-react-statics: 3.3.2 loose-envify: 1.4.0 @@ -9349,16 +10102,16 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /react-textarea-autosize@8.5.3(@types/react@18.2.37)(react@18.2.0): - resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==} + /react-textarea-autosize@8.3.4(@types/react@18.2.39)(react@18.2.0): + resolution: {integrity: sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==} engines: {node: '>=10'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.23.5 react: 18.2.0 use-composed-ref: 1.3.0(react@18.2.0) - use-latest: 1.2.1(@types/react@18.2.37)(react@18.2.0) + use-latest: 1.2.1(@types/react@18.2.39)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false @@ -9368,7 +10121,7 @@ packages: peerDependencies: react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || 18 dependencies: - '@babel/runtime': 7.22.15 + '@babel/runtime': 7.23.5 consolidated-events: 2.0.2 prop-types: 15.8.1 react: 18.2.0 @@ -9394,7 +10147,7 @@ packages: resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} engines: {node: '>=12'} dependencies: - '@types/normalize-package-data': 2.4.2 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 3.0.3 parse-json: 5.2.0 type-fest: 1.4.0 @@ -9457,10 +10210,10 @@ packages: resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 globalthis: 1.0.3 which-builtin-type: 1.1.3 dev: true @@ -9482,14 +10235,14 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.22.15 + '@babel/runtime': 7.23.5 dev: false /regexp.prototype.flags@1.5.1: resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 set-function-name: 2.0.1 @@ -9505,16 +10258,16 @@ packages: unicode-match-property-value-ecmascript: 2.1.0 dev: false - /registry-auth-token@4.2.2: - resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} - engines: {node: '>=6.0.0'} + /registry-auth-token@5.0.2: + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + engines: {node: '>=14'} dependencies: - rc: 1.2.8 + '@pnpm/npm-conf': 2.2.2 dev: false - /registry-url@5.1.0: - resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} - engines: {node: '>=8'} + /registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} dependencies: rc: 1.2.8 dev: false @@ -9526,63 +10279,101 @@ packages: jsesc: 0.5.0 dev: false + /rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + dependencies: + '@types/hast': 3.0.3 + hast-util-raw: 9.0.1 + vfile: 6.0.1 + dev: false + /relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} dev: false - /remark-emoji@2.2.0: - resolution: {integrity: sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==} + /remark-directive@3.0.0: + resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-directive: 3.0.0 + micromark-extension-directive: 3.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-emoji@4.0.1: + resolution: {integrity: sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + '@types/mdast': 4.0.3 + emoticon: 4.0.1 + mdast-util-find-and-replace: 3.0.1 + node-emoji: 2.1.3 + unified: 11.0.4 + dev: false + + /remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} dependencies: - emoticon: 3.2.0 - node-emoji: 1.11.0 - unist-util-visit: 2.0.3 + '@types/mdast': 4.0.3 + mdast-util-frontmatter: 2.0.1 + micromark-extension-frontmatter: 2.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color dev: false - /remark-footnotes@2.0.0: - resolution: {integrity: sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==} + /remark-mdx@3.0.0: + resolution: {integrity: sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g==} + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color dev: false - /remark-mdx@1.6.22: - resolution: {integrity: sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==} + /remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} dependencies: - '@babel/core': 7.12.9 - '@babel/helper-plugin-utils': 7.10.4 - '@babel/plugin-proposal-object-rest-spread': 7.12.1(@babel/core@7.12.9) - '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.9) - '@mdx-js/util': 1.6.22 - is-alphabetical: 1.0.4 - remark-parse: 8.0.3 - unified: 9.2.0 + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + micromark-util-types: 2.0.0 + unified: 11.0.4 transitivePeerDependencies: - supports-color dev: false - /remark-parse@8.0.3: - resolution: {integrity: sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==} + /remark-rehype@11.0.0: + resolution: {integrity: sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==} dependencies: - ccount: 1.1.0 - collapse-white-space: 1.0.6 - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 - is-whitespace-character: 1.0.4 - is-word-character: 1.0.4 - markdown-escapes: 1.0.4 - parse-entities: 2.0.0 - repeat-string: 1.6.1 - state-toggle: 1.0.3 - trim: 1.0.1 - trim-trailing-lines: 1.1.4 - unherit: 1.1.3 - unist-util-remove-position: 2.0.1 - vfile-location: 3.2.0 - xtend: 4.0.2 + '@types/hast': 3.0.3 + '@types/mdast': 4.0.3 + mdast-util-to-hast: 13.0.2 + unified: 11.0.4 + vfile: 6.0.1 dev: false - /remark-squeeze-paragraphs@4.0.0: - resolution: {integrity: sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==} + /remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} dependencies: - mdast-squeeze-paragraphs: 4.0.0 + '@types/mdast': 4.0.3 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.4 dev: false /renderkid@3.0.0: @@ -9595,11 +10386,6 @@ packages: strip-ansi: 6.0.1 dev: false - /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: false - /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -9641,11 +10427,11 @@ packages: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + /resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: - is-core-module: 2.13.0 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -9682,11 +10468,11 @@ packages: peerDependencies: rollup: ^2.0.0 dependencies: - '@babel/code-frame': 7.22.13 + '@babel/code-frame': 7.23.5 jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 - terser: 5.20.0 + terser: 5.24.0 dev: false /rollup@2.79.1: @@ -9697,15 +10483,16 @@ packages: fsevents: 2.3.3 dev: false - /rtl-detect@1.0.4: - resolution: {integrity: sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ==} + /rtl-detect@1.1.2: + resolution: {integrity: sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==} dev: false - /rtlcss@3.5.0: - resolution: {integrity: sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==} + /rtlcss@4.1.1: + resolution: {integrity: sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==} + engines: {node: '>=12.0.0'} hasBin: true dependencies: - find-up: 5.0.0 + escalade: 3.1.1 picocolors: 1.0.0 postcss: 8.4.31 strip-json-comments: 3.1.1 @@ -9726,12 +10513,19 @@ packages: tslib: 2.6.2 dev: false + /sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + dependencies: + mri: 1.2.0 + dev: false + /safe-array-concat@1.0.1: resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} engines: {node: '>=0.4'} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 isarray: 2.0.5 @@ -9753,8 +10547,8 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: false - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} dev: false /scheduler@0.23.0: @@ -9766,16 +10560,7 @@ packages: resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} engines: {node: '>= 8.9.0'} dependencies: - '@types/json-schema': 7.0.13 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - dev: false - - /schema-utils@2.7.1: - resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} - engines: {node: '>= 8.9.0'} - dependencies: - '@types/json-schema': 7.0.13 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) dev: false @@ -9784,7 +10569,7 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.13 + '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) @@ -9792,7 +10577,7 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} dependencies: - '@types/json-schema': 7.0.13 + '@types/json-schema': 7.0.15 ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) @@ -9814,23 +10599,19 @@ packages: resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} dev: false - /selfsigned@2.1.1: - resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} + /selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} dependencies: + '@types/node-forge': 1.3.10 node-forge: 1.3.1 dev: false - /semver-diff@3.1.1: - resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} - engines: {node: '>=8'} + /semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} dependencies: - semver: 6.3.1 - dev: false - - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true + semver: 7.5.4 dev: false /semver@6.3.1: @@ -9876,8 +10657,8 @@ packages: dependencies: randombytes: 2.1.0 - /seroval@0.11.6: - resolution: {integrity: sha512-Lhy+94CNcNza6d0vM4sQKLsaLaX39q0ELqIBc7DkdiFljI8Q387Yb+xKgLxRWXs7uuHRu/ZcJ64xfVJ0Bj4LPg==} + /seroval@0.14.1: + resolution: {integrity: sha512-ZlC9y1KVDhZFdEHLYZup1RjKDutyX1tt3ffOauqRbRURa2vRr2NU/bHuVEuNEqR3zE2uCU3WM6LqH6Oinc3tWg==} engines: {node: '>=10'} dev: false @@ -9934,9 +10715,9 @@ packages: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.0 + define-data-property: 1.1.1 functions-have-names: 1.2.3 - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.1 /setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} @@ -9959,18 +10740,18 @@ packages: /shallowequal@1.1.0: resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - /sharp@0.30.7: - resolution: {integrity: sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig==} - engines: {node: '>=12.13.0'} + /sharp@0.32.6: + resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} + engines: {node: '>=14.15.0'} requiresBuild: true dependencies: color: 4.2.3 detect-libc: 2.0.2 - node-addon-api: 5.1.0 + node-addon-api: 6.1.0 prebuild-install: 7.1.1 semver: 7.5.4 simple-get: 4.0.1 - tar-fs: 2.1.1 + tar-fs: 3.0.4 tunnel-agent: 0.6.0 dev: false @@ -10000,9 +10781,9 @@ packages: /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - object-inspect: 1.12.3 + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -10049,9 +10830,16 @@ packages: hasBin: true dependencies: '@types/node': 17.0.45 - '@types/sax': 1.2.4 + '@types/sax': 1.2.7 arg: 5.0.2 - sax: 1.2.4 + sax: 1.3.0 + dev: false + + /skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + dependencies: + unicode-emoji-modifier-base: 1.0.0 dev: false /slash@3.0.0: @@ -10080,11 +10868,11 @@ packages: websocket-driver: 0.7.4 dev: false - /solid-js@1.8.2: - resolution: {integrity: sha512-Qifh2/EJ0hUgko9buZcE5oPpEykrpDp34mJoW+qxyy3UTQnfCTmwc8JbeI71UiDahZt5FqvgOzxolprTuwMAqg==} + /solid-js@1.8.6: + resolution: {integrity: sha512-yiH6ZfBBZ3xj/aU/PBpVKB+8r8WWp100NGF7k/Z0IrK9Y8Lv0jwvFiJY1cHdc6Tj7GqXArKnMBabM0m1k+LzkA==} dependencies: csstype: 3.1.2 - seroval: 0.11.6 + seroval: 0.14.1 dev: false /sort-css-media-queries@2.1.0: @@ -10102,15 +10890,15 @@ packages: buffer-from: 1.1.2 source-map: 0.6.1 - /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - dev: false - /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: false + /source-map@0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} @@ -10123,8 +10911,8 @@ packages: deprecated: Please use @jridgewell/sourcemap-codec instead dev: false - /space-separated-tokens@1.1.5: - resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} + /space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} dev: false /spdx-correct@3.2.0: @@ -10179,15 +10967,16 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: false + /srcset@4.0.0: + resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==} + engines: {node: '>=12'} + dev: false + /stable@0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' dev: false - /state-toggle@1.0.3: - resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==} - dev: false - /statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -10198,8 +10987,15 @@ packages: engines: {node: '>= 0.8'} dev: false - /std-env@3.4.3: - resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==} + /std-env@3.5.0: + resolution: {integrity: sha512-JGUEaALvL0Mf6JCfYnJOTcobY+Nc7sG/TemDRBqCA0wEr4DER7zDchaaixTlmOxAjG1uRJmX82EQcxwTQTkqVA==} + dev: false + + /streamx@2.15.5: + resolution: {integrity: sha512-9thPGMkKC2GctCzyCUjME3yR03x2xNo0GPKGkRw2UMYN+gqWa9uqpyNWhmsNCutU5zHmkUum0LsCRQTXUgUCAg==} + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 dev: false /string-width@4.2.3: @@ -10222,12 +11018,12 @@ packages: /string.prototype.matchall@4.0.10: resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} dependencies: - call-bind: 1.0.2 + call-bind: 1.0.5 define-properties: 1.2.1 - es-abstract: 1.22.2 - get-intrinsic: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 has-symbols: 1.0.3 - internal-slot: 1.0.5 + internal-slot: 1.0.6 regexp.prototype.flags: 1.5.1 set-function-name: 2.0.1 side-channel: 1.0.4 @@ -10266,6 +11062,13 @@ packages: safe-buffer: 5.2.1 dev: false + /stringify-entities@4.0.3: + resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + dev: false + /stringify-object@3.3.0: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} engines: {node: '>=4'} @@ -10328,8 +11131,8 @@ packages: resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} dev: true - /style-to-object@0.3.0: - resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} + /style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} dependencies: inline-style-parser: 0.1.1 dev: false @@ -10340,7 +11143,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.11 + browserslist: 4.22.1 postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: false @@ -10419,14 +11222,14 @@ packages: css-functions-list: 3.2.1 css-tree: 2.3.1 debug: 4.3.4 - fast-glob: 3.3.1 + fast-glob: 3.3.2 fastest-levenshtein: 1.0.16 - file-entry-cache: 7.0.1 + file-entry-cache: 7.0.2 global-modules: 2.0.0 globby: 11.1.0 globjoin: 0.1.4 html-tags: 3.3.1 - ignore: 5.2.4 + ignore: 5.3.0 import-lazy: 4.0.0 imurmurhash: 0.1.4 is-plain-object: 5.0.0 @@ -10539,6 +11342,14 @@ packages: tar-stream: 2.2.0 dev: false + /tar-fs@3.0.4: + resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} + dependencies: + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 3.1.6 + dev: false + /tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -10550,6 +11361,14 @@ packages: readable-stream: 3.6.2 dev: false + /tar-stream@3.1.6: + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + dependencies: + b4a: 1.6.4 + fast-fifo: 1.3.2 + streamx: 2.15.5 + dev: false + /tar@4.4.19: resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} engines: {node: '>=4.5'} @@ -10578,7 +11397,7 @@ packages: unique-string: 2.0.0 dev: false - /terser-webpack-plugin@5.3.9(webpack@5.88.2): + /terser-webpack-plugin@5.3.9(webpack@5.89.0): resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -10594,15 +11413,15 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.19 + '@jridgewell/trace-mapping': 0.3.20 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.20.0 - webpack: 5.88.2 + terser: 5.24.0 + webpack: 5.89.0 - /terser@5.20.0: - resolution: {integrity: sha512-e56ETryaQDyebBwJIWYB2TT6f2EZ0fL0sW/JRXNMN26zZdKi2u/E/5my5lG6jNxym6qsrVXfFRmOdV42zlAgLQ==} + /terser@5.24.0: + resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} engines: {node: '>=10'} hasBin: true dependencies: @@ -10656,22 +11475,17 @@ packages: punycode: 2.3.1 dev: false + /trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + dev: false + /trim-newlines@4.1.1: resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} engines: {node: '>=12'} dev: true - /trim-trailing-lines@1.1.4: - resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==} - dev: false - - /trim@1.0.1: - resolution: {integrity: sha512-3JVP2YVqITUisXblCDq/Bi4P9457G/sdEamInkyvCsjbTcXLXIiG7XCb4kGMFWh6JGXesS3TKxOPtrncN/xe8w==} - deprecated: Use String.prototype.trim() instead - dev: false - - /trough@1.0.5: - resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} + /trough@2.1.0: + resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} dev: false /ts-api-utils@1.0.3(typescript@5.3.2): @@ -10738,7 +11552,6 @@ packages: /type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} - dev: true /type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} @@ -10798,8 +11611,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - /ua-parser-js@1.0.36: - resolution: {integrity: sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw==} + /ua-parser-js@1.0.37: + resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} dev: false /unbox-primitive@1.0.2: @@ -10813,18 +11626,16 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /unherit@1.1.3: - resolution: {integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==} - dependencies: - inherits: 2.0.4 - xtend: 4.0.2 - dev: false - /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} dev: false + /unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + dev: false + /unicode-match-property-ecmascript@2.0.0: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} @@ -10843,28 +11654,16 @@ packages: engines: {node: '>=4'} dev: false - /unified@9.2.0: - resolution: {integrity: sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==} - dependencies: - '@types/unist': 2.0.8 - bail: 1.0.5 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 2.1.0 - trough: 1.0.5 - vfile: 4.2.1 - dev: false - - /unified@9.2.2: - resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} + /unified@11.0.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} dependencies: - '@types/unist': 2.0.8 - bail: 1.0.5 + '@types/unist': 3.0.2 + bail: 2.0.2 + devlop: 1.1.0 extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 2.1.0 - trough: 1.0.5 - vfile: 4.2.1 + is-plain-obj: 4.1.0 + trough: 2.1.0 + vfile: 6.0.1 dev: false /unique-string@2.0.0: @@ -10874,57 +11673,67 @@ packages: crypto-random-string: 2.0.0 dev: false - /unist-builder@2.0.3: - resolution: {integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==} + /unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + dependencies: + crypto-random-string: 4.0.0 dev: false - /unist-util-generated@1.1.6: - resolution: {integrity: sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==} + /unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + dependencies: + '@types/unist': 3.0.2 dev: false - /unist-util-is@4.1.0: - resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} + /unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + dependencies: + '@types/unist': 3.0.2 dev: false - /unist-util-position@3.1.0: - resolution: {integrity: sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==} + /unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + dependencies: + '@types/unist': 3.0.2 dev: false - /unist-util-remove-position@2.0.1: - resolution: {integrity: sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==} + /unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} dependencies: - unist-util-visit: 2.0.3 + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 dev: false - /unist-util-remove@2.1.0: - resolution: {integrity: sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==} + /unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} dependencies: - unist-util-is: 4.1.0 + '@types/unist': 2.0.10 dev: false - /unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + /unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} dependencies: - '@types/unist': 2.0.8 + '@types/unist': 3.0.2 dev: false - /unist-util-visit-parents@3.1.1: - resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} + /unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} dependencies: - '@types/unist': 2.0.8 - unist-util-is: 4.1.0 + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 dev: false - /unist-util-visit@2.0.3: - resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} + /unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} dependencies: - '@types/unist': 2.0.8 - unist-util-is: 4.1.0 - unist-util-visit-parents: 3.1.1 + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 dev: false - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} dev: false @@ -10938,34 +11747,34 @@ packages: engines: {node: '>=4'} dev: false - /update-browserslist-db@1.0.13(browserslist@4.21.11): + /update-browserslist-db@1.0.13(browserslist@4.22.1): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.11 + browserslist: 4.22.1 escalade: 3.1.1 picocolors: 1.0.0 - /update-notifier@5.1.0: - resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} - engines: {node: '>=10'} + /update-notifier@6.0.2: + resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} + engines: {node: '>=14.16'} dependencies: - boxen: 5.1.2 - chalk: 4.1.2 - configstore: 5.0.1 - has-yarn: 2.1.0 - import-lazy: 2.1.0 - is-ci: 2.0.0 + boxen: 7.1.1 + chalk: 5.3.0 + configstore: 6.0.0 + has-yarn: 3.0.0 + import-lazy: 4.0.0 + is-ci: 3.0.1 is-installed-globally: 0.4.0 - is-npm: 5.0.0 - is-yarn-global: 0.3.0 - latest-version: 5.1.0 - pupa: 2.1.1 + is-npm: 6.0.0 + is-yarn-global: 0.4.1 + latest-version: 7.0.0 + pupa: 3.1.0 semver: 7.5.4 - semver-diff: 3.1.1 - xdg-basedir: 4.0.0 + semver-diff: 4.0.0 + xdg-basedir: 5.1.0 dev: false /uri-js@4.4.1: @@ -10973,7 +11782,7 @@ packages: dependencies: punycode: 2.3.1 - /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.88.2): + /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.89.0): resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -10983,11 +11792,11 @@ packages: file-loader: optional: true dependencies: - file-loader: 6.2.0(webpack@5.88.2) + file-loader: 6.2.0(webpack@5.89.0) loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.88.2 + webpack: 5.89.0 dev: false /use-composed-ref@1.3.0(react@18.2.0): @@ -10998,7 +11807,7 @@ packages: react: 18.2.0 dev: false - /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.37)(react@18.2.0): + /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.39)(react@18.2.0): resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' @@ -11007,11 +11816,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.37 + '@types/react': 18.2.39 react: 18.2.0 dev: false - /use-latest@1.2.1(@types/react@18.2.37)(react@18.2.0): + /use-latest@1.2.1(@types/react@18.2.39)(react@18.2.0): resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} peerDependencies: '@types/react': '*' @@ -11020,17 +11829,9 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.37 - react: 18.2.0 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.37)(react@18.2.0) - dev: false - - /use-sync-external-store@1.2.0(react@18.2.0): - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || 18 - dependencies: + '@types/react': 18.2.39 react: 18.2.0 + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.39)(react@18.2.0) dev: false /util-deprecate@1.0.2: @@ -11059,6 +11860,17 @@ packages: hasBin: true dev: false + /uvu@0.5.6: + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + dequal: 2.0.3 + diff: 5.1.0 + kleur: 4.1.5 + sade: 1.8.1 + dev: false + /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -11075,33 +11887,35 @@ packages: engines: {node: '>= 0.8'} dev: false - /vfile-location@3.2.0: - resolution: {integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==} + /vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + dependencies: + '@types/unist': 3.0.2 + vfile: 6.0.1 dev: false - /vfile-message@2.0.4: - resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + /vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} dependencies: - '@types/unist': 2.0.8 - unist-util-stringify-position: 2.0.3 + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 dev: false - /vfile@4.2.1: - resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + /vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} dependencies: - '@types/unist': 2.0.8 - is-buffer: 2.0.5 - unist-util-stringify-position: 2.0.3 - vfile-message: 2.0.4 + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 dev: false - /wait-on@6.0.1: - resolution: {integrity: sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==} - engines: {node: '>=10.0.0'} + /wait-on@7.2.0: + resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==} + engines: {node: '>=12.0.0'} hasBin: true dependencies: - axios: 0.25.0 - joi: 17.10.2 + axios: 1.6.2 + joi: 17.11.0 lodash: 4.17.21 minimist: 1.2.8 rxjs: 7.8.1 @@ -11122,8 +11936,8 @@ packages: minimalistic-assert: 1.0.1 dev: false - /web-namespaces@1.1.4: - resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==} + /web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} dev: false /web-worker@1.2.0: @@ -11137,24 +11951,20 @@ packages: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: false - /webpack-bundle-analyzer@4.9.1: - resolution: {integrity: sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w==} + /webpack-bundle-analyzer@4.10.1: + resolution: {integrity: sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==} engines: {node: '>= 10.13.0'} hasBin: true dependencies: '@discoveryjs/json-ext': 0.5.7 - acorn: 8.10.0 - acorn-walk: 8.2.0 + acorn: 8.11.2 + acorn-walk: 8.3.0 commander: 7.2.0 + debounce: 1.2.1 escape-string-regexp: 4.0.0 gzip-size: 6.0.0 + html-escaper: 2.0.2 is-plain-object: 5.0.0 - lodash.debounce: 4.0.8 - lodash.escape: 4.0.1 - lodash.flatten: 4.4.0 - lodash.invokemap: 4.6.0 - lodash.pullall: 4.2.0 - lodash.uniqby: 4.7.0 opener: 1.5.2 picocolors: 1.0.0 sirv: 2.0.3 @@ -11164,7 +11974,7 @@ packages: - utf-8-validate dev: false - /webpack-dev-middleware@5.3.3(webpack@5.88.2): + /webpack-dev-middleware@5.3.3(webpack@5.89.0): resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -11175,10 +11985,10 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.88.2 + webpack: 5.89.0 dev: false - /webpack-dev-server@4.15.1(webpack@5.88.2): + /webpack-dev-server@4.15.1(webpack@5.89.0): resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} engines: {node: '>= 12.13.0'} hasBin: true @@ -11191,13 +12001,13 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.11 - '@types/connect-history-api-fallback': 1.5.1 - '@types/express': 4.17.18 - '@types/serve-index': 1.9.1 - '@types/serve-static': 1.15.2 - '@types/sockjs': 0.3.33 - '@types/ws': 8.5.5 + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.21 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.5 + '@types/sockjs': 0.3.36 + '@types/ws': 8.5.10 ansi-html-community: 0.0.8 bonjour-service: 1.1.1 chokidar: 3.5.3 @@ -11208,19 +12018,19 @@ packages: express: 4.18.2 graceful-fs: 4.2.11 html-entities: 2.4.0 - http-proxy-middleware: 2.0.6(@types/express@4.17.18) + http-proxy-middleware: 2.0.6(@types/express@4.17.21) ipaddr.js: 2.1.0 - launch-editor: 2.6.0 + launch-editor: 2.6.1 open: 8.4.2 p-retry: 4.6.2 rimraf: 3.0.2 schema-utils: 4.2.0 - selfsigned: 2.1.1 + selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.88.2 - webpack-dev-middleware: 5.3.3(webpack@5.88.2) + webpack: 5.89.0 + webpack-dev-middleware: 5.3.3(webpack@5.89.0) ws: 8.14.2 transitivePeerDependencies: - bufferutil @@ -11229,19 +12039,20 @@ packages: - utf-8-validate dev: false - /webpack-merge@5.9.0: - resolution: {integrity: sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==} + /webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} engines: {node: '>=10.0.0'} dependencies: clone-deep: 4.0.1 + flat: 5.0.2 wildcard: 2.0.1 /webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - /webpack@5.88.2: - resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} + /webpack@5.89.0: + resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -11250,17 +12061,17 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.5 - '@types/estree': 1.0.2 + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/wasm-edit': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - acorn: 8.10.0 - acorn-import-assertions: 1.9.0(acorn@8.10.0) - browserslist: 4.21.11 + acorn: 8.11.2 + acorn-import-assertions: 1.9.0(acorn@8.11.2) + browserslist: 4.22.1 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 - es-module-lexer: 1.3.1 + es-module-lexer: 1.4.1 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -11271,7 +12082,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(webpack@5.88.2) + terser-webpack-plugin: 5.3.9(webpack@5.89.0) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -11279,7 +12090,7 @@ packages: - esbuild - uglify-js - /webpackbar@5.0.2(webpack@5.88.2): + /webpackbar@5.0.2(webpack@5.89.0): resolution: {integrity: sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==} engines: {node: '>=12'} peerDependencies: @@ -11288,8 +12099,8 @@ packages: chalk: 4.1.2 consola: 2.15.3 pretty-time: 1.1.0 - std-env: 3.4.3 - webpack: 5.88.2 + std-env: 3.5.0 + webpack: 5.89.0 dev: false /websocket-driver@0.7.4: @@ -11356,16 +12167,6 @@ packages: is-weakset: 2.0.2 dev: true - /which-typed-array@1.1.11: - resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - /which-typed-array@1.1.13: resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} engines: {node: '>= 0.4'} @@ -11389,13 +12190,6 @@ packages: dependencies: isexe: 2.0.0 - /widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} - dependencies: - string-width: 4.2.3 - dev: false - /widest-line@4.0.1: resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} engines: {node: '>=12'} @@ -11406,28 +12200,31 @@ packages: /wildcard@2.0.1: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} - /workbox-background-sync@6.6.0: - resolution: {integrity: sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==} + /workbox-background-sync@6.6.1: + resolution: {integrity: sha512-trJd3ovpWCvzu4sW0E8rV3FUyIcC0W8G+AZ+VcqzzA890AsWZlUGOTSxIMmIHVusUw/FDq1HFWfy/kC/WTRqSg==} + deprecated: this package has been deprecated dependencies: idb: 7.1.1 - workbox-core: 6.6.0 + workbox-core: 6.6.1 dev: false - /workbox-broadcast-update@6.6.0: - resolution: {integrity: sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==} + /workbox-broadcast-update@6.6.1: + resolution: {integrity: sha512-fBhffRdaANdeQ1V8s692R9l/gzvjjRtydBOvR6WCSB0BNE2BacA29Z4r9/RHd9KaXCPl6JTdI9q0bR25YKP8TQ==} + deprecated: this package has been deprecated dependencies: - workbox-core: 6.6.0 + workbox-core: 6.6.1 dev: false - /workbox-build@6.6.0: - resolution: {integrity: sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==} - engines: {node: '>=10.0.0'} + /workbox-build@6.6.1: + resolution: {integrity: sha512-INPgDx6aRycAugUixbKgiEQBWD0MPZqU5r0jyr24CehvNuLPSXp/wGOpdRJmts656lNiXwqV7dC2nzyrzWEDnw==} + engines: {node: '>=16.0.0'} + deprecated: this package has been deprecated dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) - '@babel/core': 7.22.20 - '@babel/preset-env': 7.22.20(@babel/core@7.22.20) - '@babel/runtime': 7.22.15 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.20)(rollup@2.79.1) + '@babel/core': 7.23.5 + '@babel/preset-env': 7.23.5(@babel/core@7.23.5) + '@babel/runtime': 7.23.5 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.5)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -11445,121 +12242,124 @@ packages: strip-comments: 2.0.1 tempy: 0.6.0 upath: 1.2.0 - workbox-background-sync: 6.6.0 - workbox-broadcast-update: 6.6.0 - workbox-cacheable-response: 6.6.0 - workbox-core: 6.6.0 - workbox-expiration: 6.6.0 - workbox-google-analytics: 6.6.0 - workbox-navigation-preload: 6.6.0 - workbox-precaching: 6.6.0 - workbox-range-requests: 6.6.0 - workbox-recipes: 6.6.0 - workbox-routing: 6.6.0 - workbox-strategies: 6.6.0 - workbox-streams: 6.6.0 - workbox-sw: 6.6.0 - workbox-window: 6.6.0 + workbox-background-sync: 6.6.1 + workbox-broadcast-update: 6.6.1 + workbox-cacheable-response: 6.6.1 + workbox-core: 6.6.1 + workbox-expiration: 6.6.1 + workbox-google-analytics: 6.6.1 + workbox-navigation-preload: 6.6.1 + workbox-precaching: 6.6.1 + workbox-range-requests: 6.6.1 + workbox-recipes: 6.6.1 + workbox-routing: 6.6.1 + workbox-strategies: 6.6.1 + workbox-streams: 6.6.1 + workbox-sw: 6.6.1 + workbox-window: 6.6.1 transitivePeerDependencies: - '@types/babel__core' - supports-color dev: false - /workbox-cacheable-response@6.6.0: - resolution: {integrity: sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==} - deprecated: workbox-background-sync@6.6.0 + /workbox-cacheable-response@6.6.1: + resolution: {integrity: sha512-85LY4veT2CnTCDxaVG7ft3NKaFbH6i4urZXgLiU4AiwvKqS2ChL6/eILiGRYXfZ6gAwDnh5RkuDbr/GMS4KSag==} + deprecated: workbox-background-sync@6.6.1 dependencies: - workbox-core: 6.6.0 + workbox-core: 6.6.1 dev: false - /workbox-core@6.6.0: - resolution: {integrity: sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==} + /workbox-core@6.6.1: + resolution: {integrity: sha512-ZrGBXjjaJLqzVothoE12qTbVnOAjFrHDXpZe7coCb6q65qI/59rDLwuFMO4PcZ7jcbxY+0+NhUVztzR/CbjEFw==} + deprecated: this package has been deprecated dev: false - /workbox-expiration@6.6.0: - resolution: {integrity: sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==} + /workbox-expiration@6.6.1: + resolution: {integrity: sha512-qFiNeeINndiOxaCrd2DeL1Xh1RFug3JonzjxUHc5WkvkD2u5abY3gZL1xSUNt3vZKsFFGGORItSjVTVnWAZO4A==} + deprecated: this package has been deprecated dependencies: idb: 7.1.1 - workbox-core: 6.6.0 + workbox-core: 6.6.1 dev: false - /workbox-google-analytics@6.6.0: - resolution: {integrity: sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==} + /workbox-google-analytics@6.6.1: + resolution: {integrity: sha512-1TjSvbFSLmkpqLcBsF7FuGqqeDsf+uAXO/pjiINQKg3b1GN0nBngnxLcXDYo1n/XxK4N7RaRrpRlkwjY/3ocuA==} + deprecated: this package has been deprecated dependencies: - workbox-background-sync: 6.6.0 - workbox-core: 6.6.0 - workbox-routing: 6.6.0 - workbox-strategies: 6.6.0 + workbox-background-sync: 6.6.1 + workbox-core: 6.6.1 + workbox-routing: 6.6.1 + workbox-strategies: 6.6.1 dev: false - /workbox-navigation-preload@6.6.0: - resolution: {integrity: sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==} + /workbox-navigation-preload@6.6.1: + resolution: {integrity: sha512-DQCZowCecO+wRoIxJI2V6bXWK6/53ff+hEXLGlQL4Rp9ZaPDLrgV/32nxwWIP7QpWDkVEtllTAK5h6cnhxNxDA==} + deprecated: this package has been deprecated dependencies: - workbox-core: 6.6.0 + workbox-core: 6.6.1 dev: false - /workbox-precaching@6.6.0: - resolution: {integrity: sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==} + /workbox-precaching@6.6.1: + resolution: {integrity: sha512-K4znSJ7IKxCnCYEdhNkMr7X1kNh8cz+mFgx9v5jFdz1MfI84pq8C2zG+oAoeE5kFrUf7YkT5x4uLWBNg0DVZ5A==} + deprecated: this package has been deprecated dependencies: - workbox-core: 6.6.0 - workbox-routing: 6.6.0 - workbox-strategies: 6.6.0 + workbox-core: 6.6.1 + workbox-routing: 6.6.1 + workbox-strategies: 6.6.1 dev: false - /workbox-range-requests@6.6.0: - resolution: {integrity: sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==} + /workbox-range-requests@6.6.1: + resolution: {integrity: sha512-4BDzk28govqzg2ZpX0IFkthdRmCKgAKreontYRC5YsAPB2jDtPNxqx3WtTXgHw1NZalXpcH/E4LqUa9+2xbv1g==} + deprecated: this package has been deprecated dependencies: - workbox-core: 6.6.0 + workbox-core: 6.6.1 dev: false - /workbox-recipes@6.6.0: - resolution: {integrity: sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==} + /workbox-recipes@6.6.1: + resolution: {integrity: sha512-/oy8vCSzromXokDA+X+VgpeZJvtuf8SkQ8KL0xmRivMgJZrjwM3c2tpKTJn6PZA6TsbxGs3Sc7KwMoZVamcV2g==} + deprecated: this package has been deprecated dependencies: - workbox-cacheable-response: 6.6.0 - workbox-core: 6.6.0 - workbox-expiration: 6.6.0 - workbox-precaching: 6.6.0 - workbox-routing: 6.6.0 - workbox-strategies: 6.6.0 + workbox-cacheable-response: 6.6.1 + workbox-core: 6.6.1 + workbox-expiration: 6.6.1 + workbox-precaching: 6.6.1 + workbox-routing: 6.6.1 + workbox-strategies: 6.6.1 dev: false - /workbox-routing@6.6.0: - resolution: {integrity: sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==} + /workbox-routing@6.6.1: + resolution: {integrity: sha512-j4ohlQvfpVdoR8vDYxTY9rA9VvxTHogkIDwGdJ+rb2VRZQ5vt1CWwUUZBeD/WGFAni12jD1HlMXvJ8JS7aBWTg==} + deprecated: this package has been deprecated dependencies: - workbox-core: 6.6.0 + workbox-core: 6.6.1 dev: false - /workbox-strategies@6.6.0: - resolution: {integrity: sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==} + /workbox-strategies@6.6.1: + resolution: {integrity: sha512-WQLXkRnsk4L81fVPkkgon1rZNxnpdO5LsO+ws7tYBC6QQQFJVI6v98klrJEjFtZwzw/mB/HT5yVp7CcX0O+mrw==} + deprecated: this package has been deprecated dependencies: - workbox-core: 6.6.0 + workbox-core: 6.6.1 dev: false - /workbox-streams@6.6.0: - resolution: {integrity: sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==} + /workbox-streams@6.6.1: + resolution: {integrity: sha512-maKG65FUq9e4BLotSKWSTzeF0sgctQdYyTMq529piEN24Dlu9b6WhrAfRpHdCncRS89Zi2QVpW5V33NX8PgH3Q==} + deprecated: this package has been deprecated dependencies: - workbox-core: 6.6.0 - workbox-routing: 6.6.0 - dev: false - - /workbox-sw@6.6.0: - resolution: {integrity: sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==} + workbox-core: 6.6.1 + workbox-routing: 6.6.1 dev: false - /workbox-window@6.6.0: - resolution: {integrity: sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==} - dependencies: - '@types/trusted-types': 2.0.4 - workbox-core: 6.6.0 + /workbox-sw@6.6.1: + resolution: {integrity: sha512-R7whwjvU2abHH/lR6kQTTXLHDFU2izht9kJOvBRYK65FbwutT4VvnUAJIgHvfWZ/fokrOPhfoWYoPCMpSgUKHQ==} + deprecated: this package has been deprecated dev: false - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + /workbox-window@6.6.1: + resolution: {integrity: sha512-wil4nwOY58nTdCvif/KEZjQ2NP8uk3gGeRNy2jPBbzypU4BT4D9L8xiwbmDBpZlSgJd2xsT9FvSNU0gsxV51JQ==} + deprecated: this package has been deprecated dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 + '@types/trusted-types': 2.0.7 + workbox-core: 6.6.1 dev: false /wrap-ansi@8.1.0: @@ -11617,21 +12417,16 @@ packages: optional: true dev: false - /xdg-basedir@4.0.0: - resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} - engines: {node: '>=8'} + /xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} dev: false /xml-js@1.6.11: resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} hasBin: true dependencies: - sax: 1.2.4 - dev: false - - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + sax: 1.3.0 dev: false /yallist@3.1.1: @@ -11661,6 +12456,11 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - /zwitch@1.0.5: - resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: false + + /zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: false diff --git a/sidebars.js b/sidebars.js deleted file mode 100644 index 82a690dd..00000000 --- a/sidebars.js +++ /dev/null @@ -1,8 +0,0 @@ -// @ts-check - -/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ -const sidebars = { - SideBar: [{dirName: ".", type: "autogenerated"}], -}; - -module.exports = sidebars; diff --git a/sidebars.ts b/sidebars.ts new file mode 100644 index 00000000..b73e17c0 --- /dev/null +++ b/sidebars.ts @@ -0,0 +1,7 @@ +import type {SidebarsConfig} from "@docusaurus/plugin-content-docs"; + +const sidebars: SidebarsConfig = { + SideBar: [{type: "autogenerated", dirName: "."}], +}; + +export default sidebars; diff --git a/src/components/APITable/index.tsx b/src/components/APITable/index.tsx index 200c0540..6370db8e 100644 --- a/src/components/APITable/index.tsx +++ b/src/components/APITable/index.tsx @@ -1,15 +1,4 @@ -/** @format */ - -import React, { - type ComponentProps, - type ReactElement, - type ReactNode, - isValidElement, - useRef, - Children, - useEffect, - forwardRef, -} from "react"; +import React, {type ComponentProps, type ReactElement, type ReactNode, isValidElement, useRef, useEffect} from "react"; import {useHistory} from "@docusaurus/router"; import styles from "./styles.module.css"; @@ -22,7 +11,7 @@ interface Props { function getText(node: ReactElement): string { let curNode: ReactNode = node; while (isValidElement(curNode)) { - [curNode] = Children.toArray(curNode.props.children); + [curNode] = React.Children.toArray(curNode.props.children); } return curNode as string; } @@ -32,7 +21,7 @@ function APITableRow( ref: React.ForwardedRef, ) { const entryName = getText(children); - const id = name != null ? `${name}-${entryName}` : entryName; + const id = name ? `${name}-${entryName}` : entryName; const anchor = `#${id}`; const history = useHistory(); return ( @@ -40,8 +29,11 @@ function APITableRow( id={id} tabIndex={0} ref={history.location.hash === anchor ? ref : undefined} - onClick={() => { - history.push(anchor); + onClick={(e) => { + const isLinkClick = (e.target as HTMLElement).tagName.toUpperCase() === "A"; + if (!isLinkClick) { + history.push(anchor); + } }} onKeyDown={(e: React.KeyboardEvent) => { if (e.key === "Enter") { @@ -53,7 +45,7 @@ function APITableRow( ); } -const APITableRowComp = forwardRef(APITableRow); +const APITableRowComp = React.forwardRef(APITableRow); /* * Note: this is not a quite robust component since it makes a lot of @@ -61,7 +53,7 @@ const APITableRowComp = forwardRef(APITableRow); * should be generally correct in the MDX context. */ export default function APITable({children, name}: Props): JSX.Element { - const [thead, tbody] = Children.toArray(children.props.children) as [ + const [thead, tbody] = React.Children.toArray(children.props.children) as [ ReactElement<{children: ReactElement[]}>, ReactElement<{children: ReactElement[]}>, ]; @@ -69,7 +61,7 @@ export default function APITable({children, name}: Props): JSX.Element { useEffect(() => { highlightedRow.current?.focus(); }, [highlightedRow]); - const rows = Children.map(tbody.props.children, (row: ReactElement>) => ( + const rows = React.Children.map(tbody.props.children, (row: ReactElement>) => ( {row} diff --git a/src/components/Emoji.tsx b/src/components/Emoji.tsx index f021d049..0aa9a8b5 100644 --- a/src/components/Emoji.tsx +++ b/src/components/Emoji.tsx @@ -4,21 +4,20 @@ * Emoji component: * Emoji symbol="๐Ÿ‘" label="sheep"/> * Emoji symbol="๐Ÿ‘"/> - * - * @format */ import React, {type HTMLAttributes} from "react"; -export interface EmojiProps extends HTMLAttributes { +export type EmojiProps = HTMLAttributes & { label?: string; + style?: string; symbol: string; -} +}; -export default function Emoji(props: EmojiProps) { +export default function Emoji(props: EmojiProps): JSX.Element { const {label, symbol, ...rest} = props; return ( - + {symbol} ); diff --git a/src/components/Highlight.tsx b/src/components/Highlight.tsx index 2257765f..8a6d7ba3 100644 --- a/src/components/Highlight.tsx +++ b/src/components/Highlight.tsx @@ -1,4 +1,3 @@ -/** @format */ // @ts-check import React, {type ReactNode} from "react"; diff --git a/src/components/HomeBanner/index.tsx b/src/components/HomeBanner/index.tsx index 03239b38..c323682d 100644 --- a/src/components/HomeBanner/index.tsx +++ b/src/components/HomeBanner/index.tsx @@ -1,6 +1,5 @@ // @ts-check -import React from "react"; import Link from "@docusaurus/Link"; import Translate, {translate} from "@docusaurus/Translate"; import useBaseUrl from "@docusaurus/useBaseUrl"; diff --git a/src/components/HomeFeatures/index.tsx b/src/components/HomeFeatures/index.tsx index 3b4b5efe..cc73faf0 100644 --- a/src/components/HomeFeatures/index.tsx +++ b/src/components/HomeFeatures/index.tsx @@ -1,6 +1,5 @@ // @ts-check -import React from "react"; import clsx from "clsx"; import Translate from "@docusaurus/Translate"; import Heading from "@theme/Heading"; diff --git a/src/components/ImgShow/index.tsx b/src/components/ImgShow/index.tsx index 4f77445a..24fd4226 100644 --- a/src/components/ImgShow/index.tsx +++ b/src/components/ImgShow/index.tsx @@ -5,34 +5,27 @@ import Loadable from "@loadable/component"; import Spinner from "@site/src/components/Spinner"; import styles from "./styles.module.css"; -export default function ImgShow({ - img, - alt, - label, - children, - ...rest -}: { +export type ImgProps = { img: string; alt: string; label?: string; - children: ReactNode; - className?: string; - height?: string; - width?: string; -}): JSX.Element { - const Image = Loadable(async () => await import("@theme/IdealImage")); + children?: ReactNode; +}; + +export default function ImgShow(props: ImgProps): JSX.Element { + const {img, alt, label, children, ...rest} = props; + const Image = Loadable(() => import("@theme/IdealImage")); return ( - - } - alt={alt} - img={img} - aria-hidden={label != null ? undefined : true} - aria-label={label ?? undefined} - role='img' - {...rest}> - {children} - - + } + alt={alt} + img={img} + className={styles.ImgClass} + aria-hidden={label != null ? undefined : true} + aria-label={label ?? undefined} + role='img' + {...rest}> + {children} + ); } diff --git a/src/components/Player/asciinema-player.d.ts b/src/components/Player/asciinema-player.d.ts deleted file mode 100644 index 1812cfd9..00000000 --- a/src/components/Player/asciinema-player.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -declare module "asciinema-player" { - export function create(src: string, element: HTMLElement | null, options: PlayerOptions); - - export interface PlayerOptions { - cols?: number; - rows?: number; - autoPlay?: boolean; - preload?: boolean; - loop?: boolean | number; - startAt?: number | string; - speed?: number; - idleTimeLimit?: number; - theme?: string; - poster?: string; - fit?: boolean | string; - terminalLineHeight?: number; - terminalFontFamily?: string; - terminalFontSize?: string; - controls?: boolean | string; - markers?: array; - } -} diff --git a/src/components/Player/index.tsx b/src/components/Player/index.tsx index 0cbe97dd..1f390809 100644 --- a/src/components/Player/index.tsx +++ b/src/components/Player/index.tsx @@ -2,11 +2,29 @@ import React, {useEffect, useRef, useState} from "react"; import Spinner from "@site/src/components/Spinner"; -import type {PlayerOptions} from "asciinema-player"; import "asciinema-player/dist/bundle/asciinema-player.css"; -export default function Player(props: {src: string} & PlayerOptions): JSX.Element { - const {src, ...opts} = props; +export type PlayerProps = { + src: string; + cols?: number; + rows?: number; + autoPlay?: boolean; + preload?: boolean; + loop?: boolean | number; + startAt?: number | string; + speed?: number; + idleTimeLimit?: number; + theme?: string; + poster?: string; + fit?: boolean | string; + terminalLineHeight?: number; + terminalFontFamily?: string; + terminalFontSize?: string; + controls?: boolean | string; + markers?: string; +}; + +export default function Player({src, ...opts}: PlayerProps): JSX.Element { const element = useRef(null); const [player, setPlayer] = useState(); diff --git a/src/components/Svg/index.tsx b/src/components/Svg/index.tsx index bcfcef2e..291b95a2 100644 --- a/src/components/Svg/index.tsx +++ b/src/components/Svg/index.tsx @@ -1,5 +1,3 @@ -/** @format */ - import React, {type ReactNode, type ComponentProps} from "react"; import clsx from "clsx"; import styles from "./styles.module.css"; diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 0b7d76ce..9b349668 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,7 +1,5 @@ -/** @format */ // @ts-check -import React from "react"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import Layout from "@theme/Layout"; import HomeBanner from "@site/src/components/HomeBanner"; diff --git a/src/theme/MDXComponents.tsx b/src/theme/MDXComponents.tsx new file mode 100644 index 00000000..94bd99a7 --- /dev/null +++ b/src/theme/MDXComponents.tsx @@ -0,0 +1,9 @@ +import MDXComponents from "@theme-original/MDXComponents"; +import Highlight from "@site/src/components/Highlight"; +import Emoji from "@site/src/components/Emoji"; + +export default { + ...MDXComponents, + Highlight, + Emoji, +}; diff --git a/tsconfig.json b/tsconfig.json index 80ad83a2..43c7112d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,23 +1,8 @@ { "docs": "https://docusaurus.io/docs/typescript-support", + "extends": "@docusaurus/tsconfig", "compilerOptions": { - "allowJs": true, - "module": "esnext", - "moduleResolution": "node", - "esModuleInterop": true, - "isolatedModules": true, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, - "jsx": "react", - "lib": ["DOM"], - "noEmit": true, - "types": ["node", "react", "@docusaurus/module-type-aliases", "@docusaurus/preset-classic"], - "baseUrl": ".", - "paths": { - "@site/*": ["./*"] - }, - "strictNullChecks": true, - "skipLibCheck": true - }, - "exclude": ["functions/**/*"] + "types": ["@docusaurus/types"], + "baseUrl": "." + } }